| |
GTK+ Reference Manual |
||||
---|---|---|---|---|
GtkTooltipsGtkTooltips Добавляет подсказки к вашим виджетам |
#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.");
typedef struct _GtkTooltips GtkTooltips;
Содержит информацию о группе подсказок. Поля должны изменяться специальными функциями.
typedef struct {
GtkTooltips *tooltips;
GtkWidget *widget;
gchar *tip_text;
gchar *tip_private;
} GtkTooltipsData;
tooltips
это группа GtkTooltips
в которую входит данная подсказка.
widget
это GtkWidget
с которым связана данная подсказка.
tip_text
это строка содержащая
непосредственно сообщение подсказки.
tip_private
это строка которая
не показывается как подсказка по
умолчанию. Вместо этого, данное сообщение
более информативно и обеспечивает
формирование контекстно-зависимой
системы помощи вашего приложения.
(ПОПРАВЬТЕ МЕНЯ: как фактически "включить"
скрытые подсказки?)
GtkTooltips* gtk_tooltips_new (void);
Создаёт новую группу подсказок. Эта функция инициализирует GtkTooltips структуру. Не имея ни одной такой структуры вы не сможете добавлять подсказки к вашему приложению.
Возвращает : |
Новая GtkTooltips группа для использования. |
void gtk_tooltips_enable (GtkTooltips *tooltips);
Позволяет пользователю увидеть ваши подсказки, поскольку они управляются вашим приложением.
|
void gtk_tooltips_disable (GtkTooltips *tooltips);
Делает все подсказки в tooltips
неактивными. Любые виджеты имеющие
подсказки связанные с этой группой не
будут отображать их до тех пор, пока они
не будут снова включены с помощью
gtk_tooltips_enable()
.
|
void gtk_tooltips_set_delay (GtkTooltips *tooltips, guint delay);
gtk_tooltips_set_delay
устарела и не должна использоваться во
вновь создаваемом коде.
Устанавливает промежуток времени после которого появляется подсказка для виджета.
|
|
|
Целочисленное значение представляющее миллисекунды. |
void gtk_tooltips_set_tip (GtkTooltips *tooltips, GtkWidget *widget, const gchar *tip_text, const gchar *tip_private);
Добавляет подсказку содержащую сообщение
tip_text
к определённому виджету
GtkWidget.
|
|
|
GtkWidget с которым вы связываете подсказку. |
|
Строка содержащая непосредственно подсказку. |
|
Строка которая выдаёт дополнительную информацию для пользователя. |
GtkTooltipsData* gtk_tooltips_data_get (GtkWidget *widget);
Определяет любую GtkTooltipsData предварительно связанную с полученным виджетом.
|
|
Возвращает : |
GtkTooltipsData структура,
или |
void gtk_tooltips_force_window (GtkTooltips *tooltips);
Гарантирует создание окна которое
используется для отображения tooltips
.
Приложение никогда не должно вызывать эту функцию, так как GTK+ заботится об этом.
|
GtkToolTips |
gboolean gtk_tooltips_get_info_from_tip_window (GtkWindow *tip_window, GtkTooltips **tooltips, GtkWidget **current_widget);
Определяет подсказки и связанные с ними виджеты, используя окно в котором они отображаются.
Эта функция главным образом для технологии доступности; приложения мало используют это.
|
|
|
Место для хранения возвращаемых
подсказок которые отображаются в
|
|
Место для хранения возвращаемого
виджета для которого отображается
подсказка, или |
Возвращает : |
Начиная с версии 2.4
Создаёт группы виджетов с собственными подсказками. |
|
Запрос подсказок для создания контекстно-зависимой помощи. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |