Spec-Zone.ru › GTK 3.20

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 инвертировано Чтение/Запись
gdouble максимальное значение Чтение/Запись
gdouble минимальное значение Чтение/Запись
GtkLevelBarMode режим Чтение/Запись
gdouble значение Чтение/Запись

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

gint минимальная высота блока Чтение/Запись
gint минимальная ширина блока Чтение/Запись

Сигналы

void смещение изменено Подробная информация

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

#define GTK_LEVEL_BAR_OFFSET_LOW
#define GTK_LEVEL_BAR_OFFSET_HIGH
#define GTK_LEVEL_BAR_OFFSET_FULL
enum GtkLevelBarMode
struct 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. В непрерывном режиме существует ровно по одному узлу каждого типа, в дискретном режиме количество заполненных и незаполненных узлов соответствует отображаемым блокам. Узлы block.filled также получают класс стиля .level-name, соответствующий уровню для текущего значения.

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

Функции

gtk_level_bar_new ()

GtkWidget *
gtk_level_bar_new (void);

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

Returns

a GtkLevelBar.

Since: 3.6

gtk_level_bar_new_for_interval ()

GtkWidget *
gtk_level_bar_new_for_interval (gdouble min_value,
                                gdouble max_value);

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

Parameters

min_value

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

max_value

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

Returns

a GtkLevelBar

Since: 3.6

gtk_level_bar_set_mode ()

void
gtk_level_bar_set_mode (GtkLevelBar *self,
                        GtkLevelBarMode mode);

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

Parameters

self

a GtkLevelBar

mode

a GtkLevelBarMode

Since: 3.6

gtk_level_bar_get_mode ()

GtkLevelBarMode
gtk_level_bar_get_mode (GtkLevelBar *self);

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

Parameters

self

a GtkLevelBar

Returns

a GtkLevelBarMode

Since: 3.6

gtk_level_bar_set_value ()

void
gtk_level_bar_set_value (GtkLevelBar *self,
                         gdouble value);

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

Parameters

self

a GtkLevelBar

value

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

Since: 3.6

gtk_level_bar_get_value ()

gdouble
gtk_level_bar_get_value (GtkLevelBar *self);

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

Parameters

self

a GtkLevelBar

Returns

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

Since: 3.6

gtk_level_bar_set_min_value ()

void
gtk_level_bar_set_min_value (GtkLevelBar *self,
                             gdouble value);

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

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

Parameters

self

a GtkLevelBar

value

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

Since: 3.6

gtk_level_bar_get_min_value ()

gdouble
gtk_level_bar_get_min_value (GtkLevelBar *self);

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

Parameters

self

a GtkLevelBar

Returns

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

Since: 3.6

gtk_level_bar_set_max_value ()

void
gtk_level_bar_set_max_value (GtkLevelBar *self,
                             gdouble value);

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

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

Parameters

self

a GtkLevelBar

value

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

Since: 3.6

gtk_level_bar_get_max_value ()

gdouble
gtk_level_bar_get_max_value (GtkLevelBar *self);

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

Parameters

self

a GtkLevelBar

Returns

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

Since: 3.6

gtk_level_bar_set_inverted ()

void
gtk_level_bar_set_inverted (GtkLevelBar *self,
                            gboolean inverted);

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

Parameters

self

a GtkLevelBar

inverted

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

Since: 3.8

gtk_level_bar_get_inverted ()

gboolean
gtk_level_bar_get_inverted (GtkLevelBar *self);

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

Parameters

self

a GtkLevelBar

Returns

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

Since: 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

структура GtkLevelBar

struct GtkLevelBar;

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

Свойство “inverted”

  “inverted”                 gboolean

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

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

Значение по умолчанию: ЛОЖЬ

С версии: 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.20/GtkLevelBar.html

Spec-Zone.ru

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