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 () |
| const char * | gtk_statusbar_get_message () |
Сигналы
| void | text-popped | Выполнять последним |
| void | text-pushed | Выполнять последним |
Типы и значения
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkStatusbar
Реализованные интерфейсы
GtkStatusbar реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.
Файлы заголовочных определений
#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 char *context_description);
Возвращает новый идентификатор контекста, исходя из описания контекста. Примечание: описание не отображается в интерфейсе пользователя.
Параметры
statusbar | панель состояния GtkStatusbar | |
context_description | текстовое описание контекста, в котором используется новое сообщение |
Возвращает
целое число id
gtk_statusbar_push ()
guint gtk_statusbar_push (GtkStatusbar *statusbar,guint context_id,const char *text);
Добавляет новое сообщение в стек панели состояния.
Параметры
statusbar | панель состояния GtkStatusbar | |
context_id | идентификатор контекста сообщения, возвращаемый | |
text | сообщение для добавления в панель состояния |
Возвращает
идентификатор сообщения, который может использоваться с gtk_statusbar_remove().
gtk_statusbar_pop ()
void gtk_statusbar_pop (GtkStatusbar *statusbar,guint context_id);
Удаляет первое сообщение в стеке панели состояния GtkStatusbar с заданным идентификатором контекста.
Обратите внимание, что это может не изменить отображаемое сообщение, если сообщение в верхней части стека имеет другой идентификатор контекста.
Параметры
statusbar | панель состояния GtkStatusbar | |
context_id | идентификатор контекста |
gtk_statusbar_remove ()
void gtk_statusbar_remove (GtkStatusbar *statusbar,guint context_id,guint message_id);
Вынуждает удаление сообщения из стека панели состояния. Должны быть указаны точные context_id и message_id.
Параметры
statusbar | панель состояния GtkStatusbar | |
context_id | идентификатор контекста | |
message_id | идентификатор сообщения, возвращаемый |
gtk_statusbar_remove_all ()
void gtk_statusbar_remove_all (GtkStatusbar *statusbar,guint context_id);
Вынуждает удаление всех сообщений из стека панели состояния с точным context_id .
Параметры
statusbar | панель состояния GtkStatusbar | |
context_id | идентификатор контекста |
gtk_statusbar_get_message ()
const char *
gtk_statusbar_get_message (GtkStatusbar *statusbar); Извлекает содержимое метки в GtkStatusbar.
Параметры
statusbar | панель состояния GtkStatusbar |
Возвращает
содержимое панели состояния.
[transfer none]
Типы и значения
GtkStatusbar
typedef struct _GtkStatusbar GtkStatusbar;
Подробное описание сигналов
Сигнал “text-popped”
void user_function (GtkStatusbar *statusbar, guint context_id, char *text, gpointer user_data)
Издается всякий раз, когда новое сообщение удаляется из стека статусбара.
Параметры
statusbar | объект, получивший сигнал | |
context_id | идентификатор контекста соответствующего сообщения/статусбара | |
text | сообщение, которое только что было удалено | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “text-pushed”
void user_function (GtkStatusbar *statusbar, guint context_id, char *text, gpointer user_data)
Издается всякий раз, когда новое сообщение добавляется в стек статусбара.
Параметры
statusbar | объект, получивший сигнал | |
context_id | идентификатор контекста соответствующего сообщения/статусбара | |
text | сообщение, которое было добавлено | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkStatusbar.html