краткое описание#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,
так как может быть невидима (например
когда пользователь не включил на панели
область уведомления). это может быть
проверено с помощью в оконной системе x11, реализована следующая спецификация freedesktop.org "system tray" specification. осуществление "tray" аспекта этой спецификации может быть найдено например в gnome и kde. помните gtkstatusicon это не виджет, а просто gobject. создание в виде виджета было бы не практично, так как системный лоток в win32 не позволяет внедрение произвольных виджетов. деталиgtkstatusicontypedef struct _gtkstatusicon gtkstatusicon; gtk_status_icon_new ()gtkstatusicon* gtk_status_icon_new (void); создаёт новый пустой объект значка состояния.
начиная с версии 2.10 gtk_status_icon_new_from_pixbuf ()gtkstatusicon* gtk_status_icon_new_from_pixbuf (gdkpixbuf *pixbuf);
создаёт новый значок состояния
отображающий изображение будет уменьшено для соответствия свободному пространству области уведомления при необходимости.
начиная с версии 2.10 gtk_status_icon_new_from_file ()gtkstatusicon* gtk_status_icon_new_from_file (const gchar *filename);
создаёт новый значок состояния
отображающий файл изображение будет уменьшено для соответствия свободному пространству области уведомления при необходимости.
начиная с версии 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.
вы можете зарегистрировать собственное
имя заготовленного значка, смотрите
начиная с версии 2.10 gtk_status_icon_new_from_icon_name ()gtkstatusicon* gtk_status_icon_new_from_icon_name (const gchar *icon_name); создаёт новый значок состояния отображающий значок из текущемй темы значков. если текущая тема значков изменяется, значок будет соответственно обновляться.
начиная с версии 2.10 gtk_status_icon_set_from_pixbuf ()void gtk_status_icon_set_from_pixbuf (gtkstatusicon *status_icon, gdkpixbuf *pixbuf);
создаёт
начиная с версии 2.10 gtk_status_icon_set_from_file ()void gtk_status_icon_set_from_file (gtkstatusicon *status_icon, const gchar *filename);
создаёт
начиная с версии 2.10 gtk_status_icon_set_from_stock ()void gtk_status_icon_set_from_stock (gtkstatusicon *status_icon, const gchar *stock_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);
создаёт
начиная с версии 2.10 gtk_status_icon_get_storage_type ()gtkimagetype gtk_status_icon_get_storage_type (gtkstatusicon *status_icon);
получает тип изображения используемый
gtkstatusicon
для хранения данных изображения. если
gtkstatusicon
не имеет данных изображения, возвращаемое
значение будет соответствовать
начиная с версии 2.10 gtk_status_icon_get_pixbuf ()gdkpixbuf* gtk_status_icon_get_pixbuf (gtkstatusicon *status_icon);
получает gdkpixbuf
отображаемый gtkstatusicon.
тип хранимого значка состояния должен
быть
начиная с версии 2.10 gtk_status_icon_get_stock ()const gchar* gtk_status_icon_get_stock (gtkstatusicon *status_icon);
получает id заготовленного значка
отображаемого gtkstatusicon.
тип хранимого значка состояния должен
быть
начиная с версии 2.10 gtk_status_icon_get_icon_name ()const gchar* gtk_status_icon_get_icon_name (gtkstatusicon *status_icon);
получает имя значка отображаемого
gtkstatusicon.
тип хранимого значка должен быть
начиная с версии 2.10 gtk_status_icon_get_size ()gint gtk_status_icon_get_size (gtkstatusicon *status_icon); получает размер в пикселах который доступен для изображения. заготовленные значки и именованные значки адаптируются автоматически если изменяется размер области уведомления. для других типов хранения, может использоваться сигнал size-changed для реакции на изменение размера.
начиная с версии 2.10 gtk_status_icon_set_tooltip ()void gtk_status_icon_set_tooltip (gtkstatusicon *status_icon, const gchar *tooltip_text); устанавливает подсказку значка состояния.
начиная с версии 2.10 gtk_status_icon_set_visible ()void gtk_status_icon_set_visible (gtkstatusicon *status_icon, gboolean visible); показывает или скрывает значок состояния.
начиная с версии 2.10 gtk_status_icon_get_visible ()gboolean gtk_status_icon_get_visible (gtkstatusicon *status_icon);
возвращает видим ли значок состояния
или нет. помните что состояние видимости
не гарантирует что пользователь реально
видит значок, смотрите также
начиная с версии 2.10 gtk_status_icon_set_blinking ()void gtk_status_icon_set_blinking (gtkstatusicon *status_icon, gboolean blinking); включает или выключает мерцание значка состояния. помните, мерцание элемента пользовательского интерфейса может быть проблематично для некоторых пользователей, поэтому может быть выключено, в этом случае данные установки не будут иметь эффекта.
начиная с версии 2.10 gtk_status_icon_get_blinking ()gboolean gtk_status_icon_get_blinking (gtkstatusicon *status_icon);
определяет мерцает ли значок, смотрите
начиная с версии 2.10 gtk_status_icon_is_embedded ()gboolean gtk_status_icon_is_embedded (gtkstatusicon *status_icon); определяет встроен ли значок в область уведомления.
начиная с версии 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);
функция позиционирования меню для
использования с
начиная с версии 2.10 gtk_status_icon_get_geometry ()gboolean gtk_status_icon_get_geometry (gtkstatusicon *status_icon, gdkscreen **screen, gdkrectangle *area, gtkorientation *orientation);
определяет информацию о расположении
значка состояния на экране. эта информация
может использоваться например для
позиционирования уведомлений как
всплывающие пузырьки. смотрите
помните, некторые платформы не позволяют gtk+ обеспечивать эту информацию.
начиная с версии 2.10 детали свойствсвойство "
|
|
объект получающий сигнал |
|
данные пользователя устанавливаемые при подключении обработчика сигнала. |
начиная с версии 2.10
void user_function (gtkstatusicon *status_icon, guint button, guint activate_time, gpointer user_data) : run first / action
издаётся когда пользователь вызывает содержимое меню значка состояния. могут ли значки состояния иметь меню и как они активизируются зависит от платформы.
параметры button
и
activate_timeout
должны помещаться
как последние аргументы в gtk_menu_popup()
.
|
объект получающий сигнал |
|
кнопка которая была нажата, или 0 если сигнал не издаётся в ответ на событие нажатой кнопки |
|
пауза события которое выполняет распространение сигнала |
|
данные пользователя устанавливаемые при подключении обработчика сигнала. |
начиная с версии 2.10
gboolean user_function (gtkstatusicon *status_icon, gint size, gpointer user_data) : run last
издаётся когда допустимый размер для изображения изменяется, например изменился размер области уведомления.
|
объект получающий сигнал |
|
новый размер |
|
данные пользователя устанавливаемые при подключении обработчика сигнала. |
возвращает : |
|
начиная с версии 2.10