GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Style Properties | Signals |
GtkStatusbarGtkStatusbar Выводит сообщения небольшой важности для пользователя |
#include <gtk/gtk.h>
GtkStatusbar;
GtkWidget* gtk_statusbar_new (void);
guint gtk_statusbar_get_context_id (GtkStatusbar *statusbar,
const gchar *context_description);
guint gtk_statusbar_push (GtkStatusbar *statusbar,
guint context_id,
const gchar *text);
void gtk_statusbar_pop (GtkStatusbar *statusbar,
guint context_id);
void gtk_statusbar_remove (GtkStatusbar *statusbar,
guint context_id,
guint message_id);
void gtk_statusbar_set_has_resize_grip
(GtkStatusbar *statusbar,
gboolean setting);
gboolean gtk_statusbar_get_has_resize_grip
(GtkStatusbar *statusbar);
GObject
+----GInitiallyUnowned
+----GtkObject
+----GtkWidget
+----GtkContainer
+----GtkBox
+----GtkHBox
+----GtkStatusbar
GtkStatusbar осуществляет AtkImplementorIface.
"has-resize-grip" gboolean : Read / Write
"shadow-type" GtkShadowType : Read
"text-popped"
void user_function (GtkStatusbar *statusbar,
guint context_id,
gchar *text,
gpointer user_data) : Run last
"text-pushed"
void user_function (GtkStatusbar *statusbar,
guint context_id,
gchar *text,
gpointer user_data) : Run last
GtkStatusbar обычно размещается в самом низу основного окна GtkWindow. Она обеспечивает регулярные комментарии состояния приложения (как например состояние загрузки страницы в браузере), или может применяться для вывода небольших сообщений изменения состояния, (когда например выполнена загрузка в FTP клиенте). Она так же может содержать захват для изменения размера окна (треугольная область в нижнем правом углу).
Панель состояния в Gtk+ поддерживает стек сообщений. Сообщение которое отображается в текущий момент находится на вершине стека.
Любые сообщения добавленные в стек панели состояния должны иметь context_id который используется для точной идентификации источника сообщения. Этот context_id может быть сгенерирован с помощью gtk_statusbar_get_context_id(), с полученным сообщением которое должно быть добавлено в панель состояния. Помните что это сообщение сохраняется в стеке и выбор отображаемого сообщения происходит придерживаясь структуры стека, не зависимо от контекстного идентификатора сообщения.
Панель состояния создаётся с помощью gtk_statusbar_new().
Сообщения добавляются с помощью gtk_statusbar_push().
Сообщение из верхушки стека можно удалить используя gtk_statusbar_pop(). Сообщения можно удалить из любого положения в стеке если во время добавления был зарегистрирован его message_id. Это делается с помощью gtk_statusbar_remove().
typedef struct _GtkStatusbar GtkStatusbar;Содержит закрытые данные доступ к которым должен происходить из функций описанных ниже.
gtk_statusbar_new ()
GtkWidget* gtk_statusbar_new (void);Создаёт новую GtkStatusbar готовую к сообщениям.
Возвращает : |
новая GtkStatusbar. |
guint gtk_statusbar_get_context_id (GtkStatusbar *statusbar,
const gchar *context_description);
Возвращает новый контекстный идентификатор, учитывая описание фактического содержимого.
statusbar : |
|
context_description : |
Текстовое описание содержимого используемого сообщения. |
Возвращает : |
целочисленный id. |
guint gtk_statusbar_push (GtkStatusbar *statusbar,
guint context_id,
const gchar *text);
Помещает новое сообщение в стек панели состояния.
statusbar : |
|
context_id : |
Контекстный id сообщения, который возвращает gtk_statusbar_get_context_id(). |
text : |
Сообщение для добавления в панель состояния. |
Возвращает : |
Новый id сообщения для использования в gtk_statusbar_remove(). |
void gtk_statusbar_pop (GtkStatusbar *statusbar,
guint context_id);
Удаляет верхнее сообщение из стека GtkStatusBar's.
statusbar : |
GtkStatusBar. |
context_id : |
Контекстный идентификатор. |
void gtk_statusbar_remove (GtkStatusbar *statusbar,
guint context_id,
guint message_id);
Удаляет сообщение из стека панели состояния. Естественно context_id и message_id должны быть определены.
statusbar : |
GtkStatusBar. |
context_id : |
Контекстный идентификатор. |
message_id : |
Идентификатор сообщения, который возвращает gtk_statusbar_push(). |
void gtk_statusbar_set_has_resize_grip
(GtkStatusbar *statusbar,
gboolean setting);
Устанавливает должна ли панель состояния иметь захват для изменения размера. TRUE по умолчанию.
statusbar : |
GtkStatusBar. |
setting : |
TRUE для установки захвата. |
gboolean gtk_statusbar_get_has_resize_grip
(GtkStatusbar *statusbar);
Определяет имеет ли панель состояния захват для изменения размера.
statusbar : |
GtkStatusBar. |
Возвращает : |
TRUE если захват есть. |
"has-resize-grip" gboolean : Read / WriteИмеется ли захват для изменения размера окна верхнего уровня.
Значение по умолчанию : TRUE
Начиная с версии 2.4
Детали свойств стиля
Свойство стиля "shadow-type"
"shadow-type" GtkShadowType : ReadСтиль скоса вокруг текста панели состояния.
Значение по умолчанию : GTK_SHADOW_IN
Детали сигналов
Сигнал "text-popped"
void user_function (GtkStatusbar *statusbar, guint context_id, gchar *text, gpointer user_data) : Run last
Издаётся каждый раз при выталкивании сообщения из стека панели состояния.
statusbar : |
Объект получающий сигнал. |
context_id : |
Контекстный идентификатор соответствующего сообщения. |
text : |
Сообщение которое было продвинуто. |
user_data : |
Пользовательские данные помещаемые при подключении сигнала. |
void user_function (GtkStatusbar *statusbar,
guint context_id,
gchar *text,
gpointer user_data) : Run last
Издаётся каждый раз при помещении сообщения в стек панели состояния.
statusbar : |
объект получающий сигнал. |
context_id : |
контекстный идентификатор соответствующего сообщения. |
text : |
Сообщение которое было помещено. |
user_data : |
Пользовательские данные помещаемые при подключении сигнала. |
Другой способ отображения сообщений для пользователя. |