gtk3/docs/reference/gtk/html/GtkSizeGroup.html
2022-06-01 16:13:05 +01:00

597 lines
32 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkSizeGroup: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="MiscObjects.html" title="Miscellaneous">
<link rel="prev" href="GtkIMMulticontext.html" title="GtkIMMulticontext">
<link rel="next" href="GtkTooltip.html" title="GtkTooltip">
<meta name="generator" content="GTK-Doc V1.33.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">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#GtkSizeGroup.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#GtkSizeGroup.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
<a href="#GtkSizeGroup.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
<a href="#GtkSizeGroup.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="MiscObjects.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkIMMulticontext.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkTooltip.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkSizeGroup"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkSizeGroup.top_of_page"></a>GtkSizeGroup</span></h2>
<p>GtkSizeGroup — Grouping widgets so they request the same size</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkSizeGroup.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="returnvalue">GtkSizeGroup</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkSizeGroup.html#gtk-size-group-new" title="gtk_size_group_new ()">gtk_size_group_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSizeGroup.html#gtk-size-group-set-mode" title="gtk_size_group_set_mode ()">gtk_size_group_set_mode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkSizeGroup.html#GtkSizeGroupMode" title="enum GtkSizeGroupMode"><span class="returnvalue">GtkSizeGroupMode</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkSizeGroup.html#gtk-size-group-get-mode" title="gtk_size_group_get_mode ()">gtk_size_group_get_mode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSizeGroup.html#gtk-size-group-set-ignore-hidden" title="gtk_size_group_set_ignore_hidden ()">gtk_size_group_set_ignore_hidden</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkSizeGroup.html#gtk-size-group-get-ignore-hidden" title="gtk_size_group_get_ignore_hidden ()">gtk_size_group_get_ignore_hidden</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSizeGroup.html#gtk-size-group-add-widget" title="gtk_size_group_add_widget ()">gtk_size_group_add_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkSizeGroup.html#gtk-size-group-remove-widget" title="gtk_size_group_remove_widget ()">gtk_size_group_remove_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GSList</span> *
</td>
<td class="function_name">
<a class="link" href="GtkSizeGroup.html#gtk-size-group-get-widgets" title="gtk_size_group_get_widgets ()">gtk_size_group_get_widgets</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkSizeGroup.html#GtkSizeGroup--ignore-hidden" title="The “ignore-hidden” property">ignore-hidden</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a class="link" href="GtkSizeGroup.html#GtkSizeGroupMode" title="enum GtkSizeGroupMode"><span class="type">GtkSizeGroupMode</span></a></td>
<td class="property_name"><a class="link" href="GtkSizeGroup.html#GtkSizeGroup--mode" title="The “mode” property">mode</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GtkSizeGroup.html#GtkSizeGroup-struct" title="struct GtkSizeGroup">GtkSizeGroup</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkSizeGroup.html#GtkSizeGroupMode" title="enum GtkSizeGroupMode">GtkSizeGroupMode</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> GObject
<span class="lineart">╰──</span> GtkSizeGroup
</pre>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GtkSizeGroup implements
<a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a>.</p>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.description"></a><h2>Description</h2>
<p><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> provides a mechanism for grouping a number of widgets
together so they all request the same amount of space. This is
typically useful when you want a column of widgets to have the same
size, but you cant use a <a class="link" href="GtkGrid.html" title="GtkGrid"><span class="type">GtkGrid</span></a> widget.</p>
<p>In detail, the size requested for each widget in a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> is
the maximum of the sizes that would have been requested for each
widget in the size group if they were not in the size group. The mode
of the size group (see <a class="link" href="GtkSizeGroup.html#gtk-size-group-set-mode" title="gtk_size_group_set_mode ()"><code class="function">gtk_size_group_set_mode()</code></a>) determines whether
this applies to the horizontal size, the vertical size, or both sizes.</p>
<p>Note that size groups only affect the amount of space requested, not
the size that the widgets finally receive. If you want the widgets in
a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> to actually be the same size, you need to pack them in
such a way that they get the size they request and not more. For
example, if you are packing your widgets into a table, you would not
include the <a class="link" href="GtkTable.html#GTK-FILL:CAPS"><code class="literal">GTK_FILL</code></a> flag.</p>
<p><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> objects are referenced by each widget in the size group,
so once you have added all widgets to a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a>, you can drop
the initial reference to the size group with <code class="function">g_object_unref()</code>. If the
widgets in the size group are subsequently destroyed, then they will
be removed from the size group and drop their references on the size
group; when all widgets have been removed, the size group will be
freed.</p>
<p>Widgets can be part of multiple size groups; GTK+ will compute the
horizontal size of a widget from the horizontal requisition of all
widgets that can be reached from the widget by a chain of size groups
of type <a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-HORIZONTAL:CAPS"><code class="literal">GTK_SIZE_GROUP_HORIZONTAL</code></a> or <a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-BOTH:CAPS"><code class="literal">GTK_SIZE_GROUP_BOTH</code></a>, and the
vertical size from the vertical requisition of all widgets that can be
reached from the widget by a chain of size groups of type
<a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-VERTICAL:CAPS"><code class="literal">GTK_SIZE_GROUP_VERTICAL</code></a> or <a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-BOTH:CAPS"><code class="literal">GTK_SIZE_GROUP_BOTH</code></a>.</p>
<p>Note that only non-contextual sizes of every widget are ever consulted
by size groups (since size groups have no knowledge of what size a widget
will be allocated in one dimension, it cannot derive how much height
a widget will receive for a given width). When grouping widgets that
trade height for width in mode <a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-VERTICAL:CAPS"><code class="literal">GTK_SIZE_GROUP_VERTICAL</code></a> or <a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-BOTH:CAPS"><code class="literal">GTK_SIZE_GROUP_BOTH</code></a>:
the height for the minimum width will be the requested height for all
widgets in the group. The same is of course true when horizontally grouping
width for height widgets.</p>
<p>Widgets that trade height-for-width should set a reasonably large minimum width
by way of <a class="link" href="GtkLabel.html#GtkLabel--width-chars" title="The “width-chars” property"><span class="type">“width-chars”</span></a> for instance. Widgets with static sizes as well
as widgets that grow (such as ellipsizing text) need no such considerations.</p>
<div class="refsect2">
<a name="id-1.3.19.10.9.9"></a><h3>GtkSizeGroup as GtkBuildable</h3>
<p>Size groups can be specified in a UI definition by placing an <code class="literal">&lt;object&gt;</code>
element with <code class="literal">class="GtkSizeGroup"</code> somewhere in the UI definition. The
widgets that belong to the size group are specified by a <code class="literal">&lt;widgets&gt;</code> element
that may contain multiple <code class="literal">&lt;widget&gt;</code> elements, one for each member of the
size group. The ”name” attribute gives the id of the widget.</p>
<p>An example of a UI definition fragment with GtkSizeGroup:</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="o">&lt;</span><span class="n">object</span><span class="w"> </span><span class="n">class</span><span class="o">=</span><span class="s">&quot;GtkSizeGroup&quot;</span><span class="o">&gt;</span><span class="w"></span>
<span class="w"> </span><span class="o">&lt;</span><span class="n">property</span><span class="w"> </span><span class="n">name</span><span class="o">=</span><span class="s">&quot;mode&quot;</span><span class="o">&gt;</span><span class="n">GTK_SIZE_GROUP_HORIZONTAL</span><span class="o">&lt;/</span><span class="n">property</span><span class="o">&gt;</span><span class="w"></span>
<span class="w"> </span><span class="o">&lt;</span><span class="n">widgets</span><span class="o">&gt;</span><span class="w"></span>
<span class="w"> </span><span class="o">&lt;</span><span class="n">widget</span><span class="w"> </span><span class="n">name</span><span class="o">=</span><span class="s">&quot;radio1&quot;</span><span class="o">/&gt;</span><span class="w"></span>
<span class="w"> </span><span class="o">&lt;</span><span class="n">widget</span><span class="w"> </span><span class="n">name</span><span class="o">=</span><span class="s">&quot;radio2&quot;</span><span class="o">/&gt;</span><span class="w"></span>
<span class="w"> </span><span class="o">&lt;/</span><span class="n">widgets</span><span class="o">&gt;</span><span class="w"></span>
<span class="o">&lt;/</span><span class="n">object</span><span class="o">&gt;</span><span class="w"></span></pre></td>
</tr>
</tbody>
</table>
</div>
<p></p>
</div>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-size-group-new"></a><h3>gtk_size_group_new ()</h3>
<pre class="programlisting"><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="returnvalue">GtkSizeGroup</span></a> *
gtk_size_group_new (<em class="parameter"><code><a class="link" href="GtkSizeGroup.html#GtkSizeGroupMode" title="enum GtkSizeGroupMode"><span class="type">GtkSizeGroupMode</span></a> mode</code></em>);</pre>
<p>Create a new <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a>.</p>
<div class="refsect3">
<a name="gtk-size-group-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>the mode for the new size group.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-size-group-new.returns"></a><h4>Returns</h4>
<p> a newly created <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-size-group-set-mode"></a><h3>gtk_size_group_set_mode ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_size_group_set_mode (<em class="parameter"><code><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> *size_group</code></em>,
<em class="parameter"><code><a class="link" href="GtkSizeGroup.html#GtkSizeGroupMode" title="enum GtkSizeGroupMode"><span class="type">GtkSizeGroupMode</span></a> mode</code></em>);</pre>
<p>Sets the <a class="link" href="GtkSizeGroup.html#GtkSizeGroupMode" title="enum GtkSizeGroupMode"><span class="type">GtkSizeGroupMode</span></a> of the size group. The mode of the size
group determines whether the widgets in the size group should
all have the same horizontal requisition (<a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-HORIZONTAL:CAPS"><code class="literal">GTK_SIZE_GROUP_HORIZONTAL</code></a>)
all have the same vertical requisition (<a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-VERTICAL:CAPS"><code class="literal">GTK_SIZE_GROUP_VERTICAL</code></a>),
or should all have the same requisition in both directions
(<a class="link" href="GtkSizeGroup.html#GTK-SIZE-GROUP-BOTH:CAPS"><code class="literal">GTK_SIZE_GROUP_BOTH</code></a>).</p>
<div class="refsect3">
<a name="gtk-size-group-set-mode.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>size_group</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>the mode to set for the size group.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-size-group-get-mode"></a><h3>gtk_size_group_get_mode ()</h3>
<pre class="programlisting"><a class="link" href="GtkSizeGroup.html#GtkSizeGroupMode" title="enum GtkSizeGroupMode"><span class="returnvalue">GtkSizeGroupMode</span></a>
gtk_size_group_get_mode (<em class="parameter"><code><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> *size_group</code></em>);</pre>
<p>Gets the current mode of the size group. See <a class="link" href="GtkSizeGroup.html#gtk-size-group-set-mode" title="gtk_size_group_set_mode ()"><code class="function">gtk_size_group_set_mode()</code></a>.</p>
<div class="refsect3">
<a name="gtk-size-group-get-mode.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>size_group</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-size-group-get-mode.returns"></a><h4>Returns</h4>
<p> the current mode of the size group.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-size-group-set-ignore-hidden"></a><h3>gtk_size_group_set_ignore_hidden ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_size_group_set_ignore_hidden (<em class="parameter"><code><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> *size_group</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> ignore_hidden</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_size_group_set_ignore_hidden</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p>
<p>Measuring the size of hidden widgets has not worked
reliably for a long time. In most cases, they will report a size
of 0 nowadays, and thus, their size will not affect the other
size group members. In effect, size groups will always operate
as if this property was <code class="literal">TRUE</code>. Use a <a class="link" href="GtkStack.html" title="GtkStack"><span class="type">GtkStack</span></a> instead to hide
widgets while still having their size taken into account.</p>
</div>
<p>Sets whether unmapped widgets should be ignored when
calculating the size.</p>
<div class="refsect3">
<a name="gtk-size-group-set-ignore-hidden.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>size_group</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ignore_hidden</p></td>
<td class="parameter_description"><p>whether unmapped widgets should be ignored
when calculating the size</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-size-group-get-ignore-hidden"></a><h3>gtk_size_group_get_ignore_hidden ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_size_group_get_ignore_hidden (<em class="parameter"><code><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> *size_group</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_size_group_get_ignore_hidden</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p>
<p>Measuring the size of hidden widgets has not worked
reliably for a long time. In most cases, they will report a size
of 0 nowadays, and thus, their size will not affect the other
size group members. In effect, size groups will always operate
as if this property was <code class="literal">TRUE</code>. Use a <a class="link" href="GtkStack.html" title="GtkStack"><span class="type">GtkStack</span></a> instead to hide
widgets while still having their size taken into account.</p>
</div>
<p>Returns if invisible widgets are ignored when calculating the size.</p>
<div class="refsect3">
<a name="gtk-size-group-get-ignore-hidden.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>size_group</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-size-group-get-ignore-hidden.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if invisible widgets are ignored.</p>
</div>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-size-group-add-widget"></a><h3>gtk_size_group_add_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_size_group_add_widget (<em class="parameter"><code><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> *size_group</code></em>,
<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre>
<p>Adds a widget to a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a>. In the future, the requisition
of the widget will be determined as the maximum of its requisition
and the requisition of the other widgets in the size group.
Whether this applies horizontally, vertically, or in both directions
depends on the mode of the size group. See <a class="link" href="GtkSizeGroup.html#gtk-size-group-set-mode" title="gtk_size_group_set_mode ()"><code class="function">gtk_size_group_set_mode()</code></a>.</p>
<p>When the widget is destroyed or no longer referenced elsewhere, it will
be removed from the size group.</p>
<div class="refsect3">
<a name="gtk-size-group-add-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>size_group</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>widget</p></td>
<td class="parameter_description"><p>the <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-size-group-remove-widget"></a><h3>gtk_size_group_remove_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_size_group_remove_widget (<em class="parameter"><code><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> *size_group</code></em>,
<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre>
<p>Removes a widget from a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a>.</p>
<div class="refsect3">
<a name="gtk-size-group-remove-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>size_group</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>widget</p></td>
<td class="parameter_description"><p>the <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> to remove</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-size-group-get-widgets"></a><h3>gtk_size_group_get_widgets ()</h3>
<pre class="programlisting"><span class="returnvalue">GSList</span> *
gtk_size_group_get_widgets (<em class="parameter"><code><a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a> *size_group</code></em>);</pre>
<p>Returns the list of widgets associated with <em class="parameter"><code>size_group</code></em>
.</p>
<div class="refsect3">
<a name="gtk-size-group-get-widgets.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>size_group</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup"><span class="type">GtkSizeGroup</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-size-group-get-widgets.returns"></a><h4>Returns</h4>
<p>a <span class="type">GSList</span> of
widgets. The list is owned by GTK+ and should not be modified. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GtkWidget][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.10</p>
</div>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkSizeGroup-struct"></a><h3>struct GtkSizeGroup</h3>
<pre class="programlisting">struct GtkSizeGroup;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkSizeGroupMode"></a><h3>enum GtkSizeGroupMode</h3>
<p>The mode of the size group determines the directions in which the size
group affects the requested sizes of its component widgets.</p>
<div class="refsect3">
<a name="GtkSizeGroupMode.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-SIZE-GROUP-NONE:CAPS"></a>GTK_SIZE_GROUP_NONE</p></td>
<td class="enum_member_description">
<p>group has no effect</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-SIZE-GROUP-HORIZONTAL:CAPS"></a>GTK_SIZE_GROUP_HORIZONTAL</p></td>
<td class="enum_member_description">
<p>group affects horizontal requisition</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-SIZE-GROUP-VERTICAL:CAPS"></a>GTK_SIZE_GROUP_VERTICAL</p></td>
<td class="enum_member_description">
<p>group affects vertical requisition</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-SIZE-GROUP-BOTH:CAPS"></a>GTK_SIZE_GROUP_BOTH</p></td>
<td class="enum_member_description">
<p>group affects both horizontal and vertical requisition</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GtkSizeGroup.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkSizeGroup--ignore-hidden"></a><h3>The <code class="literal">“ignore-hidden”</code> property</h3>
<pre class="programlisting"> “ignore-hidden” <span class="type">gboolean</span></pre>
<p>If <code class="literal">TRUE</code>, unmapped widgets are ignored when determining
the size of the group.</p>
<div class="warning">
<p><code class="literal">GtkSizeGroup:ignore-hidden</code> has been deprecated since version 3.22 and should not be used in newly-written code.</p>
<p>Measuring the size of hidden widgets has not worked
reliably for a long time. In most cases, they will report a size
of 0 nowadays, and thus, their size will not affect the other
size group members. In effect, size groups will always operate
as if this property was <code class="literal">TRUE</code>. Use a <a class="link" href="GtkStack.html" title="GtkStack"><span class="type">GtkStack</span></a> instead to hide
widgets while still having their size taken into account.</p>
</div>
<p>Owner: GtkSizeGroup</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkSizeGroup--mode"></a><h3>The <code class="literal">“mode”</code> property</h3>
<pre class="programlisting"> “mode” <a class="link" href="GtkSizeGroup.html#GtkSizeGroupMode" title="enum GtkSizeGroupMode"><span class="type">GtkSizeGroupMode</span></a></pre>
<p>The directions in which the size group affects the requested sizes of its component widgets.</p>
<p>Owner: GtkSizeGroup</p>
<p>Flags: Read / Write</p>
<p>Default value: GTK_SIZE_GROUP_HORIZONTAL</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>