Spec-Zone.ru › GTK 3.24

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 Чтение/Запись

Типы и значения

GtkActionable
struct GtkActionableInterface

Иерархия объектов

    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

имя действия или NULL.

[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 для установки целевого значения, или NULL.

[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

...

аргументы, подходящие для format_string

С: 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.

Члены

get_action_name ()

Виртуальная функция для gtk_actionable_get_action_name()

set_action_name ()

Виртуальная функция для gtk_actionable_set_action_name()

get_action_target_value ()

Виртуальная функция для gtk_actionable_get_action_target_value()

set_action_target_value ()

Виртуальная функция для gtk_actionable_set_action_target_value()

Подробности свойств

Свойство “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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API