]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/glossary.xml
Fix SGML errors.
[~andy/gtk] / docs / reference / gtk / glossary.xml
1 <glossary id="glossary">
2   <title>Glossary</title>
3
4   <glossentry id="allocation">
5     <glossterm>allocation</glossterm>
6     <glossdef>
7       <para>
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&times;20 pixels, but its
12         parent may decide to allocate 50&times;20 pixels for it
13         instead.
14       </para>
15       <glossseealso>
16         <glossterm linkend="requisition">requisition</glossterm>
17       </glossseealso>
18     </glossdef>
19   </glossentry>
20
21   <glossentry id="bin">
22     <glossterm>bin</glossterm>
23     <glossdef>
24       <para>
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>.
28       </para>
29       <glossseealso>
30         <glossterm linkend="container">container</glossterm>
31       </glossseealso>
32     </glossdef>
33   </glossentry>
34
35   <glossentry id="child">
36     <glossterm>child</glossterm>
37     <glossdef>
38       <para>
39         A <glossterm linkend="container">container's</glossterm> child
40         is a <glossterm linkend="widget">widget</glossterm> contained
41         inside it.
42       </para>
43     </glossdef>
44   </glossentry>
45
46   <glossentry id="column">
47     <glossterm>column</glossterm>
48     <glossdef>
49       <para>
50         FIXME
51       </para>
52       <glossseealso>model column</glossseealso>
53       <glossseealso>view column</glossseealso>
54     </glossdef>
55   </glossentry>
56
57   <glossentry id="container">
58     <glossterm>container</glossterm>
59     <glossdef>
60       <para>
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>.
74       </para>
75       <glossseealso>
76         <glossterm linkend="container">widget</glossterm>
77         <glossterm linkend="container">geometry</glossterm>
78       </glossseealso>
79     </glossdef>
80   </glossentry>
81
82   <glossentry id="display">
83     <glossterm>display</glossterm>
84     <glossdef>
85       <para>
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>.
94       </para>
95     </glossdef>
96   </glossentry>
97
98   <glossentry id="event">
99     <glossterm>event</glossterm>
100     <glossdef>
101       <para>
102         FIXME
103       </para>
104     </glossdef>
105   </glossentry>
106
107   <glossentry id="geometry">
108     <glossterm>geometry</glossterm>
109     <glossdef>
110       <para>
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>.
114       </para>
115     </glossdef>
116   </glossentry>
117
118   <glossentry id="mapping">
119     <glossterm>mapping</glossterm>
120     <glossdef>
121       <para>
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>.
129       </para>
130
131       <para>
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
138         this with the <link
139         linkend="GtkWidget-map-event"><methodname>GtkWidget::map-event</methodname>
140         signal</link>.
141       </para>
142     </glossdef>
143   </glossentry>
144
145   <glossentry id="model-column">
146     <glossterm>model column</glossterm>
147     <glossdef>
148       <para>
149         FIXME
150       </para>
151     </glossdef>
152   </glossentry>
153
154   <glossentry id="no-window">
155     <glossterm>no-window widget</glossterm>
156     <glossdef>
157       <para>
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
163         with the <link
164         linkend="gtk-widget-no-window-caps"><function>GTK_WIDGET_NO_WINDOW()</function></link>
165         macro.
166       </para>
167     </glossdef>
168   </glossentry>
169
170   <glossentry id="parent">
171     <glossterm>parent</glossterm>
172     <glossdef>
173       <para>
174         A <glossterm linkend="widget">widget's</glossterm> parent is
175         the <glossterm linkend="container">container</glossterm>
176         inside which it resides.
177       </para>
178     </glossdef>
179   </glossentry>
180
181   <glossentry id="realization">
182     <glossterm>realization</glossterm>
183     <glossdef>
184       <para>
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>.
195       </para>
196
197       <para>
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
203         GdkWindow.
204       </para>
205
206       <para>
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>.
213       </para>
214     </glossdef>
215   </glossentry>
216
217   <glossentry id="requisition">
218     <glossterm>requisition</glossterm>
219     <glossdef>
220       <para>
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>.
227       </para>
228       <glossseealso>
229         <glossterm linkend="allocation">allocation</glossterm>
230       </glossseealso>
231     </glossdef>
232   </glossentry>
233
234   <glossentry id="screen">
235     <glossterm>screen</glossterm>
236     <glossdef>
237       <para>
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.
247       </para>
248     </glossdef>
249   </glossentry>
250
251   <glossentry id="style">
252     <glossterm>style</glossterm>
253     <glossdef>
254       <para>
255         FIXME
256       </para>
257     </glossdef>
258   </glossentry>
259
260   <glossentry id="toplevel">
261     <glossterm>toplevel</glossterm>
262     <glossdef>
263       <para>
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>.
268       </para>
269       <glossseealso>
270         <glossterm linkend="container">container</glossterm>
271       </glossseealso>
272     </glossdef>
273   </glossentry>
274
275   <glossentry id="unmap">
276     <glossterm>unmap</glossterm>
277     <glosssee><glossterm linkend="mapping">mapping</glossterm></glosssee>
278   </glossentry>
279
280   <glossentry id="unrealize">
281     <glossterm>unrealize</glossterm>
282     <glosssee><glossterm linkend="realization">realization</glossterm></glosssee>
283   </glossentry>
284
285   <glossentry id="view-column">
286     <glossterm>view column</glossterm>
287     <glossdef>
288       <para>
289         FIXME
290       </para>
291     </glossdef>
292   </glossentry>
293
294   <glossentry id="widget">
295     <glossterm>widget</glossterm>
296     <glossdef>
297       <para>
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>.
309       </para>
310       <glossseealso>
311         <glossterm linkend="container">container</glossterm>
312       </glossseealso>
313     </glossdef>
314   </glossentry>
315 </glossary>
316
317 <!--
318 Local variables:
319 mode: sgml
320 sgml-parent-document: ("gtk-docs.sgml" "book" "glossary")
321 End:
322 -->