<Type Name="IconFactory" FullName="Gtk.IconFactory">
  <TypeSignature Language="C#" Maintainer="duncan" Value="public class IconFactory : GLib.Object" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit IconFactory extends GLib.Object" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>GLib.Object</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Docs>
    <summary>An icon factory manages a collection of <see cref="T:Gtk.IconSet" /></summary>
    <remarks />
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public IconFactory ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Creates a new <see cref="T:Gtk.IconFactory" />.</summary>
        <remarks>
          Creates a new <see cref="T:Gtk.IconFactory" />. An icon factory manages a
          collection of <see cref="T:Gtk.IconSet" />s; a <see cref="T:Gtk.IconSet" /> manages a set of
          variants of a particular icon (i.e. a GtkIconSet contains
          variants for different sizes and widget states). Icons in an
          icon factory are named by a stock ID, which is a simple
          string identifying the icon. Each <see cref="T:Gtk.Style" /> has a list of
          GtkIconFactorys derived from the current theme; those icon
          factories are consulted first when searching for an icon. If
          the theme doesn't set a particular icon, GTK+ looks for the
          icon in a list of default icon factories, maintained by
          <see cref="M:Gtk.IconFactory.AddDefault" /> and
          <see cref="M:Gtk.IconFactory.RemoveDefault" />. Applications with icons
          should add a default icon factory with their icons, which
          will allow themes to override the icons for the application.
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public IconFactory (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">Pointer to the C object.</param>
        <summary>Internal constructor</summary>
        <remarks>
          <para>This is an internal constructor, and should not be used by user code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Add">
      <MemberSignature Language="C#" Value="public void Add (string stock_id, Gtk.IconSet icon_set);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Add(string stock_id, class Gtk.IconSet icon_set) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="stock_id" Type="System.String" />
        <Parameter Name="icon_set" Type="Gtk.IconSet" />
      </Parameters>
      <Docs>
        <param name="stock_id">The icon's name</param>
        <param name="icon_set">	The icon set</param>
        <summary>
          Adds the given <paramref name="icon_set" /> to the icon factory, under the name
        <paramref name="stock_id" />.
        </summary>
        <remarks>
          Adds the given <paramref name="icon_set" /> to the icon factory, under the name
          <paramref name="stock_id" />. <paramref name="stock_id" /> should be namespaced for your
          application, e.g. "myapp-name-of-icon". Normally
          applications create a <see cref="T:Gtk.IconFactory" />, then add it to the
          list of default factories with
          <see cref="M:Gtk.IconFactory.AddDefault" />. They pass the
          <paramref name="stock_id" /> to widgets such as <see cref="T:Gtk.Image" /> to display the icon. Themes can
          provide an icon with the same name (such as
          "myapp-name-of-icon") to override your application's
          default icons. If an icon already existed in factory for
          <paramref name="stock_id" />, it is unreferenced and replaced with the new
          <paramref name="icon_set" />.
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="AddDefault">
      <MemberSignature Language="C#" Value="public void AddDefault ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddDefault() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          Adds an icon factory to the list of icon factories searched
          by <see cref="M:Gtk.Style.LookupIconSet" />.
        </summary>
        <remarks>
          Adds an icon factory to the list of icon factories searched
          by <see cref="M:Gtk.Style.LookupIconSet(System.String)" />. This means that, for example, <see cref="C:Gtk.Image(System.String,Gtk.IconSize)" /> will be
          able to find icons in factory. There will normally be an
          icon factory added for each library or application that
          comes with icons. The default icon factories can be
          overridden by themes.
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.IconFactory" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Lookup">
      <MemberSignature Language="C#" Value="public Gtk.IconSet Lookup (string stock_id);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.IconSet Lookup(string stock_id) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.IconSet</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="stock_id" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="stock_id">an icon name</param>
        <summary>
          Looks up a Stock ID in the icon factory.
        </summary>
        <returns>
	  a <see cref="T:Gtk.IconSet" />, or <see langword="null" />.
        </returns>
        <remarks>
          Looks up <paramref name="stock_id" /> in the icon factory, returning an icon set
          if found, otherwise <see langword="null" />. For display to the user, you
          should use <see cref="M:Gtk.Style.LookupIconSet(System.String)" /> on the
          <see cref="T:Gtk.Style" /> for
          the widget that will display the icon, instead of using this
          function directly, so that themes are taken into account.
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="LookupDefault">
      <MemberSignature Language="C#" Value="public static Gtk.IconSet LookupDefault (string stock_id);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IconSet LookupDefault(string stock_id) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.IconSet</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="stock_id" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="stock_id">an icon name</param>
        <summary>Looks for an icon in the list of default icon factories.</summary>
        <returns>
          a <see cref="T:Gtk.IconSet" />, or <see langword="null" />.
        </returns>
        <remarks>
          Looks for an icon in the list of default icon factories. For
          display to the user, you should use
          <see cref="M:Gtk.Style.LookupIconSet(System.String)" /> on the <see cref="T:Gtk.Style" /> for the widget
          that will display the icon, instead of using this function
          directly, so that themes are taken into account.
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="LookupIconSize">
      <MemberSignature Language="C#" Value="public void LookupIconSize (Gtk.IconSize size, out int width, out int height);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void LookupIconSize(valuetype Gtk.IconSize size, int32 width, int32 height) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="size" Type="Gtk.IconSize" />
        <Parameter Name="width" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="height" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="size">an icon size</param>
        <param name="width">an integer to store the icon's width</param>
        <param name="height">an integer to store the icon's height</param>
        <summary>Obtains the pixel size of a semantic icon size</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="RemoveDefault">
      <MemberSignature Language="C#" Value="public void RemoveDefault ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveDefault() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          Removes an icon factory from the list of default icon factories.
        </summary>
        <remarks>
          Removes an icon factory from the list of default icon
          factories. Not normally used; you might use it for a library
          that can be unloaded or shut down.
        </remarks>
      </Docs>
    </Member>
  </Members>
</Type>
