GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Style Properties | Signals |
GtkMenuItemGtkMenuItem Виджет используемый для пунктов меню |
#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 то может содержать любой доступный виджет, хотя только немногие из них реально полезны.
typedef struct _GtkMenuItem GtkMenuItem;
gtk_menu_item_new ()
GtkWidget* gtk_menu_item_new (void);Создаёт новый GtkMenuItem.
Возвращает : |
Вновь созданный GtkMenuItem |
GtkWidget* gtk_menu_item_new_with_label (const gchar *label);Создаёт новый GtkMenuItem с дочерним виджетом GtkLabel.
label : |
Текст для ярлыка |
Возвращает : |
Вновь созданный GtkMenuItem |
GtkWidget* gtk_menu_item_new_with_mnemonic (const gchar *label);Создаёт новый GtkMenuItem содержащий мнемонический ярлык. Ярлык создаётся с помощью gtk_label_new_with_mnemonic(), поэтому подчеркивание в label указывает мнемоник(клавиатурный акселератор) для пункта меню.
label : |
Текст кнопки, с подчеркиванием перед мнемоническим символом |
Возвращает : |
новый GtkMenuItem |
void gtk_menu_item_set_right_justified
(GtkMenuItem *menu_item,
gboolean right_justified);
Устанавливает нужно ли выравнивать пункт меню по правой стороне панели меню. Это традиционно применялось для пункта меню "Help", но теперь считается плохой идеей. (Если размещение виджета полностью изменено для языков обратного направления (с право на лево) таких как иврит или арабский, right-justified-menu-items отображается с лева.)
menu_item : |
|
right_justified : |
если TRUE пункт меню отобразится с право при добавлении к панели меню. |
void gtk_menu_item_set_submenu (GtkMenuItem *menu_item,
GtkWidget *submenu);
Устанавливает виджет подменю, или изменяет его.
menu_item : |
Виджет пункт меню |
submenu : |
подменю |
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 для отмены текущемго. |
void gtk_menu_item_remove_submenu (GtkMenuItem *menu_item);Удаляет виджеты подменю.
menu_item : |
Виджет пункт меню |
void gtk_menu_item_select (GtkMenuItem *menu_item);Издаёт сигнал "select" на данном пункте. Ведёт себя также как gtk_item_select.
menu_item : |
Пункт меню |
void gtk_menu_item_deselect (GtkMenuItem *menu_item);Издаёт сигнал "deselect" на данном пункте. Ведёт себя также как gtk_item_deselect.
menu_item : |
Пункт меню |
void gtk_menu_item_activate (GtkMenuItem *menu_item);Издаёт сигнал "activate" на данном пункте
menu_item : |
Пункт меню |
void gtk_menu_item_toggle_size_request
(GtkMenuItem *menu_item,
gint *requisition);
Издаёт сигнал "toggle_size_request" на данном пункте.
menu_item : |
Пункт меню |
requisition : |
Реквизиция используемая как данные сигнала. |
void gtk_menu_item_toggle_size_allocate
(GtkMenuItem *menu_item,
gint allocation);
Издаёт сигнал "toggle_size_allocate" на данном пункте.
menu_item : |
Пункт меню. |
allocation : |
Расположение используемое как данные сигнала. |
#define gtk_menu_item_right_justify(menu_item) gtk_menu_item_set_right_justified ((menu_item), TRUE)Внимание
gtk_menu_item_right_justify устарела и не должна использоваться во вновь создаваемом коде.
Устанавливает пункт меню для расположения с право. Полезна только для панели меню.
menu_item : |
Пункт меню |
gboolean gtk_menu_item_get_right_justified
(GtkMenuItem *menu_item);
Определяет расположен ли пункт меню с право на панели меню.
menu_item : |
|
Возвращает : |
TRUE если пункт меню был добавлен как с право ориентированный на панели меню. |
GtkWidget* gtk_menu_item_get_submenu (GtkMenuItem *menu_item);Выдаёт подменю данного пункта меню, если они есть. Смотрите gtk_menu_item_set_submenu().
menu_item : |
|
Возвращает : |
Подменю этого пункта меню, или NULL если нет. |
"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 : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkMenuItem *menuitem,
gpointer user_data) : Run first
Издаётся когда активизируется пункт меню, а также если пункт меню имеет подменю. Для обычных приложений, уместный сигнал это "activate".
menuitem : |
Объект который получает сигнал. |
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkMenuItem *menuitem,
gint arg1,
gpointer user_data) : Run first
menuitem : |
Объект который получает сигнал. |
arg1 : |
|
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkMenuItem *menuitem,
gpointer arg1,
gpointer user_data) : Run first
menuitem : |
Объект который получает сигнал. |
arg1 : |
|
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Обработка дочерних виджетов. |
|
Абстрактный класс для всех видов пунктов. |
|
Родитель для GtkMenuItem. |