Spec-Zone.ru › GTK 3.22

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 Чтение/Запись
gdouble max-value Чтение/Запись
gdouble min-value Чтение/Запись
GtkLevelBarMode mode Чтение/Запись
gdouble value Чтение/Запись

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

gint min-block-height Чтение/Запись
gint 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.

Возвращает

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

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

Возвращает

GtkLevelBar

С версии: 3.6

gtk_level_bar_set_mode ()

void
gtk_level_bar_set_mode (GtkLevelBar *self,
                        GtkLevelBarMode mode);

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

Параметры

self

GtkLevelBar

mode

GtkLevelBarMode

С версии: 3.6

gtk_level_bar_get_mode ()

GtkLevelBarMode
gtk_level_bar_get_mode (GtkLevelBar *self);

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

Параметры

self

GtkLevelBar

Возвращает

GtkLevelBarMode

С версии: 3.6

gtk_level_bar_set_value ()

void
gtk_level_bar_set_value (GtkLevelBar *self,
                         gdouble value);

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

Параметры

self

GtkLevelBar

value

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

С версии: 3.6

gtk_level_bar_get_value ()

gdouble
gtk_level_bar_get_value (GtkLevelBar *self);

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

Параметры

self

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

GtkLevelBar

value

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

С версии: 3.6

gtk_level_bar_get_min_value ()

gdouble
gtk_level_bar_get_min_value (GtkLevelBar *self);

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

Параметры

self

GtkLevelBar

Возвращает

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

С версии: 3.6

gtk_level_bar_set_max_value ()

void
gtk_level_bar_set_max_value (GtkLevelBar *self,
                             gdouble value);

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

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

Параметры

self

GtkLevelBar

value

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

С версии: 3.6

gtk_level_bar_get_max_value ()

gdouble
gtk_level_bar_get_max_value (GtkLevelBar *self);

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

Параметры

self

GtkLevelBar

Возвращает

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

С версии: 3.6

gtk_level_bar_set_inverted ()

void
gtk_level_bar_set_inverted (GtkLevelBar *self,
                            gboolean inverted);

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

Параметры

self

GtkLevelBar

inverted

TRUE для инвертирования полосы уровня

С версии: 3.8

gtk_level_bar_get_inverted ()

gboolean
gtk_level_bar_get_inverted (GtkLevelBar *self);

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

Параметры

self

a GtkLevelBar

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

TRUE, если полоса уровня инвертирована

С момента: 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

a 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

a 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

a GtkLevelBar

name

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

[allow-none]

value

место, куда сохранить значение.

[out]

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

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

С момента: 3.6

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

GTK_LEVEL_BAR_OFFSET_LOW

#define GTK_LEVEL_BAR_OFFSET_LOW  "low"

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

С момента: 3.6

GTK_LEVEL_BAR_OFFSET_HIGH

#define GTK_LEVEL_BAR_OFFSET_HIGH "high"

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

С момента: 3.6

GTK_LEVEL_BAR_OFFSET_FULL

#define GTK_LEVEL_BAR_OFFSET_FULL "full"

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

С момента: 3.20

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

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

Члены

GTK_LEVEL_BAR_MODE_CONTINUOUS

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

GTK_LEVEL_BAR_MODE_DISCRETE

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

С момента: 3.6

struct GtkLevelBar

struct GtkLevelBar;

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

Свойство “inverted”

  “inverted”                 gboolean

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

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

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

С версии: 3.8

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

  “max-value”                gdouble

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

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

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

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

С версии: 3.6

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

  “min-value”                gdouble

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

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

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

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

С версии: 3.6

Свойство “mode”

  “mode”                     GtkLevelBarMode

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

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

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

С версии: 3.6

Свойство “value”

  “value”                    gdouble

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

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

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

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

С версии: 3.6

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

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

  “min-block-height”         gint

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

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

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

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

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

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

С версии: 3.6

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

  “min-block-width”          gint

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

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

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

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

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

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

С версии: 3.6

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

Сигнал “offset-changed”

void
user_function (GtkLevelBar *self,
               gchar       *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.22/GtkLevelBar.html

Spec-Zone.ru

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