Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Style Properties  |  Signals

GtkMenuItem

GtkMenuItem Виджет используемый для пунктов меню

Краткое описание

#include <gtk/gtk.h> GtkMenuItem; GtkWidget* gtk_menu_item_new (void); GtkWidget* gtk_menu_item_new_with_label (const gchar *label); GtkWidget* gtk_menu_item_new_with_mnemonic (const gchar *label); void gtk_menu_item_set_right_justified (GtkMenuItem *menu_item, gboolean right_justified); void gtk_menu_item_set_submenu (GtkMenuItem *menu_item, GtkWidget *submenu); void gtk_menu_item_set_accel_path (GtkMenuItem *menu_item, const gchar *accel_path); void gtk_menu_item_remove_submenu (GtkMenuItem *menu_item); void gtk_menu_item_select (GtkMenuItem *menu_item); void gtk_menu_item_deselect (GtkMenuItem *menu_item); void gtk_menu_item_activate (GtkMenuItem *menu_item); void gtk_menu_item_toggle_size_request (GtkMenuItem *menu_item, gint *requisition); void gtk_menu_item_toggle_size_allocate (GtkMenuItem *menu_item, gint allocation); #define gtk_menu_item_right_justify (menu_item) gboolean gtk_menu_item_get_right_justified (GtkMenuItem *menu_item); GtkWidget* gtk_menu_item_get_submenu (GtkMenuItem *menu_item);

Иерархия объектов

GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkItem +----GtkMenuItem +----GtkCheckMenuItem +----GtkImageMenuItem +----GtkSeparatorMenuItem +----GtkTearoffMenuItem

Осуществляемые интерфейсы

GtkMenuItem осуществляет AtkImplementorIface.

Свойства стиля

"arrow-spacing" gint : Read "horizontal-padding" gint : Read "selected-shadow-type" GtkShadowType : Read "toggle-spacing" gint : Read

Сигналы

"activate" void user_function (GtkMenuItem *menuitem, gpointer user_data) : Run first / Action "activate-item" void user_function (GtkMenuItem *menuitem, gpointer user_data) : Run first "toggle-size-allocate" void user_function (GtkMenuItem *menuitem, gint arg1, gpointer user_data) : Run first "toggle-size-request" void user_function (GtkMenuItem *menuitem, gpointer arg1, gpointer user_data) : Run first

Описание

GtkMenuItem виджет и наследуемые виджеты единственные допустимые виджеты для меню. Их функция правильная обработка подсвечивания, выравнивания, событий и подменю.

Поскольку он происходит из GtkBin то может содержать любой доступный виджет, хотя только немногие из них реально полезны.

Детали

GtkMenuItem

typedef struct _GtkMenuItem GtkMenuItem;

gtk_menu_item_new ()

GtkWidget*  gtk_menu_item_new               (void);

Создаёт новый GtkMenuItem.

Возвращает :

Вновь созданный GtkMenuItem


gtk_menu_item_new_with_label ()

GtkWidget*  gtk_menu_item_new_with_label    (const gchar *label);

Создаёт новый GtkMenuItem с дочерним виджетом GtkLabel.

label :

Текст для ярлыка

Возвращает :

Вновь созданный GtkMenuItem


gtk_menu_item_new_with_mnemonic ()

GtkWidget*  gtk_menu_item_new_with_mnemonic (const gchar *label);

Создаёт новый GtkMenuItem содержащий мнемонический ярлык. Ярлык создаётся с помощью gtk_label_new_with_mnemonic(), поэтому подчеркивание в label указывает мнемоник(клавиатурный акселератор) для пункта меню.

label :

Текст кнопки, с подчеркиванием перед мнемоническим символом

Возвращает :

новый GtkMenuItem


gtk_menu_item_set_right_justified ()

void gtk_menu_item_set_right_justified (GtkMenuItem *menu_item, gboolean right_justified);

Устанавливает нужно ли выравнивать пункт меню по правой стороне панели меню. Это традиционно применялось для пункта меню "Help", но теперь считается плохой идеей. (Если размещение виджета полностью изменено для языков обратного направления (с право на лево) таких как иврит или арабский, right-justified-menu-items отображается с лева.)

menu_item :

GtkMenuItem.

right_justified :

если TRUE пункт меню отобразится с право при добавлении к панели меню.


gtk_menu_item_set_submenu ()

void gtk_menu_item_set_submenu (GtkMenuItem *menu_item, GtkWidget *submenu);

Устанавливает виджет подменю, или изменяет его.

menu_item :

Виджет пункт меню

submenu :

подменю


gtk_menu_item_set_accel_path ()

void gtk_menu_item_set_accel_path (GtkMenuItem *menu_item, const gchar *accel_path);

Устанавливает путь акселератора на menu_item, через который во время выполнения изменений акселераторов пункта меню затребованного пользователем может быть идентифицирован и сохранён (смотрите gtk_accel_map_save()). Для установки акселератора пункта меню по умолчанию, вызовите gtk_accel_map_add_entry() с каким нибудь accel_path. Смотрите также gtk_accel_map_add_entry() о специальных путях акселераторов, а также gtk_menu_set_accel_path() как более удобный вариант этой функции.

Эта функция обычно удобная оболочка для обработки вызова gtk_widget_set_accel_path() с соответствующей группой акселератора для пункта меню.

Помните что вам нужно установить акселератор на родительское меню с помощью gtk_menu_set_accel_group() для того чтобы это работало.

menu_item :

допустимый GtkMenuItem

accel_path :

Путь акселератора, соответствующий функциональности данного пункта меню, или NULL для отмены текущемго.


gtk_menu_item_remove_submenu ()

void        gtk_menu_item_remove_submenu    (GtkMenuItem *menu_item);

Удаляет виджеты подменю.

menu_item :

Виджет пункт меню


gtk_menu_item_select ()

void        gtk_menu_item_select            (GtkMenuItem *menu_item);

Издаёт сигнал "select" на данном пункте. Ведёт себя также как gtk_item_select.

menu_item :

Пункт меню


gtk_menu_item_deselect ()

void        gtk_menu_item_deselect          (GtkMenuItem *menu_item);

Издаёт сигнал "deselect" на данном пункте. Ведёт себя также как gtk_item_deselect.

menu_item :

Пункт меню


gtk_menu_item_activate ()

void        gtk_menu_item_activate          (GtkMenuItem *menu_item);

Издаёт сигнал "activate" на данном пункте

menu_item :

Пункт меню


gtk_menu_item_toggle_size_request ()

void gtk_menu_item_toggle_size_request (GtkMenuItem *menu_item, gint *requisition);

Издаёт сигнал "toggle_size_request" на данном пункте.

menu_item :

Пункт меню

requisition :

Реквизиция используемая как данные сигнала.


gtk_menu_item_toggle_size_allocate ()

void gtk_menu_item_toggle_size_allocate (GtkMenuItem *menu_item, gint allocation);

Издаёт сигнал "toggle_size_allocate" на данном пункте.

menu_item :

Пункт меню.

allocation :

Расположение используемое как данные сигнала.


gtk_menu_item_right_justify()

#define gtk_menu_item_right_justify(menu_item) gtk_menu_item_set_right_justified ((menu_item), TRUE)

Внимание

gtk_menu_item_right_justify устарела и не должна использоваться во вновь создаваемом коде.

Устанавливает пункт меню для расположения с право. Полезна только для панели меню.

menu_item :

Пункт меню


gtk_menu_item_get_right_justified ()

gboolean gtk_menu_item_get_right_justified (GtkMenuItem *menu_item);

Определяет расположен ли пункт меню с право на панели меню.

menu_item :

GtkMenuItem

Возвращает :

TRUE если пункт меню был добавлен как с право ориентированный на панели меню.


gtk_menu_item_get_submenu ()

GtkWidget*  gtk_menu_item_get_submenu       (GtkMenuItem *menu_item);

Выдаёт подменю данного пункта меню, если они есть. Смотрите gtk_menu_item_set_submenu().

menu_item :

GtkMenuItem

Возвращает :

Подменю этого пункта меню, или NULL если нет.

Детали свойств стиля

Свойство стиля "arrow-spacing"

  "arrow-spacing"        gint                  : Read

Пространство между ярлыком и стрелкой.

Допустимые значения: >= 0

Значение по умолчанию: 10


Свойство стиля "horizontal-padding"

  "horizontal-padding"   gint                  : Read

Заполнитель с право и с лева от пунктов меню.

Допустимые значения: >= 0

Значение по умолчанию: 3


Свойство стиля "selected-shadow-type"

  "selected-shadow-type" GtkShadowType         : Read

Тип тени когда пункт выбран.

Значение по умолчанию: GTK_SHADOW_NONE


Свойство стиля "toggle-spacing"

  "toggle-spacing"       gint                  : Read

Пространство между значком и ярлыком.

Допустимые значения: >= 0

Значение по умолчанию: 5

Детали сигналов

Сигнал "activate"

void user_function (GtkMenuItem *menuitem, gpointer user_data) : Run first / Action

Издаётся когда пункт меню активирован.

menuitem :

Объект который получает сигнал.

user_data :

пользовательские данные устанавливаемые при подключении обработчика сигнала.


Сигнал "activate-item"

void user_function (GtkMenuItem *menuitem, gpointer user_data) : Run first

Издаётся когда активизируется пункт меню, а также если пункт меню имеет подменю. Для обычных приложений, уместный сигнал это "activate".

menuitem :

Объект который получает сигнал.

user_data :

пользовательские данные устанавливаемые при подключении обработчика сигнала.


Сигнал "toggle-size-allocate"

void user_function (GtkMenuItem *menuitem, gint arg1, gpointer user_data) : Run first

menuitem :

Объект который получает сигнал.

arg1 :

user_data :

пользовательские данные устанавливаемые при подключении обработчика сигнала.


Сигнал "toggle-size-request"

void user_function (GtkMenuItem *menuitem, gpointer arg1, gpointer user_data) : Run first

menuitem :

Объект который получает сигнал.

arg1 :

user_data :

пользовательские данные устанавливаемые при подключении обработчика сигнала.

Смотрите также

GtkBin

Обработка дочерних виджетов.

GtkItem

Абстрактный класс для всех видов пунктов.

GtkMenuShell

Родитель для GtkMenuItem.