<Type Name="ToolItem" FullName="Gtk.ToolItem">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class ToolItem : Gtk.Bin" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64 96 A4 7C B4]</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>The base class of widgets that can be added to a <see cref="T:Gtk.Toolbar" />.
Current inheritors are: <see cref="T:Gtk.ToolButton" /> and <see cref="T:Gtk.SeparatorToolItem" />.</summary>
    <remarks />
    <since version="Gtk# 2.4" />
  </Docs>
  <Base>
    <BaseTypeName>Gtk.Bin</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName="OnToolbarReconfigured">
      <MemberSignature Language="C#" Value="protected virtual void OnToolbarReconfigured ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.ToolItem.ToolbarReconfigured" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ToolItem.ToolbarReconfigured" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnCreateMenuProxy">
      <MemberSignature Language="C#" Value="protected virtual bool OnCreateMenuProxy ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.ToolItem.CreateMenuProxy" /> event.</summary>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ToolItem.CreateMenuProxy" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnTooltipSet">
      <MemberSignature Language="C#" Value="protected virtual bool OnTooltipSet (Gtk.Tooltips tooltips, string tip_text, string tip_private);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="tooltips" Type="Gtk.Tooltips" />
        <Parameter Name="tip_text" Type="System.String" />
        <Parameter Name="tip_private" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.ToolItem.TooltipSet" /> event.</summary>
        <param name="tooltips">a <see cref="T:Gtk.Tooltips" /></param>
        <param name="tip_text">a <see cref="T:System.String" /></param>
        <param name="tip_private">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ToolItem.TooltipSet" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetProxyMenuItem">
      <MemberSignature Language="C#" Value="public void SetProxyMenuItem (string menu_item_id, Gtk.Widget menu_item);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="menu_item_id" Type="System.String" />
        <Parameter Name="menu_item" Type="Gtk.Widget" />
      </Parameters>
      <Docs>
        <summary>
	  Sets the <see cref="T:Gtk.MenuItem" /> used in the toolbar overflow menu. 
	</summary>
        <param name="menu_item_id">a <see cref="T:System.String" /></param>
        <param name="menu_item">a <see cref="T:Gtk.Widget" /></param>
        <remarks>
	  The <paramref name="menu_item_id" /> is used to identify the caller of this function and
	  should also be used with <see cref="M:Gtk.ToolItem.GetProxyMenuItem" />.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetProxyMenuItem">
      <MemberSignature Language="C#" Value="public Gtk.Widget GetProxyMenuItem (string menu_item_id);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Widget</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="menu_item_id" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  If <paramref name="menu_item_id" /> matches the string passed to 
	  <see cref="M:Gtk.ToolItem.SetProxyMenuItem" />,
	  return the corresponding <see cref="T:Gtk.MenuItem" />.

	</summary>
        <param name="menu_item_id">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:Gtk.Widget" /></returns>
        <remarks>
	  Custom subclasses of <see cref="T:Gtk.ToolItem" /> should use this 
	  function to update their menu item when the 
	  <see cref="T:Gtk.ToolItem" /> changes. That the 
	  <paramref name="menu_item_id" />s must match ensures that a
	   <see cref="T:Gtk.ToolItem" /> will not
	  inadvertently change a menu item that they did not create.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetTooltip">
      <MemberSignature Language="C#" Value="public void SetTooltip (Gtk.Tooltips tooltips, string tip_text, string tip_private);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="tooltips" Type="Gtk.Tooltips" />
        <Parameter Name="tip_text" Type="System.String" />
        <Parameter Name="tip_private" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
	  Sets the <see cref="T:Gtk.Tooltips" /> object to be used for 
	  this tool item, the text to be displayed as tooltip on the 
	  item and the private text to be used. 
	</summary>
        <param name="tooltips">a <see cref="T:Gtk.Tooltips" /></param>
        <param name="tip_text">a <see cref="T:System.String" />, the tooltip text for the item</param>
        <param name="tip_private">a <see cref="T:System.String" />, the private text</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="RetrieveProxyMenuItem">
      <MemberSignature Language="C#" Value="public Gtk.Widget RetrieveProxyMenuItem ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Widget</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Returns the <see cref="T:Gtk.MenuItem" /> that was last set by
	  <see cref="M:Gtk.ToolItem.SetProxyMenuItem" />; that is, the 
	  <see cref="T:Gtk.MenuItem" /> that is going to appear in the 
	  overflow menu.
	</summary>
        <returns>a <see cref="T:Gtk.Widget" /></returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected ToolItem (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 />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ToolItem (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Constructor for internal use. Do not use.</summary>
        <param name="raw">a <see cref="T:System.IntPtr" />, pointer to the underlying C object.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ToolItem ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Public constructor.</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>The <see cref="T:GLib.GType" /> of this object.</summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="VisibleHorizontal">
      <MemberSignature Language="C#" Value="public bool VisibleHorizontal { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Whether the toolbar item is visible when the toolbar is in a horizontal orientation.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("visible-horizontal")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="VisibleVertical">
      <MemberSignature Language="C#" Value="public bool VisibleVertical { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Whether the toolbar item is visible when the toolbar is in a vertical orientation.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("visible-vertical")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="IsImportant">
      <MemberSignature Language="C#" Value="public bool IsImportant { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Whether the toolbar item is considered important.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>
	  When TRUE, toolbar buttons show text when the toolbar is in 
	  <see cref="T:Gtk.ToolbarStyle.BothHoriz" /> mode.
	  </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Property("is-important")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="ToolbarStyle">
      <MemberSignature Language="C#" Value="public Gtk.ToolbarStyle ToolbarStyle { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.ToolbarStyle</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Sets some display styles for this toolbar; see 
	  <see cref="T:Gtk.ToolbarStyle" /> for details. </summary>
        <value>a <see cref="T:Gtk.ToolbarStyle" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Orientation">
      <MemberSignature Language="C#" Value="public Gtk.Orientation Orientation { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Orientation</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The orientation used for this tool item. See <see cref="T:Gtk.Orientation" />.</summary>
        <value>a <see cref="T:Gtk.Orientation" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="IconSize">
      <MemberSignature Language="C#" Value="public Gtk.IconSize IconSize { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.IconSize</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The size of icons in this toolbar. See <see cref="T:Gtk.IconSize" />.</summary>
        <value>a <see cref="T:Gtk.IconSize" /></value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="UseDragWindow">
      <MemberSignature Language="C#" Value="public bool UseDragWindow { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	 Whether this toolitem has a drag window.
	</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>
	  When this is TRUE the toolitem can be used as a drag source through 
	  <see cref="M:Gtk.Drag.SourceSet" />.
	  When this toolitem has a drag window it will intercept all events,
	  even those that would otherwise be sent to a child of the toolitem.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="ReliefStyle">
      <MemberSignature Language="C#" Value="public Gtk.ReliefStyle ReliefStyle { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.ReliefStyle</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Returns the relief style of this toolitem. See <see cref="T:Gtk.ReliefStyle" />.
	</summary>
        <value>a <see cref="T:Gtk.ReliefStyle" /></value>
        <remarks>
	  Custom subclasses of <see cref="T:Gtk.ToolItem" /> should call 
	  this function in the handler
	  of the <see cref="E:Gtk.ToolItem.ToolbarReconfigured" /> signal
	  to find out the relief style of buttons.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="Expand">
      <MemberSignature Language="C#" Value="public bool Expand { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Whether this toolitem is allocated extra space when there
	  is more room on the toolbar then needed for the items. 
	</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>
	  If true, the effect is that the item gets bigger when the 
	  toolbar gets bigger and smaller when the toolbar gets smaller.
	</remarks>
      </Docs>
    </Member>
    <see cref="T:Gtk.ReliefStyle" />
    <Member MemberName="Homogeneous">
      <MemberSignature Language="C#" Value="public bool Homogeneous { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  Whether this toolitem is to be allocated the same size as other
	  homogeneous items. 
	</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>
	  If true, the effect is that all homogeneous items will have
	  the same width as the widest of the items.
	</remarks>
      </Docs>
    </Member>
    <Member MemberName="ToolbarReconfigured">
      <MemberSignature Language="C#" Value="public event EventHandler ToolbarReconfigured;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  This signal is emitted when some property of the toolbar that the
	  item is a child of changes. 
	</summary>
        <remarks>
	  For custom subclasses of 
	  <see cref="T:Gtk.ToolItem" />,
	  the default handler of this signal uses the properties
	  <see cref="P:Gtk.Toolbar.Orientation" />, 
	  <see cref="P:Gtk.Toolbar.Style" />,
	  <see cref="P:Gtk.Toolbar.IconSize" />, and
	  <see cref="P:Gtk.Toolbar.ReliefStyle" />
	  to find out what the toolbar should look like and change
	  themselves accordingly.
	</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("toolbar_reconfigured")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="CreateMenuProxy">
      <MemberSignature Language="C#" Value="public event Gtk.CreateMenuProxyHandler CreateMenuProxy;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.CreateMenuProxyHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	    This event is raised when the toolbar is displaying an
	    overflow menu and is trying to determine if toolitem
	    should appear in the overflow menu.
	</summary>
        <remarks>
          <para>
	    In response to this event, toolitems
	    should either call the <see cref="Gtk.ToolItem.SetProxyMenuItem" /> method specifying
	    menu_item as None and return <see langword="true" /> to indicate that the
	    item should not appear in the overflow menu, OR call the
	    <see cref="Gtk.ToolItem.SetProxyMenuItem" /> method with a
	    new menu item and return <see langword="true" />, OR

	    return <see langword="false" /> to indicate that the signal was not handled
	    by the item. This means that the item will not appear in the
	    overflow menu unless a later handler installs a menu item.
	  </para>
          <para>
	    The toolbar may cache the result of this signal. When the
	    tool item changes how it will respond to this signal it
	    must call the rebuild_menu() method to invalidate the
	    cache and ensure that the toolbar rebuilds its overflow
	    menu.
	  </para>
          <para>TODO: figure out why there is no rebuild_menu in gtk#</para>
        </remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("create_menu_proxy")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="TooltipSet">
      <MemberSignature Language="C#" Value="public event Gtk.TooltipSetHandler TooltipSet;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TooltipSetHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
	  This signal is emitted when the toolitem's tooltip changes.
	</summary>
        <remarks />
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("set_tooltip")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="RebuildMenu">
      <MemberSignature Language="C#" Value="public void RebuildMenu ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
        <since version="Gtk# 2.6" />
      </Docs>
    </Member>
  </Members>
</Type>
