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