Spec-Zone.ru › GTK 3.24

GtkInfoBar

GtkInfoBar — Сообщить пользователю важные сообщения

Функции

GtkWidget * gtk_info_bar_new ()
GtkWidget * gtk_info_bar_new_with_buttons ()
void gtk_info_bar_add_action_widget ()
GtkWidget * gtk_info_bar_add_button ()
void gtk_info_bar_add_buttons ()
void gtk_info_bar_set_response_sensitive ()
void gtk_info_bar_set_default_response ()
void gtk_info_bar_response ()
void gtk_info_bar_set_message_type ()
GtkMessageType gtk_info_bar_get_message_type ()
GtkWidget * gtk_info_bar_get_action_area ()
GtkWidget * gtk_info_bar_get_content_area ()
gboolean gtk_info_bar_get_show_close_button ()
void gtk_info_bar_set_show_close_button ()
gboolean gtk_info_bar_get_revealed ()
void gtk_info_bar_set_revealed ()

Свойства

GtkMessageType message-type Чтение / Запись / Создание
gboolean revealed Чтение / Запись
gboolean show-close-button Чтение / Запись / Создание

Стилизованные свойства

int action-area-border Чтение
int button-spacing Чтение
int content-area-border Чтение
int content-area-spacing Чтение

Сигналы

void close Действие
void response Выполнение последнего

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

struct GtkInfoBar

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBox
                    ╰── GtkInfoBar

Реализованные интерфейсы

GtkInfoBar реализует AtkImplementorIface, GtkBuildable и GtkOrientable.

Включаемые файлы

#include <gtk/gtk.h>

Описание

GtkInfoBar — это виджет, который может использоваться для отображения сообщений пользователю без вывода диалогового окна. Он часто временно отображается в верхней или нижней части документа. В отличие от GtkDialog, у которого есть область действий внизу, GtkInfoBar имеет область действий сбоку.

API GtkInfoBar очень похож на GtkDialog, позволяя добавлять кнопки в область действий с помощью gtk_info_bar_add_button() или gtk_info_bar_new_with_buttons(). Чувствительность элементов управления действиями можно контролировать с помощью gtk_info_bar_set_response_sensitive(). Для добавления виджетов в основную область содержимого GtkInfoBar используйте gtk_info_bar_get_content_area() и добавьте свои виджеты в контейнер.

Аналогично GtkMessageDialog, содержимое GtkInfoBar может быть классифицировано как сообщение об ошибке, предупреждение, информационное сообщение и т. д. с помощью gtk_info_bar_set_message_type(). GTK+ может использовать тип сообщения для определения способа отображения сообщения.

Простой пример использования GtkInfoBar:

GtkWidget *widget, *message_label, *content_area;
GtkWidget *grid;
GtkInfoBar *bar;

// set up info bar
widget = gtk_info_bar_new ();
bar = GTK_INFO_BAR (widget);
grid = gtk_grid_new ();

gtk_widget_set_no_show_all (widget, TRUE);
message_label = gtk_label_new ("");
content_area = gtk_info_bar_get_content_area (bar);
gtk_container_add (GTK_CONTAINER (content_area),
                   message_label);
gtk_info_bar_add_button (bar,
                         _("_OK"),
                         GTK_RESPONSE_OK);
g_signal_connect (bar,
                  "response",
                  G_CALLBACK (gtk_widget_hide),
                  NULL);
gtk_grid_attach (GTK_GRID (grid),
                 widget,
                 0, 2, 1, 1);

// ...

// show an error message
gtk_label_set_text (GTK_LABEL (message_label), "An error occurred!");
gtk_info_bar_set_message_type (bar,
                               GTK_MESSAGE_ERROR);
gtk_widget_show (bar);

GtkInfoBar как GtkBuildable

Реализация GtkInfoBar интерфейса GtkBuildable предоставляет область содержимого и область действий как внутренние дочерние элементы с именами «content_area» и «action_area».

GtkInfoBar поддерживает пользовательский элемент <action-widgets>, который может содержать несколько элементов <action-widget>. Атрибут «response» указывает числовой ответ, а содержимое элемента — это идентификатор виджета (который должен быть дочерним элементом диалога action_area).

Узлы CSS

GtkInfoBar имеет один узел CSS с именем infobar. Узел может получить один из стилей .info, .warning, .error или .question, в зависимости от типа сообщения.

Функции

gtk_info_bar_new ()

GtkWidget *
gtk_info_bar_new (void);

Создаёт новый объект GtkInfoBar.

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

новый объект GtkInfoBar

С: 2.18

gtk_info_bar_new_with_buttons ()

GtkWidget *
gtk_info_bar_new_with_buttons (const gchar *first_button_text,
                               ...);

Создаёт новый GtkInfoBar с кнопками. Пара текста кнопки/ID ответа должны быть перечислены, завершаясь указателем NULL. Текст кнопки может быть либо ID системной кнопки, например, GTK_STOCK_OK, либо произвольным текстом. ID ответа может быть любым положительным числом или одним из значений перечисления GtkResponseType. Если пользователь нажмёт одну из этих кнопок диалога, GtkInfoBar отправит сигнал «response» с соответствующим ID ответа.

Параметры

first_button_text

ID системной кнопки или текст для первой кнопки, или NULL.

[allow-none]

...

ID ответа для первой кнопки, а затем дополнительные кнопки, заканчивающиеся NULL

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

новый GtkInfoBar

gtk_info_bar_add_action_widget ()

void
gtk_info_bar_add_action_widget (GtkInfoBar *info_bar,
                                GtkWidget *child,
                                gint response_id);

Добавляет активируемый виджет в область действий GtkInfoBar, подключая обработчик сигнала, который отправит сигнал «response» в области сообщения, когда виджет активируется. Виджет добавляется в конец области действий области сообщений.

Параметры

info_bar

объект GtkInfoBar

child

активируемый виджет

response_id

ID ответа для child

С: 2.18

gtk_info_bar_add_button ()

GtkWidget *
gtk_info_bar_add_button (GtkInfoBar *info_bar,
                         const gchar *button_text,
                         gint response_id);

Добавляет кнопку с заданным текстом и настраивает всё так, чтобы при нажатии на кнопку сигнал «response» был отправлен с заданным response_id. Кнопка добавляется в конец области действий info bars. Виджет кнопки возвращается, но обычно он вам не нужен.

Параметры

info_bar

объект GtkInfoBar

button_text

текст кнопки

response_id

ID ответа для кнопки

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

виджет GtkButton, который был добавлен.

[transfer none][type Gtk.Button]

С: 2.18

gtk_info_bar_add_buttons ()

void
gtk_info_bar_add_buttons (GtkInfoBar *info_bar,
                          const gchar *first_button_text,
                          ...);

Добавляет больше кнопок, аналогично вызову gtk_info_bar_add_button() многократно. Список аргументов переменной должен быть NULL-закончен, как и в gtk_info_bar_new_with_buttons(). Каждая кнопка должна иметь как текст, так и ID ответа.

Параметры

info_bar

объект GtkInfoBar

first_button_text

текст кнопки или ID системной кнопки

...

ID ответа для первой кнопки, затем пары текст-id_ответа, заканчивающиеся NULL

С: 2.18

gtk_info_bar_set_response_sensitive ()

void
gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar,
                                     gint response_id,
                                     gboolean setting);

Вызывает gtk_widget_set_sensitive (widget, setting) для каждого виджета в области действий info bars с заданным response_id. Удобный способ сделать кнопки диалога активными/неактивными.

Параметры

info_bar

объект GtkInfoBar

response_id

ID ответа

setting

ИСТИНА для активности

С: 2.18

gtk_info_bar_set_default_response ()

void
gtk_info_bar_set_default_response (GtkInfoBar *info_bar,
                                   gint response_id);

Устанавливает последний виджет в области действий info bar с заданным response_id в качестве виджета по умолчанию для диалога. Нажатие клавиши «Ввод» обычно активирует виджет по умолчанию.

Обратите внимание, что эта функция в настоящее время требует info_bar для добавления в иерархию виджетов.

Параметры

info_bar

объект GtkInfoBar

response_id

ID ответа

С: 2.18

gtk_info_bar_response ()

void
gtk_info_bar_response (GtkInfoBar *info_bar,
                       gint response_id);

Отправляет сигнал «response» с заданным response_id .

Параметры

info_bar

объект GtkInfoBar

response_id

ID ответа

С: 2.18

gtk_info_bar_set_message_type ()

void
gtk_info_bar_set_message_type (GtkInfoBar *info_bar,
                               GtkMessageType message_type);

Устанавливает тип сообщения для области сообщения.

GTK+ использует этот тип, чтобы определить, как отображается сообщение.

Параметры

info_bar

объект GtkInfoBar

message_type

тип GtkMessageType

С: 2.18

gtk_info_bar_get_message_type ()

GtkMessageType
gtk_info_bar_get_message_type (GtkInfoBar *info_bar);

Возвращает тип сообщения области сообщения.

Параметры

info_bar

объект GtkInfoBar

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

тип сообщения области сообщения.

С: 2.18

gtk_info_bar_get_action_area ()

GtkWidget *
gtk_info_bar_get_action_area (GtkInfoBar *info_bar);

Возвращает область действий info_bar .

Параметры

info_bar

a GtkInfoBar

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

область действий.

[type Gtk.Box][transfer none]

C момента: 2.18

gtk_info_bar_get_content_area ()

GtkWidget *
gtk_info_bar_get_content_area (GtkInfoBar *info_bar);

Возвращает область содержимого info_bar .

Параметры

info_bar

a GtkInfoBar

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

область содержимого.

[type Gtk.Box][transfer none]

C момента: 2.18

gtk_info_bar_get_show_close_button ()

gboolean
gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar);

Возвращает, будет ли виджет отображать стандартную кнопку закрытия.

Параметры

info_bar

a GtkInfoBar

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

TRUE если виджет отображает стандартную кнопку закрытия

C момента: 3.10

gtk_info_bar_set_show_close_button ()

void
gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar,
                                    gboolean setting);

Если true, отображается стандартная кнопка закрытия. При нажатии она генерирует ответ GTK_RESPONSE_CLOSE.

Параметры

info_bar

a GtkInfoBar

setting

TRUE для включения кнопки закрытия

C момента: 3.10

gtk_info_bar_get_revealed ()

gboolean
gtk_info_bar_get_revealed (GtkInfoBar *info_bar);

Параметры

info_bar

a GtkInfoBar

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

текущее значение свойства GtkInfoBar:revealed.

C момента: 3.22.29

gtk_info_bar_set_revealed ()

void
gtk_info_bar_set_revealed (GtkInfoBar *info_bar,
                           gboolean revealed);

Устанавливает свойство GtkInfoBar:revealed в значение revealed . Это приведет к отображению info_bar со сдвигом.

Обратите внимание, что это свойство не автоматически отображает info_bar и поэтому не будет иметь никакого эффекта, если оно невидимо.

Параметры

info_bar

a GtkInfoBar

revealed

Новое значение свойства

C момента: 3.22.29

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

struct GtkInfoBar

struct GtkInfoBar;

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

Свойство “message-type”

  “message-type”             GtkMessageType

Тип сообщения.

Тип может быть использован для определения внешнего вида информационной панели.

Владелец: GtkInfoBar

Флаги: Чтение / Запись / Создание

Значение по умолчанию: GTK_MESSAGE_INFO

C момента: 2.18

Свойство “revealed”

  “revealed”                 gboolean

Управляет отображением содержимого панели действий.

Владелец: GtkInfoBar

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “show-close-button”

  “show-close-button”        gboolean

Включает ли стандартную кнопку закрытия.

Владелец: GtkInfoBar

Флаги: Чтение / Запись / Создание

Значение по умолчанию: FALSE

C момента: 3.10

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

Свойство стиля “action-area-border”

  “action-area-border”       int

Ширина рамки вокруг области действий информационной панели.

GtkInfoBar:action-area-border устарело с версии 3.6 и не должно использоваться в новом коде.

Используйте gtk_container_set_border_width()

Владелец: GtkInfoBar

Флаги: Чтение

Допустимые значения: >= 0

Значение по умолчанию: 5

C момента: 2.18

Свойство стиля “button-spacing”

  “button-spacing”           int

Интервал между кнопками в области действий информационной панели.

GtkInfoBar:button-spacing устарело с версии 3.6 и не должно использоваться в новом коде.

Используйте gtk_box_set_spacing()

Владелец: GtkInfoBar

Флаги: Чтение

Допустимые значения: >= 0

Значение по умолчанию: 6

C момента: 2.18

Свойство стиля “content-area-border”

  “content-area-border”      int

Ширина рамки вокруг области содержимого информационной панели.

GtkInfoBar:content-area-border устарело с версии 3.6 и не должно использоваться в новом коде.

Используйте gtk_container_set_border_width()

Владелец: GtkInfoBar

Флаги: Чтение

Допустимые значения: >= 0

Значение по умолчанию: 8

C момента: 2.18

Свойство стиля “content-area-spacing”

  “content-area-spacing”     int

Стандартный интервал между элементами области содержимого информационной панели.

GtkInfoBar:content-area-spacing устарело с версии 3.6 и не должно использоваться в новом коде.

Используйте gtk_box_set_spacing()

Владелец: GtkInfoBar

Флаги: Чтение

Допустимые значения: >= 0

Значение по умолчанию: 16

C момента: 2.18

Подробности сигналов

Сигнал “close”

void
user_function (GtkInfoBar *infobar,
               gpointer    user_data)

Сигнал ::close — это сигнал для привязки клавиш, который генерируется, когда пользователь использует сочетание клавиш для закрытия информационной панели.

Стандартное сочетание клавиш для этого сигнала — клавиша Escape.

Параметры

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Действие

C момента: 2.18

Сигнал “response”

void
user_function (GtkInfoBar *info_bar,
               int         response_id,
               gpointer    user_data)

Срабатывает при нажатии на элемент управления действием или когда программист приложения вызывает gtk_dialog_response(). Значение response_id зависит от нажатого элемента управления действием.

Параметры

info_bar

объект, на котором генерируется сигнал

response_id

идентификатор ответа

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполняется последним

C момента: 2.18

См. также

GtkStatusbar, GtkMessageDialog

© 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/GtkInfoBar.html

Spec-Zone.ru

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