<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> <AssemblyVersion>0.0.0.0</AssemblyVersion> <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="SetFocusChain"> <MemberSignature Language="C#" Value="public void SetFocusChain (GLib.List focusable_widgets);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="focusable_widgets" Type="GLib.List" /> </Parameters> <Docs> <summary>Sets a focus chain, overriding the one computed automatically by Gtk#.</summary> <param name="focusable_widgets">an object of type <see cref="T:GLib.List" /></param> <remarks> 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. </remarks> </Docs> </Member> <Member MemberName="Foreach"> <MemberSignature Language="C#" Value="public void Foreach (Gtk.Callback callback);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="callback" Type="Gtk.Callback" /> </Parameters> <Docs> <summary>Invokes callback on each non-internal child of <see cref="T:Gtk.Container" />.</summary> <param name="callback">an object of type <see cref="T:Gtk.Callback" /></param> <remarks> See <see cref="M:Gtk.Container.ForAll(Gtk.Callback)" /> for details on what constitutes an "internal" child. Most applications should use <see cref="M:Gtk.Container.ForEach(Gtk.Callback)" />, rather than <see cref="M:Gtk.Container.ForAll(Gtk.Callback)" />. </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="GetFocusChain"> <MemberSignature Language="C#" Value="public bool GetFocusChain (GLib.List focusable_widgets);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> <Parameter Name="focusable_widgets" Type="GLib.List" /> </Parameters> <Docs> <summary>Retrieves the focus chain of the container</summary> <param name="focusable_widgets">an object of type <see cref="T:GLib.List" /></param> <returns>an object of type <see cref="T:System.Boolean" /></returns> <remarks> 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" />. </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> 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(Gtk.Widget,System.Boolean,System.Boolean,System.UInt32)" /> and <see cref="M:Gtk.Table.Attach(Gtk.Widget,System.UInt32,System.UInt32,System.UInt32,System.UInt32)" /> as an alternative to <see cref="M:Gtk.Container.Add(Gtk.Widget)" /> 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. </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="Forall"> <MemberSignature Language="C#" Value="public void Forall (Gtk.Callback callback);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="callback" Type="Gtk.Callback" /> </Parameters> <Docs> <summary>Invokes callback on each child of <see cref="T:Gtk.Container" />.</summary> <param name="callback">an object of type <see cref="T:Gtk.Callback" /></param> <remarks> This includes children that are considered "internal" (implementation details of the <see cref="T:Gtk.Container" />). "Internal" children generally were not added by the user of the <see cref="T:Gtk.Container" />, but were added by the container implementation itself. Most applications should use <see cref="M:Gtk.Container.ForEach(Gtk.Callback)" />, rather than <see cref="M:Gtk.Container.ForAll(Gtk.Callback)" />. </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="ChildType"> <MemberSignature Language="C#" Value="public uint ChildType ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.UInt32</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <returns>an object of type <see cref="T:System.UInt32" /></returns> <remarks>To be added</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 virtual 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=".ctor"> <MemberSignature Language="C#" Value="protected Container ();" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters /> <Docs> <summary>To be added</summary> <returns>an object of type <see cref="T:Gtk.Container" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="GType"> <MemberSignature Language="C#" Value="public static uint GType { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.UInt32</ReturnType> </ReturnValue> <Docs> <summary>The <see cref="T:GLib.Type" /> for <see cref="T:Gtk.Container" /></summary> <returns>The <see cref="T:GLib.Type" /> for the <see cref="T:Gtk.Container" /> class.</returns> <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="Children"> <MemberSignature Language="C#" Value="public GLib.List Children { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>GLib.List</ReturnType> </ReturnValue> <Docs> <summary>To be added</summary> <returns>an object of type <see cref="T:GLib.List" /></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 GtkSharp.AddedHandler Added;" /> <MemberType>Event</MemberType> <ReturnValue><ReturnType>GtkSharp.AddedHandler</ReturnType></ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <remarks /> </Docs> </Member> <Member MemberName="FocusChildSet"> <MemberSignature Language="C#" Value="public event GtkSharp.FocusChildSetHandler FocusChildSet;" /> <MemberType>Event</MemberType> <ReturnValue><ReturnType>GtkSharp.FocusChildSetHandler</ReturnType></ReturnValue> <Parameters /> <Docs> <summary>To be added</summary> <remarks /> </Docs> </Member> <Member MemberName="Removed"> <MemberSignature Language="C#" Value="public event GtkSharp.RemovedHandler Removed;" /> <MemberType>Event</MemberType> <ReturnValue><ReturnType>GtkSharp.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=".ctor"> <MemberSignature Language="C#" Value="protected Container (GLib.Type gtype);" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters> <Parameter Name="gtype" Type="GLib.Type" /> </Parameters> <Docs> <summary>Internal constructor</summary> <param name="gtype">GLib type for the type</param> <returns>Creates a new instance of Container, using the GLib-provided type</returns> <remarks> <para>This is a constructor used by derivative types of <see cref="T:Gtk.Container" /> that would have their own GLib type assigned to it. This is not typically used by C# code.</para> </remarks> </Docs> </Member> </Members> </Type>