The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

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.






Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру