<Type Name="Container" FullName="Gtk.Container"> <TypeSignature Language="C#" Value="public class Container : Gtk.Widget, Implementor, IWrapper, IWrapper, IDisposable" Maintainer="John Luke" /> <AssemblyInfo> <AssemblyName>gtk-sharp</AssemblyName> <AssemblyPublicKey> </AssemblyPublicKey> <AssemblyVersion>0.0.0.0</AssemblyVersion> <AssemblyCulture>neutral</AssemblyCulture> <Attributes /> </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>Base class for widgets which contain other widgets</summary> <remarks> <para> A Gtk# user interface is constructed by nesting widgets inside widgets. <see cref="T:Gtk.Container" /> widgets are the inner nodes in the resulting tree of widgets: they contain other widgets. So, for example, you might have a <see cref="T:Gtk.Window" /> containing a <see cref="T:Gtk.Frame" /> containing a <see cref="T:Gtk.Label" />. If you wanted an image instead of a textual label inside the frame, you might replace the <see cref="T:Gtk.Label" /> widget with a <see cref="T:Gtk.Image" /> widget. </para> <para> There are two major kinds of <see cref="T:Gtk.Container" /> widgets in Gtk#. Both are subclasses of the abstract <see cref="T:Gtk.Container" /> base class. </para> <para> The first type of <see cref="T:Gtk.Container" /> widget has a single child widget and derives from <see cref="T:Gtk.Bin" />. These containers are decorators, which add some kind of functionality to the child. For example, a <see cref="T:Gtk.Button" /> makes its child into a clickable button; a <see cref="T:Gtk.Frame" /> draws a frame around its child and a <see cref="T:Gtk.Window" /> places its child widget inside a top-level <see cref="T:Gtk.Window" />. </para> <para> The second type of <see cref="T:Gtk.Container" /> can have more than one child; its purpose is to manage layout. This means that these containers assign sizes and positions to their children. For example, a <see cref="T:Gtk.HBox" /> arranges its children in a horizontal row, and a <see cref="T:Gtk.Table" /> arranges the widgets it contains in a two-dimensional grid. </para> <para> To fulfill its task, a layout <see cref="T:Gtk.Container" /> must negotiate the size requirements with its parent and its children. This negotiation is carried out in two phases, size requisition and size allocation. </para> </remarks> </Docs> <Base> <BaseTypeName>Gtk.Widget</BaseTypeName> </Base> <Interfaces> <Interface> <InterfaceName>Atk.Implementor</InterfaceName> </Interface> <Interface> <InterfaceName>GLib.IWrapper</InterfaceName> </Interface> <Interface> <InterfaceName>GLib.IWrapper</InterfaceName> </Interface> <Interface> <InterfaceName>System.IDisposable</InterfaceName> </Interface> </Interfaces> <Attributes /> <Members> <Member MemberName="CheckResize"> <MemberSignature Language="C#" Value="public void CheckResize ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="ChildGetValist"> <MemberSignature Language="C#" Value="public void ChildGetValist (Gtk.Widget child, string first_property_name, IntPtr var_args);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="child" Type="Gtk.Widget" /> <Parameter Name="first_property_name" Type="System.String" /> <Parameter Name="var_args" Type="System.IntPtr" /> </Parameters> <Docs> <summary>Gets the values of one or more child properties for child and container.</summary> <param name="child">an object of type <see cref="T:Gtk.Widget" /></param> <param name="first_property_name">an object of type <see cref="T:System.String" /></param> <param name="var_args">an object of type <see cref="T:System.IntPtr" /></param> <remarks>Gets the values of one or more child properties for child and container.</remarks> </Docs> </Member> <Member MemberName="Add"> <MemberSignature Language="C#" Value="public void Add (Gtk.Widget widget);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="widget" Type="Gtk.Widget" /> </Parameters> <Docs> <summary>Adds a <see cref="T:Gtk.Widget" /> to the <see cref="T:Gtk.Container" />.</summary> <param name="widget">an object of type <see cref="T:Gtk.Widget" /></param> <remarks> <para> Typically used for simple containers such as <see cref="T:Gtk.Window" />, <see cref="T:Gtk.Frame" />, or <see cref="T:Gtk.Button" />; for more complicated layout containers such as <see cref="T:Gtk.Box" /> or <see cref="T:Gtk.Table" />, this function will pick default packing parameters that may not be correct. So consider functions such as <see cref="M:Gtk.Box.Packstart" /> and <see cref="M:Gtk.Table.Attach" /> as an alternative to <see cref="M:Gtk.Container.Add" /> in those cases. A <see cref="T:Gtk.Widget" /> may be added to only one <see cref="T:Gtk.Container" /> at a time; you can not place the same widget inside two different containers. </para> </remarks> </Docs> </Member> <Member MemberName="Remove"> <MemberSignature Language="C#" Value="public void Remove (Gtk.Widget widget);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="widget" Type="Gtk.Widget" /> </Parameters> <Docs> <summary>Removes a <see cref="T:Gtk.Widget" /> from the <see cref="T:Gtk.Container" />.</summary> <param name="widget">an object of type <see cref="T:Gtk.Widget" /></param> <remarks> <see cref="T:Gtk.Widget" /> must be inside <see cref="T:Gtk.Container" />. </remarks> </Docs> </Member> <Member MemberName="UnsetFocusChain"> <MemberSignature Language="C#" Value="public void UnsetFocusChain ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Removes a focus chain.</summary> <remarks>Removes a focus chain explicitly set with <see cref="M:Gtk.Container.SetFocusChain(GLib.List)" />.</remarks> </Docs> </Member> <Member MemberName="ResizeChildren"> <MemberSignature Language="C#" Value="public void ResizeChildren ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="ChildSetProperty"> <MemberSignature Language="C#" Value="public void ChildSetProperty (Gtk.Widget child, string property_name, GLib.Value value);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="child" Type="Gtk.Widget" /> <Parameter Name="property_name" Type="System.String" /> <Parameter Name="value" Type="GLib.Value" /> </Parameters> <Docs> <summary>Sets a child property for child and <see cref="T:Gtk.Container" />.</summary> <param name="child">an object of type <see cref="T:Gtk.Widget" /></param> <param name="property_name">an object of type <see cref="T:System.String" /></param> <param name="value">an object of type <see cref="T:GLib.Value" /></param> <remarks>Sets a child property for child and <see cref="T:Gtk.Container" />.</remarks> </Docs> </Member> <Member MemberName="ChildGetProperty"> <MemberSignature Language="C#" Value="public void ChildGetProperty (Gtk.Widget child, string property_name, GLib.Value value);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="child" Type="Gtk.Widget" /> <Parameter Name="property_name" Type="System.String" /> <Parameter Name="value" Type="GLib.Value" /> </Parameters> <Docs> <summary>Gets a child property for child and <see cref="T:Gtk.Container" />.</summary> <param name="child">an object of type <see cref="T:Gtk.Widget" /></param> <param name="property_name">an object of type <see cref="T:System.String" /></param> <param name="value">an object of type <see cref="T:GLib.Value" /></param> <remarks>Gets a child property for child and <see cref="T:Gtk.Container" />.</remarks> </Docs> </Member> <Member MemberName="PropagateExpose"> <MemberSignature Language="C#" Value="public void PropagateExpose (Gtk.Widget child, Gdk.EventExpose evnt);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="child" Type="Gtk.Widget" /> <Parameter Name="evnt" Type="Gdk.EventExpose" /> </Parameters> <Docs> <summary>Send synthetic expose events to all children that do not have their own <see cref="T:Gdk.Windows" />.</summary> <param name="child">an object of type <see cref="T:Gtk.Widget" /></param> <param name="evnt">an object of type <see cref="T:Gdk.EventExpose" /></param> <remarks> <para> When a <see cref="T:Gtk.Container" /> receives an expose event, it must send synthetic expose events to all children that do not have their own <see cref="T:Gdk.Window" />s. This function provides a convenient way of doing this. A <see cref="T:Gtk.Container" />, when it receives an expose event, calls <see cref="M:Gtk.Container.PropagateExpose(Gtk.Widget,Gdk.EventExpose)" /> once for each child, passing in the event the <see cref="T:Gtk.Container" /> received. </para> <para> <see cref="M:Gtk.Container.PropagateExpose(Gtk.Widget,Gdk.EventExpose)" /> takes care of deciding whether an expose event needs to be sent to the child, intersecting the event's area with the child area, and sending the event. </para> <para> In most cases, a <see cref="T:Gtk.Container" /> can either simply inherit the expose implementation from <see cref="T:Gtk.Container" />, or do some drawing and then chain to the expose implementation from <see cref="T:Gtk.Container" />. </para> </remarks> </Docs> </Member> <Member MemberName="ChildSetValist"> <MemberSignature Language="C#" Value="public void ChildSetValist (Gtk.Widget child, string first_property_name, IntPtr var_args);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="child" Type="Gtk.Widget" /> <Parameter Name="first_property_name" Type="System.String" /> <Parameter Name="var_args" Type="System.IntPtr" /> </Parameters> <Docs> <summary>Sets one or more child properties for child and <see cref="T:Gtk.Container" />.</summary> <param name="child">an object of type <see cref="T:Gtk.Widget" /></param> <param name="first_property_name">an object of type <see cref="T:System.String" /></param> <param name="var_args">an object of type <see cref="T:System.IntPtr" /></param> <remarks>Sets one or more child properties for child and <see cref="T:Gtk.Container" />.</remarks> </Docs> </Member> <Member MemberName="Finalize"> <MemberSignature Language="C#" Value="protected override void Finalize ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Disposes the resources associated with the object.</summary> <remarks /> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public Container (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> <returns>An instance of Container, wrapping the C object.</returns> <remarks> <para>This is an internal constructor, and should not be used by user code.</para> </remarks> </Docs> </Member> <Member MemberName="FocusVadjustment"> <MemberSignature Language="C#" Value="public Gtk.Adjustment FocusVadjustment { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Adjustment</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">an object of type <see cref="T:Gtk.Adjustment" /></param> <returns>an object of type <see cref="T:Gtk.Adjustment" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="FocusHadjustment"> <MemberSignature Language="C#" Value="public Gtk.Adjustment FocusHadjustment { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Adjustment</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">an object of type <see cref="T:Gtk.Adjustment" /></param> <returns>an object of type <see cref="T:Gtk.Adjustment" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="FocusChild"> <MemberSignature Language="C#" Value="public Gtk.Widget FocusChild { set; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Widget</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">an object of type <see cref="T:Gtk.Widget" /></param> <returns>an object of type <see cref="T:Gtk.Widget" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="ReallocateRedraws"> <MemberSignature Language="C#" Value="public bool ReallocateRedraws { set; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">an object of type <see cref="T:System.Boolean" /></param> <returns>an object of type <see cref="T:System.Boolean" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="Child"> <MemberSignature Language="C#" Value="public Gtk.Widget Child { set; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Widget</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">an object of type <see cref="T:Gtk.Widget" /></param> <returns>an object of type <see cref="T:Gtk.Widget" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="ResizeMode"> <MemberSignature Language="C#" Value="public Gtk.ResizeMode ResizeMode { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.ResizeMode</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">an object of type <see cref="T:Gtk.ResizeMode" /></param> <returns>an object of type <see cref="T:Gtk.ResizeMode" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="BorderWidth"> <MemberSignature Language="C#" Value="public uint BorderWidth { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.UInt32</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">an object of type <see cref="T:System.UInt32" /></param> <returns>an object of type <see cref="T:System.UInt32" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="Added"> <MemberSignature Language="C#" Value="public event Gtk.AddedHandler Added;" /> <MemberType>Event</MemberType> <ReturnValue> <ReturnType>Gtk.AddedHandler</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <remarks /> </Docs> </Member> <Member MemberName="FocusChildSet"> <MemberSignature Language="C#" Value="public event Gtk.FocusChildSetHandler FocusChildSet;" /> <MemberType>Event</MemberType> <ReturnValue> <ReturnType>Gtk.FocusChildSetHandler</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <remarks /> </Docs> </Member> <Member MemberName="Removed"> <MemberSignature Language="C#" Value="public event Gtk.RemovedHandler Removed;" /> <MemberType>Event</MemberType> <ReturnValue> <ReturnType>Gtk.RemovedHandler</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <remarks /> </Docs> </Member> <Member MemberName="ResizeChecked"> <MemberSignature Language="C#" Value="public event EventHandler ResizeChecked;" /> <MemberType>Event</MemberType> <ReturnValue> <ReturnType>System.EventHandler</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <remarks /> </Docs> </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> <returns>a <see cref="T:GLib.GType" /></returns> <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Container" />.</remarks> </Docs> </Member> <Member MemberName="OnResizeChecked"> <MemberSignature Language="C#" Value="protected virtual void OnResizeChecked ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Default handler for the <see cref="M:Gtk.Container.ResizeChecked" /> event.</summary> <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Container.ResizeChecked" /> event.</remarks> </Docs> </Member> <Member MemberName="OnRemoved"> <MemberSignature Language="C#" Value="protected virtual void OnRemoved (Gtk.Widget widget);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="widget" Type="Gtk.Widget" /> </Parameters> <Docs> <summary>Default handler for the <see cref="M:Gtk.Container.Removed" /> event.</summary> <param name="widget">a <see cref="T:Gtk.Widget" /></param> <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Container.Removed" /> event.</remarks> </Docs> </Member> <Member MemberName="OnFocusChildSet"> <MemberSignature Language="C#" Value="protected virtual void OnFocusChildSet (Gtk.Widget widget);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="widget" Type="Gtk.Widget" /> </Parameters> <Docs> <summary>Default handler for the <see cref="M:Gtk.Container.FocusChildSet" /> event.</summary> <param name="widget">a <see cref="T:Gtk.Widget" /></param> <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Container.FocusChildSet" /> event.</remarks> </Docs> </Member> <Member MemberName="OnAdded"> <MemberSignature Language="C#" Value="protected virtual void OnAdded (Gtk.Widget widget);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="widget" Type="Gtk.Widget" /> </Parameters> <Docs> <summary>Default handler for the <see cref="M:Gtk.Container.Added" /> event.</summary> <param name="widget">a <see cref="T:Gtk.Widget" /></param> <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Container.Added" /> event.</remarks> </Docs> </Member> <Member MemberName="Forall"> <MemberSignature Language="C#" Value="public void Forall (Gtk.Callback cb);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="cb" Type="Gtk.Callback" /> </Parameters> <Docs> <summary>To be added</summary> <param name="cb">a <see cref="T:Gtk.Callback" /></param> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="Foreach"> <MemberSignature Language="C#" Value="public void Foreach (Gtk.Callback cb);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="cb" Type="Gtk.Callback" /> </Parameters> <Docs> <summary>To be added</summary> <param name="cb">a <see cref="T:Gtk.Callback" /></param> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="protected Container (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> <returns>a <see cref="T:Gtk.Container" /></returns> <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks> </Docs> </Member> <Member MemberName="Children"> <MemberSignature Language="C#" Value="public Gtk.Widget [] Children { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Widget[]</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Obtains the the container's non-internal children.</summary> <returns>An array of non-internal children.</returns> <remarks> <para> See <see cref="M:Gtk.Container.Forall" /> for details on what constitutes an "internal" child. </para> </remarks> </Docs> </Member> <Member MemberName="FocusChain"> <MemberSignature Language="C#" Value="public Gtk.Widget [] FocusChain { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Widget[]</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Sets or obtains a focus chain of the container, overriding the one computed automatically by Gtk#.</summary> <returns>An array of <paramref name="widgets" />.</returns> <remarks> <para> In principle each <see cref="T:Gtk.Widget" /> in the chain should be a descendant of the <see cref="T:Gtk.Container" />, but this is not enforced by this method, since it is allowed to set the focus chain before you pack the widgets, or have a widget in the chain that is not always packed. The necessary checks are done when the focus chain is actually traversed. </para> <para> If no focus chain has been explicitly set, gtk# computes the focus chain based on the positions of the children. in that case, gtk# stores <see langword="null" /> in focusable_widgets and returns <see langword="false" />. </para> </remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="protected Container ();" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters /> <Docs> <summary>To be added</summary> <returns>a <see cref="T:Gtk.Container" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="ForAll"> <MemberSignature Language="C#" Value="protected virtual void ForAll (bool include_internals, Gtk.Container+CallbackInvoker invoker);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="include_internals" Type="System.Boolean" /> <Parameter Name="invoker" Type="Gtk.Container+CallbackInvoker" /> </Parameters> <Docs> <summary>To be added</summary> <param name="include_internals">a <see cref="T:System.Boolean" /></param> <param name="invoker">a <see cref="T:Gtk.Container+CallbackInvoker" /></param> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="ChildType"> <MemberSignature Language="C#" Value="public virtual GLib.GType ChildType ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>GLib.GType</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <returns>a <see cref="T:GLib.GType" /></returns> <remarks>To be added</remarks> </Docs> </Member> </Members> </Type>