Spec-Zone.ru › GTK 3.20

GtkProgressBar

GtkProgressBar — Виджет, визуально отображающий прогресс

Функции

GtkWidget * gtk_progress_bar_new ()
void gtk_progress_bar_pulse ()
void gtk_progress_bar_set_fraction ()
gdouble gtk_progress_bar_get_fraction ()
void gtk_progress_bar_set_inverted ()
gboolean gtk_progress_bar_get_inverted ()
void gtk_progress_bar_set_show_text ()
gboolean gtk_progress_bar_get_show_text ()
void gtk_progress_bar_set_text ()
const gchar * gtk_progress_bar_get_text ()
void gtk_progress_bar_set_ellipsize ()
PangoEllipsizeMode gtk_progress_bar_get_ellipsize ()
void gtk_progress_bar_set_pulse_step ()
gdouble gtk_progress_bar_get_pulse_step ()

Свойства

PangoEllipsizeMode ellipsize Чтение / Запись
gdouble fraction Чтение / Запись
gboolean inverted Чтение / Запись
gdouble pulse-step Чтение / Запись
gboolean show-text Чтение / Запись
gchar * text Чтение / Запись

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

gint min-horizontal-bar-height Чтение / Запись
gint min-horizontal-bar-width Чтение / Запись
gint min-vertical-bar-height Чтение / Запись
gint min-vertical-bar-width Чтение / Запись
gint xspacing Чтение / Запись
gint yspacing Чтение / Запись

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

struct GtkProgressBar

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkProgressBar

Реализованные интерфейсы

GtkProgressBar реализует AtkImplementorIface, GtkBuildable и GtkOrientable.

Включения

#include <gtk/gtk.h>

Описание

Компонент GtkProgressBar обычно используется для отображения хода выполнения длительной операции. Он визуально указывает на то, что обработка выполняется.

Когда приложение может определить объём работы (например, чтение фиксированного количества байтов из файла) и отслеживать её ход, оно может использовать GtkProgressBar в режиме проценты, и пользователь увидит растущую полосу, отображающую процент завершённой работы. В этом режиме приложение должно периодически вызывать gtk_progress_bar_set_fraction() для обновления полосы прогресса.

Когда приложение не может точно определить объём работы, оно может использовать GtkProgressBar в режиме активности, который показывает активность, перемещая блок вперёд-назад в области прогресса. В этом режиме приложение должно периодически вызывать gtk_progress_bar_pulse() для обновления полосы прогресса.

Существует значительная гибкость для управления отображением GtkProgressBar. Предусмотрены функции для управления ориентацией полосы, можно отображать дополнительный текст вместе с полосой, а также устанавливать шаг, используемый в режиме активности.

CSS узлы

progressbar[.osd]
╰── trough
    ├── [text]
    ╰── progress[.pulse]

GtkProgressBar имеет основной CSS узел с именем progressbar и подузлы с именами text, trough и progress. Под узел text присутствует только если отображается текст. Под узел progress добавляется класс стиля .pulse, когда используется режим активности. К нему добавляются классы стиля .left, .right, .top или .bottom, когда прогресс «дотрагивается» соответствующего конца GtkProgressBar. Класс .osd на узле progressbar используется для наложений, как, например, при отображении прогресса загрузки страницы в Epiphany.

Функции

gtk_progress_bar_new ()

GtkWidget *
gtk_progress_bar_new (void);

Создаёт новую GtkProgressBar.

Возвращает

GtkProgressBar.

gtk_progress_bar_pulse ()

void
gtk_progress_bar_pulse (GtkProgressBar *pbar);

Указывает, что некоторый прогресс достигнут, но неизвестно, сколько. Приводит к тому, что полоса прогресса переходит в «режим активности», где блок перемещается взад и вперёд. Каждый вызов gtk_progress_bar_pulse() перемещает блок на небольшой участок (величина перемещения за один импульс определяется параметром gtk_progress_bar_set_pulse_step()).

Параметры

pbar

GtkProgressBar

gtk_progress_bar_set_fraction ()

void
gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
                               gdouble fraction);

Заставляет полосу прогресса «заполняться» указанной долей. Доля должна быть в интервале от 0,0 до 1,0 включительно.

Параметры

pbar

GtkProgressBar

fraction

доля завершённой части задачи

gtk_progress_bar_get_fraction ()

gdouble
gtk_progress_bar_get_fraction (GtkProgressBar *pbar);

Возвращает текущую долю завершённой части задачи.

Параметры

pbar

GtkProgressBar

Возвращает

доля от 0,0 до 1,0

gtk_progress_bar_set_inverted ()

void
gtk_progress_bar_set_inverted (GtkProgressBar *pbar,
                               gboolean inverted);

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

Параметры

pbar

GtkProgressBar

inverted

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

gtk_progress_bar_get_inverted ()

gboolean
gtk_progress_bar_get_inverted (GtkProgressBar *pbar);

Получает значение, установленное функцией gtk_progress_bar_set_inverted().

Параметры

pbar

GtkProgressBar

Возвращает

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

gtk_progress_bar_set_show-text ()

void
gtk_progress_bar_set_show_text (GtkProgressBar *pbar,
                                gboolean show_text);

Устанавливает, будет ли полоса прогресса отображать текст рядом с полосой. Отображаемый текст — это либо значение свойства “text”, либо, если оно равно NULL, значение свойства “fraction” в процентах.

Чтобы создать полосу прогресса, подходящую по стилю и размеру для отображения текста (даже если текст пустой), установите “show-text” в TRUE и “text” в пустую строку (не в NULL).

Параметры

pbar

GtkProgressBar

show_text

отображать ли наложенный текст

С: 3.0

gtk_progress_bar_get_show-text ()

gboolean
gtk_progress_bar_get_show_text (GtkProgressBar *pbar);

Получает значение свойства “show-text”. См. gtk_progress_bar_set_show_text().

Параметры

pbar

GtkProgressBar

Возвращает

TRUE, если текст отображается в полосе прогресса

С: 3.0

gtk_progress_bar_set-text ()

void
gtk_progress_bar_set_text (GtkProgressBar *pbar,
                           const gchar *text);

Заставляет указанный text отображаться рядом с полосой прогресса.

Если text равен NULL и “show-text” равен TRUE, будет отображаться текущее значение “fraction” в процентах.

Если text не равен NULL и “show-text” равен TRUE, будет отображаться текст. В этом случае не будет отображаться процент прогресса. Если text пустая строка, полоса прогресса по-прежнему будет оформлена и иметь подходящий размер для текста, если “show-text” равен TRUE.

Параметры

pbar

GtkProgressBar

text

строка UTF-8 или NULL.

[allow-none]

gtk_progress_bar_get-text ()

const gchar *
gtk_progress_bar_get_text (GtkProgressBar *pbar);

Возвращает текст, отображаемый с полосой прогресса, если он есть, иначе NULL. Возвращаемое значение — ссылка на текст, а не его копия, поэтому оно станет недопустимым, если вы измените текст в полосе прогресса.

Параметры

pbar

GtkProgressBar

Возвращает

текст или NULL; эта строка принадлежит виджету и не должна изменяться или освобождаться.

[nullable]

gtk_progress_bar_set_ellipsize ()

void
gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar,
                                PangoEllipsizeMode mode);

Устанавливает режим, используемый для усечения (добавление многоточия: "...") текста, если для отображения всей строки недостаточно места.

Параметры

pbar

a GtkProgressBar

mode

a PangoEllipsizeMode

С: 2.6

gtk_progress_bar_get_ellipsize ()

PangoEllipsizeMode
gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar);

Возвращает позицию усечения полосы прогресса. См. gtk_progress_bar_set_ellipsize().

Параметры

pbar

a GtkProgressBar

Возвращает

PangoEllipsizeMode

С: 2.6

gtk_progress_bar_set_pulse_step ()

void
gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
                                 gdouble fraction);

Устанавливает долю общей длины полосы прогресса, на которую будет смещаться пульсирующий блок при каждом вызове gtk_progress_bar_pulse().

Параметры

pbar

a GtkProgressBar

fraction

дробь от 0.0 до 1.0

gtk_progress_bar_get_pulse_step ()

gdouble
gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar);

Возвращает шаг пульсации, установленный с помощью gtk_progress_bar_set_pulse_step().

Параметры

pbar

a GtkProgressBar

Возвращает

дробь от 0.0 до 1.0

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

struct GtkProgressBar

struct GtkProgressBar;

Подробности свойств

Свойство “ellipsize”

  “ellipsize”                PangoEllipsizeMode

Предпочтительное место для усечения строки, если полоса прогресса не имеет достаточно места для отображения всей строки, заданное как PangoEllipsizeMode.

Обратите внимание, что установка этого свойства на значение, отличное от PANGO_ELLIPSIZE_NONE, приводит к тому, что полоса прогресса запрашивает только достаточно места для отображения многоточия ("..."). Другой способ установить ширину полосы прогресса — gtk_widget_set_size_request().

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

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

С: 2.6

Свойство “fraction”

  “fraction”                 gdouble

Доля завершённой части работы.

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

Допустимые значения: [0,1]

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

Свойство “inverted”

  “inverted”                 gboolean

Инвертировать направление роста полосы прогресса.

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

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

Свойство “pulse-step”

  “pulse-step”               gdouble

Доля общего прогресса, на которую перемещается пульсирующий блок при пульсации.

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

Допустимые значения: [0,1]

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

Свойство “show-text”

  “show-text”                gboolean

Устанавливает, будет ли полоса прогресса отображать текст дополнительно к самой полосе. Отображаемый текст — это либо значение свойства “текст”, либо, если это NULL, значение свойства “доля” в процентах.

Чтобы создать полосу прогресса, оформленную и размером, подходящей для отображения текста (даже если фактический текст пустой), установите “отображать-текст” в TRUE и “текст” в пустую строку (не NULL).

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

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

С: 3.0

Свойство “text”

  “text”                     gchar *

Текст, отображаемый в полосе прогресса.

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

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

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

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

  “min-horizontal-bar-height” gint

Минимальная высота полосы прогресса по горизонтали.

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

Используйте стандартное CSS-свойство min-height.

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

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

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

С: 2.14

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

  “min-horizontal-bar-width” gint

Минимальная ширина полосы прогресса по горизонтали.

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

Используйте стандартное CSS-свойство min-width.

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

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

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

С: 2.14

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

  “min-vertical-bar-height”  gint

Минимальная высота полосы прогресса по вертикали.

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

Используйте стандартное CSS-свойство min-height.

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

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

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

С: 2.14

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

  “min-vertical-bar-width”   gint

Минимальная ширина полосы прогресса по вертикали.

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

Используйте стандартное CSS-свойство min-width.

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

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

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

С: 2.14

Свойство стиля “xspacing”

  “xspacing”                 gint

Дополнительный отступ, применяемый к ширине полосы прогресса.

GtkProgressBar:xspacing устарело с версии 3.20 и не должно использоваться в новом коде.

Используйте стандартные CSS-свойства padding и margins; значение этого свойства стиля игнорируется.

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

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

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

Свойство стиля “yspacing”

  “yspacing”                 gint

Дополнительный отступ, применяемый к высоте полосы прогресса.

GtkProgressBar:yspacing устарело с версии 3.20 и не должно использоваться в новом коде.

Используйте стандартные CSS-свойства padding и margins; значение этого свойства стиля игнорируется.

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

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

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

© 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/GtkProgressBar.html

Spec-Zone.ru

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