Spec-Zone.ru › GTK 3.20

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 Run Last

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

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, когда шкала находится в режиме «тонкой настройки».

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

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

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

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

Функции

gtk_scale_new ()

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

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

Параметры

orientation

ориентация шкалы.

adjustment

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

[allow-none][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);

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

Параметры

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 и не должен использоваться в новом коде.

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

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

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

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

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

  “value-spacing”            gint

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

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

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

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

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

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

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

Сигнал “format-value”

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

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

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

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

Параметры

scale

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

value

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

user_data

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

Возвращаемое значение

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

Флаги: Выполнить последним

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

Spec-Zone.ru

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