1 <glossary id="glossary">
2 <title>Glossary</title>
4 <glossentry id="allocation">
5 <glossterm>allocation</glossterm>
8 The final size of a <glossterm
9 linkend="widget">widget</glossterm> within its <glossterm
10 linkend="parent">parent</glossterm>. For example, a widget
11 may request a minimum size of 20×20 pixels, but its
12 parent may decide to allocate 50×20 pixels for it
16 <glossterm linkend="requisition">requisition</glossterm>
22 <glossterm>bin</glossterm>
25 A <glossterm linkend="container">container</glossterm> that
26 can hold at most one child widget. The base class for bins is
27 <link linkend="GtkBin">GtkBin</link>.
30 <glossterm linkend="container">container</glossterm>
35 <glossentry id="child">
36 <glossterm>child</glossterm>
39 A <glossterm linkend="container">container's</glossterm> child
40 is a <glossterm linkend="widget">widget</glossterm> contained
46 <glossentry id="column">
47 <glossterm>column</glossterm>
52 <glossseealso>model column</glossseealso>
53 <glossseealso>view column</glossseealso>
57 <glossentry id="container">
58 <glossterm>container</glossterm>
61 A <glossterm linkend="widget">widget</glossterm> that contains
62 other widgets; in that case, the container is the
63 <emphasis>parent</emphasis> of the <emphasis>child</emphasis>
64 widgets. Some containers don't draw anything on their own,
65 but rather just organize their children's <glossterm
66 linkend="geometry">geometry</glossterm>; for example, <link
67 linkend="GtkVBox">GtkVBox</link> lays out its children
68 vertically without painting anything on its own. Other
69 containers include decorative elements; for example, <link
70 linkend="GtkFrame">GtkFrame</link> contains the frame's child
71 and a label in addition to the shaded frame it draws. The
72 base class for containers is <link
73 linkend="GtkContainer">GtkContainer</link>.
76 <glossterm linkend="container">widget</glossterm>
77 <glossterm linkend="container">geometry</glossterm>
82 <glossentry id="display">
83 <glossterm>display</glossterm>
86 GDK inherited the concept of display from the X window system,
87 which considers a display to be the combination
88 of a keyboard, a pointing device and one or more
89 <glossterm linkend="screen">screens</glossterm>.
90 Applications open a display to show <glossterm
91 linkend="window">windows</glossterm> and interact with the user.
92 In GDK, a display is represented by a
93 <link linkend="GdkDisplay">GdkDisplay</link>.
98 <glossentry id="event">
99 <glossterm>event</glossterm>
107 <glossentry id="geometry">
108 <glossterm>geometry</glossterm>
111 A <glossterm linkend="widget">widget's</glossterm> position
112 and size. Within its parent, this is called the widget's
113 <glossterm linkend="allocation">allocation</glossterm>.
118 <glossentry id="mapping">
119 <glossterm>mapping</glossterm>
122 This is the step in a <glossterm
123 linkend="widget">widget's</glossterm> life cycle where it
124 actually shows the GdkWindows it created when it was
125 <glossterm linkend="realization">realized</glossterm>. When a
126 widget is mapped, it must turn on its
127 <constant>GTK_MAPPED</constant> <link
128 linkend="GtkWidgetFlags">flag</link>.
132 Note that due to the asynchronous nature of the X window
133 system, a widget's window may not appear on the screen
134 immediatly after one calls <link
135 linkend="gdk-window-show"><function>gdk_window_show()</function></link>:
136 you must wait for the corresponding map <glossterm
137 linkend="event">event</glossterm> to be received. You can do
139 linkend="GtkWidget-map-event"><methodname>GtkWidget::map-event</methodname>
145 <glossentry id="model-column">
146 <glossterm>model column</glossterm>
154 <glossentry id="no-window">
155 <glossterm>no-window widget</glossterm>
158 A widget that does not have a GdkWindow of its own on which to
159 draw its contents, but rather shares its <glossterm
160 linkend="parent">parent's</glossterm>. Such a widget has the
161 <constant>GTK_NO_WINDOW</constant> <link
162 linkend="GtkWidgetFlags">flag</link> set, and can be tested
164 linkend="gtk-widget-no-window-caps"><function>GTK_WIDGET_NO_WINDOW()</function></link>
170 <glossentry id="parent">
171 <glossterm>parent</glossterm>
174 A <glossterm linkend="widget">widget's</glossterm> parent is
175 the <glossterm linkend="container">container</glossterm>
176 inside which it resides.
181 <glossentry id="realization">
182 <glossterm>realization</glossterm>
185 This is the step in a <glossterm
186 linkend="widget">widget's</glossterm> life cycle where it
187 creates its own GdkWindow, or otherwise associates itself with
188 its <glossterm linkend="parent">parent's</glossterm>
189 GdkWindow. If the widget has its own window, then it must
190 also attach a <glossterm linkend="style">style</glossterm> to
191 it. A widget becomes unrealized by destroying its associated
192 GdkWindow. When a widget is realized, it must turn on its
193 <constant>GTK_REALIZED</constant> <link
194 linkend="GtkWidgetFlags">flag</link>.
198 Widgets that don't own the GdkWindow on which they draw are
199 called <glossterm linkend="no-window">no-window
200 widgets</glossterm>. This can be tested with the <link
201 linkend="gtk-widget-no-window-caps"><function>GTK_WIDGET_NO_WINDOW()</function></link>
202 macro. Normally, these widgets draw on their parent's
207 Note that when a widget creates a window in its <link
208 linkend="gtkwidget-realize"><methodname>::realize()</methodname></link>
209 handler, it does not actually show the window. That is, the
210 window's structure is just created in memory. The widget
211 actually shows the window when it gets <glossterm
212 linkend="mapping">mapped</glossterm>.
217 <glossentry id="requisition">
218 <glossterm>requisition</glossterm>
221 The size requisition of a <glossterm
222 linkend="widget">widget</glossterm> is the minimum amount of
223 space it requests from its <glossterm
224 linkend="parent">parent</glossterm>. Once the parent computes
225 the widget's final size, it gives it its <glossterm
226 linkend="allocation">size allocation</glossterm>.
229 <glossterm linkend="allocation">allocation</glossterm>
234 <glossentry id="screen">
235 <glossterm>screen</glossterm>
238 GDK inherited the concept of screen from the X window system,
239 which considers a screen to be a rectangular area, on which
240 applications may place their windows. Each screen has a
241 <glossterm linkend="rootwindow">root window</glossterm> which
242 defines the area of the screen. Screens under X may have quite
243 dissimilar <glossterm linkend="visual">visuals</glossterm>.
244 Each screen can stretch across multiple physical monitors.
245 In GDK, screens are represented by
246 <link linkend="GdkScreen">GdkScreen</link> objects.
251 <glossentry id="style">
252 <glossterm>style</glossterm>
260 <glossentry id="toplevel">
261 <glossterm>toplevel</glossterm>
264 A <glossterm linkend="widget">widget</glossterm> that does not
265 require a <glossterm linkend="parent">parent</glossterm>
266 container. The only toplevel widget in GTK+ is <link
267 linkend="GtkWindow">GtkWindow</link>.
270 <glossterm linkend="container">container</glossterm>
275 <glossentry id="unmap">
276 <glossterm>unmap</glossterm>
277 <glosssee><glossterm linkend="mapping">mapping</glossterm></glosssee>
280 <glossentry id="unrealize">
281 <glossterm>unrealize</glossterm>
282 <glosssee><glossterm linkend="realization">realization</glossterm></glosssee>
285 <glossentry id="view-column">
286 <glossterm>view column</glossterm>
294 <glossentry id="widget">
295 <glossterm>widget</glossterm>
298 A control in a graphical user interface. Widgets can draw
299 themselves and process events from the mouse and keyboard.
300 Widget types include buttons, menus, text entry lines, and
301 lists. Widgets can be arranged into <glossterm
302 linkend="container">containers</glossterm>, and these take
303 care of assigning the <glossterm
304 linkend="geometry">geometry</glossterm> of the widgets: every
305 widget thus has a parent except those widgets which are
306 <glossterm linkend="toplevel">toplevels</glossterm>. The base
307 class for widgets is <link
308 linkend="GtkWidget">GtkWidget</link>.
311 <glossterm linkend="container">container</glossterm>
320 sgml-parent-document: ("gtk-docs.sgml" "book" "glossary")