GtkSharp/Source/doc/en/Gtk/SizeGroup.xml

174 lines
8.8 KiB
XML
Raw Normal View History

<Type Name="SizeGroup" FullName="Gtk.SizeGroup">
<TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class SizeGroup : GLib.Object" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SizeGroup extends GLib.Object" />
<AssemblyInfo>
<AssemblyName>gtk-sharp</AssemblyName>
<AssemblyPublicKey>
</AssemblyPublicKey>
</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>
<Base>
<BaseTypeName>GLib.Object</BaseTypeName>
</Base>
<Interfaces>
</Interfaces>
<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>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public SizeGroup (Gtk.SizeGroupMode mode);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype Gtk.SizeGroupMode mode) cil managed" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="mode" Type="Gtk.SizeGroupMode" />
</Parameters>
<Docs>
<param name="mode">The mode to indicate direction(s) that should have their sizes tied together.</param>
<summary>Create a new SizeGroup.</summary>
<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=".ctor">
<MemberSignature Language="C#" Value="public SizeGroup (IntPtr raw);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="raw" Type="System.IntPtr" />
</Parameters>
<Docs>
<param name="raw">Pointer to the C object.</param>
<summary>Internal constructor</summary>
<remarks>
<para>This is an internal constructor, and should not be used by user code.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="AddWidget">
<MemberSignature Language="C#" Value="public void AddWidget (Gtk.Widget widget);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddWidget(class Gtk.Widget widget) cil managed" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="widget" Type="Gtk.Widget" />
</Parameters>
<Docs>
<param name="widget">A Widget whose size should be tied to widgets in a group.</param>
<summary>Places a widget in this SizeGroup</summary>
<remarks />
</Docs>
</Member>
<Member MemberName="GType">
<MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
<MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
<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="IgnoreHidden">
<MemberSignature Language="C#" Value="public bool IgnoreHidden { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IgnoreHidden" />
<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="Mode">
<MemberSignature Language="C#" Value="public Gtk.SizeGroupMode Mode { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.SizeGroupMode Mode" />
<MemberType>Property</MemberType>
<Attributes>
<Attribute>
<AttributeName>GLib.Property("mode")</AttributeName>
</Attribute>
</Attributes>
<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>
</Member>
<Member MemberName="RemoveWidget">
<MemberSignature Language="C#" Value="public void RemoveWidget (Gtk.Widget widget);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveWidget(class Gtk.Widget widget) cil managed" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="widget" Type="Gtk.Widget" />
</Parameters>
<Docs>
<param name="widget">A Widget whose size should no longer be tied to the widgets in this group.</param>
<summary>Removes a widget from this SizeGroup</summary>
<remarks />
</Docs>
</Member>
<Member MemberName="Widgets">
<MemberSignature Language="C#" Value="public Gtk.Widget[] Widgets { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class Gtk.Widget[] Widgets" />
<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>