﻿<?xml version="1.0" encoding="utf-8"?><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.12.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>