<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Glossary: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="prev" href="gtk-mir.html" title="Using GTK+ with Mir">
<link rel="next" href="api-index-full.html" title="Index of all symbols">
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="gtk-mir.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="glossary">
<div class="titlepage"><div><div><h1 class="title">
<a name="glossary"></a>Glossary</h1></div></div></div>
<dl>
<dt>
<a name="allocation"></a><span class="glossterm">allocation</span>
</dt>
<dd class="glossdef">
<p>
	The final size of a <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget</a></em></a> within its <a class="glossterm" href="glossary.html#parent"><em class="glossterm"><a class="glossterm" href="glossary.html#parent" title="parent">parent</a></em></a>.  For example, a widget
	may request a minimum size of 20×20 pixels, but its
	parent may decide to allocate 50×20 pixels for it
	instead.
      </p>
<p>See Also 
	<a class="glossterm" href="glossary.html#requisition"><em class="glossterm"><a class="glossterm" href="glossary.html#requisition" title="requisition">requisition</a></em></a>
      .</p>
</dd>
<dt>
<a name="bin"></a><span class="glossterm">bin</span>
</dt>
<dd class="glossdef">
<p>
	A <a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">container</a></em></a> that
	can hold at most one child widget.  The base class for bins is
	#GtkBin.
      </p>
<p>See Also 
	<a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">container</a></em></a>
      .</p>
</dd>
<dt>
<a name="child"></a><span class="glossterm">child</span>
</dt>
<dd class="glossdef"><p>
	A <a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">container's</a></em></a> child
	is a <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget</a></em></a> contained
	inside it.
      </p></dd>
<dt>
<a name="column"></a><span class="glossterm">column</span>
</dt>
<dd class="glossdef">
<p>
	GTK+ contains several widgets which display data in columns,
        e.g. the #GtkTreeView. 
        These <a class="glossterm" href="glossary.html#view-column"><em class="glossterm"><a class="glossterm" href="glossary.html#view-column" title="view column">view columns</a></em></a> in 
        the tree view are represented by #GtkTreeViewColumn
        objects inside GTK+. They should not be confused with 
        <a class="glossterm" href="glossary.html#model-column"><em class="glossterm"><a class="glossterm" href="glossary.html#model-column" title="model column">model columns</a></em></a> which
        are used to organize the data in tree models.
      </p>
<p>See Also model-view widget.</p>
</dd>
<dt>
<a name="container"></a><span class="glossterm">container</span>
</dt>
<dd class="glossdef">
<p>
	A <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget</a></em></a> that contains
	other widgets; in that case, the container is the
	<span class="emphasis"><em>parent</em></span> of the <span class="emphasis"><em>child</em></span>
	widgets.  Some containers don't draw anything on their own,
	but rather just organize their children's <a class="glossterm" href="glossary.html#geometry"><em class="glossterm"><a class="glossterm" href="glossary.html#geometry" title="geometry">geometry</a></em></a>; for example, #GtkVBox lays out 
        its children vertically without painting anything on its own.  Other
	containers include decorative elements; for example, #GtkFrame contains 
        the frame's child and a label in addition to the shaded frame it draws.  
        The base class for containers is #GtkContainer.
      </p>
<p>See Also 
	<a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">widget</a></em></a>
	<a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">geometry</a></em></a>
      .</p>
</dd>
<dt>
<a name="display"></a><span class="glossterm">display</span>
</dt>
<dd class="glossdef"><p>
        GDK inherited the concept of display from the X window system,
        which considers a display to be the combination
        of a keyboard, a pointing device and one or more 
        <a class="glossterm" href="glossary.html#screen"><em class="glossterm"><a class="glossterm" href="glossary.html#screen" title="screen">screens</a></em></a>. 
        Applications open a display to show windows and interact with the user.
        In GDK, a display is represented by a #GdkDisplay.
      </p></dd>
<dt><a name="ellipsization"></a></dt>
<dd class="glossdef"><p>
        Ellipsization is the process of replacing some part
        of a text by an ellipsis (usually "...") to make the
        text fit in a smaller space. Pango can ellipsize text
        at the beginning, at the end or in the middle.
      </p></dd>
<dt>
<a name="event"></a><span class="glossterm">event</span>
</dt>
<dd class="glossdef"><p>
        Events are the way in which GDK informs GTK+ about external events
        like pointer motion, button clicks, key presses, etc. 
      </p></dd>
<dt>
<a name="geometry"></a><span class="glossterm">geometry</span>
</dt>
<dd class="glossdef"><p>
	A <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget's</a></em></a> position
	and size.  Within its parent, this is called the widget's
	<a class="glossterm" href="glossary.html#allocation"><em class="glossterm"><a class="glossterm" href="glossary.html#allocation" title="allocation">allocation</a></em></a>.
      </p></dd>
<dt>
<a name="mapping"></a><span class="glossterm">mapping</span>
</dt>
<dd class="glossdef">
<p>
	This is the step in a <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget's</a></em></a> life cycle where it
	actually shows the GdkWindows it created when it was
	<a class="glossterm" href="glossary.html#realization"><em class="glossterm"><a class="glossterm" href="glossary.html#realization" title="realization">realized</a></em></a>.  When a
	widget is mapped, it must turn on its
	%GTK_MAPPED flag.
      </p>
<p>
	Note that due to the asynchronous nature of the X window
	system, a widget's window may not appear on the screen
	immediatly after one calls gdk_window_show():
	you must wait for the corresponding map <a class="glossterm" href="glossary.html#event"><em class="glossterm"><a class="glossterm" href="glossary.html#event" title="event">event</a></em></a> to be received.  You can do
	this with the <a class="link" href="GtkWidget.html#GtkWidget-map-event" title="The “map-event” signal"><code class="methodname">GtkWidget::map-event</code>
	signal</a>.
      </p>
</dd>
<dt>
<a name="model-column"></a><span class="glossterm">model column</span>
</dt>
<dd class="glossdef">
<p>
        A column in a tree model, holding data of a certain type. 
        The types which can be stored in the columns of a model 
        have to be specified when the model is constructed, see 
        e.g. gtk_list_store_new().
      </p>
<p>See Also 
	<a class="glossterm" href="glossary.html#view-column"><em class="glossterm"><a class="glossterm" href="glossary.html#view-column" title="view column">view column</a></em></a>
      .</p>
</dd>
<dt>
<a name="model-view"></a><span class="glossterm">model-view widget</span>
</dt>
<dd class="glossdef">
<p>
        These widgets follow the well-known model-view pattern, which separates
        the data (the model) to be displayed from the component which does the 
        actual visualization (the view). Examples of this pattern in GTK+ are 
        the #GtkTreeView/#GtkTreeModel and #GtkTextView/#GtkTextBuffer
      </p>
<p>
        One important advantage of this pattern is that it is possible to 
        display the same model in multiple views; another one that the 
        separation of the model allows a great deal of flexibility, as 
        demonstrated by e.g. #GtkTreeModelSort or #GtkTreeModelFilter.
      </p>
</dd>
<dt>
<a name="no-window"></a><span class="glossterm">no-window widget</span>
</dt>
<dd class="glossdef"><p>
	A widget that does not have a GdkWindow of its own on which to
	draw its contents, but rather shares its <a class="glossterm" href="glossary.html#parent"><em class="glossterm"><a class="glossterm" href="glossary.html#parent" title="parent">parent's</a></em></a>.  This can be tested with
	the gtk_widget_get_has_window() function.
      </p></dd>
<dt>
<a name="parent"></a><span class="glossterm">parent</span>
</dt>
<dd class="glossdef"><p>
	A <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget's</a></em></a> parent is
	the <a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">container</a></em></a>
	inside which it resides.
      </p></dd>
<dt>
<a name="realization"></a><span class="glossterm">realization</span>
</dt>
<dd class="glossdef">
<p>
	This is the step in a <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget's</a></em></a> life cycle where it
	creates its own GdkWindow, or otherwise associates itself with
	its <a class="glossterm" href="glossary.html#parent"><em class="glossterm"><a class="glossterm" href="glossary.html#parent" title="parent">parent's</a></em></a>
	GdkWindow.  If the widget has its own window, then it must
	also attach a <a class="glossterm" href="glossary.html#style"><em class="glossterm"><a class="glossterm" href="glossary.html#style" title="style">style</a></em></a> to
	it.  A widget becomes unrealized by destroying its associated
	GdkWindow.  When a widget is realized, it must turn on its
	%GTK_REALIZED flag.
      </p>
<p>
	Widgets that don't own the GdkWindow on which they draw are
	called <a class="glossterm" href="glossary.html#no-window"><em class="glossterm"><a class="glossterm" href="glossary.html#no-window" title="no-window widget">no-window widgets</a></em></a>.  
        This can be tested with the gtk_widget_get_has_window() function.  Normally,
        these widgets draw on their parent's GdkWindow.
      </p>
<p>
	Note that when a #GtkWidget creates a window in its #GtkWidget::realize
	handler, it does not actually show the window.  That is, the
	window's structure is just created in memory.  The widget
	actually shows the window when it gets <a class="glossterm" href="glossary.html#mapping"><em class="glossterm"><a class="glossterm" href="glossary.html#mapping" title="mapping">mapped</a></em></a>.
      </p>
</dd>
<dt>
<a name="requisition"></a><span class="glossterm">requisition</span>
</dt>
<dd class="glossdef">
<p>
	The size requisition of a <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget</a></em></a> is the minimum amount of
	space it requests from its <a class="glossterm" href="glossary.html#parent"><em class="glossterm"><a class="glossterm" href="glossary.html#parent" title="parent">parent</a></em></a>.  Once the parent computes
	the widget's final size, it gives it its <a class="glossterm" href="glossary.html#allocation"><em class="glossterm"><a class="glossterm" href="glossary.html#allocation" title="allocation">size allocation</a></em></a>.
      </p>
<p>See Also 
	<a class="glossterm" href="glossary.html#allocation"><em class="glossterm"><a class="glossterm" href="glossary.html#allocation" title="allocation">allocation</a></em></a>
      .</p>
</dd>
<dt>
<a name="screen"></a><span class="glossterm">screen</span>
</dt>
<dd class="glossdef">
<p>
	GDK inherited the concept of screen from the X window system, 
        which considers a screen to be a rectangular area, on which 
        applications may place their windows. Screens under X may have 
        quite dissimilar <a class="glossterm" href="glossary.html#visual"><em class="glossterm"><a class="glossterm" href="glossary.html#visual" title="visual">visuals</a></em></a>.
        Each screen can stretch across multiple physical monitors.
      </p>
<p>
        In GDK, screens are represented by #GdkScreen objects.
      </p>
</dd>
<dt>
<a name="style"></a><span class="glossterm">style</span>
</dt>
<dd class="glossdef"><p>
        A style encapsulates what GTK+ needs to know in order to draw
        a widget. Styles can be modified with 
        <a class="link" href="gtk3-Resource-Files.html" title="Resource Files">resource files</a>.
      </p></dd>
<dt>
<a name="toplevel"></a><span class="glossterm">toplevel</span>
</dt>
<dd class="glossdef">
<p>
	A <a class="glossterm" href="glossary.html#widget"><em class="glossterm"><a class="glossterm" href="glossary.html#widget" title="widget">widget</a></em></a> that does not
	require a <a class="glossterm" href="glossary.html#parent"><em class="glossterm"><a class="glossterm" href="glossary.html#parent" title="parent">parent</a></em></a> container.  
        The only toplevel widgets in GTK+ are #GtkWindow and widgets derived from it.
      </p>
<p>See Also 
	<a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">container</a></em></a>
      .</p>
</dd>
<dt>
<a name="unmap"></a><span class="glossterm">unmap</span>
</dt>
<dd><p>See <a class="glossterm" href="glossary.html#mapping"><em class="glossterm"><a class="glossterm" href="glossary.html#mapping" title="mapping">mapping</a></em></a>.</p></dd>
<dt>
<a name="unrealize"></a><span class="glossterm">unrealize</span>
</dt>
<dd><p>See <a class="glossterm" href="glossary.html#realization"><em class="glossterm"><a class="glossterm" href="glossary.html#realization" title="realization">realization</a></em></a>.</p></dd>
<dt>
<a name="view-column"></a><span class="glossterm">view column</span>
</dt>
<dd class="glossdef">
<p>
        A displayed column in a tree view, represented by a
        #GtkTreeViewColumn object.
      </p>
<p>See Also 
	<a class="glossterm" href="glossary.html#model-column"><em class="glossterm"><a class="glossterm" href="glossary.html#model-column" title="model column">model column</a></em></a>
      .</p>
</dd>
<dt>
<a name="visual"></a><span class="glossterm">visual</span>
</dt>
<dd class="glossdef">
<p>
        A visual describes how color information is stored in pixels.
        A <a class="glossterm" href="glossary.html#screen"><em class="glossterm"><a class="glossterm" href="glossary.html#screen" title="screen">screen</a></em></a> may support
        multiple visuals. On modern hardware, the most common visuals
        are truecolor visuals, which store a fixed number of bits 
        (typically 8) for the red, green and blue components of a color.
      </p>
<p>
        On ancient hardware, one may still meet indexed visuals, which 
        store color information as an index into a color map, or even
        monochrome visuals. 
      </p>
</dd>
<dt>
<a name="widget"></a><span class="glossterm">widget</span>
</dt>
<dd class="glossdef">
<p>
	A control in a graphical user interface.  Widgets can draw
	themselves and process events from the mouse and keyboard.
	Widget types include buttons, menus, text entry lines, and
	lists.  Widgets can be arranged into <a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">containers</a></em></a>, and these take
	care of assigning the <a class="glossterm" href="glossary.html#geometry"><em class="glossterm"><a class="glossterm" href="glossary.html#geometry" title="geometry">geometry</a></em></a> of the widgets:  every
	widget thus has a parent except those widgets which are
	<a class="glossterm" href="glossary.html#toplevel"><em class="glossterm"><a class="glossterm" href="glossary.html#toplevel" title="toplevel">toplevels</a></em></a>.  The base
	class for widgets is #GtkWidget.
      </p>
<p>See Also 
	<a class="glossterm" href="glossary.html#container"><em class="glossterm"><a class="glossterm" href="glossary.html#container" title="container">container</a></em></a>
      .</p>
</dd>
</dl>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25.1</div>
</body>
</html>