<< Back to man.ChinaUnix.net

<< Back to man.ChinaUnix.net

GtkMenuShell

GtkMenuShell — A base class for menu objects

Synopsis


#include <gtk/gtk.h>


            GtkMenuShell;
void        gtk_menu_shell_append           (GtkMenuShell *menu_shell,
                                             GtkWidget *child);
void        gtk_menu_shell_prepend          (GtkMenuShell *menu_shell,
                                             GtkWidget *child);
void        gtk_menu_shell_insert           (GtkMenuShell *menu_shell,
                                             GtkWidget *child,
                                             gint position);
void        gtk_menu_shell_deactivate       (GtkMenuShell *menu_shell);
void        gtk_menu_shell_select_item      (GtkMenuShell *menu_shell,
                                             GtkWidget *menu_item);
void        gtk_menu_shell_select_first     (GtkMenuShell *menu_shell,
                                             gboolean search_sensitive);
void        gtk_menu_shell_deselect         (GtkMenuShell *menu_shell);
void        gtk_menu_shell_activate_item    (GtkMenuShell *menu_shell,
                                             GtkWidget *menu_item,
                                             gboolean force_deactivate);
void        gtk_menu_shell_cancel           (GtkMenuShell *menu_shell);
enum        GtkMenuDirectionType;


Object Hierarchy


  GObject
   +----GtkObject
         +----GtkWidget
               +----GtkContainer
                     +----GtkMenuShell
                           +----GtkMenuBar
                           +----GtkMenu

Implemented Interfaces

GtkMenuShell implements AtkImplementorIface.

Signal Prototypes


"activate-current"
            void        user_function      (GtkMenuShell *menushell,
                                            gboolean force_hide,
                                            gpointer user_data);
"cancel"    void        user_function      (GtkMenuShell *menushell,
                                            gpointer user_data);
"cycle-focus"
            void        user_function      (GtkMenuShell *menushell,
                                            GtkDirectionType arg1,
                                            gpointer user_data);
"deactivate"
            void        user_function      (GtkMenuShell *menushell,
                                            gpointer user_data);
"move-current"
            void        user_function      (GtkMenuShell *menushell,
                                            GtkMenuDirectionType direction,
                                            gpointer user_data);
"selection-done"
            void        user_function      (GtkMenuShell *menushell,
                                            gpointer user_data);

Description

A GtkMenuShell is the abstract base class used to derive the GtkMenu and GtkMenuBar subclasses.

A GtkMenuShell is a container of GtkMenuItem objects arranged in a list which can be navigated, selected, and activated by the user to perform application functions. A GtkMenuItem can have a submenu associated with it, allowing for nested hierarchical menus.

Details

GtkMenuShell

typedef struct _GtkMenuShell GtkMenuShell;

The GtkMenuShell-struct struct contains the following fields. (These fields should be considered read-only. They should never be set by an application.)

GList *children;The list of GtkMenuItem objects contained by this GtkMenuShell.


gtk_menu_shell_append ()

void        gtk_menu_shell_append           (GtkMenuShell *menu_shell,
                                             GtkWidget *child);

Adds a new GtkMenuItem to the end of the menu shell's item list.

menu_shell :a GtkMenuShell.
child :The GtkMenuItem to add.

gtk_menu_shell_prepend ()

void        gtk_menu_shell_prepend          (GtkMenuShell *menu_shell,
                                             GtkWidget *child);

Adds a new GtkMenuItem to the beginning of the menu shell's item list.

menu_shell :a GtkMenuShell.
child :The GtkMenuItem to add.

gtk_menu_shell_insert ()

void        gtk_menu_shell_insert           (GtkMenuShell *menu_shell,
                                             GtkWidget *child,
                                             gint position);

Adds a new GtkMenuItem to the menu shell's item list at the position indicated by position.

menu_shell :a GtkMenuShell.
child :The GtkMenuItem to add.
position :The position in the item list where child is added. Positions are numbered from 0 to n-1.

gtk_menu_shell_deactivate ()

void        gtk_menu_shell_deactivate       (GtkMenuShell *menu_shell);

Deactivates the menu shell. Typically this results in the menu shell being erased from the screen.

menu_shell :a GtkMenuShell.

gtk_menu_shell_select_item ()

void        gtk_menu_shell_select_item      (GtkMenuShell *menu_shell,
                                             GtkWidget *menu_item);

Selects the menu item from the menu shell.

menu_shell :a GtkMenuShell.
menu_item :The GtkMenuItem to select.

gtk_menu_shell_select_first ()

void        gtk_menu_shell_select_first     (GtkMenuShell *menu_shell,
                                             gboolean search_sensitive);

Select the first visible or selectable child of the menu shell; don't select tearoff items unless the only item is a tearoff item.

menu_shell : a GtkMenuShell
search_sensitive : if TRUE, search for the first selectable menu item, otherwise select nothing if the first item isn't sensitive. This should be FALSE if the menu is being popped up initially.

Since 2.2


gtk_menu_shell_deselect ()

void        gtk_menu_shell_deselect         (GtkMenuShell *menu_shell);

Deselects the currently selected item from the menu shell, if any.

menu_shell :a GtkMenuShell.

gtk_menu_shell_activate_item ()

void        gtk_menu_shell_activate_item    (GtkMenuShell *menu_shell,
                                             GtkWidget *menu_item,
                                             gboolean force_deactivate);

Activates the menu item within the menu shell.

menu_shell :a GtkMenuShell.
menu_item :The GtkMenuItem to activate.
force_deactivate :If TRUE, force the deactivation of the menu shell after the menu item is activated.

gtk_menu_shell_cancel ()

void        gtk_menu_shell_cancel           (GtkMenuShell *menu_shell);

Cancels the selection within the menu shell.

menu_shell : a GtkMenuShell

Since 2.4


enum GtkMenuDirectionType

typedef enum
{
  GTK_MENU_DIR_PARENT,
  GTK_MENU_DIR_CHILD,
  GTK_MENU_DIR_NEXT,
  GTK_MENU_DIR_PREV
} GtkMenuDirectionType;

An enumeration representing directional movements within a menu.

GTK_MENU_DIR_PARENTTo the parent menu shell.
GTK_MENU_DIR_CHILDTo the submenu, if any, associated with the item.
GTK_MENU_DIR_NEXTTo the next menu item.
GTK_MENU_DIR_PREVTo the previous menu item.

Signals

The "activate-current" signal

void        user_function                  (GtkMenuShell *menushell,
                                            gboolean force_hide,
                                            gpointer user_data);

An action signal that activates the current menu item within the menu shell.

menushell :the object which received the signal.
force_hide :if TRUE, hide the menu after activating the menu item.
user_data :user data set when the signal handler was connected.

The "cancel" signal

void        user_function                  (GtkMenuShell *menushell,
                                            gpointer user_data);

An action signal which cancels the selection within the menu shell. Causes the GtkMenuShell::selection-done signal to be emitted.

menushell :the object which received the signal.
user_data :user data set when the signal handler was connected.

The "cycle-focus" signal

void        user_function                  (GtkMenuShell *menushell,
                                            GtkDirectionType arg1,
                                            gpointer user_data);

menushell :the object which received the signal.
arg1 :
user_data :user data set when the signal handler was connected.

The "deactivate" signal

void        user_function                  (GtkMenuShell *menushell,
                                            gpointer user_data);

This signal is emitted when a menu shell is deactivated.

menushell :the object which received the signal.
user_data :user data set when the signal handler was connected.

The "move-current" signal

void        user_function                  (GtkMenuShell *menushell,
                                            GtkMenuDirectionType direction,
                                            gpointer user_data);

An action signal which moves the current menu item in the direction specified by direction.

menushell :the object which received the signal.
direction :the direction to move.
user_data :user data set when the signal handler was connected.

The "selection-done" signal

void        user_function                  (GtkMenuShell *menushell,
                                            gpointer user_data);

This signal is emitted when a selection has been completed within a menu shell.

menushell :the object which received the signal.
user_data :user data set when the signal handler was connected.