Spec-Zone.ru › GTK 3.22

GtkScale

GtkScale — Виджет ползунка для выбора значения из диапазона

Функции

GtkWidget * gtk_scale_new ()
GtkWidget * gtk_scale_new_with_range ()
void gtk_scale_set_digits ()
void gtk_scale_set_draw_value ()
void gtk_scale_set_has_origin ()
void gtk_scale_set_value_pos ()
gint gtk_scale_get_digits ()
gboolean gtk_scale_get_draw_value ()
gboolean gtk_scale_get_has_origin ()
GtkPositionType gtk_scale_get_value_pos ()
PangoLayout * gtk_scale_get_layout ()
void gtk_scale_get_layout_offsets ()
void gtk_scale_add_mark ()
void gtk_scale_clear_marks ()

Свойства

gint digits Чтение/Запись
gboolean draw-value Чтение/Запись
gboolean has-origin Чтение/Запись
GtkPositionType value-pos Чтение/Запись

Стилизованные свойства

gint slider-length Чтение
gint value-spacing Чтение

Сигналы

gchar* format-value Выполняется последним

Типы и значения

struct GtkScale

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkRange
                ╰── GtkScale
                    ├── GtkHScale
                    ╰── GtkVScale

Реализованные интерфейсы

GtkScale реализует AtkImplementorIface, GtkBuildable и GtkOrientable.

Инклюды

#include <gtk/gtk.h>

Описание

GtkScale — это элемент управления ползунком, используемый для выбора числового значения. Для его использования, вероятно, вам нужно изучить методы его базового класса, GtkRange, помимо методов самого GtkScale. Для установки значения шкалы обычно используется gtk_range_set_value(). Для обнаружения изменений в значении обычно используется сигнал «value-changed».

Обратите внимание, что использование одинаковых верхних и нижних границ для GtkScale (через методы GtkRange) скроет сам ползунок. Это полезно для приложений, которые хотят отобразить неопределённое значение на шкале, не изменяя макет приложения (например, для проигрывателей фильмов или музыки).

GtkScale в качестве GtkBuildable

GtkScale поддерживает пользовательский элемент <marks>, который может содержать несколько элементов <mark>. Атрибуты «value» и «position» имеют то же значение, что и параметры gtk_scale_add_mark() с такими же именами. Если элемент не пуст, его содержимое рассматривается как разметка для отображения на метке. Он может быть переведён с помощью обычных атрибутов «translatable» и «context».

CSS-узлы

GtkScale имеет главный CSS-узел с именем scale и под-узел для его содержимого, с под-узлами trough и slider.

Главный узел получает класс стиля .fine-tune, когда шкала находится в режиме «fine-tuning».

Если шкала имеет начало (см. gtk_scale_set_has_origin()), есть под-узел с именем highlight под узлом trough, который используется для отрисовки выделенной части trough.

Если шкала отображает уровень заполнения (см. gtk_range_set_show_fill_level()), есть под-узел с именем fill под узлом trough, который используется для отрисовки заполненной части trough.

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

Узел маркер имеет под-узел с именем indicator. Если маркер имеет текст, у него также есть под-узел с именем label. Когда маркер находится либо над, либо слева от шкалы, узел label является первым при его наличии. В противном случае, узел indicator является первым.

Главный CSS-узел получает стилизованные классы 'marks-before' и/или 'marks-after', в зависимости от присутствующих меток.

Если шкала отображает значение (см. «draw-value»), есть под-узел с именем value.

Функции

gtk_scale_new ()

GtkWidget *
gtk_scale_new (GtkOrientation orientation,
               GtkAdjustment *adjustment);

Создаёт новый GtkScale.

Параметры

orientation

направление шкалы.

adjustment

GtkAdjustment, задающий диапазон шкалы, или NULL для создания новой настройки.

[nullable]

Возвращает

новый GtkScale

С: 3.0

gtk_scale_new_with_range ()

GtkWidget *
gtk_scale_new_with_range (GtkOrientation orientation,
                          gdouble min,
                          gdouble max,
                          gdouble step);

Создаёт виджет шкалы с заданным направлением, позволяющий пользователю ввести число от min до max (включая min и max ) с шагом step. step должно быть отличным от нуля; это расстояние, на которое движется ползунок при использовании стрелок для изменения значения шкалы.

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

Параметры

orientation

направление шкалы.

min

минимальное значение

max

максимальное значение

step

шаг приращения (размер штриха) при использовании сочетаний клавиш

Возвращает

новый GtkScale

С: 3.0

gtk_scale_set_digits ()

void
gtk_scale_set_digits (GtkScale *scale,
                      gint digits);

Устанавливает количество десятичных знаков, отображаемых в значении. Также вызывает округление значения настройки до этого числа знаков, поэтому полученное значение соответствует тому, что видел пользователь.

Обратите внимание, что округление до небольшого количества знаков может повлиять на плавную автоматическую прокрутку, встроенную в GtkScale. В качестве альтернативы можно использовать сигнал “format-value” для самостоятельного форматирования отображаемого значения.

Параметры

scale

a GtkScale

digits

количество десятичных знаков для отображения, например, используйте 1 для отображения 1.0, 2 для отображения 1.00 и т. д.

gtk_scale_set_draw_value ()

void
gtk_scale_set_draw_value (GtkScale *scale,
                          gboolean draw_value);

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

Параметры

scale

a GtkScale

draw_value

TRUE для отображения значения

gtk_scale_set_has-origin ()

void
gtk_scale_set_has_origin (GtkScale *scale,
                          gboolean has_origin);

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

Параметры

scale

a GtkScale

has_origin

TRUE если шкала имеет начало

С: 3.4

gtk_scale_set_value_pos ()

void
gtk_scale_set_value_pos (GtkScale *scale,
                         GtkPositionType pos);

Устанавливает позицию, на которой отображается текущее значение.

Параметры

scale

a GtkScale

pos

позиция, на которой отображается текущее значение

gtk_scale_get_digits ()

gint
gtk_scale_get_digits (GtkScale *scale);

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

Параметры

scale

a GtkScale

Возвращает

количество десятичных знаков, которые отображаются

gtk_scale_get_draw_value ()

gboolean
gtk_scale_get_draw_value (GtkScale *scale);

Возвращает, отображается ли текущее значение как строка рядом с ползунком.

Параметры

scale

a GtkScale

Возвращает

отображается ли текущее значение как строка

gtk_scale_get_has-origin ()

gboolean
gtk_scale_get_has_origin (GtkScale *scale);

Возвращает, имеет ли шкала начало.

Параметры

scale

a GtkScale

Возвращает

TRUE если шкала имеет начало.

С: 3.4

gtk_scale_get_value_pos ()

GtkPositionType
gtk_scale_get_value_pos (GtkScale *scale);

Возвращает позицию, на которой отображается текущее значение.

Параметры

scale

a GtkScale

Возвращает

позицию, на которой отображается текущее значение

gtk_scale_get_layout ()

PangoLayout *
gtk_scale_get_layout (GtkScale *scale);

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

Параметры

scale

A GtkScale

Возвращает

PangoLayout для данной шкалы или NULL, если свойство “draw-value” равно FALSE.

[transfer none][nullable]

С: 2.4

gtk_scale_get_layout_offsets ()

void
gtk_scale_get_layout_offsets (GtkScale *scale,
                              gint *x,
                              gint *y);

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

Если свойство “draw-value” равно FALSE, значения возвращаемых параметров не определены.

Параметры

scale

a GtkScale

x

место для хранения смещения X макета или NULL.

[out][allow-none]

y

место для хранения смещения Y макета или NULL.

[out][allow-none]

С: 2.4

gtk_scale_add_mark ()

void
gtk_scale_add_mark (GtkScale *scale,
                    gdouble value,
                    GtkPositionType position,
                    const gchar *markup);

Добавляет метку в value .

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

Если markup не NULL, рядом с меткой отображается текст.

Чтобы удалить метки со шкалы, используйте gtk_scale_clear_marks().

Параметры

scale

a GtkScale

value

значение, на котором размещена метка; должно быть между минимальным и максимальным значениями регулировки шкалы

position

местоположение метки. Для горизонтальной шкалы GTK_POS_TOP и GTK_POS_LEFT отображаются над шкалой, а всё остальное — под ней. Для вертикальной шкалы GTK_POS_LEFT и GTK_POS_TOP отображаются слева от шкалы, а всё остальное — справа.

markup

Текст, отображаемый у метки, с использованием Pango разметки, или NULL.

[allow-none]

С: 2.16

gtk_scale_clear_marks ()

void
gtk_scale_clear_marks (GtkScale *scale);

Удаляет все метки, добавленные с помощью gtk_scale_add_mark().

Параметры

scale

a GtkScale

С: 2.16

Типы и значения

struct GtkScale

struct GtkScale;

Подробное описание свойств

Свойство “digits”

  “digits”                   gint

Количество десятичных знаков, отображаемых в значении.

Флаги: Чтение/Запись

Допустимые значения: [-1, 64]

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

Свойство “draw-value”

  “draw-value”               gboolean

Определяет, отображается ли текущее значение как строка рядом со ползунком.

Флаги: Чтение/Запись

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

Свойство “has-origin”

  “has-origin”               gboolean

Наличие начала отсчёта на шкале.

Флаги: Чтение/Запись

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

Свойство “value-pos”

  “value-pos”                GtkPositionType

Положение отображения текущего значения.

Флаги: Чтение/Запись

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

Подробное описание свойств стиля

Свойство стиля “slider-length”

  “slider-length”            gint

Длина ползунка шкалы.

GtkScale:slider-length устарело с версии 3.20 и не должно использоваться в новом коде.

Вместо этого используйте свойства CSS min-height/min-width для элемента ползунка. Значение этого свойства стиля игнорируется.

Флаги: Чтение

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

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

Свойство стиля “value-spacing”

  “value-spacing”            gint

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

GtkScale:value-spacing устарело с версии 3.20 и не должно использоваться в новом коде.

Вместо этого используйте свойства CSS min-height/min-width для элемента значения. Значение этого свойства стиля игнорируется.

Флаги: Чтение

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

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

Подробное описание сигналов

Сигнал “format-value”

gchar*
user_function (GtkScale *scale,
               gdouble   value,
               gpointer  user_data)

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

Вот пример обработчика сигнала, который отображает значение 1.0 как "-->1.0<--".

scale[.fine-tune][.marks-before][.marks-after]
├── marks.top
│   ├── mark
│   ┊    ├── [label]
│   ┊    ╰── indicator
┊   ┊
│   ╰── mark
├── [value]
├── contents
│   ╰── trough
│       ├── slider
│       ├── [highlight]
│       ╰── [fill]
╰── marks.bottom
    ├── mark
    ┊    ├── indicator
    ┊    ╰── [label]
    ╰── mark

Параметры

scale

объект, который получил сигнал

value

значение для форматирования

user_data

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

Возвращает

выделенную строку, представляющую value

Флаги: Run Last

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkScale.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API