Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Signals

GtkStatusIcon

GtkStatusIcon Отображает значок в системном лотке

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

#include <gtk/gtk.h> GtkStatusIcon; GtkStatusIcon* gtk_status_icon_new (void); GtkStatusIcon* gtk_status_icon_new_from_pixbuf (GdkPixbuf *pixbuf); GtkStatusIcon* gtk_status_icon_new_from_file (const gchar *filename); GtkStatusIcon* gtk_status_icon_new_from_stock (const gchar *stock_id); GtkStatusIcon* gtk_status_icon_new_from_icon_name (const gchar *icon_name); void gtk_status_icon_set_from_pixbuf (GtkStatusIcon *status_icon, GdkPixbuf *pixbuf); void gtk_status_icon_set_from_file (GtkStatusIcon *status_icon, const gchar *filename); void gtk_status_icon_set_from_stock (GtkStatusIcon *status_icon, const gchar *stock_id); void gtk_status_icon_set_from_icon_name (GtkStatusIcon *status_icon, const gchar *icon_name); GtkImageType gtk_status_icon_get_storage_type (GtkStatusIcon *status_icon); GdkPixbuf* gtk_status_icon_get_pixbuf (GtkStatusIcon *status_icon); const gchar* gtk_status_icon_get_stock (GtkStatusIcon *status_icon); const gchar* gtk_status_icon_get_icon_name (GtkStatusIcon *status_icon); gint gtk_status_icon_get_size (GtkStatusIcon *status_icon); void gtk_status_icon_set_tooltip (GtkStatusIcon *status_icon, const gchar *tooltip_text); void gtk_status_icon_set_visible (GtkStatusIcon *status_icon, gboolean visible); gboolean gtk_status_icon_get_visible (GtkStatusIcon *status_icon); void gtk_status_icon_set_blinking (GtkStatusIcon *status_icon, gboolean blinking); gboolean gtk_status_icon_get_blinking (GtkStatusIcon *status_icon); gboolean gtk_status_icon_is_embedded (GtkStatusIcon *status_icon); void gtk_status_icon_position_menu (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data); gboolean gtk_status_icon_get_geometry (GtkStatusIcon *status_icon, GdkScreen **screen, GdkRectangle *area, GtkOrientation *orientation);

Иерархия объектов

GObject +----GtkStatusIcon

Свойства

"blinking" gboolean : Read / Write "file" gchararray : Write "icon-name" gchararray : Read / Write "pixbuf" GdkPixbuf : Read / Write "size" gint : Read "stock" gchararray : Read / Write "storage-type" GtkImageType : Read "visible" gboolean : Read / Write

Сигналы

"activate" void user_function (GtkStatusIcon *status_icon, gpointer user_data) : Run first / Action "popup-menu" void user_function (GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data) : Run first / Action "size-changed" gboolean user_function (GtkStatusIcon *status_icon, gint size, gpointer user_data) : Run last

Описание

Область уведомления или "system tray" обычно используется для размещения переходных значков указывающих некоторое специальное состояние. Например, значок в системном лотке мог бы сообщить пользователю о пришедшем почтовом сообщении, или показывать быстрые короткие сообщения, или что нибудь аналогичное. Основная идея в том, что значок в системном лотке выдающий небольшие сообщения является менее раздражающим, нежели всплывающий диалог.

GtkStatusIcon объект может использоваться для отображения значка в системном лотке ("system tray"). Значок может иметь подсказки, а пользователь может интерактивно взаимодействовать с ним, вызывая контекстное меню. Критическая информация не должна отображаться только в GtkStatusIcon, так как может быть невидима (например когда пользователь не включил на панели область уведомления). Это может быть проверено с помощью gtk_status_icon_is_embedded().

В оконной системе X11, реализована следующая спецификация freedesktop.org "System Tray" specification. Осуществление "tray" аспекта этой спецификации может быть найдено например в GNOME и KDE.

Помните GtkStatusIcon это не виджет, а просто GObject. Создание в виде виджета было бы не практично, так как системный лоток в Win32 не позволяет внедрение произвольных виджетов.

Детали

GtkStatusIcon

typedef struct _GtkStatusIcon GtkStatusIcon;

gtk_status_icon_new ()

GtkStatusIcon* gtk_status_icon_new          (void);

Создаёт новый пустой объект значка состояния.

Возвращает :

новый GtkStatusIcon

Начиная с версии 2.10


gtk_status_icon_new_from_pixbuf ()

GtkStatusIcon* gtk_status_icon_new_from_pixbuf (GdkPixbuf *pixbuf);

Создаёт новый значок состояния отображающий pixbuf.

Изображение будет уменьшено для соответствия свободному пространству области уведомления при необходимости.

pixbuf :

GdkPixbuf

Возвращает :

новый GtkStatusIcon

Начиная с версии 2.10


gtk_status_icon_new_from_file ()

GtkStatusIcon* gtk_status_icon_new_from_file (const gchar *filename);

Создаёт новый значок состояния отображающий файл filename.

Изображение будет уменьшено для соответствия свободному пространству области уведомления при необходимости.

filename :

Имя файла

Возвращает :

новый GtkStatusIcon

Начиная с версии 2.10


gtk_status_icon_new_from_stock ()

GtkStatusIcon* gtk_status_icon_new_from_stock (const gchar *stock_id);

Создаёт новый значок состояния отображающий заготовленный значок. Например заготовленные значки с именами GTK_STOCK_OPEN, GTK_STOCK_QUIT. Вы можете зарегистрировать собственное имя заготовленного значка, смотрите gtk_icon_factory_add_default() и gtk_icon_factory_add().

stock_id :

Id готового значка

Возвращает :

новый GtkStatusIcon

Начиная с версии 2.10


gtk_status_icon_new_from_icon_name ()

GtkStatusIcon* gtk_status_icon_new_from_icon_name (const gchar *icon_name);

Создаёт новый значок состояния отображающий значок из текущемй темы значков. Если текущая тема значков изменяется, значок будет соответственно обновляться.

icon_name :

Имя значка

Возвращает :

новый GtkStatusIcon

Начиная с версии 2.10


gtk_status_icon_set_from_pixbuf ()

void gtk_status_icon_set_from_pixbuf (GtkStatusIcon *status_icon, GdkPixbuf *pixbuf);

Создаёт status_icon отображающий pixbuf. Подробнее смотрите gtk_status_icon_new_from_pixbuf().

status_icon :

GtkStatusIcon

pixbuf :

GdkPixbuf или NULL

Начиная с версии 2.10


gtk_status_icon_set_from_file ()

void gtk_status_icon_set_from_file (GtkStatusIcon *status_icon, const gchar *filename);

Создаёт status_icon отображающий файл filename. Подробнее смотрите gtk_status_icon_new_from_file().

status_icon :

GtkStatusIcon

filename :

Имя файла

Начиная с версии 2.10


gtk_status_icon_set_from_stock ()

void gtk_status_icon_set_from_stock (GtkStatusIcon *status_icon, const gchar *stock_id);

Создаёт status_icon отображающий заготовленный значок с id stock_id. Подробнее смотрите gtk_status_icon_new_from_stock().

status_icon :

GtkStatusIcon

stock_id :

Id заготовленного значка

Начиная с версии 2.10


gtk_status_icon_set_from_icon_name ()

void gtk_status_icon_set_from_icon_name (GtkStatusIcon *status_icon, const gchar *icon_name);

Создаёт status_icon отображающий значок по имени icon_name из текущемй темы значков. Подробности смотрите gtk_status_icon_new_from_icon_name().

status_icon :

GtkStatusIcon

icon_name :

Имя значка

Начиная с версии 2.10


gtk_status_icon_get_storage_type ()

GtkImageType gtk_status_icon_get_storage_type (GtkStatusIcon *status_icon);

Получает тип изображения используемый GtkStatusIcon для хранения данных изображения. Если GtkStatusIcon не имеет данных изображения, возвращаемое значение будет соответствовать GTK_IMAGE_EMPTY.

status_icon :

GtkStatusIcon

Возвращает :

Используемое изображение

Начиная с версии 2.10


gtk_status_icon_get_pixbuf ()

GdkPixbuf*  gtk_status_icon_get_pixbuf      (GtkStatusIcon *status_icon);

Получает GdkPixbuf отображаемый GtkStatusIcon. Тип хранимого значка состояния должен быть GTK_IMAGE_EMPTY или GTK_IMAGE_PIXBUF (смотрите gtk_status_icon_get_storage_type()). Вызывающий эту функцию не владеет ссылкой для возвращаемого изображения (pixbuf).

status_icon :

GtkStatusIcon

Возвращает :

Отображаемый pixbuf, или NULL если изображение пустое.

Начиная с версии 2.10


gtk_status_icon_get_stock ()

const gchar* gtk_status_icon_get_stock      (GtkStatusIcon *status_icon);

Получает id заготовленного значка отображаемого GtkStatusIcon. Тип хранимого значка состояния должен быть GTK_IMAGE_EMPTY или GTK_IMAGE_STOCK (смотрите gtk_status_icon_get_storage_type()). Возвращаемой строкой владеет GtkStatusIcon и она не должна изменяться или освобождаться.

status_icon :

GtkStatusIcon

Возвращает :

id отображаемого заготовленного значка, или NULL если изображение пустое.

Начиная с версии 2.10


gtk_status_icon_get_icon_name ()

const gchar* gtk_status_icon_get_icon_name  (GtkStatusIcon *status_icon);

Получает имя значка отображаемого GtkStatusIcon. Тип хранимого значка должен быть GTK_IMAGE_EMPTY или GTK_IMAGE_ICON_NAME (смотрите gtk_status_icon_get_storage_type()). Возвращаемой строкой владеет GtkStatusIcon и она не должна изменяться или освобождаться.

status_icon :

GtkStatusIcon

Возвращает :

Имя отображаемого значка, или NULL если изображение пустое.

Начиная с версии 2.10


gtk_status_icon_get_size ()

gint        gtk_status_icon_get_size        (GtkStatusIcon *status_icon);

Получает размер в пикселах который доступен для изображения. Заготовленные значки и именованные значки адаптируются автоматически если изменяется размер области уведомления. Для других типов хранения, может использоваться сигнал size-changed для реакции на изменение размера.

status_icon :

GtkStatusIcon

Возвращает :

Размер который доступен для изображения

Начиная с версии 2.10


gtk_status_icon_set_tooltip ()

void gtk_status_icon_set_tooltip (GtkStatusIcon *status_icon, const gchar *tooltip_text);

Устанавливает подсказку значка состояния.

status_icon :

GtkStatusIcon

tooltip_text :

Текст подсказки, или NULL

Начиная с версии 2.10


gtk_status_icon_set_visible ()

void gtk_status_icon_set_visible (GtkStatusIcon *status_icon, gboolean visible);

Показывает или скрывает значок состояния.

status_icon :

GtkStatusIcon

visible :

TRUE для показа значка состояния, FALSE для его скрытия

Начиная с версии 2.10


gtk_status_icon_get_visible ()

gboolean    gtk_status_icon_get_visible     (GtkStatusIcon *status_icon);

Возвращает видим ли значок состояния или нет. Помните что состояние видимости не гарантирует что пользователь реально видит значок, смотрите также gtk_status_icon_is_embedded().

status_icon :

GtkStatusIcon

Возвращает :

TRUE если значок состояния видим

Начиная с версии 2.10


gtk_status_icon_set_blinking ()

void gtk_status_icon_set_blinking (GtkStatusIcon *status_icon, gboolean blinking);

Включает или выключает мерцание значка состояния. Помните, мерцание элемента пользовательского интерфейса может быть проблематично для некоторых пользователей, поэтому может быть выключено, в этом случае данные установки не будут иметь эффекта.

status_icon :

GtkStatusIcon

blinking :

TRUE включает мерцание, FALSE выключает

Начиная с версии 2.10


gtk_status_icon_get_blinking ()

gboolean    gtk_status_icon_get_blinking    (GtkStatusIcon *status_icon);

Определяет мерцает ли значок, смотрите gtk_status_icon_set_blinking().

status_icon :

GtkStatusIcon

Возвращает :

TRUE если значок мерцает

Начиная с версии 2.10


gtk_status_icon_is_embedded ()

gboolean    gtk_status_icon_is_embedded     (GtkStatusIcon *status_icon);

Определяет встроен ли значок в область уведомления.

status_icon :

GtkStatusIcon

Возвращает :

TRUE если значок встроен в область уведомления.

Начиная с версии 2.10


gtk_status_icon_position_menu ()

void gtk_status_icon_position_menu (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data);

Функция позиционирования меню для использования с gtk_menu_popup() размещающая menu выравненным относительно значка состояния user_data.

menu :

GtkMenu

x :

Место для хранения возвращаемого значения x позиции

y :

Место для хранения возвращаемого значения y позиции

push_in :

Должно ли меню быть полного размера или сжатого.

user_data :

Значок состояния для позиционирования меню

Начиная с версии 2.10


gtk_status_icon_get_geometry ()

gboolean gtk_status_icon_get_geometry (GtkStatusIcon *status_icon, GdkScreen **screen, GdkRectangle *area, GtkOrientation *orientation);

Определяет информацию о расположении значка состояния на экране. Эта информация может использоваться например для позиционирования уведомлений как всплывающие пузырьки. Смотрите gtk_status_icon_position_menu() для более удобного позиционирования меню.

Помните, некторые платформы не позволяют GTK+ обеспечивать эту информацию.

status_icon :

GtkStatusIcon

screen :

Место для хранения возвращаемого значения экрана, или NULL если информация не нужна

area :

Место для хранения возвращаемого значения области занятой значком или NULL

orientation :

Место для хранения возвращаемого значения ориентации панели в которую встроен значок или NULL. Панель может быть сверху, снизу, с право, с лево.

Возвращает :

TRUE если информация заполнена

Начиная с версии 2.10

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

Свойство "blinking"

  "blinking"             gboolean              : Read / Write

Мерцает или нет значок состояния.

Значение по умолчанию : FALSE


Свойство "file"

  "file"                 gchararray            : Write

Имя файла для загрузки и отображения.

Значение по умолчанию : NULL


Свойство "icon-name"

  "icon-name"            gchararray            : Read / Write

Имя значка из темы значков.

Значение по умолчанию : NULL


Свойство "pixbuf"

  "pixbuf"               GdkPixbuf             : Read / Write

GdkPixbuf для отображения.


Свойство "size"

  "size"                 gint                  : Read

Размер значка.

Допустимые значения : >= 0

Значение по умолчанию : 0


Свойство "stock"

  "stock"                gchararray            : Read / Write

Stock ID заготовленного изображения для отображения.

Значение по умолчанию : NULL


Свойство "storage-type"

  "storage-type"         GtkImageType          : Read

Представление используемое для данных изображения.

Значение по умолчанию : GTK_IMAGE_EMPTY


Свойство "visible"

  "visible"              gboolean              : Read / Write

Видим или нет значок состояния.

Значение по умолчанию : TRUE

Детали сигналов

Сигнал "activate"

void user_function (GtkStatusIcon *status_icon, gpointer user_data) : Run first / Action

Издаётся когда пользователь активирует значок состояния. Способы активизации значка состояния зависят от платформы.

status_icon :

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

user_data :

Данные пользователя устанавливаемые при подключении обработчика сигнала.

Начиная с версии 2.10


Сигнал "popup-menu"

void user_function (GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data) : Run first / Action

Издаётся когда пользователь вызывает содержимое меню значка состояния. Могут ли значки состояния иметь меню и как они активизируются зависит от платформы.

Параметры button и activate_timeout должны помещаться как последние аргументы в gtk_menu_popup().

status_icon :

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

button :

Кнопка которая была нажата, или 0 если сигнал не издаётся в ответ на событие нажатой кнопки

activate_time :

Пауза события которое выполняет распространение сигнала

user_data :

Данные пользователя устанавливаемые при подключении обработчика сигнала.

Начиная с версии 2.10


Сигнал "size-changed"

gboolean user_function (GtkStatusIcon *status_icon, gint size, gpointer user_data) : Run last

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

status_icon :

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

size :

Новый размер

user_data :

Данные пользователя устанавливаемые при подключении обработчика сигнала.

Возвращает :

TRUE если значок был обновлен до нового размера. Иначе, GTK+ растянет значок до необходимого размера.

Начиная с версии 2.10