<Type Name="Menu" FullName="Gtk.Menu"> <TypeSignature Language="C#" Value="public class Menu : Gtk.MenuShell, Implementor, IWrapper, IWrapper, IDisposable" Maintainer="Hector Gomez M" /> <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>A <see cref="T:Gtk.Menu" /> is a <see cref="T:Gtk.MenuShell" /> that implements a drop down menu.</summary> <remarks> <para> A <see cref="T:Gtk.Menu" /> is a <see cref="T:Gtk.MenuShell" /> that implements a drop down menu consisting of a list of <see cref="T:Gtk.MenuItem" /> objects which can be navigated and activated by the user to perform application functions. </para> <para> It is commonly dropped down by activating a <see cref="T:Gtk.MenuItem" /> in a <see cref="T:Gtk.MenuBar" /> or in another <see cref="T:Gtk.Menu" />, it can also be popped up by activating a <see cref="T:Gtk.OptionMenu" />. Other composite widgets such as the <see cref="T:Gtk.Notebook" /> can pop up a <see cref="T:Gtk.Menu" /> as well. </para> </remarks> <example> <code language="C#"> using System; using Gtk; using GtkSharp; public class MenuApp { public static void Main (string[] args) { Application.Init(); Window win = new Window ("Menu Sample App"); win.DeleteEvent += new DeleteEventHandler (delete_cb); win.SetDefaultSize (200, 150); VBox box = new VBox (false, 2); MenuBar mb = new MenuBar (); Menu file_menu = new Menu (); MenuItem exit_item = new MenuItem("Exit"); exit_item.Activated += new EventHandler (exit_cb); file_menu.Append (exit_item); MenuItem file_item = new MenuItem("File"); file_item.Submenu = file_menu; mb.Append (file_item); box.PackStart(mb, false, false, 0); Button btn = new Button ("Yep, that's a menu"); box.PackStart(btn, true, true, 0); win.Add (box); win.ShowAll (); Application.Run (); } static void delete_cb (object o, DeleteEventArgs args) { Application.Quit (); } static void exit_cb (object o, EventArgs args) { Application.Quit (); } } </code> </example> </Docs> <Base> <BaseTypeName>Gtk.MenuShell</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="Detach"> <MemberSignature Language="C#" Value="public void Detach ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Detaches the menu from the widget to which it had been attached.</summary> <remarks> <para> This function will call the detacher, provided when the <see cref="M:Gtk.Menu.AttachToWidget" /> function was called. </para> </remarks> </Docs> </Member> <Member MemberName="Popdown"> <MemberSignature Language="C#" Value="public void Popdown ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Removes the menu from the screen.</summary> <remarks /> </Docs> </Member> <Member MemberName="AttachToWidget"> <MemberSignature Language="C#" Value="public void AttachToWidget (Gtk.Widget attach_widget, Gtk.MenuDetachFunc detacher);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="attach_widget" Type="Gtk.Widget" /> <Parameter Name="detacher" Type="Gtk.MenuDetachFunc" /> </Parameters> <Docs> <summary>Attaches the menu to the widget and provides a detacher.</summary> <param name="attach_widget">The <see cref="T:Gtk.Widget" /> that the menu will be attached to.</param> <param name="detacher">The user supplied callback function that will be called when the menu calls <see cref="M:Gtk.Menu.Detach" />.</param> <remarks> <para> Attaches the menu to the widget and provides a callback function that will be invoked when the menu calls <see cref="M:Gtk.Menu.Detach" /> during its destruction. </para> </remarks> </Docs> </Member> <Member MemberName="Popup"> <MemberSignature Language="C#" Value="public void Popup (Gtk.Widget parent_menu_shell, Gtk.Widget parent_menu_item, Gtk.MenuPositionFunc func, IntPtr data, uint button, uint activate_time);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="parent_menu_shell" Type="Gtk.Widget" /> <Parameter Name="parent_menu_item" Type="Gtk.Widget" /> <Parameter Name="func" Type="Gtk.MenuPositionFunc" /> <Parameter Name="data" Type="System.IntPtr" /> <Parameter Name="button" Type="System.UInt32" /> <Parameter Name="activate_time" Type="System.UInt32" /> </Parameters> <Docs> <summary>Displays a menu and makes it available for selection.</summary> <param name="parent_menu_shell">The menu shell containing the triggering menu item, or <see langword="null" />.</param> <param name="parent_menu_item">The menu item whose activation triggered the popup, or <see langword="null" />.</param> <param name="func">A user supplied function used to position the menu, or <see langword="null" />.</param> <param name="data">A user supplied data to be passed to func.</param> <param name="button">The mouse button which was pressed to initiate the event.</param> <param name="activate_time">The time at which the activation event occurred.</param> <remarks> <para> Applications can use this function to display context-sensitive menus, and will typically supply <see langword="null" /> for the <paramref name="parent_menu_shell" />, <paramref name="parent_menu_item" />, <paramref name="func" /> and <paramref name="data" /> parameters. The default menu positioning function will position the menu at the current mouse cursor position. </para> <para> The <paramref name="button" /> parameter should be the mouse button pressed to initiate the menu popup. If the menu popup was initiated by something other than a mouse button press, such as a mouse button release or a keypress, button should be zero(0). </para> <para> The <paramref name="activate_time" /> parameter should be the time stamp of the event that initiated the popup. If such an event is not available, use <see cref="P:Gtk.Application.CurrentEvent" /> instead. </para> </remarks> </Docs> </Member> <Member MemberName="Reposition"> <MemberSignature Language="C#" Value="public void Reposition ();" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters /> <Docs> <summary>Repositions the menu according to its position function.</summary> <remarks /> </Docs> </Member> <Member MemberName="ReorderChild"> <MemberSignature Language="C#" Value="public void ReorderChild (Gtk.Widget child, int position);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="child" Type="Gtk.Widget" /> <Parameter Name="position" Type="System.Int32" /> </Parameters> <Docs> <summary>Moves a <see cref="T:Gtk.MenuItem" /> to a new position within the <see cref="T:Gtk.Menu" />.</summary> <param name="child">The <see cref="T:Gtk.MenuItem" /> to move.</param> <param name="position">The new position to place <paramref name="child" />. Positions are numbered from 0 to n-1.</param> <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 Menu (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 Menu, 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="public Menu ();" /> <MemberType>Constructor</MemberType> <ReturnValue /> <Parameters /> <Docs> <summary>A constructor.</summary> <returns>An instance of <see cref="T:Gtk.Menu" />.</returns> <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 GLib Type for Gtk.Menu</summary> <returns>The GLib Type for the Gtk.Menu class.</returns> <remarks /> </Docs> </Member> <Member MemberName="Active"> <MemberSignature Language="C#" Value="public Gtk.Widget Active { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Widget</ReturnType> </ReturnValue> <Docs> <summary>Returns the selected menu item from the menu.</summary> <returns>The <see cref="T:Gtk.MenuItem" /> that was last selected in the menu. If a selection has not yet been made, the first menu item is selected.</returns> <remarks> <para> This is used by the <see cref="T:Gtk.OptionMenu" />. </para> </remarks> </Docs> </Member> <Member MemberName="AccelPath"> <MemberSignature Language="C#" Value="public string AccelPath { set; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.String</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>Sets an accelerator path for this menu from which accelerator paths for its immediate children, its menu items, can be constructed.</summary> <param name="value">A valid accelerator path.</param> <returns>To be added: an object of type 'string'</returns> <remarks> <para> The main purpose of this function is to spare the programmer the inconvenience of having to call <see cref="P:Gtk.MenuItem.AccelPath" /> on each menu item that should support runtime user changable accelerators. Instead, by just calling <see cref="P:Gtk.MenuItem.AccelPath" /> on their parent, each menu item of this menu, that contains a label describing its purpose, automatically gets an accel path assigned. </para> </remarks> </Docs> </Member> <Member MemberName="AttachWidget"> <MemberSignature Language="C#" Value="public Gtk.Widget AttachWidget { get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.Widget</ReturnType> </ReturnValue> <Docs> <summary>Returns the <see cref="T:Gtk.Widget" /> that the menu is attached to.</summary> <returns>The <see cref="T:Gtk.Widget" /> that the menu is attached to.</returns> <remarks /> </Docs> </Member> <Member MemberName="TearoffState"> <MemberSignature Language="C#" Value="public bool TearoffState { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.Boolean</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>Sets or obtains the tearoff state of the menu.</summary> <param name="value">If <see langword="true" />, menu is displayed as a tearoff menu.</param> <returns>Returns <see langword="true" /> if the menu is currently torn off.</returns> <remarks> <para> A menu is normally displayed as drop down menu which persists as long as the menu is active. It can also be displayed as a tearoff menu which persists until it is closed or reattached. </para> </remarks> </Docs> </Member> <Member MemberName="AccelGroup"> <MemberSignature Language="C#" Value="public Gtk.AccelGroup AccelGroup { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gtk.AccelGroup</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>Sets or obtains the <see cref="T:Gtk.AccelGroup" /> which holds global accelerators for the menu.</summary> <param name="value">The <see cref="T:Gtk.AccelGroup" /> to be associated with the menu.</param> <returns>The <see cref="T:Gtk.AccelGroup" /> associated with the menu.</returns> <remarks> <para> This accelerator group needs to also be added to all windows that this menu is being used in with <see cref="M:Gtk.Window.AddAccelGroup" />, in order for those windows to support all the accelerators contained in this group. </para> </remarks> </Docs> </Member> <Member MemberName="Title"> <MemberSignature Language="C#" Value="public string Title { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.String</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>Sets or obtains the title for the menu.</summary> <param name="value">A string containing the title for the menu.</param> <returns>The title of the menu, or <see langword="null" /> if the menu has no title set on it. This string is owned by the widget and should not be modified or freed.</returns> <remarks> <para> The title is displayed when the menu is shown as a tearoff menu. </para> </remarks> </Docs> </Member> <Member MemberName="TearoffTitle"> <MemberSignature Language="C#" Value="public string TearoffTitle { set; get; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>System.String</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">an object of type <see cref="T:System.String"/></param> <returns>an object of type <see cref="T:System.String"/></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="protected Menu (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 Menu, using the GLib-provided type</returns> <remarks> <para>This is a constructor used by derivative types of <see cref="T:Gtk.Menu" /> that would have their own GLib type assigned to it. This is not typically used by C# code.</para> </remarks> </Docs> </Member> <Member MemberName="Screen"> <MemberSignature Language="C#" Value="public Gdk.Screen Screen { set; };" /> <MemberType>Property</MemberType> <ReturnValue> <ReturnType>Gdk.Screen</ReturnType> </ReturnValue> <Parameters> </Parameters> <Docs> <summary>To be added</summary> <param name="value">a <see cref="T:Gdk.Screen" /></param> <returns>a <see cref="T:Gdk.Screen" /></returns> <remarks>To be added</remarks> </Docs> </Member> <Member MemberName="SetActive"> <MemberSignature Language="C#" Value="public void SetActive (uint index_);" /> <MemberType>Method</MemberType> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="index_" Type="System.UInt32" /> </Parameters> <Docs> <summary>Selects the specified menu item within the menu.</summary> <param name="index_">a <see cref="T:System.UInt32" /></param> <remarks> <para> This is used by the <see cref="T:Gtk.OptionMenu" /> and should not be used by anyone else. </para> </remarks> </Docs> </Member> </Members> </Type>