Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy

GtkTooltips

GtkTooltips Добавляет подсказки к вашим виджетам

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

#include <gtk/gtk.h> GtkTooltips; GtkTooltipsData; GtkTooltips* gtk_tooltips_new (void); void gtk_tooltips_enable (GtkTooltips *tooltips); void gtk_tooltips_disable (GtkTooltips *tooltips); void gtk_tooltips_set_delay (GtkTooltips *tooltips, guint delay); void gtk_tooltips_set_tip (GtkTooltips *tooltips, GtkWidget *widget, const gchar *tip_text, const gchar *tip_private); GtkTooltipsData* gtk_tooltips_data_get (GtkWidget *widget); void gtk_tooltips_force_window (GtkTooltips *tooltips); gboolean gtk_tooltips_get_info_from_tip_window (GtkWindow *tip_window, GtkTooltips **tooltips, GtkWidget **current_widget);

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

GObject +----GInitiallyUnowned +----GtkObject +----GtkTooltips

Описание

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

Индивидуальная подсказка принадлежит группе подсказок. Группа создаётся с помощью вызова gtk_tooltips_new(). Каждая подсказка в группе может быть отключена с помощью gtk_tooltips_disable() и включена с помошью gtk_tooltips_enable().

Продолжительность времени фиксации указателя мыши над виджетом, перед появлением подсказки, может изменяться с помощью gtk_tooltips_set_delay(). Это в основном устанавливается 'через группу подсказок'.

Для назначения подсказки для определенного GtkWidget, используйте gtk_tooltips_set_tip().

Примечание

Подсказки могут устанавливаться только для виджетов имеющих собственное окно X и получают события входа и выхода. Для проверки имеет ли виджет собственное окно используйте GTK_WIDGET_NO_WINDOW(). Для добавления подсказки к виджету который не имеет собственного окна, поместите этот виджет в GtkEventBox и добавьте к нему подсказку.

По умолчанию появление подсказок в программе определяется текущемй темой GTK+, которую выбрал пользователь.

Информация о подсказке (если есть) связанной с произвольным виджетом может быть получена используя gtk_tooltips_data_get().

Пример 2. Добавление подсказок к кнопкам.

GtkWidget *load_button, *save_button, *hbox; GtkTooltips *button_bar_tips; button_bar_tips = gtk_tooltips_new (); /* Создаём кнопки и упаковываем их в GtkHBox */ hbox = gtk_hbox_new (TRUE, 2); load_button = gtk_button_new_with_label ("Load a file"); gtk_box_pack_start (GTK_BOX (hbox), load_button, TRUE, TRUE, 2); gtk_widget_show (load_button); save_button = gtk_button_new_with_label ("Save a file"); gtk_box_pack_start (GTK_BOX (hbox), save_button, TRUE, TRUE, 2); gtk_widget_show (save_button); gtk_widget_show (hbox); /* Добавляем подсказки */ gtk_tooltips_set_tip (GTK_TOOLTIPS (button_bar_tips), load_button, "Load a new document into this window", "Requests the filename of a document. This will then be loaded into the current window, replacing the contents of whatever is already loaded."); gtk_tooltips_set_tip (GTK_TOOLTIPS (button_bar_tips), save_button, "Saves the current document to a file", "If you have saved the document previously, then the new version will be saved over the old one. Otherwise, you will be prompted for a filename.");

Детали

GtkTooltips

typedef struct _GtkTooltips GtkTooltips;

Содержит информацию о группе подсказок. Поля должны изменяться специальными функциями.


GtkTooltipsData

typedef struct { GtkTooltips *tooltips; GtkWidget *widget; gchar *tip_text; gchar *tip_private; } GtkTooltipsData;

tooltips это группа GtkTooltips в которую входит данная подсказка. widget это GtkWidget с которым связана данная подсказка. tip_text это строка содержащая непосредственно сообщение подсказки.

tip_private это строка которая не показывается как подсказка по умолчанию. Вместо этого, данное сообщение более информативно и обеспечивает формирование контекстно-зависимой системы помощи вашего приложения. (ПОПРАВЬТЕ МЕНЯ: как фактически "включить" скрытые подсказки?)


gtk_tooltips_new ()

GtkTooltips* gtk_tooltips_new               (void);

Создаёт новую группу подсказок. Эта функция инициализирует GtkTooltips структуру. Не имея ни одной такой структуры вы не сможете добавлять подсказки к вашему приложению.

Возвращает :

Новая GtkTooltips группа для использования.


gtk_tooltips_enable ()

void        gtk_tooltips_enable             (GtkTooltips *tooltips);

Позволяет пользователю увидеть ваши подсказки, поскольку они управляются вашим приложением.

tooltips :

GtkTooltips.


gtk_tooltips_disable ()

void        gtk_tooltips_disable            (GtkTooltips *tooltips);

Делает все подсказки в tooltips неактивными. Любые виджеты имеющие подсказки связанные с этой группой не будут отображать их до тех пор, пока они не будут снова включены с помощью gtk_tooltips_enable().

tooltips :

GtkTooltips.


gtk_tooltips_set_delay ()

void gtk_tooltips_set_delay (GtkTooltips *tooltips, guint delay);

Внимание

gtk_tooltips_set_delay устарела и не должна использоваться во вновь создаваемом коде.

Устанавливает промежуток времени после которого появляется подсказка для виджета.

tooltips :

GtkTooltips.

delay :

Целочисленное значение представляющее миллисекунды.


gtk_tooltips_set_tip ()

void gtk_tooltips_set_tip (GtkTooltips *tooltips, GtkWidget *widget, const gchar *tip_text, const gchar *tip_private);

Добавляет подсказку содержащую сообщение tip_text к определённому виджету GtkWidget.

tooltips :

GtkTooltips.

widget :

GtkWidget с которым вы связываете подсказку.

tip_text :

Строка содержащая непосредственно подсказку.

tip_private :

Строка которая выдаёт дополнительную информацию для пользователя.


gtk_tooltips_data_get ()

GtkTooltipsData* gtk_tooltips_data_get      (GtkWidget *widget);

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

widget :

GtkWidget.

Возвращает :

GtkTooltipsData структура, или NULL если виджет не имеет подсказок.


gtk_tooltips_force_window ()

void        gtk_tooltips_force_window       (GtkTooltips *tooltips);

Гарантирует создание окна которое используется для отображения tooltips.

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

tooltips :

GtkToolTips


gtk_tooltips_get_info_from_tip_window ()

gboolean gtk_tooltips_get_info_from_tip_window (GtkWindow *tip_window, GtkTooltips **tooltips, GtkWidget **current_widget);

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

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

tip_window :

GtkWindow

tooltips :

Место для хранения возвращаемых подсказок которые отображаются в tip_window, или NULL

current_widget :

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

Возвращает :

TRUE если tip_window отображает подсказки, иначе FALSE.

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

Смотрите также

GtkToolbar

Создаёт группы виджетов с собственными подсказками.

GtkTipsQuery

Запрос подсказок для создания контекстно-зависимой помощи.