The OpenNET Project / Index page

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

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

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

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






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

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