Spec-Zone.ru › GTK 3.24

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 ()
gdouble gtk_level_bar_get_value ()
void gtk_level_bar_set_min_value ()
gdouble gtk_level_bar_get_min_value ()
void gtk_level_bar_set_max_value ()
gdouble 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 Чтение / Запись

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

int min-block-height Чтение / Запись
int min-block-width Чтение / Запись

Сигналы

void offset-changed С деталями

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

#define GTK_LEVEL_BAR_OFFSET_LOW
#define GTK_LEVEL_BAR_OFFSET_HIGH
#define GTK_LEVEL_BAR_OFFSET_FULL
перечисление GtkLevelBarMode
структура GtkLevelBar

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

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

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

GtkLevelBar реализует AtkImplementorIface, GtkBuildable и 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 был введён в GTK+ 3.6.

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 количество узлов filled и unfilled соответствует отображаемым блокам. Узлы block.filled также получают класс стиля .level-name, соответствующий уровню для текущего значения.

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

Функции

gtk_level_bar_new ()

GtkWidget *
gtk_level_bar_new (void);

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

Возвращает

a GtkLevelBar.

С версии: 3.6

gtk_level_bar_new_for_interval ()

GtkWidget *
gtk_level_bar_new_for_interval (gdouble min_value,
                                gdouble max_value);

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

Параметры

min_value

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

max_value

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

Возвращает

a GtkLevelBar

С версии: 3.6

gtk_level_bar_set_mode ()

void
gtk_level_bar_set_mode (GtkLevelBar *self,
                        GtkLevelBarMode mode);

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

Параметры

self

a GtkLevelBar

mode

a GtkLevelBarMode

С версии: 3.6

gtk_level_bar_get_mode ()

GtkLevelBarMode
gtk_level_bar_get_mode (GtkLevelBar *self);

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

Параметры

self

a GtkLevelBar

Возвращает

a GtkLevelBarMode

С версии: 3.6

gtk_level_bar_set_value ()

void
gtk_level_bar_set_value (GtkLevelBar *self,
                         gdouble value);

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

Параметры

self

a GtkLevelBar

value

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

С версии: 3.6

gtk_level_bar_get_value ()

gdouble
gtk_level_bar_get_value (GtkLevelBar *self);

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

Параметры

self

a GtkLevelBar

Возвращает

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

С версии: 3.6

gtk_level_bar_set_min_value ()

void
gtk_level_bar_set_min_value (GtkLevelBar *self,
                             gdouble value);

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

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

Параметры

self

a GtkLevelBar

value

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

С версии: 3.6

gtk_level_bar_get_min_value ()

gdouble
gtk_level_bar_get_min_value (GtkLevelBar *self);

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

Параметры

self

a GtkLevelBar

Возвращает

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

С версии: 3.6

gtk_level_bar_set_max_value ()

void
gtk_level_bar_set_max_value (GtkLevelBar *self,
                             gdouble value);

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

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

Параметры

self

a GtkLevelBar

value

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

С версии: 3.6

gtk_level_bar_get_max_value ()

gdouble
gtk_level_bar_get_max_value (GtkLevelBar *self);

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

Параметры

self

a GtkLevelBar

Возвращает

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

С версии: 3.6

gtk_level_bar_set_inverted ()

void
gtk_level_bar_set_inverted (GtkLevelBar *self,
                            gboolean inverted);

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

Параметры

self

a GtkLevelBar

inverted

TRUE to invert the level bar

С версии: 3.8

gtk_level_bar_get_inverted ()

gboolean
gtk_level_bar_get_inverted (GtkLevelBar *self);

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

Параметры

self

a GtkLevelBar

Возвращает

TRUE if the level bar is inverted

С версии: 3.8

gtk_level_bar_add_offset_value ()

void
gtk_level_bar_add_offset_value (GtkLevelBar *self,
                                const gchar *name,
                                gdouble value);

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

Параметры

self

объект GtkLevelBar

name

имя новой отметки смещения

value

значение новой отметки смещения

С: 3.6

gtk_level_bar_remove_offset_value ()

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

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

Параметры

self

объект GtkLevelBar

name

имя отметки смещения на полосе.

[allow-none]

С: 3.6

gtk_level_bar_get_offset_value ()

gboolean
gtk_level_bar_get_offset_value (GtkLevelBar *self,
                                const gchar *name,
                                gdouble *value);

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

Параметры

self

объект GtkLevelBar

name

имя отметки смещения на полосе.

[allow-none]

value

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

[out]

Возвращает

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

С: 3.6

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

GTK_LEVEL_BAR_OFFSET_LOW

#define GTK_LEVEL_BAR_OFFSET_LOW  "low"

Имя, используемое для отметки смещения «минимальное» (low), включённой в GtkLevelBar.

С: 3.6

GTK_LEVEL_BAR_OFFSET_HIGH

#define GTK_LEVEL_BAR_OFFSET_HIGH "high"

Имя, используемое для отметки смещения «максимальное» (high), включённой в GtkLevelBar.

С: 3.6

GTK_LEVEL_BAR_OFFSET_FULL

#define GTK_LEVEL_BAR_OFFSET_FULL "full"

Имя, используемое для отметки смещения «полное» (full), включённой в GtkLevelBar.

С: 3.20

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

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

Элементы

GTK_LEVEL_BAR_MODE_CONTINUOUS

непрерывный режим полосы

GTK_LEVEL_BAR_MODE_DISCRETE

дискретный режим полосы

С: 3.6

структура GtkLevelBar

struct GtkLevelBar;

Подробные сведения о свойствах

Свойство “inverted”

  “inverted”                 gboolean

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

Владелец: GtkLevelBar

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

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

С: 3.8

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

  “max-value”                double

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

Владелец: GtkLevelBar

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

Разрешенные значения: >= 0

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

С: 3.6

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

  “min-value”                double

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

Владелец: GtkLevelBar

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

Разрешенные значения: >= 0

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

С: 3.6

Свойство “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

С: 3.6

Свойство “value”

  “value”                    double

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

Владелец: GtkLevelBar

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

Разрешенные значения: >= 0

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

С: 3.6

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

Свойство стиля “min-block-height”

  “min-block-height”         int

Свойство стиля min-block-height определяет минимальную высоту блоков, заполняющих виджет GtkLevelBar.

GtkLevelBar:min-block-height устарело с версии 3.20 и не должно использоваться в новом коде.

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

Владелец: GtkLevelBar

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

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

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

С версии: 3.6

Свойство стиля “min-block-width”

  “min-block-width”          int

Свойство стиля min-block-width определяет минимальную ширину блоков, заполняющих виджет GtkLevelBar.

GtkLevelBar:min-block-width устарело с версии 3.20 и не должно использоваться в новом коде.

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

Владелец: GtkLevelBar

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

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

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

С версии: 3.6

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

Сигнал “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

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

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

С версии: 3.6

© 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/GtkLevelBar.html

Spec-Zone.ru

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