<Type Name="SizeGroup" FullName="Gtk.SizeGroup"> <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class SizeGroup : GLib.Object" /> <AssemblyInfo> <AssemblyName>gtk-sharp</AssemblyName> <AssemblyPublicKey> </AssemblyPublicKey> <AssemblyVersion>2.10.0.0</AssemblyVersion> </AssemblyInfo> <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement> <Docs> <summary>Group widgets so they request the same size.</summary> <remarks> <para> A SizeGroup 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 can't use a <see cref="T:Gtk.Table" /> widget. Its use is effectively demonstrated by the Human Interface Guidelines of the Gnome project. </para> <para> In detail, the size requested for each widget in a SizeGroup is the maximum of the sizes that would have been requested for each widget in the SizeGroup without a SizeGroup. The <see cref="P:Gtk.SizeGroup.Mode" /> of the size group determines whether this applies to the horizontal size, the vertical size, or both sizes. </para> <para> Note that SizeGroups only affect the amount of space requested, not the size that the widgets finally receive. If you want the widgets in a SizeGroup 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 Fill flag. </para> <para> SizeGroup objects are referenced by each widget in the size group, so once you have added all widgets to a SizeGroup, you can drop the initial reference to the SizeGroup by calling <see cref="M:GLib.Object.Unref" />. If the widgets in the SizeGroup are subsequently destroyed, then they will be removed from the SizeGroup and drop their references on the SizeGroup; when all widgets have been removed, the size group will be freed. </para> <para> 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 <see cref="P:Gtk.SizeGroupMode.Horizontal" /> or <see cref="P:Gtk.SizeGroupMode.Both" />. Likewise, the vertical size is computed from the vertical requisition of all widgets that can be reached from the widget by a chain of size groups of type <see cref="P:Gtk.SizeGroupMode.Vertical" /> or <see cref="P:Gtk.SizeGroupMode.Both" />. </para> </remarks> </Docs> <Base> <BaseTypeName>GLib.Object</BaseTypeName> </Base> <Interfaces> </Interfaces> <Members> <Member MemberName="AddWidget"> <MemberSignature Language="C#" Value="public void AddWidget (Gtk.Widget widget);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="widget" Type="Gtk.Widget" /> </Parameters> <Docs> <summary>Places a widget in this SizeGroup</summary> <param name="widget">A Widget whose size should be tied to widgets in a group.</param> <remarks /> </Docs> </Member> <Member MemberName="RemoveWidget"> <MemberSignature Language="C#" Value="public void RemoveWidget (Gtk.Widget widget);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="widget" Type="Gtk.Widget" /> </Parameters> <Docs> <summary>Removes a widget from this SizeGroup</summary> <param name="widget">A Widget whose size should no longer be tied to the widgets in this group.</param> <remarks /> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public SizeGroup (IntPtr raw);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="raw" Type="System.IntPtr" /> </Parameters> <Docs> <summary>Internal constructor</summary> <param name="raw">Pointer to the C object.</param> <remarks> <para>This is an internal constructor, and should not be used by user code.</para> </remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public SizeGroup (Gtk.SizeGroupMode mode);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="mode" Type="Gtk.SizeGroupMode" /> </Parameters> <Docs> <summary>Create a new SizeGroup.</summary> <param name="mode">The mode to indicate direction(s) that should have their sizes tied together.</param> <remarks> <para>The direction that size is tied can be altered later using the <see cref="P:Gtk.SizeGroup.Mode" /> property.</para> </remarks> </Docs> </Member> <Member MemberName="Mode"> <MemberSignature Language="C#" Value="public Gtk.SizeGroupMode Mode { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.SizeGroupMode</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>Sets a mode to determine which direction this SizeGroup controls.</summary> <value>The current 'mode' that indicates the direction this SizeGroup ties together.</value> <remarks> <para> The mode of the size group determines whether the widgets in the SizeGroup should all have the same <see cref="P:Gtk.SizeGroupMode.Horizontal" /> or <see cref="P:Gtk.SizeGroupMode.Vertical" /> requisition, or should all have the same requisition in <see cref="P:Gtk.SizeGroupMode.Both" /> directions. </para> </remarks> </Docs> <Attributes> <Attribute> <AttributeName>GLib.Property("mode")</AttributeName> </Attribute> </Attributes> </Member> <Member MemberName="GType"> <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>GLib.GType</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>GType Property.</summary> <value>a <see cref="T:GLib.GType" /></value> <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.SizeGroup" />.</remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="protected SizeGroup (GLib.GType gtype);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="gtype" Type="GLib.GType" /> </Parameters> <Docs> <summary>Protected Constructor.</summary> <param name="gtype">a <see cref="T:GLib.GType" /></param> <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks> </Docs> <Attributes> <Attribute> <AttributeName>System.Obsolete</AttributeName> </Attribute> </Attributes> </Member> <Member MemberName="IgnoreHidden"> <MemberSignature Language="C#" Value="public bool IgnoreHidden { set; get; };" /> <MemberType>Property</MemberType> <Attributes> <Attribute> <AttributeName>GLib.Property("ignore-hidden")</AttributeName> </Attribute> </Attributes> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Docs> <summary>Indicates if hidden widgets are ignored when calculating size.</summary> <value> <see langword="true" /> if hidden widgets are to be ignored.</value> <remarks /> <since version="Gtk# 2.8" /> </Docs> </Member> <Member MemberName="Widgets"> <MemberSignature Language="C#" Value="public Gtk.Widget[] Widgets { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Widget[]</ReturnType> </ReturnValue> <Docs> <summary>The Widgets associated with the group.</summary> <value>an array of widgets.</value> <remarks /> <since version="Gtk# 2.10" /> </Docs> </Member> </Members> </Type>