Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Style Properties  |  Signals

GtkStatusbar

GtkStatusbar Выводит сообщения небольшой важности для пользователя

Краткое описание

#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().

Детали

GtkStatusbar

typedef struct _GtkStatusbar GtkStatusbar;

Содержит закрытые данные доступ к которым должен происходить из функций описанных ниже.


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 :

Контекстный id сообщения, который возвращает gtk_statusbar_get_context_id().

text :

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

Возвращает :

Новый id сообщения для использования в gtk_statusbar_remove().


gtk_statusbar_pop ()

void gtk_statusbar_pop (GtkStatusbar *statusbar, guint context_id);

Удаляет верхнее сообщение из стека GtkStatusBar's.

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_push().


gtk_statusbar_set_has_resize_grip ()

void gtk_statusbar_set_has_resize_grip (GtkStatusbar *statusbar, gboolean setting);

Устанавливает должна ли панель состояния иметь захват для изменения размера. TRUE по умолчанию.

statusbar :

GtkStatusBar.

setting :

TRUE для установки захвата.


gtk_statusbar_get_has_resize_grip ()

gboolean gtk_statusbar_get_has_resize_grip (GtkStatusbar *statusbar);

Определяет имеет ли панель состояния захват для изменения размера.

statusbar :

GtkStatusBar.

Возвращает :

TRUE если захват есть.

Детали свойств

Свойство "has-resize-grip"

  "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 :

Пользовательские данные помещаемые при подключении сигнала.


Сигнал "text-pushed"

void user_function (GtkStatusbar *statusbar, guint context_id, gchar *text, gpointer user_data) : Run last

Издаётся каждый раз при помещении сообщения в стек панели состояния.

statusbar :

объект получающий сигнал.

context_id :

контекстный идентификатор соответствующего сообщения.

text :

Сообщение которое было помещено.

user_data :

Пользовательские данные помещаемые при подключении сигнала.

Смотрите также

GtkDialog

Другой способ отображения сообщений для пользователя.