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 () |
Свойства
| gchar * | action-name | Чтение / Запись |
| GVariant * | action-target | Чтение / Запись |
Типы и значения
Иерархия объектов
GInterface ╰── GtkActionable
Предварительные условия
GtkActionable требует GtkWidget.
Известные реализации
GtkActionable реализуется GtkButton, GtkCheckButton, GtkCheckMenuItem, GtkColorButton, GtkFontButton, GtkImageMenuItem, GtkLinkButton, 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 |
С: 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 | имя действия или |
С: 3.4
gtk_actionable_get_action_target_value ()
GVariant *
gtk_actionable_get_action_target_value
(GtkActionable *actionable); Получает текущее целевое значение actionabe .
См. 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 |
С: 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.
Это позволяет добиться эффекта как gtk_actionable_set_action_name(), так и gtk_actionable_set_action_target_value() в общем случае, когда целевое значение имеет строковый тип.
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);
};
Интерфейсная vtable для GtkActionable.
Члены
| Виртуальная функция для | |
| Виртуальная функция для | |
| Виртуальная функция для | |
| Виртуальная функция для |
Подробное описание свойств
Свойство “action-name”
“action-name” gchar *
Имя связанного действия, например, 'app.quit'.
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “action-target”
“action-target” GVariant *
Параметр для вызовов действия.
Флаги: Чтение / Запись
Допустимые значения: 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.20/GtkActionable.html