Spec-Zone.ru › GTK 4.0

GtkLevelBar

GtkLevelBar — Указатель уровня

Функции

GtkWidget * gtk_level_bar_new ()
GtkWidget * gtk_level_bar_new_for_interval ()
void gtk_level_bar_set_mode ()
GtkLevelBarMode gtk_level_bar_get_mode ()
void gtk_level_bar_set_value ()
double gtk_level_bar_get_value ()
void gtk_level_bar_set_min_value ()
double gtk_level_bar_get_min_value ()
void gtk_level_bar_set_max_value ()
double gtk_level_bar_get_max_value ()
void gtk_level_bar_set_inverted ()
gboolean gtk_level_bar_get_inverted ()
void gtk_level_bar_add_offset_value ()
void gtk_level_bar_remove_offset_value ()
gboolean gtk_level_bar_get_offset_value ()

Свойства

gboolean inverted Чтение / Запись
double max-value Чтение / Запись
double min-value Чтение / Запись
GtkLevelBarMode mode Чтение / Запись
double value Чтение / Запись

Сигналы

void offset-changed Содержит подробности

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

#define GTK_LEVEL_BAR_OFFSET_LOW
#define GTK_LEVEL_BAR_OFFSET_HIGH
#define GTK_LEVEL_BAR_OFFSET_FULL
enum GtkLevelBarMode
GtkLevelBar

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkLevelBar

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

GtkLevelBar реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и GtkOrientable.

Включаемые файлы

#include <gtk/gtk.h>

Описание

Виджет GtkLevelBar предназначен для отображения уровня. Типичные сценарии использования — показ силы пароля или уровня заряда батареи.

Используйте gtk_level_bar_set_value() для установки текущего значения и gtk_level_bar_add_offset_value() для задания значений смещения, при которых индикатор будет отображать другое состояние. По умолчанию GTK добавляет несколько смещений: GTK_LEVEL_BAR_OFFSET_LOW, GTK_LEVEL_BAR_OFFSET_HIGH и GTK_LEVEL_BAR_OFFSET_FULL с значениями 0.25, 0.75 и 1.0 соответственно.

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

Добавление пользовательского смещения на шкале

По умолчанию диапазон значений находится между нулём и единицей, но его можно изменить с помощью gtk_level_bar_set_min_value() и gtk_level_bar_set_max_value(). Значение всегда будет отображаться пропорционально допустимому диапазону, т. е. значение 15 при заданном диапазоне от 10 до 20 эквивалентно значению 0,5 при диапазоне от 0 до 1. Когда используется GTK_LEVEL_BAR_MODE_DISCRETE, уровень шкалы отображается как конечное количество отдельных блоков вместо одного цельного. Количество блоков, которые будут отображены, равно количеству единиц, указанных в допустимом диапазоне.

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

GtkLevelBar как GtkBuildable

Реализация GtkLevelBar интерфейса GtkBuildable поддерживает пользовательский элемент <offsets>, который может содержать любое количество элементов <offset>, каждый из которых должен иметь атрибуты name и value.

Узлы CSS

static GtkWidget *
create_level_bar (void)
{
  GtkWidget *widget;
  GtkLevelBar *bar;

  widget = gtk_level_bar_new ();
  bar = GTK_LEVEL_BAR (widget);

  // This changes the value of the default low offset

  gtk_level_bar_add_offset_value (bar,
                                  GTK_LEVEL_BAR_OFFSET_LOW,
                                  0.10);

  // This adds a new offset to the bar; the application will
  // be able to change its color CSS like this:
  //
  // levelbar block.my-offset {
  //   background-color: magenta;
  //   border-style: solid;
  //   border-color: black;
  //   border-style: 1px;
  // }

  gtk_level_bar_add_offset_value (bar, "my-offset", 0.60);

  return widget;
}

GtkLevelBar имеет основной узел CSS с именем levelbar и одним из классов стиля .discrete или .continuous и подузлом с именем trough. Под узлом trough находится ряд узлов с именем block и классами стиля .filled или .empty. В режиме continuous существует ровно один узел каждого типа, в режиме discrete количество заполненных и незаполненных узлов соответствует отображаемым блокам. Узлы block.filled также получают класс стиля .level-name, соответствующий уровню для текущего значения.

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

Доступность

GtkLevelBar использует роль GTK_ACCESSIBLE_ROLE_METER.

Функции

gtk_level_bar_new ()

GtkWidget *
gtk_level_bar_new (void);

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

Возвращает

GtkLevelBar.

gtk_level_bar_new_for_interval ()

GtkWidget *
gtk_level_bar_new_for_interval (double min_value,
                                double max_value);

Утилитарный конструктор, создающий новый GtkLevelBar для указанного интервала.

Параметры

min_value

положительное значение

max_value

положительное значение

Возвращает

GtkLevelBar

gtk_level_bar_set_mode ()

void
gtk_level_bar_set_mode (GtkLevelBar *self,
                        GtkLevelBarMode mode);

Устанавливает значение свойства “mode”.

Параметры

self

GtkLevelBar

mode

GtkLevelBarMode

gtk_level_bar_get_mode ()

GtkLevelBarMode
gtk_level_bar_get_mode (GtkLevelBar *self);

Возвращает значение свойства “mode”.

Параметры

self

GtkLevelBar

Возвращает

GtkLevelBarMode

gtk_level_bar_set_value ()

void
gtk_level_bar_set_value (GtkLevelBar *self,
                         double value);

Устанавливает значение свойства “value”.

Параметры

self

GtkLevelBar

value

значение в интервале между “min-value” и “max-value”

gtk_level_bar_get_value ()

double
gtk_level_bar_get_value (GtkLevelBar *self);

Возвращает значение свойства “value”.

Параметры

self

GtkLevelBar

Возвращает

значение в интервале между “min-value” и “max-value”

gtk_level_bar_set_min_value ()

void
gtk_level_bar_set_min_value (GtkLevelBar *self,
                             double value);

Устанавливает значение свойства “min-value”.

Вероятно, после вызова этой функции нужно обновить существующие смещения уровня.

Параметры

self

GtkLevelBar

value

положительное значение

gtk_level_bar_get_min_value ()

double
gtk_level_bar_get_min_value (GtkLevelBar *self);

Возвращает значение свойства “min-value”.

Параметры

self

GtkLevelBar

Возвращает

положительное значение

gtk_level_bar_set_max_value ()

void
gtk_level_bar_set_max_value (GtkLevelBar *self,
                             double value);

Устанавливает значение свойства “max-value”.

Вероятно, после вызова этой функции нужно обновить существующие смещения уровня.

Параметры

self

GtkLevelBar

value

положительное значение

gtk_level_bar_get_max_value ()

double
gtk_level_bar_get_max_value (GtkLevelBar *self);

Возвращает значение свойства “max-value”.

Параметры

self

GtkLevelBar

Возвращает

положительное значение

gtk_level_bar_set_inverted ()

void
gtk_level_bar_set_inverted (GtkLevelBar *self,
                            gboolean inverted);

Устанавливает значение свойства “inverted”.

Параметры

self

GtkLevelBar

inverted

TRUE для инвертирования шкалы уровня

gtk_level_bar_get_inverted ()

gboolean
gtk_level_bar_get_inverted (GtkLevelBar *self);

Возвращает значение свойства “inverted”.

Параметры

self

GtkLevelBar

Возвращает

TRUE если шкала уровня инвертирована

gtk_level_bar_add_offset_value ()

void
gtk_level_bar_add_offset_value (GtkLevelBar *self,
                                const char *name,
                                double value);

Добавляет новую метку смещения на self в позиции, указанной value . Когда значение шкалы находится в интервале, ограниченном value (или между value и “max-value” в случае, если смещение является последним на шкале), при отрисовке заполнения шкалы уровня будет применено стилизованный класс level-name. Если существует другая метка смещения с именем name, её значение будет заменено на value.

Параметры

self

GtkLevelBar

name

имя нового смещения

value

значение нового смещения

gtk_level_bar_remove_offset_value ()

void
gtk_level_bar_remove_offset_value (GtkLevelBar *self,
                                   const char *name);

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

Параметры

self

a GtkLevelBar

name

имя смещения в шкале.

[allow-none]

gtk_level_bar_get_offset_value ()

gboolean
gtk_level_bar_get_offset_value (GtkLevelBar *self,
                                const char *name,
                                double *value);

Извлекает значение, указанное для маркера смещения name в self, возвращая TRUE в случае, если смещение с именем name найдено.

Параметры

self

a GtkLevelBar

name

имя смещения в шкале.

[allow-none]

value

место для хранения значения.

[out]

Возвращает

TRUE если указанное смещение найдено

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

GTK_LEVEL_BAR_OFFSET_LOW

#define GTK_LEVEL_BAR_OFFSET_LOW  "low"

Имя, используемое для стандартного смещения минимума, включённого в GtkLevelBar.

GTK_LEVEL_BAR_OFFSET_HIGH

#define GTK_LEVEL_BAR_OFFSET_HIGH "high"

Имя, используемое для стандартного смещения максимума, включённого в GtkLevelBar.

GTK_LEVEL_BAR_OFFSET_FULL

#define GTK_LEVEL_BAR_OFFSET_FULL "full"

Имя, используемое для стандартного смещения полного диапазона, включённого в GtkLevelBar.

перечисление GtkLevelBarMode

Описывает, как содержимое GtkLevelBar должно отображаться. Обратите внимание, что это перечисление может быть расширено дополнительными режимами в будущем.

Члены

GTK_LEVEL_BAR_MODE_CONTINUOUS

шкала имеет непрерывный режим

GTK_LEVEL_BAR_MODE_DISCRETE

шкала имеет дискретный режим

GtkLevelBar

typedef struct _GtkLevelBar GtkLevelBar;

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

Свойство “inverted”

  “inverted”                 gboolean

Шкалы уровня обычно растут сверху вниз или слева направо. Перевёрнутые шкалы уровня растут в противоположном направлении.

Владелец: GtkLevelBar

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

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

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

  “max-value”                double

Свойство “max-value” определяет максимальное значение диапазона, который может отображаться шкалой.

Владелец: GtkLevelBar

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

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

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

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

  “min-value”                double

Свойство “min-value” определяет минимальное значение диапазона, который может отображаться шкалой.

Владелец: GtkLevelBar

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

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

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

Свойство “mode”

  “mode”                     GtkLevelBarMode

Свойство “mode” определяет способ, которым GtkLevelBar интерпретирует свойства значения для отрисовки области заполнения уровня. В частности, когда значение равно GTK_LEVEL_BAR_MODE_CONTINUOUS, GtkLevelBar нарисует один блок, представляющий текущее значение в этой области; когда значение равно GTK_LEVEL_BAR_MODE_DISCRETE, виджет нарисует последовательность отдельных блоков, заполняющих область отрисовки, причём количество блоков будет равно количеству единиц, разделяющих целые округлений “min-value” и “max-value”.

Владелец: GtkLevelBar

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

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

Свойство “value”

  “value”                    double

Свойство “value” определяет текущее заполненное значение шкалы уровня.

Владелец: GtkLevelBar

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

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

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

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

Сигнал “offset-changed”

void
user_function (GtkLevelBar *self,
               char        *name,
               gpointer     user_data)

Используется при изменении значения смещения на шкале в результате вызова gtk_level_bar_add_offset_value().

Сигнал поддерживает подробные соединения; можно подключиться к детализированному сигналу "changed::x", чтобы получать обратные вызовы только при изменении значения смещения "x".

Параметры

self

a GtkLevelBar

name

имя смещения, значение которого изменилось

user_data

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

Флаги: Имеет детали

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkLevelBar.html

Spec-Zone.ru

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