GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
GtkStatusIconGtkStatusIcon Отображает значок в системном лотке |
#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 не позволяет внедрение произвольных виджетов.
typedef struct _GtkStatusIcon GtkStatusIcon;
gtk_status_icon_new ()
GtkStatusIcon* gtk_status_icon_new (void);Создаёт новый пустой объект значка состояния.
Возвращает : |
новый GtkStatusIcon |
Начиная с версии 2.10
GtkStatusIcon* gtk_status_icon_new_from_pixbuf
(GdkPixbuf *pixbuf);
Создаёт новый значок состояния
отображающий pixbuf
.
Изображение будет уменьшено для соответствия свободному пространству области уведомления при необходимости.
|
|
Возвращает : |
новый GtkStatusIcon |
Начиная с версии 2.10
GtkStatusIcon* gtk_status_icon_new_from_file
(const gchar *filename);
Создаёт новый значок состояния
отображающий файл filename
.
Изображение будет уменьшено для соответствия свободному пространству области уведомления при необходимости.
|
Имя файла |
Возвращает : |
новый GtkStatusIcon |
Начиная с версии 2.10
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()
.
|
Id готового значка |
Возвращает : |
новый GtkStatusIcon |
Начиная с версии 2.10
GtkStatusIcon* gtk_status_icon_new_from_icon_name
(const gchar *icon_name);
Создаёт новый значок состояния отображающий значок из текущемй темы значков. Если текущая тема значков изменяется, значок будет соответственно обновляться.
|
Имя значка |
Возвращает : |
новый GtkStatusIcon |
Начиная с версии 2.10
void gtk_status_icon_set_from_pixbuf (GtkStatusIcon *status_icon,
GdkPixbuf *pixbuf);
Создаёт status_icon
отображающий
pixbuf
. Подробнее смотрите
gtk_status_icon_new_from_pixbuf()
.
|
|
|
Начиная с версии 2.10
void gtk_status_icon_set_from_file (GtkStatusIcon *status_icon,
const gchar *filename);
Создаёт status_icon
отображающий
файл filename
. Подробнее смотрите
gtk_status_icon_new_from_file()
.
|
|
|
Имя файла |
Начиная с версии 2.10
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()
.
|
|
|
Id заготовленного значка |
Начиная с версии 2.10
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()
.
|
|
|
Имя значка |
Начиная с версии 2.10
GtkImageType gtk_status_icon_get_storage_type
(GtkStatusIcon *status_icon);
Получает тип изображения используемый
GtkStatusIcon
для хранения данных изображения. Если
GtkStatusIcon
не имеет данных изображения, возвращаемое
значение будет соответствовать
GTK_IMAGE_EMPTY
.
|
|
Возвращает : |
Используемое изображение |
Начиная с версии 2.10
GdkPixbuf* gtk_status_icon_get_pixbuf (GtkStatusIcon *status_icon);Получает GdkPixbuf отображаемый GtkStatusIcon. Тип хранимого значка состояния должен быть
GTK_IMAGE_EMPTY
илиGTK_IMAGE_PIXBUF
(смотритеgtk_status_icon_get_storage_type()
). Вызывающий эту функцию не владеет ссылкой для возвращаемого изображения (pixbuf).
|
|
Возвращает : |
Отображаемый pixbuf, или |
Начиная с версии 2.10
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 и она не должна изменяться или освобождаться.
|
|
Возвращает : |
id отображаемого заготовленного
значка, или |
Начиная с версии 2.10
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 и она не должна изменяться или освобождаться.
|
|
Возвращает : |
Имя отображаемого значка, или |
Начиная с версии 2.10
gint gtk_status_icon_get_size (GtkStatusIcon *status_icon);Получает размер в пикселах который доступен для изображения. Заготовленные значки и именованные значки адаптируются автоматически если изменяется размер области уведомления. Для других типов хранения, может использоваться сигнал size-changed для реакции на изменение размера.
|
|
Возвращает : |
Размер который доступен для изображения |
Начиная с версии 2.10
void gtk_status_icon_set_tooltip (GtkStatusIcon *status_icon,
const gchar *tooltip_text);
Устанавливает подсказку значка состояния.
|
|
|
Текст подсказки, или |
Начиная с версии 2.10
void gtk_status_icon_set_visible (GtkStatusIcon *status_icon,
gboolean visible);
Показывает или скрывает значок состояния.
|
|
|
Начиная с версии 2.10
gboolean gtk_status_icon_get_visible (GtkStatusIcon *status_icon);Возвращает видим ли значок состояния или нет. Помните что состояние видимости не гарантирует что пользователь реально видит значок, смотрите также
gtk_status_icon_is_embedded()
.
|
|
Возвращает : |
|
Начиная с версии 2.10
void gtk_status_icon_set_blinking (GtkStatusIcon *status_icon,
gboolean blinking);
Включает или выключает мерцание значка состояния. Помните, мерцание элемента пользовательского интерфейса может быть проблематично для некоторых пользователей, поэтому может быть выключено, в этом случае данные установки не будут иметь эффекта.
|
|
|
Начиная с версии 2.10
gboolean gtk_status_icon_get_blinking (GtkStatusIcon *status_icon);Определяет мерцает ли значок, смотрите
gtk_status_icon_set_blinking()
.
|
|
Возвращает : |
|
Начиная с версии 2.10
gboolean gtk_status_icon_is_embedded (GtkStatusIcon *status_icon);Определяет встроен ли значок в область уведомления.
|
|
Возвращает : |
|
Начиная с версии 2.10
void gtk_status_icon_position_menu (GtkMenu *menu,
gint *x,
gint *y,
gboolean *push_in,
gpointer user_data);
Функция позиционирования меню для
использования с gtk_menu_popup()
размещающая menu
выравненным
относительно значка состояния user_data
.
|
|
|
Место для хранения возвращаемого значения x позиции |
|
Место для хранения возвращаемого значения y позиции |
|
Должно ли меню быть полного размера или сжатого. |
|
Значок состояния для позиционирования меню |
Начиная с версии 2.10
gboolean gtk_status_icon_get_geometry (GtkStatusIcon *status_icon,
GdkScreen **screen,
GdkRectangle *area,
GtkOrientation *orientation);
Определяет информацию о расположении
значка состояния на экране. Эта информация
может использоваться например для
позиционирования уведомлений как
всплывающие пузырьки. Смотрите
gtk_status_icon_position_menu()
для более удобного позиционирования
меню.
Помните, некторые платформы не позволяют GTK+ обеспечивать эту информацию.
|
|
|
Место для хранения возвращаемого значения экрана, или NULL если информация не нужна |
|
Место для хранения возвращаемого значения области занятой значком или NULL |
|
Место для хранения возвращаемого значения ориентации панели в которую встроен значок или NULL. Панель может быть сверху, снизу, с право, с лево. |
Возвращает : |
|
Начиная с версии 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 / WriteGdkPixbuf для отображения.
Свойство "
size
""size" gint : ReadРазмер значка.
Допустимые значения : >= 0
Значение по умолчанию : 0
Свойство "
stock
""stock" gchararray : Read / WriteStock 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
Издаётся когда пользователь активирует значок состояния. Способы активизации значка состояния зависят от платформы.
|
Объект получающий сигнал |
|
Данные пользователя устанавливаемые при подключении обработчика сигнала. |
Начиная с версии 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