Spec-Zone.ru › GTK 3.20

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

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

GtkActionable
struct GtkActionableInterface

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

    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

Возвращаемое значение

имя действия или 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

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

GVariant для установки целевого значения или NULL

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

Это позволяет добиться эффекта как 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.

Члены

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”              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

Spec-Zone.ru

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