GtkLevelBar
GtkLevelBar — Слайдер, который можно использовать в качестве индикатора уровня
Функции
Свойства
| gboolean | инвертировано | Чтение/Запись |
| gdouble | максимальное значение | Чтение/Запись |
| gdouble | минимальное значение | Чтение/Запись |
| GtkLevelBarMode | режим | Чтение/Запись |
| gdouble | значение | Чтение/Запись |
Стилизованные свойства
| gint | минимальная высота блока | Чтение/Запись |
| gint | минимальная ширина блока | Чтение/Запись |
Сигналы
Типы и значения
| #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
Since: 3.6
gtk_level_bar_set_mode ()
void gtk_level_bar_set_mode (GtkLevelBar *self,GtkLevelBarMode mode);
Устанавливает значение свойства “mode”.
Parameters
self | ||
mode |
Since: 3.6
gtk_level_bar_get_mode ()
GtkLevelBarMode
gtk_level_bar_get_mode (GtkLevelBar *self); Возвращает значение свойства “mode”.
Parameters
self |
Returns
Since: 3.6
gtk_level_bar_set_value ()
void gtk_level_bar_set_value (GtkLevelBar *self,gdouble value);
Устанавливает значение свойства “value”.
Parameters
self | ||
value | значение в интервале между “min-value” и “max-value” |
Since: 3.6
gtk_level_bar_get_value ()
gdouble
gtk_level_bar_get_value (GtkLevelBar *self); Возвращает значение свойства “value”.
Parameters
self |
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 | ||
value | положительное значение |
Since: 3.6
gtk_level_bar_get_min_value ()
gdouble
gtk_level_bar_get_min_value (GtkLevelBar *self); Возвращает значение свойства “min-value”.
Parameters
self |
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 | ||
value | положительное значение |
Since: 3.6
gtk_level_bar_get_max_value ()
gdouble
gtk_level_bar_get_max_value (GtkLevelBar *self); Возвращает значение свойства “max-value”.
Parameters
self |
Returns
положительное значение
Since: 3.6
gtk_level_bar_set_inverted ()
void gtk_level_bar_set_inverted (GtkLevelBar *self,gboolean inverted);
Устанавливает значение свойства “inverted”.
Parameters
self | ||
inverted |
|
Since: 3.8
gtk_level_bar_get_inverted ()
gboolean
gtk_level_bar_get_inverted (GtkLevelBar *self); Возвращает значение свойства “inverted”.
Parameters
self |
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 | ||
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 | ||
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 | ||
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
Подробное описание свойств стиля
Свойство стиля “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 | ||
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