1<?xml version="1.0"?> 2<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 3"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ 4 <!ENTITY appversion "3.1.0"> 5 <!ENTITY manrevision "3.0"> 6 <!ENTITY app "Glade"> 7]> 8<!-- 9 Maintained by the GNOME Documentation Project 10 http://developer.gnome.org/projects/gdp 11 Template version: 2.0 beta 12 Template last modified Apr 11, 2002 13--> 14<article id="index" lang="en"> 15 16 <articleinfo> 17 <title>&app; Interface Designer Manual</title> 18 19 <abstract role="description"><para> 20 Glade is a user interface designer for GTK+ applications.</para> 21 </abstract> 22 23 <copyright> 24 <year>2006</year> 25 <holder>Vincent Geddes</holder> 26 </copyright> 27 <copyright> 28 <year>2004</year> 29 <year>2003</year> 30 <holder>Sun Microsystems</holder> 31 </copyright> 32 <copyright> 33 <year>2002</year><year>2000</year> 34 <holder>Michael Vance</holder> 35 </copyright> 36 37 <publisher> 38 <publishername>GNOME Documentation Project</publishername> 39 </publisher> 40 41 <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude" /> 42 43 <authorgroup> 44 <author role="maintainer"> 45 <firstname>Vincent</firstname> 46 <surname>Geddes</surname> 47 <affiliation> 48 <orgname>GNOME Documentation Project</orgname> 49 <address><email>vincent.geddes@gmail.com</email></address> 50 </affiliation> 51 </author> 52 <author> 53 <firstname>Sun</firstname> 54 <surname>GNOME Documentation Team</surname> 55 <affiliation> 56 <orgname>Sun Microsystems</orgname> 57 </affiliation> 58 </author> 59 <author> 60 <firstname>Michael</firstname> 61 <surname>Vance</surname> 62 <affiliation> 63 <orgname>GNOME Documentation Project</orgname> 64 </affiliation> 65 </author> 66 </authorgroup> 67 68 69<!-- According to GNU FDL, revision history is mandatory if you are --> 70<!-- modifying/reusing someone else's document. If not, you can omit it. --> 71<!-- Remember to remove the &manrevision; entity from the revision entries other 72--> 73<!-- than the current revision. --> 74<!-- The revision numbering system for GNOME manuals is as follows: --> 75<!-- * the revision number consists of two components --> 76<!-- * the first component of the revision number reflects the release version of the GNOME desktop. --> 77<!-- * the second component of the revision number is a decimal unit that is incremented with each revision of the manual. --> 78<!-- For example, if the GNOME desktop release is V2.x, the first version of the manual that --> 79<!-- is written in that desktop timeframe is V2.0, the second version of the manual is V2.1, etc. --> 80<!-- When the desktop release version changes to V3.x, the revision number of the manual changes --> 81<!-- to V3.0, and so on. --> 82 <revhistory> 83 <revision> 84 <revnumber>&app; Manual &manrevision;</revnumber> 85 <date>5 December 2006</date> 86 <revdescription> 87 <para role="author">Vincent Geddes</para> 88 <para role="publisher">GNOME Documentation Project</para> 89 </revdescription> 90 </revision> 91 <revision> 92 <revnumber>&app; Manual 2.1;</revnumber> 93 <date>17 June 2004</date> 94 <revdescription> 95 <para role="author">Sun GNOME Documentation Team</para> 96 <para role="publisher">GNOME Documentation Project</para> 97 </revdescription> 98 </revision> 99 <revision> 100 <revnumber>&app; User Manual 2.0</revnumber> 101 <date>25 February 2004</date> 102 <revdescription> 103 <para role="author">Sun GNOME Documentation Team</para> 104 <para role="publisher">GNOME Documentation Project</para> 105 </revdescription> 106 </revision> 107 <revision> 108 <revnumber>&app; User Manual 1.2</revnumber> 109 <date>10 Feb 2004</date> 110 <revdescription> 111 <para role="author">Sun GNOME Documentation Team</para> 112 <para role="publisher">GNOME Documentation Project</para> 113 </revdescription> 114 </revision> 115 <revision> 116 <revnumber>&app; User Manual 1.1</revnumber> 117 <date>30 Mar 2002</date> 118 <revdescription> 119 <para role="author"> Michael Vance</para> 120 <para role="publisher">GNOME Documentation Project</para> 121 </revdescription> 122 </revision> 123 <revision> 124 <revnumber>&app; User Manual 1.0</revnumber> 125 <date>11 May 2000</date> 126 <revdescription> 127 <para role="author">Michael Vance</para> 128 <para role="publisher">GNOME Documentation Project</para> 129 </revdescription> 130 </revision> 131 </revhistory> 132 133 <releaseinfo>This manual describes version &appversion; of &app;.</releaseinfo> 134 <legalnotice> 135 <title>Feedback</title> 136 <para>To report a bug or make a suggestion regarding the &app; application or 137 this manual, follow the directions in the <ulink url="help:gnome-feedback" 138 type="help">GNOME Feedback Page</ulink>. 139 </para> 140<!-- Translators may also add here feedback address for translations --> 141 </legalnotice> 142 </articleinfo> 143 144 <indexterm><primary>glade</primary></indexterm> 145 <indexterm><primary>user interface designer</primary></indexterm> 146 147 148<!-- ============= Document Body ============================= --> 149<!-- ============= Introduction ============================== --> 150<!-- Use the Introduction section to give a brief overview of what 151 the application is and what it does. --> 152 <sect1 id="introduction"> 153 <title>Introduction</title> 154 155 <para>The <application>&app;</application> interface designer enables you to create and edit user interface designs for 156 <application>GTK+</application> applications.</para> 157 158 <para>The GTK+ library provides an extensive collection of user interface building blocks 159 such as text boxes, dialog labels, numeric entries, check boxes, and menus. These 160 building blocks are called <emphasis>widgets</emphasis>. You can use &app; to place widgets in a GUI. &app; allows you 161 to modify the layout and properties of these widgets. You can also use &app; to add connections between 162 widgets and application source code.</para> 163 164 <para>The user interfaces designed in &app; are stored in an XML format, enabling easy integration 165 with external tools. You can use the <application>libglade</application> library to dynamically create 166 GUIs from the XML description.</para> 167 168 </sect1> 169 170 <sect1 id="getting-started"> 171 <title>Getting Started</title> 172 173 <sect2 id="glade-start"> 174 <title>To Start <application>&app;</application></title> 175 <para>You can start <application>&app;</application> in the following ways: 176 </para> 177 <variablelist> 178 <varlistentry> 179 <term><guimenu>Applications</guimenu> menu</term> 180 <listitem> 181 <para>Choose 182 <menuchoice> 183 <guisubmenu>Programming</guisubmenu> 184 <guimenuitem>Glade Interface Designer</guimenuitem> 185 </menuchoice>. </para> 186 </listitem> 187 </varlistentry> 188 <varlistentry> 189 <term>Command line</term> 190 <listitem> 191 <para>To start <application>&app;</application> from a command line, type <command>glade</command> 192 and then press <keycap>Return</keycap>.</para> 193 </listitem> 194 </varlistentry> 195 </variablelist> 196 </sect2> 197 198 <sect2 id="glade-when-start"> 199 <title>When You Start <application>&app;</application></title> 200 <para>When you start <application>&app;</application>, the following window is displayed.</para> 201 202 <figure id="main-window-fig"> 203 <title><application>&app;</application> window</title> 204 <screenshot> 205 <mediaobject> 206 <imageobject><imagedata fileref="figures/main-window.png" format="PNG"/></imageobject> 207 <textobject><phrase>Shows the<application>&app;</application> window.</phrase></textobject> 208 </mediaobject> 209 </screenshot> 210 </figure> 211 212 <para>The <application>&app;</application> window contains the following elements: </para> 213 214 <variablelist> 215 <varlistentry> <term>Menubar</term> 216 <listitem> 217 <para>The menus on the menubar contain all of the commands you need to work with files in <application>&app;</application>.</para> 218 </listitem> 219 </varlistentry> 220 <varlistentry> <term>Toolbar</term> 221 <listitem> 222 <para>The toolbar contains a subset of the commands that you can access from the menubar.</para> 223 </listitem> 224 </varlistentry> 225 <varlistentry> <term>Design Area</term> 226 <listitem> 227 <para> The design area is where a user interface can be visually edited.</para> 228 </listitem> 229 </varlistentry> 230 <varlistentry> <term>Palette</term> 231 <listitem> 232 <para>The palette contains the widgets that can be used to build a user interface.</para> 233 </listitem> 234 </varlistentry> 235 <varlistentry> <term>Inspector</term> 236 <listitem> 237 <para>The inspector displays information about the widgets in a project.</para> 238 </listitem> 239 </varlistentry> 240 <varlistentry> <term>Property Editor</term> 241 <listitem> 242 <para>The property editor is used to manipulate the properties of widgets, as well as adding connections to source code.</para> 243 </listitem> 244 </varlistentry> 245 <varlistentry> <term>Statusbar</term> 246 <listitem> 247 <para>The statusbar displays information about current <application>&app;</application> activity and contextual information about the menu items.</para> 248 </listitem> 249 </varlistentry> 250 </variablelist> 251 252 </sect2> 253 </sect1> 254 255 <sect1 id="working-with-projects"> 256 <title>Working with Projects</title> 257 258 259<!-- To Create a New Project --> 260 <sect2 id="glade-create-new-project"> 261 <title>Creating a New Project</title> 262 <para>To create a new project, choose <menuchoice><guimenu>File</guimenu><guimenuitem>New</guimenuitem></menuchoice>. The application displays a new blank project in the <application>&app;</application> window.</para> 263 </sect2> 264 265 <sect2 id="glade-open-project"> 266 <title>Opening a Project</title> 267 <para>To open an existing project, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice>. The application displays the project in the <application>&app;</application> window.</para> 268 </sect2> 269 270<!-- To Save a Project --> 271 <sect2 id="glade-save-project"> 272 <title>Saving a Project</title> 273 <para>You can save projects in the following ways:</para> 274 <itemizedlist> 275 <listitem><para>To save changes to an existing project file, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice>. </para> 276 </listitem> 277 <listitem><para>To save a new project file or to save an existing project file under a new filename, choose <menuchoice> <guimenu>File</guimenu> <guimenuitem>Save As</guimenuitem> </menuchoice>. Enter a name for the project file in the <guilabel>Save As</guilabel> dialog, then click <guibutton>Save</guibutton>. </para> 278 </listitem> 279 </itemizedlist> 280 </sect2> 281 </sect1> 282 283 284 <sect1 id="working-with-widgets"> 285 <title>Working with Widgets</title> 286 <sect2 id="select-widgets-palette"> 287 <title>To Select Widgets From the Palette Window</title> 288 <para> 289 You can work with the widgets in the 290 <guilabel>Palette</guilabel> window in the following 291ways: 292 </para> 293 <variablelist> 294 <varlistentry> 295 <term>Selection mode</term> 296 <listitem> 297 <para> 298 To use selection mode, 299 click on the 300 <guilabel>Selector</guilabel> arrow. The 301pointer changes to an 302 arrow to indicate that selection mode is 303active. In this mode, you use the mouse to select widgets in your project. 304You can then use the <guilabel>Properties</guilabel> window to edit the 305properties of the widgets.</para> 306<para>You can also use the widget context menu to select a widget. 307Right-click on a widget to open the widget context menu.</para><para>You 308can add multiple widgets of a specific type from the 309<guilabel>Palette</guilabel> to your project by holding down the 310<keycap>Control</keycap> key when you select a widget. You need to click on 311the <guilabel>Selector</guilabel> arrow or another widget in the 312<guilabel>Palette</guilabel> to return to normal mode.</para> 313 </listitem> 314 </varlistentry> 315 </variablelist> 316 <variablelist> 317 <varlistentry> 318 <term>Widget placement mode</term> 319 <listitem> 320 <para> 321 To use widget placement mode, select a 322widget in the 323 <guilabel>Palette</guilabel> window. When 324you select most widgets, the 325 pointer changes to a pointer-plus-cross. 326You can then place the widget inside containers, 327 top-level widgets, and so on. After you 328place a widget, the mode returns to 329 selection mode.</para> 330 </listitem> 331 </varlistentry> 332 </variablelist> 333 <variablelist> 334 <varlistentry> 335 <term>Top-level placement mode</term> 336 <listitem> 337 <para> 338 To use top level placement mode, select a 339defined top-level 340 widget in the 341<guilabel>Palette</guilabel> window. When you select a top-level 342 widget in the 343 <guilabel>Palette</guilabel> window, the 344widget appears 345 immediately on your desktop. You can then 346edit the widget. After you select a top-level widget, 347 the mode returns to selection mode. 348 </para> 349 </listitem> 350 </varlistentry> 351 </variablelist> 352 </sect2> 353<sect2 id="organize-widgets"> 354<title>To Organize Widgets In Your Project</title> 355<para>You use widget containers, or boxes, to layout and organize widgets 356in your project window. You can choose the following widget containers from 357the <guilabel>Palette</guilabel> window: 358</para> 359<itemizedlist> 360<listitem><para>Horizontal Box</para> 361</listitem><listitem><para>Vertical Box</para></listitem> 362<listitem><para>Table</para></listitem> 363<listitem><para>Fixed Positions</para></listitem> 364<listitem><para>Horizontal Button Box</para></listitem> 365<listitem><para>Vertical Button Box</para></listitem> 366<listitem><para>Horizontal Panes</para></listitem> 367<listitem><para>Vertical Panes</para></listitem> 368<listitem><para>Notebook</para></listitem> 369<listitem><para>Frame</para></listitem> 370<listitem><para>Scrolled Window</para></listitem> 371<listitem><para>Viewport</para></listitem> 372</itemizedlist> 373<para> 374You can nest boxes to create complex layout structures. When you create 375horizontal and vertical boxes, <application>Glade</application> asks you 376how many rows or columns to create initially, though rows and columns can 377easily be added or deleted later. 378</para> 379<para> 380When you have created all the boxes you require, you can add specific 381widgets like labels, buttons, and more complicated widgets into the boxes. 382Notice that <application>Glade</application> packs widgets into the layout 383which eliminates a lot of tedious work. The use of boxes enables windows to 384change size to accommodate different size labels in different languages 385when the application is localized.</para></sect2> 386 <sect2 id="place-widgets-clipboard"> 387 <title>To Place a Widget on the Clipboard</title> 388 <para> 389 To remove a widget from a parent and place the widget on 390the clipboard, 391 select the widget then choose 392 <menuchoice> 393 <guimenu>Edit</guimenu> 394 <guisubmenu>Cut</guisubmenu> 395 </menuchoice>. 396 </para> 397 </sect2> 398 <sect2 id="copy-widget-clipboard"> 399 <title>To Copy a Widget to the Clipboard</title> 400 <para> 401 To copy a widget to the clipboard, select the widget then 402choose 403 <menuchoice> 404 <guimenu>Edit</guimenu> 405 <guisubmenu>Copy</guisubmenu> 406 </menuchoice>. The original widget remains attached to 407the parent. 408 </para> 409 </sect2> 410 <sect2 id="paste-widget-clipboard"> 411 <title>To Paste a Widget From the Clipboard Into Your 412Project</title> 413 <para> 414 To paste a widget that exists on the clipboard into your 415project, 416 choose 417 <menuchoice> 418 <guimenu>Edit</guimenu> 419 <guisubmenu>Paste</guisubmenu> 420 </menuchoice>.</para><para>All widgets must have a unique 421name within <application>Glade</application>. If you cut a widget, and then 422paste the widget into your project, then the widget and all of the children 423of the widget keep their original names. If you copy a widget, or paste the 424widget multiple times into your project, then 425<application>Glade</application> generates new names for the widget 426copies.</para> 427 </sect2> 428 <sect2 id="delete-widget"> 429 <title>To Delete a Widget</title> 430 <para>To delete a widget from the parent without 431 moving the widget to the clipboard, 432 select the widget then 433 choose 434 <menuchoice> 435 <guimenu>Edit</guimenu> 436 <guisubmenu>Delete</guisubmenu> 437 </menuchoice>. 438 </para> 439 440 </sect2> 441 442 <sect2 id="edit-widget"> 443 <title>To Change a Property of a Widget</title> 444 <para>The property editor is used to edit the properties of a selected widget. 445 To change a property of a widget, select the widget and then enter an appropriate value 446 in one of the Property window's property fields. 447 </para> 448 449 450 </sect2> 451 </sect1> 452 453<sect1 id="about"> 454 <title>About &app;</title> 455 <para> &app; is maintained by the &app; developers and GNOME community volunteers. 456 To find more information about &app;, please visit the 457 <ulink url="http://glade.gnome.org" type="http">&app; 458 Web site</ulink>.</para> 459 <para> 460 To report a bug or make a suggestion regarding this application or 461 this manual, you can submit them using 462 <ulink url="http://bugzilla.gnome.org/enter_bug.cgi?product=glade3" 463 type="http">bugzilla</ulink>. 464 </para> 465 466 <para> 467 Another excellent source of information are the &app; 468 <ulink url="http://lists.ximian.com/mailman/listinfo/glade-users" 469 type="http">user</ulink> and 470 <ulink url="http://lists.ximian.com/mailman/listinfo/glade-devel" 471 type="http">developer</ulink> mailing lists. In addition to 472 subscribing, you might also want to browse the list archives, available 473 via these same links. 474 </para> 475 476 <para> This program is distributed under the terms of the GNU 477 General Public license as published by the Free Software 478 Foundation; either version 2 of the License, or (at your option) 479 any later version. A copy of this license can be found at this 480 <ulink url="help:gpl" type="help">link</ulink>, or in the file 481 COPYING included with the source code of this program. </para> 482 </sect1> 483 484</article> 485