GtkImageMenuItem
GtkImageMenuItem — Устаревший виджет для пункта меню с иконкой
Функции
Свойства
| GtkAccelGroup * | accel-group | Write |
| gboolean | always-show-image | Read / Write / Construct |
| GtkWidget * | image | Read / Write |
| gboolean | use-stock | Read / Write / Construct |
Типы и значения
| struct | GtkImageMenuItem |
| struct | GtkImageMenuItemClass |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkMenuItem ╰── GtkImageMenuItem
Реализованные интерфейсы
GtkImageMenuItem реализует AtkImplementorIface, GtkBuildable, GtkActivatable и GtkActionable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkImageMenuItem — это пункт меню, у которого рядом с текстовой меткой есть иконка.
Функционально эквивалентно:
Обратите внимание, что пользователь может отключить отображение иконок меню с помощью настройки “gtk-menu-images”, поэтому обязательно заполните текстовую метку. Если вы хотите гарантировать, что пункты меню будут отображать иконку, настоятельно рекомендуется использовать GtkMenuItem с GtkImage вместо этого.
GtkImageMenuItem устарел начиная с GTK+ 3.10. Если вам нужно отобразить иконку в пункте меню, вы должны использовать GtkMenuItem и добавить GtkBox с GtkImage и GtkLabel вместо этого. Также следует рассмотреть использование GtkBuilder и XML-описания GMenu, следуя руководству GMenu. Иконки в пунктах меню следует использовать экономно, и только для элементов "объектов" (или "существительных"), таких как закладки, файлы и ссылки; "действия" (или "глаголы") иконок не должны иметь.
Кроме того, если вы хотите отобразить сочетание клавиш, вы должны добавить метку сочетания клавиш в ящик, используя gtk_box_pack_end() и выровнять метку, в противном случае сочетание клавиш не будет отображаться правильно. Следующий фрагмент кода добавляет сочетание клавиш в пункт меню со связью клавиш Ctrl+M:
GtkWidget*box =gtk_box_new(GTK_ORIENTATION_HORIZONTAL,6); GtkWidget*icon =gtk_image_new_from_icon_name("folder-music-symbolic", GTK_ICON_SIZE_MENU); GtkWidget*label =gtk_label_new("Music"); GtkWidget*menu_item =gtk_menu_item_new(); gtk_container_add(GTK_CONTAINER(box), icon); gtk_container_add(GTK_CONTAINER(box), label); gtk_container_add(GTK_CONTAINER(menu_item), box); gtk_widget_show_all(menu_item);
Функции
gtk_image_menu_item_set_image ()
void gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item,GtkWidget *image);
gtk_image_menu_item_set_image устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Устанавливает изображение для image_menu_item на заданный виджет. Обратите внимание, что отображение изображения зависит от параметра show-menu-images.
Параметры
image_menu_item | объект GtkImageMenuItem. | |
image | виджет, который нужно установить в качестве изображения для пункта меню. | [allow-none] |
gtk_image_menu_item_get_image ()
GtkWidget *
gtk_image_menu_item_get_image (GtkImageMenuItem *image_menu_item); gtk_image_menu_item_get_image устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Получает виджет, который в настоящее время установлен в качестве изображения для image_menu_item. См. gtk_image_menu_item_set_image().
Параметры
image_menu_item | объект GtkImageMenuItem |
Возвращает
виджет, установленный в качестве изображения для image_menu_item .
[transfer none]
gtk_image_menu_item_new ()
GtkWidget *
gtk_image_menu_item_new (void); gtk_image_menu_item_new устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Используйте gtk_menu_item_new() вместо этого.
Создаёт новый объект GtkImageMenuItem с пустым текстом.
Возвращает
новый объект GtkImageMenuItem
gtk_image_menu_item_new_from_stock ()
GtkWidget * gtk_image_menu_item_new_from_stock (const gchar *stock_id,GtkAccelGroup *accel_group);
gtk_image_menu_item_new_from_stock устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Используйте gtk_menu_item_new_with_mnemonic() вместо этого.
Создаёт новый объект GtkImageMenuItem, содержащий изображение и текст из стандартного элемента. Некоторые идентификаторы стандартных элементов имеют макросы препроцессора, например, GTK_STOCK_OK и GTK_STOCK_APPLY.
Если вы хотите, чтобы у этого пункта меню были изменяемые акселераторы, передайте NULL для accel_group. Затем вызовите gtk_menu_item_set_accel_path() с подходящим путем для пункта меню, используйте gtk_stock_lookup() для поиска стандартного акселератора для стандартного элемента, а если он найден, вызовите gtk_accel_map_add_entry() для его регистрации.
Параметры
stock_id | имя стандартного элемента. | |
accel_group | группа акселераторов GtkAccelGroup, или | [allow-none] |
Возвращает
новый объект GtkImageMenuItem.
gtk_image_menu_item_new_with_label ()
GtkWidget *
gtk_image_menu_item_new_with_label (const gchar *label); gtk_image_menu_item_new_with_label устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Используйте gtk_menu_item_new_with_label() вместо этого.
Создаёт новый объект GtkImageMenuItem с текстом метки.
Параметры
label | текст пункта меню. |
Возвращает
новый объект GtkImageMenuItem.
gtk_image_menu_item_new_with_mnemonic ()
GtkWidget *
gtk_image_menu_item_new_with_mnemonic (const gchar *label); gtk_image_menu_item_new_with_mnemonic устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Используйте gtk_menu_item_new_with_mnemonic() вместо этого.
Создаёт новый объект GtkImageMenuItem с текстом метки. Текст метки создаётся с помощью gtk_label_new_with_mnemonic(), поэтому нижние подчеркивания в label указывают на мнемоническую последовательность для пункта меню.
Параметры
label | текст пункта меню, где нижнее подчеркивание перед символом мнемоники |
Возвращает
новый объект GtkImageMenuItem
gtk_image_menu_item_get_use_stock ()
gboolean
gtk_image_menu_item_get_use_stock (GtkImageMenuItem *image_menu_item); gtk_image_menu_item_get_use_stock устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Проверяет, используется ли текст метки в качестве идентификатора стандартного элемента для выбора стандартного элемента для пункта.
Параметры
image_menu_item | объект GtkImageMenuItem |
Возвращает
TRUE если текст метки используется в качестве идентификатора стандартного элемента для выбора стандартного элемента для пункта.
С версии 2.16
gtk_image_menu_item_set_use_stock ()
void gtk_image_menu_item_set_use_stock (GtkImageMenuItem *image_menu_item,gboolean use_stock);
gtk_image_menu_item_set_use_stock устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Если TRUE, текст метки пункта меню используется в качестве идентификатора стандартного элемента для выбора стандартного элемента.
Параметры
image_menu_item | объект GtkImageMenuItem | |
use_stock |
|
С версии 2.16
gtk_image_menu_item_get_always_show_image ()
gboolean
gtk_image_menu_item_get_always_show_image
(GtkImageMenuItem *image_menu_item); gtk_image_menu_item_get_always_show_image устарела начиная с версии 3.10 и не должна использоваться в новых кодах.
Возвращает, будет ли пункт меню игнорировать параметр “gtk-menu-images” и всегда показывать изображение, если оно доступно.
Параметры
image_menu_item | объект GtkImageMenuItem |
Возвращает
TRUE если пункт меню всегда будет показывать изображение
С версии 2.16
gtk_image_menu_item_set_always_show_image ()
void gtk_image_menu_item_set_always_show_image (GtkImageMenuItem *image_menu_item,gboolean always_show);
gtk_image_menu_item_set_always_show_image устарел с версии 3.10 и не должен использоваться в новом коде.
Если TRUE, элемент меню будет игнорировать настройку “gtk-menu-images” и всегда показывать изображение, если оно доступно.
Используйте это свойство, если элемент меню бесполезен или труден в использовании без изображения.
Параметры
image_menu_item | элемент меню GtkImageMenuItem | |
always_show |
|
С: 2.16
gtk_image_menu_item_set_accel_group ()
void gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item,GtkAccelGroup *accel_group);
gtk_image_menu_item_set_accel_group устарел с версии 3.10 и не должен использоваться в новом коде.
Указывает accel_group для добавления акцелератора элемента меню (это применяется только к стандартным элементам, поэтому стандартный элемент должен быть уже установлен, убедитесь, что вы сначала вызываете gtk_image_menu_item_set_use_stock() и gtk_menu_item_set_label() со стандартным элементом).
Если вы хотите, чтобы у этого элемента меню были изменяемые акцелераторы, вам это не нужно (см. gtk_image_menu_item_new_from_stock()).
Параметры
image_menu_item | элемент меню GtkImageMenuItem | |
accel_group | группа акцелераторов GtkAccelGroup |
С: 2.16
Типы и значения
struct GtkImageMenuItem
struct GtkImageMenuItem;
struct GtkImageMenuItemClass
struct GtkImageMenuItemClass {
GtkMenuItemClass parent_class;
};
Члены
Подробные сведения о свойствах
Свойство “accel-group”
“accel-group” GtkAccelGroup *
Группа акцелераторов для использования с стандартными клавишами акцелератора
GtkImageMenuItem:accel-group устарел с версии 3.10 и не должен использоваться в новом коде.
Используйте gtk_widget_add_accelerator() вместо этого
Флаги: Запись
С: 2.16
Свойство “always-show-image”
“always-show-image” gboolean
Если TRUE, элемент меню всегда будет показывать изображение, если оно доступно.
Используйте это свойство только в том случае, если элемент меню бесполезен или труден в использовании без изображения.
GtkImageMenuItem:always-show-image устарел с версии 3.10 и не должен использоваться в новом коде.
Используйте GtkMenuItem содержащий GtkBox с GtkAccelLabel и GtkImage вместо этого
Флаги: Чтение/Запись/Создание
Значение по умолчанию: FALSE
С: 2.16
Свойство “image”
“image” GtkWidget *
Дочерний виджет, который должен появиться рядом с текстом меню.
GtkImageMenuItem:image устарел с версии 3.10 и не должен использоваться в новом коде.
Используйте GtkMenuItem содержащий GtkBox с GtkAccelLabel и GtkImage вместо этого
Флаги: Чтение/Запись
Свойство “use-stock”
“use-stock” gboolean
Если TRUE, метка, заданная в элементе меню, используется как идентификатор стокового элемента для выбора стокового элемента для элемента.
GtkImageMenuItem:use-stock устарел с версии 3.10 и не должен использоваться в новом коде.
Используйте именованный значок из GtkIconTheme вместо этого
Флаги: Чтение/Запись/Создание
Значение по умолчанию: FALSE
С: 2.16
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkImageMenuItem.html