<Type Name="AccelGroup" FullName="Gtk.AccelGroup">
  <TypeSignature Language="C#" 
	               Value="public class AccelGroup : GLib.Object, IWrapper, IDisposable" 
								 Maintainer="rapha" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <Attributes />
  </AssemblyInfo>
  <ThreadSafetyStatement>To be added</ThreadSafetyStatement>
  <Docs>
    <summary>Groups of global keyboard accelerators for an entire GtkWindow</summary>
    <remarks>
			<para>
				A GtkAccelGroup represents a group of keyboard accelerators, typically attached to a toplevel GtkWindow (with gtk_window_add_accel_group()). Usually you won't need to create a GtkAccelGroup directly; instead, when using GtkItemFactory, GTK+ automatically sets up the accelerators for your menus in the item factory's GtkAccelGroup.

				Note that accelerators are different from mnemonics. Accelerators are shortcuts for activating a menu item; they appear alongside the menu item they're a shortcut for. For example "Ctrl+Q" might appear alongside the "Quit" menu item. Mnemonics are shortcuts for GUI elements such as text entries or buttons; they appear as underlined characters. See gtk_label_new_with_mnemonic(). Menu items can have both accelerators and mnemonics, of course. 
			</para>
		</remarks>
  </Docs>
  <Base>
    <BaseTypeName>GLib.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
	
  <Members>
	
    <Member MemberName="FromAccelClosure">
      <MemberSignature Language="C#" 
			                 Value="public static Gtk.AccelGroup FromAccelClosure (IntPtr closure);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.AccelGroup</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="closure" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Finds the GtkAccelGroup to which closure is connected.</summary>
        <param name="closure">A GClosure</param>
        <returns>The Gtk.AccelGroup to which closure is connected, or NULL.</returns>
      </Docs>
    </Member><!-- done -->
		
    <Member MemberName="Unlock">
      <MemberSignature Language="C#" 
			                 Value="public void Unlock ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
			<Parameters>
				<Paremeter Name="accel_group" Type="Gtk.AccelGroup" />
      </Parameters>
      <Docs>
        <summary>Undoes the last call to Lock() on this accel_group.</summary>
				<param name="accel_group">A GtkAccelGroup" />
      </Docs>
    </Member><!-- done -->
		
    <Member MemberName="Disconnect">
      <MemberSignature Language="C#" 
			                 Value="public bool Disconnect (Gtk.AccelGroup accel_group, IntPtr closure);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="accel_group" Type="Gtk.AccelGroup" />
				<Parameter Name="closure" Type="GClosure" />
      </Parameters>
      <Docs>
        <summary>Removes an accelerator previously installed through Connect ().</summary>
        <param name="accel_group">The accelerator group to remove an accelerator from.</param>
        <param name="closure">The closure to remove from this accelerator group.</param>
        <returns>TRUE if the closure was found and got disconnected</returns>
      </Docs>
    </Member><!-- done -->
		
    <Member MemberName="ConnectByPath">
      <MemberSignature Language="C#" 
                       Value="public void ConnectByPath (Gtk.AccelGroup accel_group, string accel_path, IntPtr closure);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
			  <Parameter Name="accel_group" Type="Gtk.AccelGroup" />
        <Parameter Name="accel_path" Type="System.String" />
        <Parameter Name="closure" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Installs an accelerator in this group, using an accelerator path to look up the appropriate key and modifiers (see MapAddEntry ()). When accel_group is being activated in response to a call to GroupsActivate (), closure will be invoked if the accel_key and accel_mods from GroupsActivate() match the key and modifiers for the path.</summary>
				<param name="accel_group">The accelerator group to install an accelerator in.</param>
        <param name="accel_path">Path used for determining key and modifiers.</param>
        <param name="closure">Closure to be executed upon accelerator activation</param>
      </Docs>
    </Member><!-- done -->
		
    <Member MemberName="Find">
      <MemberSignature Language="C#" 
			                 Value="public Gtk.AccelKey Find (IntPtr data);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.AccelKey</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="data" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary></summary>
        <param name="data">To be added: an object of type 'IntPtr'</param>
        <returns>To be added: an object of type 'Gtk.AccelKey'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member><!-- @RJS 20030221: If this is "GtkAccelGroupFindFunc ()", then it's
		                             not completely documented in the original manual. -->
		
    <Member MemberName="DisconnectKey">
      <MemberSignature Language="C#" 
			                 Value="public bool DisconnectKey (Gtk.AccelGroup accel_group, uint accel_key, Gdk.ModifierType accel_mods);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
			  <Parameter Name="accel_group" Type="Gtk.AccelGroup" />
        <Parameter Name="accel_key" Type="System.UInt32" />
        <Parameter Name="accel_mods" Type="Gdk.ModifierType" />
      </Parameters>
      <Docs>
        <summary>Removes an accelerator previously installed through Connect ().</summary>
				<param name="accel_group">The accelerator group to install an accelerator in.</param>
        <param name="accel_key">Key value of the accelerator.</param>
        <param name="accel_mods">Modifier combination of the accelerator.</param>
        <returns>TRUE if there was an accelerator which could be removed, FALSE otherwise</returns>
      </Docs>
    </Member><!-- done -->
		
    <Member MemberName="Query">
      <MemberSignature Language="C#"
			                 Value="public Gtk.AccelGroupEntry Query (uint accel_key, Gdk.ModifierType accel_mods, uint n_entries);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.AccelGroupEntry</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="accel_key" Type="System.UInt32" />
        <Parameter Name="accel_mods" Type="Gdk.ModifierType" />
        <Parameter Name="n_entries" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Queries an accelerator group for all entries matching accel_key and accel_mods.</summary>
        <param name="accel_key">Key value of the accelerator.</param>
        <param name="accel_mods">Modifier combination of the accelerator.</param>
        <param name="n_entries">Location to return the number of entries found, or NULL.</param>
        <returns>
				  An array of n_entries GtkAccelGroupEntry elements, or NULL. The array is owned by GTK+ and must not be free'd.
				</returns>
      </Docs>
    </Member><!-- done -->
		
    <Member MemberName="Lock">
      <MemberSignature Language="C#"  
			                 Value="public void Lock ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Locks the given accelerator group.</summary>
        <remarks>Locking an accelerator group prevents the accelerators contained within it to be changed during runtime. Refer to MapChangeEntry () about runtime accelerator changes.
				If called more than once, accel_group remains locked until Unlock () has been called an equivalent number of times.</remarks>
      </Docs>
    </Member><!-- done -->
		
    <Member MemberName="Connect">
      <MemberSignature Language="C#" 
			                 Value="public void Connect (uint accel_key, Gdk.ModifierType accel_mods, Gtk.AccelFlags accel_flags, IntPtr closure);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="accel_key" Type="System.UInt32" />
        <Parameter Name="accel_mods" Type="Gdk.ModifierType" />
        <Parameter Name="accel_flags" Type="Gtk.AccelFlags" />
        <Parameter Name="closure" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Installs an accelerator in this group. When accel_group is being activated in response to a call to Activate (), closure will be invoked if the accel_key and accel_mods from Activate () match those of this connection. The signature used for the closure is that of Activate ().</summary>
        <param name="accel_key">Key value of the accelerator.</param>
        <param name="accel_mods">Modifier combination of the accelerator.</param>
        <param name="accel_flags">A flag mask to configure this accelerator.</param>
        <param name="closure">Closure to be executed upon accelerator activation.</param>
        <remarks>Note that, due to implementation details, a single closure can only be connected to one accelerator group.</remarks>
      </Docs>
    </Member><!-- done -->
		
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected virtual void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member><!-- @RJS 20030221: Couldn't find anything called "[f/F]inalize in the Gtk+ docs. -->
	
		<!-- @RJS 20030221: Don't know what to do about the below members, either. -->
	
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected AccelGroup (uint gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="gtype">To be added: an object of type 'uint'</param>
        <returns>To be added: an object of type 'Gtk.AccelGroup'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
		
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public AccelGroup (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="raw">To be added: an object of type 'IntPtr'</param>
        <returns>To be added: an object of type 'Gtk.AccelGroup'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
		
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public AccelGroup ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>To be added: an object of type 'Gtk.AccelGroup'</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>To be added</summary>
        <returns>To be added: an object of type 'uint'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
		
    <Member MemberName="AccelChanged">
      <MemberSignature Language="C#" Value="public event GtkSharp.AccelChangedHandler AccelChanged;" />
      <MemberType>Event</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
		
  </Members>
	
</Type>
