Spec-Zone.ru › GTK 3.24

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 ()

Свойства

int разряды Чтение/Запись
gboolean отображение-значения Чтение/Запись
gboolean наличие-начала Чтение/Запись
GtkPositionType положение-значения Чтение/Запись

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

int длина-ползунка Чтение
int расстояние-значения Чтение

Сигналы

char* форматирование-значения Выполнение последним

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

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. Узлы mark получают класс стиля .top или .bottom.

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

Основной CSS-узел получает классы стиля ‘marks-before’ и/или ‘marks-after’ в зависимости от наличия меток.

Если шкала отображает значение (см. “отображение-значения”), есть подчинённый узел с именем 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);

Устанавливает количество десятичных знаков, отображаемых в значении. Также приводит к округлению значения регулировки до этого количества цифр, так что полученное значение соответствует отображаемому, если “draw-value” равно TRUE при изменении значения. Если вы хотите принудительно округлить значение, когда “draw-value” равно FALSE, вы можете установить “round-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”                   int

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

Владелец: GtkScale

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

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

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

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

  “draw-value”               gboolean

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

Владелец: GtkScale

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

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

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

  “has-origin”               gboolean

Имеет ли шкала начало координат.

Владелец: GtkScale

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

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

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

  “value-pos”                GtkPositionType

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

Владелец: GtkScale

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

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

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

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

  “slider-length”            int

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

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

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

Владелец: GtkScale

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

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

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

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

  “value-spacing”            int

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

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

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

Владелец: GtkScale

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

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

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

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

Сигнал “format-value”

char*
user_function (GtkScale *scale,
               double    value,
               gpointer  user_data)

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

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

Вот пример обработчика сигнала, который отображает значение 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.24/GtkScale.html

Spec-Zone.ru

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