The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру