|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /usr/share/gtk-doc/html/gtk/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>GtkFixed</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="GTK+ Reference Manual">
<link rel="up" href="LayoutContainers.html" title="Layout Containers">
<link rel="prev" href="GtkVButtonBox.html" title="GtkVButtonBox">
<link rel="next" href="GtkHPaned.html" title="GtkHPaned">
<meta name="generator" content="GTK-Doc V1.6 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="gtk.html" title="Part I. GTK+ Overview">
<link rel="part" href="gtkbase.html" title="Part II. GTK+ Core Reference">
<link rel="part" href="gtkobjects.html" title="Part III. GTK+ Widgets and Objects">
<link rel="chapter" href="ch01.html" title="Object Hierarchy">
<link rel="chapter" href="ch02.html" title="Widget Gallery">
<link rel="chapter" href="WindowWidgets.html" title="Windows">
<link rel="chapter" href="DisplayWidgets.html" title="Display Widgets">
<link rel="chapter" href="ButtonWidgets.html" title="Buttons and Toggles">
<link rel="chapter" href="NumericEntry.html" title="Numeric/Text Data Entry">
<link rel="chapter" href="TextWidgetObjects.html" title="Multiline Text Editor">
<link rel="chapter" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets">
<link rel="chapter" href="MenusAndCombos.html" title="Menus, Combo Box, Toolbar">
<link rel="chapter" href="Actions.html" title="Action-based menus and toolbars">
<link rel="chapter" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)">
<link rel="chapter" href="LayoutContainers.html" title="Layout Containers">
<link rel="chapter" href="Ornaments.html" title="Ornaments">
<link rel="chapter" href="ScrollingWidgets.html" title="Scrolling">
<link rel="chapter" href="Printing.html" title="Printing">
<link rel="chapter" href="MiscObjects.html" title="Miscellaneous">
<link rel="chapter" href="AbstractObjects.html" title="Abstract Base Classes">
<link rel="chapter" href="PlugSocket.html" title="Cross-process Embedding">
<link rel="chapter" href="SpecialObjects.html" title="Special-purpose features">
<link rel="chapter" href="RecentDocuments.html" title="Recently Used Documents">
<link rel="chapter" href="DeprecatedObjects.html" title="Deprecated">
<link rel="part" href="migrating.html" title="Part IV. Migrating from Previous Versions of GTK+">
<link rel="chapter" href="gtk-migrating-checklist.html" title="Migration Checklist">
<link rel="chapter" href="gtk-migrating-GtkFileChooser.html" title="Migrating from GtkFileSelection to GtkFileChooser">
<link rel="chapter" href="gtk-migrating-GtkAction.html" title="Migrating from old menu and toolbar systems to GtkAction">
<link rel="chapter" href="gtk-migrating-GtkComboBox.html" title="Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and
GtkComboBoxEntry">
<link rel="chapter" href="gtk-migrating-GtkIconView.html" title="Migrating from GnomeIconList to GtkIconView">
<link rel="chapter" href="gtk-migrating-GtkAboutDialog.html" title="Migrating from GnomeAbout to GtkAboutDialog">
<link rel="chapter" href="gtk-migrating-GtkColorButton.html" title="Migrating from GnomeColorPicker to GtkColorButton">
<link rel="chapter" href="gtk-migrating-GtkAssistant.html" title="Migrating from GnomeDruid to GtkAssistant">
<link rel="chapter" href="gtk-migrating-GtkRecentChooser.html" title="Migrating from EggRecent to GtkRecentChooser">
<link rel="chapter" href="gtk-migrating-GtkLinkButton.html" title="Migrating from GnomeHRef to GtkLinkButton">
<link rel="part" href="pt05.html" title="Part V. GTK+ Tools">
<link rel="glossary" href="glossary.html" title="Glossary">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 2.2">
<link rel="index" href="ix04.html" title="Index of new symbols in 2.4">
<link rel="index" href="ix05.html" title="Index of new symbols in 2.6">
<link rel="index" href="ix06.html" title="Index of new symbols in 2.8">
<link rel="index" href="ix07.html" title="Index of new symbols in 2.10">
</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="2">
<tr valign="middle">
<td><a accesskey="p" href="GtkVButtonBox.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="LayoutContainers.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GTK+ Reference Manual</th>
<td><a accesskey="n" href="GtkHPaned.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id3459614" class="shortcut">Top</a>
 | 
<a href="#id3459929" class="shortcut">Description</a>
 | 
<a href="#id3459802" class="shortcut">Object Hierarchy</a>
 | 
<a href="#id3459856" class="shortcut">Implemented Interfaces</a>
 | 
<a href="#id3459879" class="shortcut">Child Properties</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="GtkFixed"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id3459614"></a><span class="refentrytitle">GtkFixed</span>
</h2>
<p>GtkFixed — A container which allows you to position widgets at fixed coordinates</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
#include <gtk/gtk.h>
<a href="GtkFixed.html#GtkFixed-struct">GtkFixed</a>;
<a href="GtkFixed.html#GtkFixedChild">GtkFixedChild</a>;
<a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>* <a href="GtkFixed.html#gtk-fixed-new">gtk_fixed_new</a> (void);
void <a href="GtkFixed.html#gtk-fixed-put">gtk_fixed_put</a> (<a href="GtkFixed.html" title="GtkFixed">GtkFixed</a> *fixed,
<a href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> y);
void <a href="GtkFixed.html#gtk-fixed-move">gtk_fixed_move</a> (<a href="GtkFixed.html" title="GtkFixed">GtkFixed</a> *fixed,
<a href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> y);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="GtkFixed.html#gtk-fixed-get-has-window">gtk_fixed_get_has_window</a> (<a href="GtkFixed.html" title="GtkFixed">GtkFixed</a> *fixed);
void <a href="GtkFixed.html#gtk-fixed-set-has-window">gtk_fixed_set_has_window</a> (<a href="GtkFixed.html" title="GtkFixed">GtkFixed</a> *fixed,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> has_window);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3459802"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
<a
href="../gobject/gobject-The-Base-Object-Type.html#GObject"
>GObject</a>
+----<a
href="../gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned"
>GInitiallyUnowned</a>
+----<a href="GtkObject.html" title="GtkObject">GtkObject</a>
+----<a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>
+----<a href="GtkContainer.html" title="GtkContainer">GtkContainer</a>
+----GtkFixed
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3459856"></a><h2>Implemented Interfaces</h2>
<p>
GtkFixed implements
AtkImplementorIface.</p>
</div>
<div class="refsect1" lang="en">
<a name="id3459879"></a><h2>Child Properties</h2>
<pre class="synopsis">
"<a href="GtkFixed.html#GtkFixed--x">x</a>" <a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> : Read / Write
"<a href="GtkFixed.html#GtkFixed--y">y</a>" <a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> : Read / Write
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3459929"></a><h2>Description</h2>
<p>
The <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> widget is a container which can place child widgets at fixed
positions and with fixed sizes, given in pixels. <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> performs no
automatic layout management.
</p>
<p>
For most applications, you should not use this container! It keeps
you from having to learn about the other GTK+ containers, but it
results in broken applications.
With <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>, the following things will result in truncated text,
overlapping widgets, and other display bugs:
</p>
<div class="itemizedlist"><ul type="disc">
<li><p>Themes, which may change widget sizes.
</p></li>
<li><p>Fonts other than the one you used to write the app will of
course change the size of widgets containing text; keep in mind that
users may use a larger font because of difficulty reading the default,
or they may be using Windows or the framebuffer port of GTK+, where
different fonts are available.
</p></li>
<li><p>
Translation of text into other languages changes its size. Also,
display of non-English text will use a different font in many cases.
</p></li>
</ul></div>
<p>
</p>
<p>
In addition, the fixed widget can't properly be mirrored in
right-to-left languages such as Hebrew and Arabic. i.e. normally GTK+
will flip the interface to put labels to the right of the thing they
label, but it can't do that with <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>. So your application will
not be usable in right-to-left languages.
</p>
<p>
Finally, fixed positioning makes it kind of annoying to add/remove GUI
elements, since you have to reposition all the other elements. This is
a long-term maintenance problem for your application.
</p>
<p>
If you know none of these things are an issue for your application,
and prefer the simplicity of <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>, by all means use the
widget. But you should be aware of the tradeoffs.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id3460045"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id3460055"></a><h3>
<a name="GtkFixed-struct"></a>GtkFixed</h3>
<a class="indexterm" name="id3460068"></a><pre class="programlisting">typedef struct _GtkFixed GtkFixed;</pre>
<p>
The <a href="GtkFixed.html#GtkFixed-struct"><span class="type">GtkFixed</span></a> struct contains the following fields.
(These fields should be considered read-only. They should never be set by
an application.)
</p>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col>
<col>
</colgroup>
<tbody><tr>
<td>
<a
href="../glib/glib-Doubly-Linked-Lists.html#GList"
><span class="type">GList</span></a> *children;</td>
<td>a list of <a href="GtkFixed.html#GtkFixedChild"><span class="type">GtkFixedChild</span></a> elements, containing the child widgets and
their positions.</td>
</tr></tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3460146"></a><h3>
<a name="GtkFixedChild"></a>GtkFixedChild</h3>
<a class="indexterm" name="id3460159"></a><pre class="programlisting">typedef struct {
GtkWidget *widget;
gint x;
gint y;
} GtkFixedChild;
</pre>
<p>
The <span class="type">GtkFixedChild</span> struct contains the following fields.
(These fields should be considered read-only. They should never be set by
an application.)
</p>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td>
<a href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget;</td>
<td>the child <a href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>.</td>
</tr>
<tr>
<td>
<a
href="../glib/glib-Basic-Types.html#gint"
><span class="type">gint</span></a> x;</td>
<td>the horizontal position of the widget within the <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>
container.</td>
</tr>
<tr>
<td>
<a
href="../glib/glib-Basic-Types.html#gint"
><span class="type">gint</span></a> y;</td>
<td>the vertical position of the widget within the <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>
container.</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3460283"></a><h3>
<a name="gtk-fixed-new"></a>gtk_fixed_new ()</h3>
<a class="indexterm" name="id3460295"></a><pre class="programlisting"><a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>* gtk_fixed_new (void);</pre>
<p>
Creates a new <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>a new <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3460347"></a><h3>
<a name="gtk-fixed-put"></a>gtk_fixed_put ()</h3>
<a class="indexterm" name="id3460360"></a><pre class="programlisting">void gtk_fixed_put (<a href="GtkFixed.html" title="GtkFixed">GtkFixed</a> *fixed,
<a href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> y);</pre>
<p>
Adds a widget to a <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> container at the given position.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>fixed</code></em> :</span></td>
<td>a <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>widget</code></em> :</span></td>
<td>the widget to add.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em> :</span></td>
<td>the horizontal position to place the widget at.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em> :</span></td>
<td>the vertical position to place the widget at.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3460488"></a><h3>
<a name="gtk-fixed-move"></a>gtk_fixed_move ()</h3>
<a class="indexterm" name="id3460500"></a><pre class="programlisting">void gtk_fixed_move (<a href="GtkFixed.html" title="GtkFixed">GtkFixed</a> *fixed,
<a href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> x,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> y);</pre>
<p>
Moves a child of a <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> container to the given position.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>fixed</code></em> :</span></td>
<td>a <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>widget</code></em> :</span></td>
<td>the child widget.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em> :</span></td>
<td>the horizontal position to move the widget to.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em> :</span></td>
<td>the vertical position to move the widget to.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3460628"></a><h3>
<a name="gtk-fixed-get-has-window"></a>gtk_fixed_get_has_window ()</h3>
<a class="indexterm" name="id3460642"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gtk_fixed_get_has_window (<a href="GtkFixed.html" title="GtkFixed">GtkFixed</a> *fixed);</pre>
<p>
Gets whether the <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> has its own <a
href="../gdk/gdk-Windows.html#GdkWindow"
><span class="type">GdkWindow</span></a>.
See <code class="function">gdk_fixed_set_has_window()</code>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>fixed</code></em> :</span></td>
<td> a <a href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if <em class="parameter"><code>fixed</code></em> has its own window.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3460753"></a><h3>
<a name="gtk-fixed-set-has-window"></a>gtk_fixed_set_has_window ()</h3>
<a class="indexterm" name="id3460767"></a><pre class="programlisting">void gtk_fixed_set_has_window (<a href="GtkFixed.html" title="GtkFixed">GtkFixed</a> *fixed,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> has_window);</pre>
<p>
Sets whether a <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> widget is created with a separate
<a
href="../gdk/gdk-Windows.html#GdkWindow"
><span class="type">GdkWindow</span></a> for <em class="parameter"><code>widget->window</code></em> or not. (By default, it will be
created with no separate <a
href="../gdk/gdk-Windows.html#GdkWindow"
><span class="type">GdkWindow</span></a>). This function must be called
while the <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> is not realized, for instance, immediately after the
window is created.
</p>
<p>
This function was added to provide an easy migration path for
older applications which may expect <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> to have a separate window.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>fixed</code></em> :</span></td>
<td> a <a href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>has_window</code></em> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if a separate window should be created
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id3460911"></a><h2>Child Property Details</h2>
<div class="refsect2" lang="en">
<a name="id3460922"></a><h3>
<a name="GtkFixed--x"></a>The "<code class="literal">x</code>" child property</h3>
<a class="indexterm" name="id3460937"></a><pre class="programlisting"> "x" <a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> : Read / Write</pre>
<p>X position of child widget.</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3460964"></a><h3>
<a name="GtkFixed--y"></a>The "<code class="literal">y</code>" child property</h3>
<a class="indexterm" name="id3460980"></a><pre class="programlisting"> "y" <a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> : Read / Write</pre>
<p>Y position of child widget.</p>
<p>Default value: 0</p>
</div>
</div>
</div>
</body>
</html>