The OpenNET Project / Index page

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

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

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Implemented Interfaces  |  Properties  |  Signals

GtkLabel

GtkLabel Виджет отображающий небольшое количество текста

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

#include <gtk/gtk.h>


            GtkLabel;
GtkWidget*  gtk_label_new                   (const gchar *str);
void        gtk_label_set_text              (GtkLabel *label,
                                             const gchar *str);
void        gtk_label_set_attributes        (GtkLabel *label,
                                             PangoAttrList *attrs);
void        gtk_label_set_markup            (GtkLabel *label,
                                             const gchar *str);
void        gtk_label_set_markup_with_mnemonic
                                            (GtkLabel *label,
                                             const gchar *str);
void        gtk_label_set_pattern           (GtkLabel *label,
                                             const gchar *pattern);
void        gtk_label_set_justify           (GtkLabel *label,
                                             GtkJustification jtype);
void        gtk_label_set_ellipsize         (GtkLabel *label,
                                             PangoEllipsizeMode mode);
void        gtk_label_set_width_chars       (GtkLabel *label,
                                             gint n_chars);
void        gtk_label_set_max_width_chars   (GtkLabel *label,
                                             gint n_chars);
void        gtk_label_get                   (GtkLabel *label,
                                             gchar **str);
guint       gtk_label_parse_uline           (GtkLabel *label,
                                             const gchar *string);
void        gtk_label_set_line_wrap         (GtkLabel *label,
                                             gboolean wrap);
void        gtk_label_set_line_wrap_mode    (GtkLabel *label,
                                             PangoWrapMode wrap_mode);
#define     gtk_label_set
void        gtk_label_get_layout_offsets    (GtkLabel *label,
                                             gint *x,
                                             gint *y);
guint       gtk_label_get_mnemonic_keyval   (GtkLabel *label);
gboolean    gtk_label_get_selectable        (GtkLabel *label);
const gchar* gtk_label_get_text             (GtkLabel *label);
GtkWidget*  gtk_label_new_with_mnemonic     (const gchar *str);
void        gtk_label_select_region         (GtkLabel *label,
                                             gint start_offset,
                                             gint end_offset);
void        gtk_label_set_mnemonic_widget   (GtkLabel *label,
                                             GtkWidget *widget);
void        gtk_label_set_selectable        (GtkLabel *label,
                                             gboolean setting);
void        gtk_label_set_text_with_mnemonic
                                            (GtkLabel *label,
                                             const gchar *str);
PangoAttrList* gtk_label_get_attributes     (GtkLabel *label);
GtkJustification gtk_label_get_justify      (GtkLabel *label);
PangoEllipsizeMode gtk_label_get_ellipsize  (GtkLabel *label);
gint        gtk_label_get_width_chars       (GtkLabel *label);
gint        gtk_label_get_max_width_chars   (GtkLabel *label);
const gchar* gtk_label_get_label            (GtkLabel *label);
PangoLayout* gtk_label_get_layout           (GtkLabel *label);
gboolean    gtk_label_get_line_wrap         (GtkLabel *label);
PangoWrapMode gtk_label_get_line_wrap_mode  (GtkLabel *label);
GtkWidget*  gtk_label_get_mnemonic_widget   (GtkLabel *label);
gboolean    gtk_label_get_selection_bounds  (GtkLabel *label,
                                             gint *start,
                                             gint *end);
gboolean    gtk_label_get_use_markup        (GtkLabel *label);
gboolean    gtk_label_get_use_underline     (GtkLabel *label);
gboolean    gtk_label_get_single_line_mode  (GtkLabel *label);
gdouble     gtk_label_get_angle             (GtkLabel *label);
void        gtk_label_set_label             (GtkLabel *label,
                                             const gchar *str);
void        gtk_label_set_use_markup        (GtkLabel *label,
                                             gboolean setting);
void        gtk_label_set_use_underline     (GtkLabel *label,
                                             gboolean setting);
void        gtk_label_set_single_line_mode  (GtkLabel *label,
                                             gboolean single_line_mode);
void        gtk_label_set_angle             (GtkLabel *label,
                                             gdouble angle);

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

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkMisc
                           +----GtkLabel
                                 +----GtkAccelLabel
                                 +----GtkTipsQuery

Осуществляемые интерфейсы

GtkLabel осуществляет AtkImplementorIface.

Свойства

  "angle"                gdouble               : Read / Write
  "attributes"           PangoAttrList         : Read / Write
  "cursor-position"      gint                  : Read
  "ellipsize"            PangoEllipsizeMode    : Read / Write
  "justify"              GtkJustification      : Read / Write
  "label"                gchararray            : Read / Write
  "max-width-chars"      gint                  : Read / Write
  "mnemonic-keyval"      guint                 : Read
  "mnemonic-widget"      GtkWidget             : Read / Write
  "pattern"              gchararray            : Write
  "selectable"           gboolean              : Read / Write
  "selection-bound"      gint                  : Read
  "single-line-mode"     gboolean              : Read / Write
  "use-markup"           gboolean              : Read / Write
  "use-underline"        gboolean              : Read / Write
  "width-chars"          gint                  : Read / Write
  "wrap"                 gboolean              : Read / Write
  "wrap-mode"            PangoWrapMode         : Read / Write

Сигналы

"copy-clipboard"
            void        user_function      (GtkLabel *label,
                                            gpointer  user_data)      : Run last / Action
"move-cursor"
            void        user_function      (GtkLabel        *label,
                                            GtkMovementStep *arg1,
                                            gint             arg2,
                                            gboolean         arg3,
                                            gpointer         user_data)      : Run last / Action
"populate-popup"
            void        user_function      (GtkLabel *label,
                                            GtkMenu  *arg1,
                                            gpointer  user_data)      : Run last

Описание

GtkLabel отображает небольшое количество текста. Как подразумевает название, большинство ярлыков используется для маркировки других виджетов таких как GtkButton, GtkMenuItem, или GtkOptionMenu.

Мнемоники

Ярлыки могут содержать mnemonics. Мнемоники являются подчеркнутыми символами в ярлыках, используемые для обозначения клавиш. Мнемоники создаются, обеспечивая строку с подчеркиванием перед символом мнемоника, таких как "_File", функциями gtk_label_new_with_mnemonic() или gtk_label_set_text_with_mnemonic().

Мнемоники автоматически активизируются любым активизируемым виджетом с ярлыком, таким как GtkButton; если ярлык внутри виджета не имеет мнемонической цели, вы можете сообщить ярлыку об этой цели используя gtk_label_set_mnemonic_widget(). Вот небольшой пример ярлыка внутри кнопки:

  /* Нажатие клавиш Alt+H активизирует эту кнопку */
  button = gtk_button_new ();
  label = gtk_label_new_with_mnemonic ("_Hello");
  gtk_container_add (GTK_CONTAINER (button), label);

Вот удобная функция создания кнопки сразу с мнемоническим ярлыком внутри:

  /* Нажатие клавиш Alt+H активизирует эту кнопку */
  button = gtk_button_new_with_mnemonic ("_Hello");

Для создания мнемоника рядом с ярлыком виджета, такого как GtkEntry, вы можете установить ярлык ввода с помощью gtk_label_set_mnemonic_widget():

  /* Нажатие Alt+H сфокусирует поле ввода */
  entry = gtk_entry_new ();
  label = gtk_label_new_with_mnemonic ("_Hello");
  gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);

Разметка (стилизованный текст)

Для создания форматированного текста внутри ярлыка (изменяемый цвет, шрифт, и т.д..), текст ярлыка можно обеспечить в простом markup format. Вот так можно создать ярлык с маленьким шрифтом:

  label = gtk_label_new (NULL);
  gtk_label_set_markup (GTK_LABEL (label), "<small>Small text</small>");

(Смотрите полную документацию доступных тэгов в Pango руководстве.)

Разметка помещаемая в gtk_label_set_markup() должна быть допустимой; например, </>/& символы должны быть управляющей последовательностью как <, >, и &. Если вы помещаете текст полученный от пользователя, из файла, или сети в gtk_label_set_markup(), вам необходимо создать управляющую последовательность для него с помощью g_markup_escape_text() или g_markup_printf_escaped().

Разметка строки простой способ установить PangoAttrList на ярлык; gtk_label_set_attributes() может быть более простым способом установки атрибутов в некоторых случаях. Хотя будьте осторожны; PangoAttrList имеет тенденцию вызывать проблемы интернационализации, если вы не применяете атрибуты ко всей строке (то есть если вы установили диапазон каждого атрибута в [0, G_MAXINT)). Аргументы которые определяют start_index и end_index для PangoAttribute требуют отображения точной строки, поэтому при переводе могут возникнуть проблемы.


Выделяемые ярлыки

Ярлыки могут быть сделаны выделяемыми с помощью gtk_label_set_selectable(). Выделяемые ярлыки позволяют пользователю копировать своё содержимое в буфер. Только ярлыки содержащие информацию полезную для копирования такие как сообщения об ошибках (error messages) должны быть выделяемыми.


Выравнивание текста

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

Ярлык может автоматически упаковать текст если вы вызовите gtk_label_set_line_wrap().

gtk_label_set_justify() устанавливает как линии текста выравниваются относительно друг друга. Если вы хотите установить как ярлык в целом выравнивается в доступном пространстве, смотрите gtk_misc_set_alignment().

Детали

GtkLabel

typedef struct _GtkLabel GtkLabel;

К этой структуре нет непосредственного доступа. Для доступа к ней используйте функции приведенные ниже.


gtk_label_new ()

GtkWidget*  gtk_label_new                   (const gchar *str);

Создаёт новый ярлык с данным текстом внутри. Вы можете поместить NULL для получения пустого ярлыка.

str :

Текст ярлыка

Возвращает :

новый GtkLabel


gtk_label_set_text ()

void        gtk_label_set_text              (GtkLabel *label,
                                             const gchar *str);

Устанавливает текст внутри GtkLabel виджета. Перезаписывает текст установленный ранее.

Это также очистит любые предварительно установленные мнемонические акселераторы.

label :

GtkLabel

str :

Текст который вы хотите установить.


gtk_label_set_attributes ()

void        gtk_label_set_attributes        (GtkLabel *label,
                                             PangoAttrList *attrs);

Устанавливает PangoAttrList; атрибуты в списке применяются к тексту ярлыка. Атрибуты установленные с помощью этой функции будут игнорироваться если свойство "use_underline" или свойство "use_markup" равны TRUE.

label :

GtkLabel

attrs :

PangoAttrList


gtk_label_set_markup ()

void        gtk_label_set_markup            (GtkLabel *label,
                                             const gchar *str);

Анализирует str которая размечена с помощью Pango text markup language, устанавливает текст ярлыков и список атрибутов основываясь на результате анализа. Если str внешние данные, вам нужно для них использовать g_markup_escape_text() или g_markup_printf_escaped():

char *markup;

markup = g_markup_printf_escaped ("<span style=\"italic\">%s</span>", str);
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);

label :

GtkLabel

str :

размеченная строка (смотрите Pango markup format)


gtk_label_set_markup_with_mnemonic ()

void        gtk_label_set_markup_with_mnemonic
                                            (GtkLabel *label,
                                             const gchar *str);

Анализирует str которая размечена с помощью Pango text markup language, устанавливает текст ярлыков и список атрибутов основываясь на результате анализа. Если символам в str предшествует подчеркивание, оно указывает клавиатурный акселератор называемый мнемоником.

Мнемоник может использоваться для активации другого виджета, выбранный автоматически, или явно использующий gtk_label_set_mnemonic_widget().

label :

GtkLabel

str :

Размеченная строка (смотрите Pango markup format)


gtk_label_set_pattern ()

void        gtk_label_set_pattern           (GtkLabel *label,
                                             const gchar *pattern);

Шаблон подчеркивания существующего текста внутри GtkLabel виджета. Например если текущий текст ярлыка скажем "FooBarBaz" помещённый шаблон "___ ___" подчеркнет "Foo" и "Baz" но не "Bar".

label :

GtkLabel для которого вы хотите установить шаблон.

pattern :

Шаблон как описано выше.


gtk_label_set_justify ()

void        gtk_label_set_justify           (GtkLabel *label,
                                             GtkJustification jtype);

Устанавливает выравнивание линий внутри ярлыка относительно друг друга. GTK_JUSTIFY_LEFT значение по умолчанию когда виджет впервые создаётся с помощью gtk_label_new(). Если вы хотите установить выравнивание ярлыка в целом, используйте gtk_misc_set_alignment(). gtk_label_set_justify() не имеет эффекта на ярлыки содержащие только одну линию.

label :

GtkLabel

jtype :

GtkJustification


gtk_label_set_ellipsize ()

void        gtk_label_set_ellipsize         (GtkLabel *label,
                                             PangoEllipsizeMode mode);

Устанавливает режим используемый для заполнения (ellipsize) (добавляет заполнение: "...") текста если для строки не достаточно свободного пространства.

label :

GtkLabel

mode :

PangoEllipsizeMode

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


gtk_label_set_width_chars ()

void        gtk_label_set_width_chars       (GtkLabel *label,
                                             gint n_chars);

Устанавливает желательную ширину в символах для label равную n_chars.

label :

GtkLabel

n_chars :

Новая желательная ширина в символах.

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


gtk_label_set_max_width_chars ()

void        gtk_label_set_max_width_chars   (GtkLabel *label,
                                             gint n_chars);

Устанавливает желательную максимальную ширину в символах для label равную n_chars.

label :

GtkLabel

n_chars :

Новая максимальная ширина в символах.

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


gtk_label_get ()

void        gtk_label_get                   (GtkLabel *label,
                                             gchar **str);

Внимание

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

Выдает текущий текст внутри GtkLabel и записывает его в полученную как аргумент str строку. Она не создаёт копию этой строки поэтому вы не должны ее записывать.

label :

GtkLabel из которого вы хотите получить текст.

str :

Указатель на точку куда вы хотите поместить текст.


gtk_label_parse_uline ()

guint       gtk_label_parse_uline           (GtkLabel *label,
                                             const gchar *string);

Внимание

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

Анализирует полученную строку для подчеркивания и преобразует следующие символы в подчеркнутые. Эта функция используется только внутри библиотеки Gtk+ для пунктов меню и подобного.

label :

GtkLabel который вы хотите проанализировать.

string :

Строка которую вы хотите проанализировать.

Возвращает :

Строчную букву последнего подчеркнутого символа.


gtk_label_set_line_wrap ()

void        gtk_label_set_line_wrap         (GtkLabel *label,
                                             gboolean wrap);

Переключает оболочку линий в пределах GtkLabel виджета. TRUE заставляет нарушать линии если текст превышает размер виджета. FALSE позволяет виджету обрезать текст когда он превышает его размер.

Помните установка оболочки линий равной TRUE не создаёт оболочку линий шириной родительского контейнера, потому что GTK+ виджеты концептуально не создают запрос зависящий от размера родительского контейнера. Для ярлыка который создаёт оболочку в определённом положении, установите ширину используя gtk_widget_set_size_request().

label :

GtkLabel

wrap :

установки


gtk_label_set_line_wrap_mode ()

void        gtk_label_set_line_wrap_mode    (GtkLabel *label,
                                             PangoWrapMode wrap_mode);

Если оболочка линий включена (смотрите gtk_label_set_line_wrap()) эта функция помогает управлять режимами оболочки. По умолчанию PANGO_WRAP_WORD означающая оболочку по границам слова.

label :

GtkLabel

wrap_mode :

Режим оболочки линий

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


gtk_label_set

#define  gtk_label_set           gtk_label_set_text

Внимание

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

Аналог gtk_label_set_text(). Используется только для совместимости с Gtk+ 1.0.x.


gtk_label_get_layout_offsets ()

void        gtk_label_get_layout_offsets    (GtkLabel *label,
                                             gint *x,
                                             gint *y);

Получает координаты расположения текста в ярлыке представленного с помощью PangoLayout; полезно для преобразования событий мышки в координаты внутри PangoLayout, например для получения некоторых действий если некоторая часть ярлыка нажата (clicked). Естественно вам нужно создать GtkEventBox для получения событий и упаковать в него ярлык, поскольку ярлыки являются виджетами без окна GTK_NO_WINDOW. Помните, когда вы используете PangoLayout функции вам нужно преобразовывать из и в pixels используя PANGO_PIXELS() или PANGO_SCALE.

label :

GtkLabel

x :

X координаты выравнивания, или NULL

y :

Y координаты выравнивания, или NULL


gtk_label_get_mnemonic_keyval ()

guint       gtk_label_get_mnemonic_keyval   (GtkLabel *label);

Если ярлык имеет установленный мнемоник эта функция возвращает значение клавиш мнемонического акселератора. Если нет установленного мнемоника то возвращается GDK_VoidSymbol.

label :

GtkLabel

Возвращает :

GDK значение клавиш для акселератора, или GDK_VoidSymbol


gtk_label_get_selectable ()

gboolean    gtk_label_get_selectable        (GtkLabel *label);

Выдаёт значение установленное с помощью gtk_label_set_selectable().

label :

GtkLabel

Возвращает :

TRUE если пользователь может копировать текст из ярлыка


gtk_label_get_text ()

const gchar* gtk_label_get_text             (GtkLabel *label);

Выдаёт текст из ярлыка, как отображаемый на экране. Он не будет содержать подчеркиваний указывающих на мнемоник или Pango разметку. (Смотрите gtk_label_get_label())

label :

GtkLabel

Возвращает :

Текст в ярлыке. Это внутренняя строка используемая ярлыком и она не должна модифицироваться.


gtk_label_new_with_mnemonic ()

GtkWidget*  gtk_label_new_with_mnemonic     (const gchar *str);

Создаёт новый GtkLabel, содержащий текст в str.

Если символам в str предшествует подчеркивание, она будет подчеркнутой. Если вам нужен символ подчеркивания в ярлыке, используйте '__' (двойное подчеркивание). Первый символ подчёркивания представляет клавиатурный акселератор называемый мнемоник. Мнемоник может использоваться для активации другого виджета, выбранный автоматически, или явно использующий gtk_label_set_mnemonic_widget().

Если gtk_label_set_mnemonic_widget() не вызвана, то когда первый доступный для активации предок GtkLabel будет выбран как мнемонический виджет. Например, если ярлык находится внутри кнопки или пункта меню, кнопка или пункт меню будут автоматически становиться мнемоническими виджетами и будут активироваться мнемоником.

str :

Текст ярлыка, с подчёркиванием перед мнемоническим символом

Возвращает :

новый GtkLabel


gtk_label_select_region ()

void        gtk_label_select_region         (GtkLabel *label,
                                             gint start_offset,
                                             gint end_offset);

Выделяет диапазон символов в ярлыке, если ярлык доступен для выделения. Смотрите gtk_label_set_selectable(). Если ярлык не доступен для выделения, эта функция не имеет эфекта. Если start_offset или end_offset равно -1, то конец ярлыка будет заменен.

label :

GtkLabel

start_offset :

Начало замещения (в символах не в байтах)

end_offset :

Конец замещения (в символах не в байтах)


gtk_label_set_mnemonic_widget ()

void        gtk_label_set_mnemonic_widget   (GtkLabel *label,
                                             GtkWidget *widget);

Если ярлык имеет установленный мнемоник (используя например gtk_label_set_markup_with_mnemonic(), gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic() или свойство "use_underline") он может быть связан с виджетом который является целью мнемоника. Когда ярлык внутри виджета (например GtkButton или GtkNotebook вкладок) он автоматически связан с текущим виджетом, но иногда (например когда цель GtkEntry рядом с ярлыком) вам нужно установить явное использование этой функции.

Целевой виджет будет иметь акселератор издающий сигнал "mnemonic_activate". По умолчанию обработчик этого сигнала будет активировать виджет если нет никаких мнемонических коллизий, иначе переключит фокус между конфликтующими виджетами.

label :

GtkLabel

widget :

целевой GtkWidget


gtk_label_set_selectable ()

void        gtk_label_set_selectable        (GtkLabel *label,
                                             gboolean setting);

Позволяет пользователю копировать текст из ярлыка, для процесса copy-and-paste.

label :

GtkLabel

setting :

TRUE для разрешения выделения текста ярлыка


gtk_label_set_text_with_mnemonic ()

void        gtk_label_set_text_with_mnemonic
                                            (GtkLabel *label,
                                             const gchar *str);

Устанавливает текст ярлыка из строки str. Если символам в str предшествует подчеркивание, они подчеркиваются сообщая что они представляют акселератор клавиатуры называемый мнемоник. Мнемоник может использоваться для активации другого виджета, выбранный автоматически, или явно использующий gtk_label_set_mnemonic_widget().

label :

GtkLabel

str :

строка


gtk_label_get_attributes ()

PangoAttrList* gtk_label_get_attributes     (GtkLabel *label);

Выдаёт список атрибутов которые установлены на ярлыке с использованием gtk_label_set_attributes(), если есть. Эта функция не отбирает атрибуты из размеченных ярлыков (смотрите gtk_label_set_markup()). Если вам нужно получить эффективные атрибуты для ярлыка, используйте pango_layout_get_attribute (gtk_label_get_layout (label)).

label :

GtkLabel

Возвращает :

Список атрибутов, или NULL если не установлены.


gtk_label_get_justify ()

GtkJustification gtk_label_get_justify      (GtkLabel *label);

Возвращает выравнивание ярлыка. Смотрите gtk_label_set_justify().

label :

GtkLabel

Возвращает :

GtkJustification


gtk_label_get_ellipsize ()

PangoEllipsizeMode gtk_label_get_ellipsize  (GtkLabel *label);

Возвращает возможность заполнения ярлыка. Смотрите gtk_label_set_ellipsize().

label :

GtkLabel

Возвращает :

PangoEllipsizeMode

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


gtk_label_get_width_chars ()

gint        gtk_label_get_width_chars       (GtkLabel *label);

Находит желательную ширину label, в символах. Смотрите gtk_label_set_width_chars().

label :

GtkLabel

Возвращает :

Ширина ярлыка в символах.

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


gtk_label_get_max_width_chars ()

gint        gtk_label_get_max_width_chars   (GtkLabel *label);

Находит желательный максимум ширины label, в символах. Смотрите gtk_label_set_width_chars().

label :

GtkLabel

Возвращает :

Максимальная ширина ярлыка в символах.

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


gtk_label_get_label ()

const gchar* gtk_label_get_label            (GtkLabel *label);

Возвращает текст ярлыка включая любой вложенный индикатор мнемоника и Pango разметку. (Смотрите gtk_label_get_text()).

label :

GtkLabel

Возвращает :

Текст ярлыка. Этой строкой владеет виджет и она не должна модифицироваться или освобождаться.


gtk_label_get_layout ()

PangoLayout* gtk_label_get_layout           (GtkLabel *label);

Выдаёт PangoLayout используемый для отображения ярлыка. Выравнивание полезно например для конвертации текстовой позиции в pixel позицию, в комбинации с gtk_label_get_layout_offsets(). Возвращаемым выравниванием владеет ярлык и его не нужно освобождать.

label :

GtkLabel

Возвращает :

PangoLayout для этого ярлыка


gtk_label_get_line_wrap ()

gboolean    gtk_label_get_line_wrap         (GtkLabel *label);

Возвращает включена ли автоматическая оболочка для линий ярлыка. Смотрите gtk_label_set_line_wrap().

label :

GtkLabel

Возвращает :

TRUE если линии ярлыка автоматически в оболочке.


gtk_label_get_line_wrap_mode ()

PangoWrapMode gtk_label_get_line_wrap_mode  (GtkLabel *label);

Возвращает используемый режим для оболочки линий ярлыка. Смотрите gtk_label_set_line_wrap_mode().

label :

GtkLabel

Возвращает :

TRUE если линии ярлыка автоматически в оболочке.

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


gtk_label_get_mnemonic_widget ()

GtkWidget*  gtk_label_get_mnemonic_widget   (GtkLabel *label);

Определяет цель мнемоника (клавиатурное сокращение) для этого ярлыка. Смотрите gtk_label_set_mnemonic_widget().

label :

GtkLabel

Возвращает :

Цель мнемоника ярлыка, или NULL если нет установленных и используется алгоритм по умолчанию.


gtk_label_get_selection_bounds ()

gboolean    gtk_label_get_selection_bounds  (GtkLabel *label,
                                             gint *start,
                                             gint *end);

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

label :

GtkLabel

start :

Место для хранения возвращаемого значения начала выделения, как смещение в символах.

end :

Место для хранения возвращаемого значения конца выделения, как смещение в символах.

Возвращает :

TRUE если выделение не пустое


gtk_label_get_use_markup ()

gboolean    gtk_label_get_use_markup        (GtkLabel *label);

Возвращает нужно ли интерпретировать текст как размеченный с помощью Pango text markup language. Смотрите gtk_label_set_use_markup().

label :

GtkLabel

Возвращает :

TRUE если текст должен анализироваться как размеченный.


gtk_label_get_use_underline ()

gboolean    gtk_label_get_use_underline     (GtkLabel *label);

Возвращает указывает ли подчеркивание в ярлыке на мнемоник. Смотрите gtk_label_set_use_underline().

label :

GtkLabel

Возвращает :

TRUE если встроенное подчеркивание указывает на мнемонический акселератор.


gtk_label_get_single_line_mode ()

gboolean    gtk_label_get_single_line_mode  (GtkLabel *label);

Возвращает находится ли ярлык в режиме одиночной линии.

label :

GtkLabel

Возвращает :

TRUE когда ярлык в режиме одиночной линии.

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


gtk_label_get_angle ()

gdouble     gtk_label_get_angle             (GtkLabel *label);

Выдаёт угол поворота ярлыка. Смотрите gtk_label_set_angle.

label :

GtkLabel

Возвращает :

Угол поворота для ярлыка

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


gtk_label_set_label ()

void        gtk_label_set_label             (GtkLabel *label,
                                             const gchar *str);

Устанавливает текст ярлыка. Ярлык интерпретируется как включающий подчеркивание и/или Pango разметку зависимости от значений label->use_underline и label->use_markup.

label :

GtkLabel

str :

Новый текст установленный для ярлыка


gtk_label_set_use_markup ()

void        gtk_label_set_use_markup        (GtkLabel *label,
                                             gboolean setting);

Устанавливает должен ли текст ярлыка содержать разметку в Pango's text markup language. Смотрите gtk_label_set_markup().

label :

GtkLabel

setting :

TRUE если текст должен быть проанализирован как разметка.


gtk_label_set_use_underline ()

void        gtk_label_set_use_underline     (GtkLabel *label,
                                             gboolean setting);

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

label :

GtkLabel

setting :

TRUE если подчеркивание указывает на мнемоник


gtk_label_set_single_line_mode ()

void        gtk_label_set_single_line_mode  (GtkLabel *label,
                                             gboolean single_line_mode);

Устанавливает должен ли ярлык находится в режиме одиночной линии.

label :

GtkLabel

single_line_mode :

TRUE если ярлык должен быть в режиме одиночной линии

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


gtk_label_set_angle ()

void        gtk_label_set_angle             (GtkLabel *label,
                                             gdouble angle);

Устанавливает угол поворота для ярлыка. Угол 90 читается как снизу в верх, угол 270, сверху в низ. Установки угла для ярлыка игнорируются если ярлык выделяемый, в оболочке, или заполняемый.

label :

GtkLabel

angle :

Угол основной линии в градусах по часовой стрелке

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

Детали свойств

Свойство "angle"

  "angle"                gdouble               : Read / Write

Угол основной линии ярлыка в градусах по часовой стрелке. Угол 90 читается снизу в верх, угол 270, с верху в низ. Игнорируется если ярлык выделяем, в оболочке, или заполняемый (ellipsized).

Допустимые значения: [0,360]

Значение по умолчанию: 0

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


Свойство "attributes"

  "attributes"           PangoAttrList         : Read / Write

Список атрибутов стиля применяемых к тексту ярлыка.


Свойство "cursor-position"

  "cursor-position"      gint                  : Read

Текущая позиция вставки курсора в символах.

Допустимые значения: >= 0

Значение по умолчанию: 0


Свойство "ellipsize"

  "ellipsize"            PangoEllipsizeMode    : Read / Write

Дополнение для заполняемой строки, если ярлык не имеет достаточного пространства для всей строки, обуславливается PangoEllisizeMode.

Помните что установка этого свойства в значение отличающееся от PANGO_ELLIPSIZE_NONE имеет побочный эффект, ярлык запрашивает достаточное пространство только для отображения "...". В частности это означает что заполняемые ярлыки не работают на вкладках, если свойство вкладки ::tab-expand установлено в TRUE. Другой способ установить ширину ярлыка gtk_widget_set_size_request() и gtk_label_set_width_chars().

Значение по умолчанию: PANGO_ELLIPSIZE_NONE

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


Свойство "justify"

  "justify"              GtkJustification      : Read / Write

Выравнивание линий текста ярлыка относительно друг друга. Это не касается выравнивания ярлыка в пределах его размещения. Смотрите GtkMisc::xalign для этого.

Значение по умолчанию: GTK_JUSTIFY_LEFT


Свойство "label"

  "label"                gchararray            : Read / Write

Текст ярлыка.

Значение по умолчанию: NULL


Свойство "max-width-chars"

  "max-width-chars"      gint                  : Read / Write

Желаемый максимум ширины ярлыка, в символах. Если это свойство установлено в -1, ширина расчитывается автоматически, иначе ярлык запрашивает пространство не большее чем требуемое число символов. Если свойство width-chars установлено в положительное значение, то когда свойство max-width-chars игнорируется.

Допустимые значения: >= -1

Значение по умолчанию: -1

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


Свойство "mnemonic-keyval"

  "mnemonic-keyval"      guint                 : Read

Мнемонический акселератор для данного ярлыка.

Значение по умолчанию: 16777215


Свойство "mnemonic-widget"

  "mnemonic-widget"      GtkWidget             : Read / Write

Виджет активируемый при нажатии клавиш мнемоника соответствующих ярлыку.


Свойство "pattern"

  "pattern"              gchararray            : Write

Строка символов подчеркивания _ в позициях сообщающих о подчеркнутом тексте.

Значение по умолчанию: NULL


Свойство "selectable"

  "selectable"           gboolean              : Read / Write

Может ли ярлык выделяться мышью.

Значение по умолчанию: FALSE


Свойство "selection-bound"

  "selection-bound"      gint                  : Read

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

Допустимые значения: >= 0

Значение по умолчанию: 0


Свойство "single-line-mode"

  "single-line-mode"     gboolean              : Read / Write

Находится ли ярлык в режиме единственной линии. В режиме единственной линии, высота ярлыка не зависит от фактического текста, она всегда установлена в подъём+падение (ascent + descent) шрифта. Это может быть преимуществом в ситуациях когда изменение высоты ярлыка недопустимо, например панель состояния (statusbar).

Значение по умолчанию: FALSE

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


Свойство "use-markup"

  "use-markup"           gboolean              : Read / Write

Текст ярлыка включающий XML разметку. Смотрите pango_parse_markup().

Значение по умолчанию: FALSE


Свойство "use-underline"

  "use-underline"        gboolean              : Read / Write

Если установлено, подчеркивание в ярлыке указывает на то что следующий за ним символ должен использоваться как мнемоник.

Значение по умолчанию: FALSE


Свойство "width-chars"

  "width-chars"          gint                  : Read / Write

Желаемая ширина ярлыка, в символах. Если это свойство установлено равным -1, ширина будет рассчитана автоматически, иначе ярлык запросит или 3 символа или значение свойства, смотря что больше. Если свойство width-chars установлено в положительное значение, свойство max-width-chars игнорируется.

Допустимые значения: >= -1

Значение по умолчанию: -1

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


Свойство "wrap"

  "wrap"                 gboolean              : Read / Write

Если установлено, линии помещаются в оболочку если текст становится слишком широким.

Значение по умолчанию: FALSE


Свойство "wrap-mode"

  "wrap-mode"            PangoWrapMode         : Read / Write

Если оболочка линий включена (смотрите свойство оболочки) это свойство контролирует как оболочка выполняется. По умолчанию PANGO_WRAP_WORD что означает размещение в оболочке по границе слова.

Значение по умолчанию: PANGO_WRAP_WORD

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

Детали сигналов

Сигнал "copy-clipboard"

void        user_function                  (GtkLabel *label,
                                            gpointer  user_data)      : Run last / Action

label :

Объект получающий сигнал.

user_data :

Пользовательские данные устанавливаемые при подключении обработчика.


Сигнал "move-cursor"

void        user_function                  (GtkLabel        *label,
                                            GtkMovementStep *arg1,
                                            gint             arg2,
                                            gboolean         arg3,
                                            gpointer         user_data)      : Run last / Action

label :

Объект получающий сигнал.

arg1 :

arg2 :

arg3 :

user_data :

Пользовательские данные устанавливаемые при подключении обработчика.


Сигнал "populate-popup"

void        user_function                  (GtkLabel *label,
                                            GtkMenu  *arg1,
                                            gpointer  user_data)      : Run last

label :

Объект получающий сигнал.

arg1 :

user_data :

Пользовательские данные устанавливаемые при подключении обработчика.






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

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