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 | Чтение |
Сигналы
Типы и значения
| 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 | объект GtkStatusbar | |
context_description | текстовое описание контекста, в котором используется новое сообщение |
Возвращает
целое число id
gtk_statusbar_push ()
guint gtk_statusbar_push (GtkStatusbar *statusbar,guint context_id,const gchar *text);
Добавляет новое сообщение в стек статусной строки.
Параметры
statusbar | объект GtkStatusbar | |
context_id | идентификатор контекста сообщения, возвращаемый функцией | |
text | сообщение для добавления в статусную строку |
Возвращает
идентификатор сообщения, который может быть использован с gtk_statusbar_remove().
gtk_statusbar_pop ()
void gtk_statusbar_pop (GtkStatusbar *statusbar,guint context_id);
Удаляет первое сообщение в стеке статусной строки с заданным идентификатором контекста.
Обратите внимание, что это может не изменить отображаемое сообщение, если сообщение вверху стека имеет другой идентификатор контекста.
Параметры
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 | идентификатор контекста |
С версии: 2.22
gtk_statusbar_get_message_area ()
GtkWidget *
gtk_statusbar_get_message_area (GtkStatusbar *statusbar); Возвращает область, содержащую виджет метки.
Параметры
statusbar | объект GtkStatusbar |
С версии: 2.20
Типы и значения
struct GtkStatusbar
struct GtkStatusbar;
Подробности свойств стиля
Свойство “shadow-type”
“shadow-type” GtkShadowType
Стиль фаски вокруг текста статусной строки.
GtkStatusbar:shadow-type устарело с версии 3.20 и не должно использоваться в новом коде.
Используйте свойства CSS для определения внешнего вида; значение этого свойства игнорируется.
Флаги: Чтение
Значение по умолчанию: GTK_SHADOW_IN
Подробности сигналов
Сигнал “text-popped”
void user_function (GtkStatusbar *statusbar, guint context_id, gchar *text, gpointer user_data)
Выполняется каждый раз, когда из стека статусной строки удаляется новое сообщение.
Параметры
statusbar | объект, получивший сигнал | |
context_id | идентификатор контекста соответствующего сообщения/статусной строки | |
text | удаленное сообщение | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнять последним
Сигнал “text-pushed”
void user_function (GtkStatusbar *statusbar, guint context_id, gchar *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.22/GtkStatusbar.html