2 <!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
5 <glossary id="glossary">
6 <title>Glossary</title>
8 <glossentry id="allocation">
9 <glossterm>allocation</glossterm>
12 The final size of a <glossterm
13 linkend="widget">widget</glossterm> within its <glossterm
14 linkend="parent">parent</glossterm>. For example, a widget
15 may request a minimum size of 20×20 pixels, but its
16 parent may decide to allocate 50×20 pixels for it
20 <glossterm linkend="requisition">requisition</glossterm>
26 <glossterm>bin</glossterm>
29 A <glossterm linkend="container">container</glossterm> that
30 can hold at most one child widget. The base class for bins is
34 <glossterm linkend="container">container</glossterm>
39 <glossentry id="child">
40 <glossterm>child</glossterm>
43 A <glossterm linkend="container">container's</glossterm> child
44 is a <glossterm linkend="widget">widget</glossterm> contained
50 <glossentry id="column">
51 <glossterm>column</glossterm>
54 GTK+ contains several widgets which display data in columns,
55 e.g. the #GtkTreeView.
56 These <glossterm linkend="view-column">view columns</glossterm> in
57 the tree view are represented by #GtkTreeViewColumn
58 objects inside GTK+. They should not be confused with
59 <glossterm linkend="model-column">model columns</glossterm> which
60 are used to organize the data in tree models.
62 <glossseealso>model-view widget</glossseealso>
66 <glossentry id="container">
67 <glossterm>container</glossterm>
70 A <glossterm linkend="widget">widget</glossterm> that contains
71 other widgets; in that case, the container is the
72 <emphasis>parent</emphasis> of the <emphasis>child</emphasis>
73 widgets. Some containers don't draw anything on their own,
74 but rather just organize their children's <glossterm
75 linkend="geometry">geometry</glossterm>; for example, #GtkVBox lays out
76 its children vertically without painting anything on its own. Other
77 containers include decorative elements; for example, #GtkFrame contains
78 the frame's child and a label in addition to the shaded frame it draws.
79 The base class for containers is #GtkContainer.
82 <glossterm linkend="container">widget</glossterm>
83 <glossterm linkend="container">geometry</glossterm>
88 <glossentry id="display">
89 <glossterm>display</glossterm>
92 GDK inherited the concept of display from the X window system,
93 which considers a display to be the combination
94 of a keyboard, a pointing device and one or more
95 <glossterm linkend="screen">screens</glossterm>.
96 Applications open a display to show windows and interact with the user.
97 In GDK, a display is represented by a #GdkDisplay.
102 <glossentry id="ellipsization">
105 Ellipsization is the process of replacing some part
106 of a text by an ellipsis (usually "...") to make the
107 text fit in a smaller space. Pango can ellipsize text
108 at the beginning, at the end or in the middle.
113 <glossentry id="event">
114 <glossterm>event</glossterm>
117 Events are the way in which GDK informs GTK+ about external events
118 like pointer motion, button clicks, key presses, etc.
123 <glossentry id="geometry">
124 <glossterm>geometry</glossterm>
127 A <glossterm linkend="widget">widget's</glossterm> position
128 and size. Within its parent, this is called the widget's
129 <glossterm linkend="allocation">allocation</glossterm>.
134 <glossentry id="mapping">
135 <glossterm>mapping</glossterm>
138 This is the step in a <glossterm
139 linkend="widget">widget's</glossterm> life cycle where it
140 actually shows the GdkWindows it created when it was
141 <glossterm linkend="realization">realized</glossterm>. When a
142 widget is mapped, it must turn on its
143 %GTK_MAPPED <link linkend="GtkWidgetFlags">flag</link>.
147 Note that due to the asynchronous nature of the X window
148 system, a widget's window may not appear on the screen
149 immediatly after one calls gdk_window_show():
150 you must wait for the corresponding map <glossterm
151 linkend="event">event</glossterm> to be received. You can do
153 linkend="GtkWidget-map-event"><methodname>GtkWidget::map-event</methodname>
159 <glossentry id="model-column">
160 <glossterm>model column</glossterm>
163 A column in a tree model, holding data of a certain type.
164 The types which can be stored in the columns of a model
165 have to be specified when the model is constructed, see
166 e.g. gtk_list_store_new().
169 <glossterm linkend="view-column">view column</glossterm>
174 <glossentry id="model-view">
175 <glossterm>model-view widget</glossterm>
178 These widgets follow the well-known model-view pattern, which separates
179 the data (the model) to be displayed from the component which does the
180 actual visualization (the view). Examples of this pattern in GTK+ are
181 the #GtkTreeView/#GtkTreeModel and #GtkTextView/#GtkTextBuffer
184 One important advantage of this pattern is that it is possible to
185 display the same model in multiple views; another one that the
186 separation of the model allows a great deal of flexibility, as
187 demonstrated by e.g. #GtkTreeModelSort or #GtkTreeModelFilter.
192 <glossentry id="no-window">
193 <glossterm>no-window widget</glossterm>
196 A widget that does not have a GdkWindow of its own on which to
197 draw its contents, but rather shares its <glossterm
198 linkend="parent">parent's</glossterm>. This can be tested with
199 the gtk_widget_get_has_window() function. See
200 <xref linkend="window-no-window-widgets"/> for a detailed
201 description of this flag.
206 <glossentry id="parent">
207 <glossterm>parent</glossterm>
210 A <glossterm linkend="widget">widget's</glossterm> parent is
211 the <glossterm linkend="container">container</glossterm>
212 inside which it resides.
217 <glossentry id="realization">
218 <glossterm>realization</glossterm>
221 This is the step in a <glossterm
222 linkend="widget">widget's</glossterm> life cycle where it
223 creates its own GdkWindow, or otherwise associates itself with
224 its <glossterm linkend="parent">parent's</glossterm>
225 GdkWindow. If the widget has its own window, then it must
226 also attach a <glossterm linkend="style">style</glossterm> to
227 it. A widget becomes unrealized by destroying its associated
228 GdkWindow. When a widget is realized, it must turn on its
229 %GTK_REALIZED <link linkend="GtkWidgetFlags">flag</link>.
233 Widgets that don't own the GdkWindow on which they draw are
234 called <glossterm linkend="no-window">no-window widgets</glossterm>.
235 This can be tested with the GTK_WIDGET_NO_WINDOW() macro. Normally,
236 these widgets draw on their parent's GdkWindow.
240 Note that when a widget creates a window in its <link
241 linkend="gtkwidget-realize"><methodname>::realize()</methodname></link>
242 handler, it does not actually show the window. That is, the
243 window's structure is just created in memory. The widget
244 actually shows the window when it gets <glossterm
245 linkend="mapping">mapped</glossterm>.
250 <glossentry id="requisition">
251 <glossterm>requisition</glossterm>
254 The size requisition of a <glossterm
255 linkend="widget">widget</glossterm> is the minimum amount of
256 space it requests from its <glossterm
257 linkend="parent">parent</glossterm>. Once the parent computes
258 the widget's final size, it gives it its <glossterm
259 linkend="allocation">size allocation</glossterm>.
262 <glossterm linkend="allocation">allocation</glossterm>
267 <glossentry id="screen">
268 <glossterm>screen</glossterm>
271 GDK inherited the concept of screen from the X window system,
272 which considers a screen to be a rectangular area, on which
273 applications may place their windows. Screens under X may have
274 quite dissimilar <glossterm linkend="visual">visuals</glossterm>.
275 Each screen can stretch across multiple physical monitors.
278 In GDK, screens are represented by #GdkScreen objects.
283 <glossentry id="style">
284 <glossterm>style</glossterm>
287 A style encapsulates what GTK+ needs to know in order to draw
288 a widget. Styles can be modified with
289 <link linkend="gtk-Resource-Files">resource files</link>.
294 <glossentry id="toplevel">
295 <glossterm>toplevel</glossterm>
298 A <glossterm linkend="widget">widget</glossterm> that does not
299 require a <glossterm linkend="parent">parent</glossterm> container.
300 The only toplevel widgets in GTK+ are #GtkWindow and widgets derived from it.
303 <glossterm linkend="container">container</glossterm>
308 <glossentry id="unmap">
309 <glossterm>unmap</glossterm>
310 <glosssee><glossterm linkend="mapping">mapping</glossterm></glosssee>
313 <glossentry id="unrealize">
314 <glossterm>unrealize</glossterm>
315 <glosssee><glossterm linkend="realization">realization</glossterm></glosssee>
318 <glossentry id="view-column">
319 <glossterm>view column</glossterm>
322 A displayed column in a tree view, represented by a
323 #GtkTreeViewColumn object.
326 <glossterm linkend="model-column">model column</glossterm>
331 <glossentry id="visual">
332 <glossterm>visual</glossterm>
335 A visual describes how color information is stored in pixels.
336 A <glossterm linkend="screen">screen</glossterm> may support
337 multiple visuals. On modern hardware, the most common visuals
338 are truecolor visuals, which store a fixed number of bits
339 (typically 8) for the red, green and blue components of a color.
342 On ancient hardware, one may still meet indexed visuals, which
343 store color information as an index into a color map, or even
349 <glossentry id="widget">
350 <glossterm>widget</glossterm>
353 A control in a graphical user interface. Widgets can draw
354 themselves and process events from the mouse and keyboard.
355 Widget types include buttons, menus, text entry lines, and
356 lists. Widgets can be arranged into <glossterm
357 linkend="container">containers</glossterm>, and these take
358 care of assigning the <glossterm
359 linkend="geometry">geometry</glossterm> of the widgets: every
360 widget thus has a parent except those widgets which are
361 <glossterm linkend="toplevel">toplevels</glossterm>. The base
362 class for widgets is #GtkWidget.
365 <glossterm linkend="container">container</glossterm>
374 sgml-parent-document: ("gtk-docs.sgml" "book" "glossary")