GtkActionable
GtkActionable — Интерфейс для виджетов, которые могут быть связаны с действиями
Функции
| const gchar * | gtk_actionable_get_action_name () |
| void | gtk_actionable_set_action_name () |
| GVariant * | gtk_actionable_get_action_target_value () |
| void | gtk_actionable_set_action_target_value () |
| void | gtk_actionable_set_action_target () |
| void | gtk_actionable_set_detailed_action_name () |
Свойства
| char * | action-name | Чтение/Запись |
| GVariant * | action-target | Чтение/Запись |
Типы и значения
Иерархия объектов
GInterface ╰── GtkActionable
Предварительные условия
GtkActionable требует GtkWidget.
Известные реализации
GtkActionable реализован в GtkButton, GtkCheckButton, GtkCheckMenuItem, GtkColorButton, GtkFontButton, GtkImageMenuItem, GtkLinkButton, GtkListBoxRow, GtkLockButton, GtkMenuButton, GtkMenuItem, GtkMenuToolButton, GtkModelButton, GtkRadioButton, GtkRadioMenuItem, GtkRadioToolButton, GtkScaleButton, GtkSeparatorMenuItem, GtkSwitch, GtkTearoffMenuItem, GtkToggleButton, GtkToggleToolButton, GtkToolButton и GtkVolumeButton.
Файлы заголовков
#include <gtk/gtk.h>
Описание
Этот интерфейс предоставляет удобный способ сопоставления виджетов с действиями в GtkApplicationWindow или GtkApplication.
Он в основном состоит из двух свойств: “action-name” и “action-target”. Также есть некоторые API для удобства настройки этих свойств.
Действие будет находиться в группах действий, которые находятся среди предков виджетов. Чаще всего это будут действия с префиксом «win.» или «app.», которые связаны с GtkApplicationWindow или GtkApplication, но и другие группы действий, добавленные с помощью gtk_widget_insert_action_group(), также будут проконсультированы.
Функции
gtk_actionable_get_action_name ()
const gchar *
gtk_actionable_get_action_name (GtkActionable *actionable); Получает имя действия для actionable .
См. gtk_actionable_set_action_name() для получения дополнительной информации.
Параметры
actionable | виджет GtkActionable |
Возвращаемое значение
имя действия или NULL , если оно не задано.
[nullable]
С: 3.4
gtk_actionable_set_action_name ()
void gtk_actionable_set_action_name (GtkActionable *actionable,const gchar *action_name);
Устанавливает имя действия, с которым должен быть связан этот виджет. Если action_name равно NULL, виджет будет отключен от любого предыдущего действия.
Обычно эта функция используется, когда виджет находится (или будет находиться) в иерархии GtkApplicationWindow.
Имена имеют вид «win.save» или «app.quit» для действий в содержащем GtkApplicationWindow или связанном GtkApplication соответственно. Это тот же формат, который используется для действий в GMenu, связанном с окном.
Параметры
actionable | виджет GtkActionable | |
action_name | имя действия или | [nullable] |
С: 3.4
gtk_actionable_get_action_target_value ()
GVariant *
gtk_actionable_get_action_target_value
(GtkActionable *actionable); Получает текущее целевое значение actionable .
См. gtk_actionable_set_action_target_value() для получения дополнительной информации.
Параметры
actionable | виджет GtkActionable |
Возвращаемое значение
текущее целевое значение.
[transfer none]
С: 3.4
gtk_actionable_set_action_target_value ()
void gtk_actionable_set_action_target_value (GtkActionable *actionable,GVariant *target_value);
Устанавливает целевое значение виджета actionable.
Если target_value равно NULL, целевое значение сбрасывается.
Целевое значение имеет два назначения. Во-первых, оно используется в качестве параметра при активации действия, связанного с виджетом GtkActionable. Во-вторых, оно используется для определения, должен ли виджет отображаться как «активный» — виджет активен, если состояние равно заданному целевому.
Рассмотрим пример связывания набора кнопок с GAction со строковым состоянием в типичной ситуации с «кнопками радио». Каждая кнопка будет связана с одним и тем же действием, но с разным целевым значением для этого действия. Нажатие на конкретную кнопку активирует действие с целевым значением этой кнопки, что обычно приведет к изменению состояния действия на это значение. Поскольку состояние действия теперь равно целевому значению кнопки, кнопка теперь будет отображаться как активная (и другие кнопки с другими целями будут отображаться как неактивные).
Параметры
actionable | виджет GtkActionable | |
target_value | значение GVariant для установки целевого значения, или | [nullable] |
С: 3.4
gtk_actionable_set_action_target ()
void gtk_actionable_set_action_target (GtkActionable *actionable,const gchar *format_string,...);
Устанавливает цель виджета actionable.
Это вспомогательная функция, которая вызывает g_variant_new() для format_string и использует результат для вызова gtk_actionable_set_action_target_value().
Если вы устанавливаете целевое значение типа строка и хотите одновременно установить имя действия, вы можете использовать gtk_actionable_set_detailed_action_name().
Параметры
actionable | виджет GtkActionable | |
format_string | строка формата GVariant | |
... | аргументы, подходящие для |
С: 3.4
gtk_actionable_set_detailed_action_name ()
void gtk_actionable_set_detailed_action_name (GtkActionable *actionable,const gchar *detailed_action_name);
Устанавливает имя действия и связанное строковое целевое значение виджета actionable.
detailed_action_name — это строка в формате, принимаемом g_action_parse_detailed_name().
(Обратите внимание, что до версии 3.22.25 эта функция может использоваться только для действий с простым целевым значением «s», и detailed_action_name должно быть в формате "action::target", где action — имя действия, а target — строка, используемая в качестве цели.)
Параметры
actionable | виджет GtkActionable | |
detailed_action_name | подробное имя действия |
С: 3.4
Типы и значения
GtkActionable
typedef struct _GtkActionable GtkActionable;
Тип указателя непрозрачного типа.
struct GtkActionableInterface
struct GtkActionableInterface {
const gchar * (* get_action_name) (GtkActionable *actionable);
void (* set_action_name) (GtkActionable *actionable,
const gchar *action_name);
GVariant * (* get_action_target_value) (GtkActionable *actionable);
void (* set_action_target_value) (GtkActionable *actionable,
GVariant *target_value);
};
Интерфейсная таблица виртуальных функций для GtkActionable.
Члены
| Виртуальная функция для | |
| Виртуальная функция для | |
| Виртуальная функция для | |
| Виртуальная функция для |
Подробности свойств
Свойство “action-name”
“action-name” char *
Имя связанного действия, например, 'app.quit'.
Владелец: GtkActionable
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “action-target”
“action-target” GVariant *
Параметр для вызовов действий.
Владелец: GtkActionable
Флаги: Чтение / Запись
Разрешенные значения: GVariant<*>
Значение по умолчанию: NULL
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkActionable.html