краткое описание#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 то может содержать любой доступный виджет, хотя только немногие из них реально полезны. деталиgtkmenuitemtypedef struct _gtkmenuitem gtkmenuitem; gtk_menu_item_new ()gtkwidget* gtk_menu_item_new (void); создаёт новый gtkmenuitem.
gtk_menu_item_new_with_label ()gtkwidget* gtk_menu_item_new_with_label (const gchar *label); создаёт новый gtkmenuitem с дочерним виджетом gtklabel.
gtk_menu_item_new_with_mnemonic ()gtkwidget* gtk_menu_item_new_with_mnemonic (const gchar *label); создаёт новый gtkmenuitem содержащий мнемонический ярлык. ярлык создаётся с помощью gtk_label_new_with_mnemonic(), поэтому подчеркивание в label указывает мнемоник(клавиатурный акселератор) для пункта меню.
gtk_menu_item_set_right_justified ()void gtk_menu_item_set_right_justified (gtkmenuitem *menu_item, gboolean right_justified); устанавливает нужно ли выравнивать пункт меню по правой стороне панели меню. это традиционно применялось для пункта меню "help", но теперь считается плохой идеей. (если размещение виджета полностью изменено для языков обратного направления (с право на лево) таких как иврит или арабский, right-justified-menu-items отображается с лева.)
gtk_menu_item_set_submenu ()void gtk_menu_item_set_submenu (gtkmenuitem *menu_item, gtkwidget *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() для того чтобы это работало.
gtk_menu_item_remove_submenu ()void gtk_menu_item_remove_submenu (gtkmenuitem *menu_item); удаляет виджеты подменю.
gtk_menu_item_select ()void gtk_menu_item_select (gtkmenuitem *menu_item); издаёт сигнал "select" на данном пункте. ведёт себя также как gtk_item_select.
gtk_menu_item_deselect ()void gtk_menu_item_deselect (gtkmenuitem *menu_item); издаёт сигнал "deselect" на данном пункте. ведёт себя также как gtk_item_deselect.
gtk_menu_item_activate ()void gtk_menu_item_activate (gtkmenuitem *menu_item); издаёт сигнал "activate" на данном пункте
gtk_menu_item_toggle_size_request ()void gtk_menu_item_toggle_size_request (gtkmenuitem *menu_item, gint *requisition); издаёт сигнал "toggle_size_request" на данном пункте.
gtk_menu_item_toggle_size_allocate ()void gtk_menu_item_toggle_size_allocate (gtkmenuitem *menu_item, gint allocation); издаёт сигнал "toggle_size_allocate" на данном пункте.
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 устарела и не должна использоваться во вновь создаваемом коде. устанавливает пункт меню для расположения с право. полезна только для панели меню.
gtk_menu_item_get_right_justified ()gboolean gtk_menu_item_get_right_justified (gtkmenuitem *menu_item); определяет расположен ли пункт меню с право на панели меню.
gtk_menu_item_get_submenu ()gtkwidget* gtk_menu_item_get_submenu (gtkmenuitem *menu_item); выдаёт подменю данного пункта меню, если они есть. смотрите gtk_menu_item_set_submenu().
детали свойств стилясвойство стиля "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 издаётся когда пункт меню активирован.
сигнал "activate-item"void user_function (gtkmenuitem *menuitem, gpointer user_data) : run first издаётся когда активизируется пункт меню, а также если пункт меню имеет подменю. для обычных приложений, уместный сигнал это "activate".
сигнал "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
смотрите также
|