GtkStatusbar
GtkStatusbar — Сообщать пользователю сообщения второстепенной важности
Функции
| GtkWidget * | gtk_statusbar_new () |
| guint | gtk_statusbar_get_context_id () |
| guint | gtk_statusbar_push () |
| void | gtk_statusbar_pop () |
| void | gtk_statusbar_remove () |
| void | gtk_statusbar_remove_all () |
| GtkWidget * | gtk_statusbar_get_message_area () |
Свойства стиля
| GtkShadowType | shadow-type | Чтение |
Сигналы
| void | text-popped | Выполнить последним |
| void | text-pushed | Выполнить последним |
Типы и значения
| struct | GtkStatusbar |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkBox
╰── GtkStatusbar
Реализованные интерфейсы
GtkStatusbar реализует AtkImplementorIface, GtkBuildable и GtkOrientable.
Файлы включения
#include <gtk/gtk.h>
Описание
GtkStatusbar обычно размещается в нижней части главного окна приложения GtkWindow. Она может содержать регулярные комментарии о состоянии приложения (как, например, в веб-браузере) или просто выводить сообщение при изменении состояния (например, при завершении загрузки в FTP-клиенте).
Панели состояния в GTK+ поддерживают стек сообщений. Сообщение в верхней части стека каждой панели будет отображаться в данный момент.
Любые сообщения, добавленные в стек панели состояния, должны указывать идентификатор контекста, используемый для уникальной идентификации источника сообщения. Этот идентификатор контекста может быть сгенерирован с помощью gtk_statusbar_get_context_id(), заданным сообщением и панелью состояния, в которую оно будет добавлено. Обратите внимание, что сообщения хранятся в стеке, и при выборе отображаемого сообщения структура стека соблюдается независимо от идентификатора контекста сообщения.
Можно сказать, что панель состояния поддерживает один стек сообщений для целей отображения, но позволяет нескольким производителям сообщений поддерживать подстеки сообщений, которые они произвели (через идентификаторы контекста).
Панели состояния создаются с помощью gtk_statusbar_new().
Сообщения добавляются в стек панели с помощью gtk_statusbar_push().
Сообщение в верхней части стека может быть удалено с помощью gtk_statusbar_pop(). Сообщение можно удалить из любого места в стеке, если его идентификатор сообщения был записан во время добавления. Это делается с помощью gtk_statusbar_remove().
Узел CSS
GtkStatusbar имеет единственный узел CSS с именем statusbar.
Функции
gtk_statusbar_new ()
GtkWidget *
gtk_statusbar_new (void); Создаёт новый GtkStatusbar, готовый к отображению сообщений.
Возвращает
новый GtkStatusbar
gtk_statusbar_get_context_id ()
guint gtk_statusbar_get_context_id (GtkStatusbar *statusbar,const gchar *context_description);
Возвращает новый идентификатор контекста, заданный описанием фактического контекста. Обратите внимание, что описание не отображается в пользовательском интерфейсе.
Параметры
statusbar | ||
context_description | текстовое описание контекста, в котором используется новое сообщение |
Возвращает
целое число id
gtk_statusbar_push ()
guint gtk_statusbar_push (GtkStatusbar *statusbar,guint context_id,const gchar *text);
Добавляет новое сообщение в стек статусбара.
Параметры
statusbar | ||
context_id | идентификатор контекста сообщения, возвращённый | |
text | сообщение, добавляемое в статусбар |
Возвращает
идентификатор сообщения, который может быть использован с gtk_statusbar_remove().
gtk_statusbar_pop ()
void gtk_statusbar_pop (GtkStatusbar *statusbar,guint context_id);
Удаляет первое сообщение в стеке GtkStatusbar с заданным идентификатором контекста.
Обратите внимание, что это может не изменить отображаемое сообщение, если сообщение в верхней части стека имеет другой идентификатор контекста.
Параметры
statusbar | ||
context_id | идентификатор контекста |
gtk_statusbar_remove ()
void gtk_statusbar_remove (GtkStatusbar *statusbar,guint context_id,guint message_id);
Вынуждает удаление сообщения из стека статусбара. Должны быть указаны точные context_id и message_id.
Параметры
statusbar | ||
context_id | идентификатор контекста | |
message_id | идентификатор сообщения, возвращённый |
gtk_statusbar_remove_all ()
void gtk_statusbar_remove_all (GtkStatusbar *statusbar,guint context_id);
Вынуждает удаление всех сообщений из стека статусбара с точным context_id.
Параметры
statusbar | ||
context_id | идентификатор контекста |
С: 2.22
gtk_statusbar_get_message_area ()
GtkWidget *
gtk_statusbar_get_message_area (GtkStatusbar *statusbar); Возвращает ящик, содержащий виджет метки.
Параметры
statusbar |
С: 2.20
Типы и значения
struct GtkStatusbar
struct GtkStatusbar;
Подробности свойств стиля
Свойство стиля “shadow-type”
“shadow-type” GtkShadowType
Стиль фаски вокруг текста статусбара.
GtkStatusbar:shadow-type устарел с версии 3.20 и не должен использоваться в новых кодах.
Используйте свойства CSS для определения внешнего вида; значение этого свойства стиля игнорируется.
Владелец: GtkStatusbar
Флаги: Чтение
Значение по умолчанию: GTK_SHADOW_IN
Подробности сигналов
Сигнал “text-popped”
void user_function (GtkStatusbar *statusbar, guint context_id, char *text, gpointer user_data)
Выполняется всякий раз, когда новое сообщение извлекается из стека статусбара.
Параметры
statusbar | объект, получивший сигнал | |
context_id | идентификатор контекста соответствующего сообщения/статусбара | |
text | сообщение, только что извлечённое | |
user_data | пользовательские данные, установленные при подключении обработчика сигналов. |
Флаги: Выполнять последним
Сигнал “text-pushed”
void user_function (GtkStatusbar *statusbar, guint context_id, char *text, gpointer user_data)
Выполняется всякий раз, когда новое сообщение помещается в стек статусбара.
Параметры
statusbar | объект, получивший сигнал | |
context_id | идентификатор контекста соответствующего сообщения/статусбара | |
text | сообщение, помещённое в стек | |
user_data | пользовательские данные, установленные при подключении обработчика сигналов. |
Флаги: Выполнять последним
© 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/GtkStatusbar.html