| |
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;
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 / 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
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
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |