Hi Rodolfo,
On Mon, 2012-01-23 at 07:12 -0200, Rodolfo wrote:
Given a label of a toolbuton how can I discover which method it trigger?
That's a really good question :-)
I can't find the "Increase Font" thing (I'd like to fix this bug
https://bugs.freedesktop.org/show_bug.cgi?id=35862 )
Wow - that'd be great. So - here are the steps. First you need to find
the command-name which looks like ".uno:Foo":
* Finding the command name
If you're familiar with the layout of the menus / toolbars you can see
the XML config files that define their layout in each component eg.
sw/uiconfig/swriter/toolbar/textobjectbar.xml
<toolbar:toolbaritem xlink:href=".uno:IncrementIndent" toolbar:helpid="helpid:10462" />
<toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403" toolbar:visible="false"
/>
<toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404"
toolbar:visible="false" />
<toolbar:toolbarseparator/>
If you only have the english string for the name, then:
cd officecfg/
git grep -5 -i "increase font"
registry/data/org/openoffice/Office/UI/WriterCommands.xcu- <node oor:name=".uno:Grow"
oor:op="replace">
registry/data/org/openoffice/Office/UI/WriterCommands.xcu- <prop oor:name="Label"
oor:type="xs:string">
registry/data/org/openoffice/Office/UI/WriterCommands.xcu: <value
xml:lang="en-US">Increase Font</value>
registry/data/org/openoffice/Office/UI/WriterCommands.xcu- </prop>
registry/data/org/openoffice/Office/UI/WriterCommands.xcu- <prop
oor:name="Properties" oor:type="xs:int">
registry/data/org/openoffice/Office/UI/WriterCommands.xcu- <value>1</value>
registry/data/org/openoffice/Office/UI/WriterCommands.xcu- </prop>
registry/data/org/openoffice/Office/UI/WriterCommands.xcu- </node>
So this gets you to the command-name:
".uno:Grow"
* Finding the SID for that command-name
Each command has an integer associated with it for historical
reasons :-) We need to find that so, from the toplevel:
git grep '".uno:Grow"'
svx/inc/svx/svxcommands.h:#define CMD_SID_GROW_FONT_SIZE ".uno:Grow"
sw/inc/swcommands.h:#define CMD_FN_GROW_FONT_SIZE ".uno:Grow"
Which gives us the name of the function:
git grep -5 'GROW_FONT_SIZE'
sw/inc/cmdid.h:#define FN_GROW_FONT_SIZE (FN_FORMAT + 3 )
And we start to find the hooks for this command around the place :-)
* How the string is associated with the id ...
Ho hum, I tried to dig out how this is done; it used to be via a
structure in sfx2 that had both the integer and the string id, but I
can't see it immediately :-)
Anyhow - hope that helps,
All the best,
Michael.
--
michael.meeks@suse.com <><, Pseudo Engineer, itinerant idiot
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.