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 () |
Свойства
Сигналы
| 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_for_interval ()
GtkWidget * gtk_level_bar_new_for_interval (double min_value,double max_value);
Утилитарный конструктор, создающий новый GtkLevelBar для указанного интервала.
Параметры
min_value | положительное значение | |
max_value | положительное значение |
Возвращает
gtk_level_bar_set_mode ()
void gtk_level_bar_set_mode (GtkLevelBar *self,GtkLevelBarMode mode);
Устанавливает значение свойства “mode”.
Параметры
self | ||
mode |
gtk_level_bar_get_mode ()
GtkLevelBarMode
gtk_level_bar_get_mode (GtkLevelBar *self); Возвращает значение свойства “mode”.
Параметры
self |
Возвращает
gtk_level_bar_set_value ()
void gtk_level_bar_set_value (GtkLevelBar *self,double value);
Устанавливает значение свойства “value”.
Параметры
self | ||
value | значение в интервале между “min-value” и “max-value” |
gtk_level_bar_get_value ()
double
gtk_level_bar_get_value (GtkLevelBar *self); Возвращает значение свойства “value”.
Параметры
self |
Возвращает
значение в интервале между “min-value” и “max-value”
gtk_level_bar_set_min_value ()
void gtk_level_bar_set_min_value (GtkLevelBar *self,double value);
Устанавливает значение свойства “min-value”.
Вероятно, после вызова этой функции нужно обновить существующие смещения уровня.
Параметры
self | ||
value | положительное значение |
gtk_level_bar_get_min_value ()
double
gtk_level_bar_get_min_value (GtkLevelBar *self); Возвращает значение свойства “min-value”.
Параметры
self |
Возвращает
положительное значение
gtk_level_bar_set_max_value ()
void gtk_level_bar_set_max_value (GtkLevelBar *self,double value);
Устанавливает значение свойства “max-value”.
Вероятно, после вызова этой функции нужно обновить существующие смещения уровня.
Параметры
self | ||
value | положительное значение |
gtk_level_bar_get_max_value ()
double
gtk_level_bar_get_max_value (GtkLevelBar *self); Возвращает значение свойства “max-value”.
Параметры
self |
Возвращает
положительное значение
gtk_level_bar_set_inverted ()
void gtk_level_bar_set_inverted (GtkLevelBar *self,gboolean inverted);
Устанавливает значение свойства “inverted”.
Параметры
self | ||
inverted |
|
gtk_level_bar_get_inverted ()
gboolean
gtk_level_bar_get_inverted (GtkLevelBar *self); Возвращает значение свойства “inverted”.
Параметры
self |
Возвращает
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 | ||
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 | ||
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 | ||
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 | ||
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