<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=".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="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>To be added</summary>
        <returns>a <see cref="T:GLib.GType" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OverrideResizeChecked">
      <MemberSignature Language="C#" Value="protected static void OverrideResizeChecked (GLib.GType gtype);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OverrideRemoved">
      <MemberSignature Language="C#" Value="protected static void OverrideRemoved (GLib.GType gtype);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OverrideFocusChildSet">
      <MemberSignature Language="C#" Value="protected static void OverrideFocusChildSet (GLib.GType gtype);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OverrideAdded">
      <MemberSignature Language="C#" Value="protected static void OverrideAdded (GLib.GType gtype);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>To be added</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>To be added</summary>
        <remarks>To be added</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>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</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>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</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>To be added</summary>
        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ChildType">
      <MemberSignature Language="C#" Value="public 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>
    <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>To be added</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <returns>a <see cref="T:Gtk.Container" /></returns>
        <remarks>To be added</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>
  </Members>
</Type>
