Do you want to know which of these xml files belongs to the "Standard"
On Mon, Mar 11, 2013 at 09:49:51PM -0600, jorge ivan poot diaz wrote:
> I'm seeing the files in the source code in draw, examples:
> I want to know where the source code files are declared Icons Standard
> Toolbar and Formatting.
toolbar, which to the "Text Formatting" toolbar, etc.? Or where is the
code that converts these xml into toolbars?
If you look at the file, you notice that the concept of an icon does not
> I want to know how I can add another icon in the toolbar.
exist there; all you have is what is called a UNO command, for example
The UNO command is the central point; from the UNO command the
application framework retrieves the label/text of the toolbar item, and
the icon bound to it.
The command to label binding is done in the XxxCommands.xcu that you
already know, with the "Label"/"ContextLabel" proeprty; if the "Property"
property has a value of 1, it indicates that the command is bound to an
Icons bound to UNO commands are located at
the naming scheme is the following:
sc_ 16x16 image
sch_ 16x16 high-contrast image
lc_ 26x26 image
lch_ 26x26 h-c image
* the UNO command without the protocol part (.uno:), in lowercase.
For examle, for .uno:FormatLine:
In short, you don't add an icon to the toolbar; you add a UNO command.
If this UNO command is new (it does not exist in the current source
code), you'll have to implement the functionality that executes the
command (you click the toolbar item, the UNO command is "dispatched",
that is, the functionality bound to it is executed), and also gives
information about the status of the functionality this command
represents (toolbar items are context sensitive, they are enabled or
disabled, etc., depending on the state of the feature they represent).
Yes, because there are several toolbars in Draw.
> Similarly, I've noticed that there are several xml files at this address:
There is a lot of code involved in transforming this xml file into
> What are the interface need to draw the toolbar?
a toolbar, spread in several modules. The central part is the
application framework, drawing the toolbar onto the screen happens in
vcl. If you want to dive into this, the best -IMO - is setting a break
point in the framework code:
Note that it's better to start the application from withing the
debugger, because UI elements are cached, you won't see it's creation
from zero (reading that xml file) if you attach to an already opened
If you want to see the creation of the other UI elements (menubar,
statusbar), break in framework::LayoutManager::createElement
La Plata, Argentina