]> Pileus Git - ~andy/gtk/blobdiff - docs/reference/gtk/tmpl/gtkmenu.sgml
Make 3.0 parallel-installable to 2.x
[~andy/gtk] / docs / reference / gtk / tmpl / gtkmenu.sgml
index 9d4e531e7a497eaaaaf249306c56380d748f7643..d0497ae5680118f690fad136175cfafc6472f385 100644 (file)
@@ -2,7 +2,7 @@
 GtkMenu
 
 <!-- ##### SECTION Short_Description ##### -->
-a drop down menu widget.
+A menu widget
 
 <!-- ##### SECTION Long_Description ##### -->
 <para>
@@ -32,8 +32,8 @@ can pop up a menu when the 3rd mouse button is pressed.
 <title>Connecting the popup signal handler.</title>
 <programlisting>
     /* connect our handler which will popup the menu */
-    gtk_signal_connect_object(GTK_OBJECT(window), "button_press_event",
-       GTK_SIGNAL_FUNC (my_popup_handler), GTK_OBJECT(menu));
+    g_signal_connect_swapped (window, "button_press_event",
+       G_CALLBACK (my_popup_handler), menu);
 </programlisting>
 </example>
 
@@ -41,7 +41,7 @@ can pop up a menu when the 3rd mouse button is pressed.
 <title>Signal handler which displays a popup menu.</title>
 <programlisting>
 static gint
-my_popup_handler(GtkWidget *widget, GdkEvent *event)
+my_popup_handler (GtkWidget *widget, GdkEvent *event)
 {
   GtkMenu *menu;
   GdkEventButton *event_button;
@@ -51,7 +51,7 @@ my_popup_handler(GtkWidget *widget, GdkEvent *event)
   g_return_val_if_fail (event != NULL, FALSE);
 
   /* The "widget" is the menu that was supplied when 
-   * gtk_signal_connect_object was called.
+   * g_signal_connect_swapped() was called.
    */
   menu = GTK_MENU (widget);
 
@@ -76,58 +76,138 @@ my_popup_handler(GtkWidget *widget, GdkEvent *event)
 
 </para>
 
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
 <!-- ##### STRUCT GtkMenu ##### -->
 <para>
-The #GtkMenu-struct struct contains private data only, and
+The #GtkMenu struct contains private data only, and
 should be accessed using the functions below.
 </para>
 
 
-<!-- ##### FUNCTION gtk_menu_new ##### -->
+<!-- ##### SIGNAL GtkMenu::move-scroll ##### -->
 <para>
-Creates a new #GtkMenu.
+
 </para>
 
-@Returns: a new #GtkMenu.
+@menu: the object which received the signal.
+@arg1: 
 
+<!-- ##### ARG GtkMenu:accel-group ##### -->
+<para>
+
+</para>
 
-<!-- ##### MACRO gtk_menu_append ##### -->
+<!-- ##### ARG GtkMenu:accel-path ##### -->
 <para>
-Adds a new #GtkMenuItem to the end of the menu's item list.
+
 </para>
 
-@menu: a #GtkMenu.
-@child: The #GtkMenuItem to add.
-<!-- # Unused Parameters # -->
-@m: 
-@c: 
+<!-- ##### ARG GtkMenu:active ##### -->
+<para>
 
+</para>
 
-<!-- ##### MACRO gtk_menu_prepend ##### -->
+<!-- ##### ARG GtkMenu:attach-widget ##### -->
 <para>
-Adds a new #GtkMenuItem to the beginning of the menu's item list.
+
 </para>
 
-@menu_child: 
-<!-- # Unused Parameters # -->
-@m: 
-@c: 
-@menu: a #GtkMenu.
-@child: The #GtkMenuItem to add.
+<!-- ##### ARG GtkMenu:monitor ##### -->
+<para>
 
+</para>
 
-<!-- ##### MACRO gtk_menu_insert ##### -->
+<!-- ##### ARG GtkMenu:reserve-toggle-size ##### -->
 <para>
-Adds a new #GtkMenuItem to the menu's item list at the position
-indicated by @position. 
+
 </para>
 
-@menu: a #GtkMenu.
-@child: The #GtkMenuItem to add.
-@pos: 
-<!-- # Unused Parameters # -->
-@position: The position in the item list where @child is added.
-Positions are numbered from 0 to n-1.
+<!-- ##### ARG GtkMenu:tearoff-state ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:tearoff-title ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:bottom-attach ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:left-attach ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:right-attach ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:top-attach ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:arrow-placement ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:arrow-scaling ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:double-arrows ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:horizontal-offset ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:horizontal-padding ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:vertical-offset ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkMenu:vertical-padding ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gtk_menu_new ##### -->
+<para>
+Creates a new #GtkMenu.
+</para>
+
+@void: 
+@Returns: a new #GtkMenu.
+
+
+<!-- ##### FUNCTION gtk_menu_set_screen ##### -->
+<para>
+
+</para>
+
+@menu: 
+@screen: 
 
 
 <!-- ##### FUNCTION gtk_menu_reorder_child ##### -->
@@ -141,27 +221,37 @@ Moves a #GtkMenuItem to a new position within the #GtkMenu.
 0 to n-1.
 
 
-<!-- ##### FUNCTION gtk_menu_popup ##### -->
+<!-- ##### FUNCTION gtk_menu_attach ##### -->
 <para>
-Displays a menu and makes it available for selection.  Applications can use
-this function to display context-sensitive menus, and will typically supply
-NULL for the @parent_menu_shell, @parent_menu_item, @func and @data 
-parameters.  The default menu positioning function will position the menu
-at the current pointer position.
+
 </para>
 
-@menu: a #GtkMenu.
-@parent_menu_shell: the menu shell containing the triggering menu item.
-@parent_menu_item: the menu item whose activation triggered the popup.
-@func: a user supplied function used to position the menu.
-@data: user supplied data to be passed to @func.
-@button: the button which was pressed to initiate the event.
-@activate_time: the time at which the activation event occurred.
+@menu: 
+@child: 
+@left_attach: 
+@right_attach: 
+@top_attach: 
+@bottom_attach: 
+
+
+<!-- ##### FUNCTION gtk_menu_popup ##### -->
+
+
+@menu: 
+@parent_menu_shell: 
+@parent_menu_item: 
+@func: 
+@data: 
+@button: 
+@activate_time: 
 
 
 <!-- ##### FUNCTION gtk_menu_set_accel_group ##### -->
 <para>
 Set the #GtkAccelGroup which holds global accelerators for the menu.
+This accelerator group needs to also be added to all windows that
+this menu is being used in with gtk_window_add_accel_group(), in order
+for those windows to support all the accelerators contained in this group.
 </para>
 
 @menu: a #GtkMenu.
@@ -170,6 +260,25 @@ Set the #GtkAccelGroup which holds global accelerators for the menu.
 
 <!-- ##### FUNCTION gtk_menu_get_accel_group ##### -->
 <para>
+Gets the #GtkAccelGroup which holds global accelerators for the menu.
+See gtk_menu_set_accel_group().
+</para>
+
+@menu: a #GtkMenu.
+@Returns: the #GtkAccelGroup associated with the menu.
+
+
+<!-- ##### FUNCTION gtk_menu_set_accel_path ##### -->
+<para>
+
+</para>
+
+@menu: 
+@accel_path: 
+
+
+<!-- ##### FUNCTION gtk_menu_get_accel_path ##### -->
+<para>
 
 </para>
 
@@ -179,12 +288,64 @@ Set the #GtkAccelGroup which holds global accelerators for the menu.
 
 <!-- ##### FUNCTION gtk_menu_set_title ##### -->
 <para>
-Sets the title string for the menu.  The title is displayed when the menu
-is shown as a tearoff menu.
 </para>
 
-@menu: a #GtkMenu.
-@title: a string containing the title for the menu.
+@menu: 
+@title: 
+
+
+<!-- ##### FUNCTION gtk_menu_get_title ##### -->
+<para>
+
+</para>
+
+@menu: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gtk_menu_set_monitor ##### -->
+<para>
+
+</para>
+
+@menu: 
+@monitor_num: 
+
+
+<!-- ##### FUNCTION gtk_menu_get_monitor ##### -->
+<para>
+
+</para>
+
+@menu: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gtk_menu_get_tearoff_state ##### -->
+<para>
+
+</para>
+
+@menu: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gtk_menu_set_reserve_toggle_size ##### -->
+<para>
+
+</para>
+
+@menu: 
+@reserve_toggle_size: 
+
+
+<!-- ##### FUNCTION gtk_menu_get_reserve_toggle_size ##### -->
+<para>
+
+</para>
+
+@menu: 
+@Returns: 
 
 
 <!-- ##### FUNCTION gtk_menu_popdown ##### -->
@@ -217,11 +378,11 @@ selection has not yet been made, the first menu item is selected.
 <!-- ##### FUNCTION gtk_menu_set_active ##### -->
 <para>
 Selects the specified menu item within the menu.  This is used by the
-#GtkOptionMenu.
+#GtkOptionMenu and should not be used by anyone else.
 </para>
 
 @menu: a #GtkMenu.
-@index: the index of the menu item to select.  Index values are from
+@index_: the index of the menu item to select.  Index values are from
 0 to n-1.
 
 
@@ -234,7 +395,7 @@ or reattached.
 </para>
 
 @menu: a #GtkMenu.
-@torn_off: If TRUE, menu is displayed as a tearoff menu.
+@torn_off: If %TRUE, menu is displayed as a tearoff menu.
 
 
 <!-- ##### FUNCTION gtk_menu_attach_to_widget ##### -->
@@ -268,11 +429,22 @@ Returns the #GtkWidget that the menu is attached to.
 @Returns: the #GtkWidget that the menu is attached to.
 
 
+<!-- ##### FUNCTION gtk_menu_get_for_attach_widget ##### -->
+<para>
+
+</para>
+
+@widget: 
+@Returns: 
+
+
 <!-- ##### USER_FUNCTION GtkMenuPositionFunc ##### -->
 <para>
 A user function supplied when calling gtk_menu_popup() which controls the
 positioning of the menu when it is displayed.  The function sets the @x
 and @y parameters to the coordinates where the menu is to be drawn.
+To make the menu appear on a different monitor than the mouse pointer,
+gtk_menu_set_monitor() must be called.
 </para>
 
 @menu: a #GtkMenu.
@@ -280,7 +452,16 @@ and @y parameters to the coordinates where the menu is to be drawn.
 menu shall be drawn.  This is an output parameter.
 @y: address of the #gint representing the vertical position where the
 menu shall be drawn.  This is an output parameter.
-@push_in: 
+@push_in: This parameter controls how menus placed outside the monitor are handled.
+        If this is set to %TRUE and part of the menu is outside the monitor then
+        GTK+ pushes the window into the visible area, effectively modifying the
+        popup position.
+        Note that moving and possibly resizing the menu around will alter the
+        scroll position to keep the menu items "in place", i.e. at the same monitor
+        position they would have been without resizing.
+        In practice, this behavior is only useful for combobox popups or option
+        menus and cannot be used to simply confine a menu to monitor boundaries.
+        In that case, changing the scroll offset is not desirable.
 @user_data: the data supplied by the user in the gtk_menu_popup() @data
 parameter.
 
@@ -295,8 +476,3 @@ will be called when the menu is later detached from the widget.
 @menu: the #GtkMenu being detached.
 
 
-<!-- ##### ARG GtkMenu:tearoff-title ##### -->
-<para>
-
-</para>
-