GtkSharp/doc/en/Gtk/Menu.xml

494 lines
19 KiB
XML
Raw Normal View History

<Type Name="Menu" FullName="Gtk.Menu">
<TypeSignature Language="C#" Value="public class Menu : Gtk.MenuShell, Implementor, IWrapper, IDisposable" Maintainer="Hector Gomez M" />
<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>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>
<example>
<code lang="C#">
using System;
using Gtk;
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>
</remarks>
</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 ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters/>
<Docs>
<summary>Displays a menu and makes it available for selection.</summary>
<remarks>This is a convenience overload that calls
<see cref="M:Gtk.Menu.Popup(Gtk.Widget,Gtk.Widget,Gtk.MenuPositionFunc,System.IntPtr,System.UInt32,System.UInt32)"/> with some default arguments.</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" />, and <paramref name="func" /> parameters, and <see cref="F:System.IntPtr.Zero" /> for <paramref name="data" /> parameter. 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.Global.CurrentEventTime" /> instead.
</para>
</remarks>
<example>
<code language="C#">
using System;
using Gtk;
class PopupSample
{
Window win;
Menu menu;
static void Main (string[] args)
{
new PopupSample (args);
}
PopupSample (string[] args)
{
Application.Init ();
win = new Window ("Menu.Popup sample");
win.SetDefaultSize (400, 300);
win.DeleteEvent += new DeleteEventHandler (OnWinDelete);
menu = new Menu ();
MenuItem hello = new MenuItem ("Hello");
hello.Activated += new EventHandler (OnHelloActivated);
hello.Show ();
menu.Append (hello);
Label label = new Label ("Right Click me");
EventBox eventbox = new EventBox ();
eventbox.ButtonPressEvent += new ButtonPressEventHandler (OnEventBoxPressed);
eventbox.Add (label);
win.Add (eventbox);
win.ShowAll ();
Application.Run ();
}
private void OnEventBoxPressed (object o, ButtonPressEventArgs args)
{
if (args.Event.button == 3)
menu.Popup (null, null, null, IntPtr.Zero, 3, Gtk.Global.CurrentEventTime);
}
private void OnHelloActivated (object o, EventArgs args)
{
Console.WriteLine ("Hello Activated");
}
private void OnWinDelete (object o, DeleteEventArgs args)
{
Application.Quit ();
}
}
</code>
</example>
</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 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 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="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>void</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="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>
<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>GType Property.</summary>
<returns>a <see cref="T:GLib.GType" /></returns>
<remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Menu" />.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected Menu (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>
<returns>a <see cref="T:Gtk.Menu" /></returns>
<remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
</Docs>
</Member>
</Members>
</Type>