|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
xmlns:its="http://www.w3.org/2005/11/its"
|
|
Packit |
1470ea |
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
Packit |
1470ea |
type="guide" style="task"
|
|
Packit |
1470ea |
id="toolbar_builder.vala">
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<title type="text">Toolbar created using Glade (Vala)</title>
|
|
Packit |
1470ea |
<link type="guide" xref="beginner.vala#menu-combo-toolbar"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="toolbar.vala"/>
|
|
Packit |
1470ea |
<link type="seealso" xref="grid.vala"/>
|
|
Packit |
1470ea |
<revision version="0.1" date="2012-05-08" status="draft"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
Packit |
1470ea |
<name>Tiffany Antopolski</name>
|
|
Packit |
1470ea |
<email its:translate="no">tiffany.antopolski@gmail.com</email>
|
|
Packit |
1470ea |
<years>2012</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<desc>A bar of buttons</desc>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>Toolbar created using Glade</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<media type="image" mime="image/png" src="media/toolbar.png"/>
|
|
Packit |
1470ea |
This example is similar to <link xref="toolbar.vala"/>, except we use Glade to create the toolbar in an XML ui file.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
To create the toolbar using the <link href="http://glade.gnome.org/">Glade Interface Designer</link>:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<steps>
|
|
Packit |
1470ea |
<item>Open Glade, and save the file as <file>toolbar_builder.ui</file>
|
|
Packit |
1470ea |
<media type="image" src="media/glade_ui.png" width="900">
|
|
Packit |
1470ea |
Screenshot of Glade ui
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Under <gui>Containers</gui> on the left hand side, right click on the toolbar icon and select <gui>Add widget as toplevel</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_select_toolbar.png">
|
|
Packit |
1470ea |
Screenshot of toolbar icon in Glade ui
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Under the <gui>General</gui> tab on the bottom right, change the <gui>Name</gui> to <input>toolbar</input> and <gui>Show Arrow</gui> to <gui>No</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_general.png">
|
|
Packit |
1470ea |
Screenshot of General tab
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Under the <gui>Common</gui> tab, set <gui>Horizontal Expand</gui> to <gui>Yes</gui>.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_common.png">
|
|
Packit |
1470ea |
Screenshot of Common tab
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Right click on the toolbar in the top right and select <gui>Edit</gui>. The <gui>Tool Bar Editor</gui> window will appear.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_edit.png">
|
|
Packit |
1470ea |
Screenshot of where to right click to edit toolbar.
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>We want to add 5 ToolButtons: New, Open, Undo, Fullscreen and Leave Fullscreen. First, we will add the New ToolButton.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<steps>
|
|
Packit |
1470ea |
<item>Under <gui>Hierarchy</gui> tab, click <gui>Add</gui>. </item>
|
|
Packit |
1470ea |
<item>Change the name of the ToolItem to <input>new_button</input>. </item>
|
|
Packit |
1470ea |
<item>Scroll down and set <gui>Is important</gui> to <gui>Yes</gui>. This will cause the label of the ToolButton to be shown, when you view the toolbar. </item>
|
|
Packit |
1470ea |
<item>Enter the <gui>action name</gui>: <input>app.new</input>. </item>
|
|
Packit |
1470ea |
<item>Change the <gui>Label</gui> to <input>New</input>. </item>
|
|
Packit |
1470ea |
<item>Select the <gui>New</gui> Stock Id from the drop down menu, or type <input>gtk-new</input>. </item>
|
|
Packit |
1470ea |
</steps>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Repeat the above steps for the remaining ToolButtons, with the following properties:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Name
|
|
Packit |
1470ea |
Is important
|
|
Packit |
1470ea |
Action name
|
|
Packit |
1470ea |
Label
|
|
Packit |
1470ea |
Stock Id
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
open_button
|
|
Packit |
1470ea |
Yes
|
|
Packit |
1470ea |
app.open
|
|
Packit |
1470ea |
Open
|
|
Packit |
1470ea |
gtk-open
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
undo_button
|
|
Packit |
1470ea |
Yes
|
|
Packit |
1470ea |
win.undo
|
|
Packit |
1470ea |
Undo
|
|
Packit |
1470ea |
gtk-undo
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
fullscreen_button
|
|
Packit |
1470ea |
Yes
|
|
Packit |
1470ea |
win.fullscreen
|
|
Packit |
1470ea |
Fullscreen
|
|
Packit |
1470ea |
gtk-fullscreen
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
leave_fullscreen_button
|
|
Packit |
1470ea |
Yes
|
|
Packit |
1470ea |
win.fullscreen
|
|
Packit |
1470ea |
Leave Fullscreen
|
|
Packit |
1470ea |
gtk-leave-fullscreen
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<media type="image" src="media/glade_toolbar_editor.png">
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Close the <gui>Tool Bar Editor</gui>.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>When our program will first start, we don't want the <gui>Leave Fullscreen</gui> ToolButton to be visible, since the application will not be in fullscreen mode. You can set this in the <gui>Common</gui> tab, by clicking the <gui>Visible</gui> property to <gui>No</gui>. The ToolButton will still appear in the interface designer, but will behave correctly when the file is loaded into your program code.
|
|
Packit |
1470ea |
<media type="image" src="media/glade_visible_no.png">
|
|
Packit |
1470ea |
Setting the visible property to No
|
|
Packit |
1470ea |
</media>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>Save your work, and close Glade.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<item>The XML file created by Glade is shown below. This is the description of the toolbar. At the time of this writing, the option to add the class Gtk.STYLE_CLASS_PRIMARY_TOOLBAR in the Glade Interface did not exist. We can manually add this to the XML file. To do this, add the following XML code at line 9 of <file>toolbar_builder.ui</file>:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<style>
|
|
Packit |
1470ea |
<class name="primary-toolbar"/>
|
|
Packit |
1470ea |
</style>
|
|
Packit |
1470ea |
]]>
|
|
Packit |
1470ea |
If you do not add this, the program will still work fine. The resulting toolbar will however look slightly different then the screenshot at the top of this page.
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</steps>
|
|
Packit |
1470ea |
<xi:include href="samples/toolbar_builder.ui" parse="text"><xi:fallback/></xi:include>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
We now create the code below, which adds the toolbar from the file we just created.
|
|
Packit |
1470ea |
<xi:include href="samples/toolbar_builder.vala" parse="text"><xi:fallback/></xi:include>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
In this sample we used the following:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item><link href="http://www.valadoc.org/gtk+-3.0/Gtk.Toolbar.html">Gtk.Toolbar</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://www.valadoc.org/gtk+-3.0/Gtk.ToolButton.html">Gtk.Toolbutton</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://www.valadoc.org/gtk+-3.0/Gtk.Stock.html">Gtk.Stock</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</page>
|