GtkMenuShell

Name

GtkMenuShell -- a base class for menu objects.

Synopsis


#include <gtk/gtk.h>


struct      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_deselect         (GtkMenuShell *menu_shell);
void        gtk_menu_shell_activate_item    (GtkMenuShell *menu_shell,
                                             GtkWidget *menu_item,
                                             gboolean force_deactivate);
enum        GtkMenuDirectionType;


Object Hierarchy


  GObject
   +----GtkObject
         +----GtkWidget
               +----GtkContainer
                     +----GtkMenuShell

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

struct GtkMenuShell

struct GtkMenuShell;

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


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.


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.


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.


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.


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.


gtk_menu_shell_deselect ()

void        gtk_menu_shell_deselect         (GtkMenuShell *menu_shell);

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


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.


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.

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.


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.


The "cycle-focus" signal

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


The "deactivate" signal

void        user_function                  (GtkMenuShell *menushell,
                                            gpointer user_data);

This signal is emitted when a menu shell is deactivated.


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.


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.