| 
 | |
|  | 
| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| GtkAccelLabelGtkAccelLabel Метка которая отображает ключ акселератора справа от текста. | 
 | 
#include <gtk/gtk.h>
            GtkAccelLabel;
GtkWidget*  gtk_accel_label_new             (const gchar *string);
void        gtk_accel_label_set_accel_closure
                                            (GtkAccelLabel *accel_label,
                                             GClosure *accel_closure);
GtkWidget*  gtk_accel_label_get_accel_widget
                                            (GtkAccelLabel *accel_label);
void        gtk_accel_label_set_accel_widget
                                            (GtkAccelLabel *accel_label,
                                             GtkWidget *accel_widget);
guint       gtk_accel_label_get_accel_width (GtkAccelLabel *accel_label);
gboolean    gtk_accel_label_refetch         (GtkAccelLabel *accel_label);
  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkMisc
                           +----GtkLabel
                                 +----GtkAccelLabelGtkAccelLabel осуществляет AtkImplementorIface.
"accel-closure" GClosure : Read / Write "accel-widget" GtkWidget : Read / Write
GtkAccelLabel виджет подкласс GtkLabel который также отображает ключ акселератора справа от текста метки, например 'Ctl+S'. Он обычно используется в меню для отображения сочетаний клавиш для быстрого доступа к коммандам.
Отображение акселератора не
устанавливается явно. Вместо этого,
GtkAccelLabel
отображает акселераторы которые были
добавлены к отдельному виджету. Этот
виджет устанавливается вызовом
gtk_accel_label_set_accel_widget().
Например, GtkMenuItem
виджет может добавить акселератор для
издания сигнала "activate" когда нажата
ключевая комбинация 'Ctl+S'. GtkAccelLabel
создаётся и добавляется к GtkMenuItem,
а gtk_accel_label_set_accel_widget()
вызывается с GtkMenuItem в
качестве второго аргумента. GtkAccelLabel
теперь отобразит 'Ctl+S' после метки. 
Помните что создаваемый GtkMenuItem
с помощью gtk_menu_item_new_with_label()
(или одной из подобных функций для
GtkCheckMenuItem и
GtkRadioMenuItem) автоматически
добавляет GtkAccelLabel
к GtkMenuItem и вызывает 
gtk_accel_label_set_accel_widget()
настраивая их для вас. 
 GtkAccelLabel
отображает только акселераторы имеющие
установку GTK_ACCEL_VISIBLE (смотрите
GtkAccelFlags).
 GtkAccelLabel может
отображать множество акселераторов и
даже сообщать имена, хотя почти всегда
используется для отображения только
одного акселератора. 
Пример 1. Создание простого меню с акселератором.
  GtkWidget *save_item;
  GtkAccelGroup *accel_group;
  /* Создаём GtkAccelGroup и добавляем к окну. */
  accel_group = gtk_accel_group_new ();
  gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
  /* Создаём пункты меню используя функцию удобства. */
  save_item = gtk_menu_item_new_with_label ("Save");
  gtk_widget_show (save_item);
  gtk_container_add (GTK_CONTAINER (menu), save_item);
  /* Теперь добавляем акселератор к GtkMenuItem. Помните что с тех пор как мы вызвали
     gtk_menu_item_new_with_label() для создания GtkMenuItem
     GtkAccelLabel автоматически устанавливается для отображения GtkMenuItem
     акселераторов. Нам просто нужно удостовериться в использовании GTK_ACCEL_VISIBLE. */
  gtk_widget_add_accelerator (save_item, "activate", accel_group,
                              GDK_s, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);typedef struct _GtkAccelLabel GtkAccelLabel;
GtkAccelLabel структура содержит только закрытые данные и должна использоваться только функциями приведенными ниже.
GtkWidget* gtk_accel_label_new (const gchar *string);
Создаёт новый GtkAccelLabel.
| 
 | Строка метка. Должна быть не- | 
| Возвращает: | новый GtkAccelLabel. | 
void        gtk_accel_label_set_accel_closure
                                            (GtkAccelLabel *accel_label,
                                             GClosure *accel_closure);
Устанавливает замкнутое выражение
проверяемое этой меткой акселератора.
Замкнутое выражение должно быть
подключено к группе акселератора;
смотрите gtk_accel_group_connect().
| 
 | |
| 
 | Замкнутое выражение контролирующее изменение акселератора. | 
GtkWidget*  gtk_accel_label_get_accel_widget
                                            (GtkAccelLabel *accel_label);
Извлекает виджет контролируемый меткой
акселератора. Смотрите
gtk_accel_label_set_accel_widget().
| 
 | |
| Возвращает: | Объект контролируемый меткой
			акселератора, или  | 
void        gtk_accel_label_set_accel_widget
                                            (GtkAccelLabel *accel_label,
                                             GtkWidget *accel_widget);Устанавливает виджет контролируемый меткой акселератора.
| 
 | |
| 
 | Виджет для контроля. | 
guint gtk_accel_label_get_accel_width (GtkAccelLabel *accel_label);
Возвращает ширину необходимую для отображения ключа акселератора. Это используется в меню для выравнивания всех GtkMenuItem виджетов и не должно быть необходимым для приложений.
| 
 | |
| Возвращает: | Ширину для отображения ключа акселератора. | 
gboolean gtk_accel_label_refetch (GtkAccelLabel *accel_label);
Пере-создаёт строку представляющую клавиши акселератора. В основном это не нужно, так как строка автоматически обновляется когда акселераторы добавляются или удаляются из связанного с ними виджета.
| 
 | |
| Возвращает: | Всегда возвращается  | 
accel-closure""accel-closure" GClosure : Read / Write
Закрытое выражение контролирующее изменение акселератора.
accel-widget""accel-widget" GtkWidget : Read / Write
Виджет контролируемый изменение акселератора.
| Keyboard Accelerators | Установка и использование клавиатурных short-cuts. | 
| Простой способ создания меню. | 
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |