Spec-Zone.ru › GTK 4.0

GtkHeaderBar

GtkHeaderBar — Прямоугольник с центрированным дочерним элементом

Функции

GtkWidget * gtk_header_bar_new ()
void gtk_header_bar_set_title_widget ()
GtkWidget * gtk_header_bar_get-title-widget ()
void gtk_header_bar_pack-start ()
void gtk_header_bar_pack-end ()
void gtk_header_bar_remove ()
void gtk_header_bar_set-show-title-buttons ()
gboolean gtk_header_bar_get-show-title-buttons ()
void gtk_header_bar_set-decoration-layout ()
const char * gtk_header_bar_get-decoration-layout ()

Свойства

char * decoration-layout Чтение / Запись
gboolean show-title-buttons Чтение / Запись
GtkWidget * title-widget Чтение / Запись

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

GtkHeaderBar

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkHeaderBar

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

GtkHeaderBar реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkHeaderBar похож на горизонтальный GtkBox. Он позволяет размещать дочерние элементы в начале или конце. Кроме того, он позволяет отображать заголовок окна. Заголовок будет центрирован относительно ширины прямоугольника, даже если дочерние элементы с обеих сторон занимают разное пространство.

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

По этим причинам GtkHeaderBar является естественным выбором для использования в качестве пользовательского виджета заголовка окна GtkWindow (см. gtk_window_set_titlebar()), поскольку он предоставляет функции, типичные для заголовков, при этом позволяя добавлять дочерние виджеты.

Реализация GtkHeaderBar интерфейса GtkBuildable поддерживает добавление дочерних элементов в начало или конец, указывая «начало» или «конец» в качестве атрибута «тип» элемента <child>, или устанавливая виджет заголовка, задавая значение «заголовок».

По умолчанию GtkHeaderBar использует GtkLabel, отображающий заголовок окна, в котором он находится, в качестве виджета заголовка, что эквивалентно следующему определению пользовательского интерфейса:

CSS узлы

<object class="GtkHeaderBar">
  <property name="title-widget">
    <object class="GtkLabel">
      <property name="label" translatable="yes">Label</property>
      <property name="single-line-mode">True</property>
      <property name="ellipsize">end</property>
      <property name="width-chars">5</property>
      <style>
        <class name="title"/>
      </style>
    </object>
  </property>
</object>

CSS узел GtkHeaderBar называется headerbar. Он содержит подузел windowhandle, который содержит поднод box, который содержит два поднода box в начале и конце заголовка, а также узел центра, который представляет заголовок.

Каждый из прямоугольников содержит поднод windowcontrols, см. GtkWindowControls для получения подробностей, а также другие дочерние элементы.

Удобство доступа

GtkHeaderBar использует роль GTK_ACCESSIBLE_ROLE_GROUP.

Функции

gtk_header_bar_new ()

GtkWidget *
gtk_header_bar_new (void);

Создаёт новый виджет GtkHeaderBar.

Возвращаемое значение

новый GtkHeaderBar

gtk_header_bar_set_title_widget ()

void
gtk_header_bar_set_title_widget (GtkHeaderBar *bar,
                                 GtkWidget *title_widget);

Устанавливает заголовок для GtkHeaderBar.

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

Заголовок должен помочь пользователю идентифицировать текущий вид. Для достижения того же стиля, что и встроенный заголовок, используйте класс стиля «title».

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

Параметры

bar

a GtkHeaderBar

title_widget

виджет, используемый для заголовка.

[allow-none]

gtk_header_bar_get_title_widget ()

GtkWidget *
gtk_header_bar_get_title_widget (GtkHeaderBar *bar);

Возвращает виджет заголовка панели. См. gtk_header_bar_set_title_widget().

Параметры

bar

a GtkHeaderBar

Возвращаемое значение

виджет заголовка панели, или NULL если явно не был задан.

[nullable][transfer none]

gtk_header_bar_pack_start ()

void
gtk_header_bar_pack_start (GtkHeaderBar *bar,
                           GtkWidget *child);

Добавляет child в bar, размещая его относительно начала bar.

Параметры

bar

A GtkHeaderBar

child

the GtkWidget для добавления в bar

gtk_header_bar_pack_end ()

void
gtk_header_bar_pack_end (GtkHeaderBar *bar,
                         GtkWidget *child);

Добавляет child в bar, размещая его относительно конца bar.

Параметры

bar

A GtkHeaderBar

child

the GtkWidget для добавления в bar

gtk_header_bar_remove ()

void
gtk_header_bar_remove (GtkHeaderBar *bar,
                       GtkWidget *child);

Удаляет элемент из bar после добавления его с помощью gtk_header_bar_pack_start(), gtk_header_bar_pack_end() или gtk_header_bar_set_title_widget().

Параметры

bar

a GtkHeaderBar

child

элемент для удаления

gtk_header_bar_set_show_title_buttons ()

void
gtk_header_bar_set_show_title_buttons (GtkHeaderBar *bar,
                                       gboolean setting);

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

Параметры

bar

a GtkHeaderBar

setting

TRUE для отображения стандартных кнопок заголовка

gtk_header_bar_get_show_title_buttons ()

gboolean
gtk_header_bar_get_show_title_buttons (GtkHeaderBar *bar);

Возвращает, отображаются ли стандартные кнопки заголовка окна.

Параметры

bar

a GtkHeaderBar

Возвращаемое значение

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

gtk_header_bar_set_decoration-layout ()

void
gtk_header_bar_set_decoration_layout (GtkHeaderBar *bar,
                                      const char *layout);

Устанавливает макет декораций для этой верхней панели, перезаписывая значение “gtk-decoration-layout”.

Существуют веские причины для перезаписи значения, такие как дизайн верхней панели, который не позволяет кнопкам занимать место справа, или предлагает место только для одной кнопки закрытия. Раздельные верхние панели — ещё один пример переопределения.

Формат строки — это имена кнопок, разделённые запятыми. Двоеточие разделяет кнопки, которые должны отображаться слева, от тех, что справа. Распознаваемые имена кнопок: minimize, maximize, close и icon (иконка окна).

Например, «icon:minimize,maximize,close» указывает иконку слева и кнопки minimize, maximize и close справа.

Параметры

bar

a GtkHeaderBar

layout

макет декораций, или NULL для отмены макета.

[allow-none]

gtk_header_bar_get_decoration-layout ()

const char *
gtk_header_bar_get_decoration_layout (GtkHeaderBar *bar);

Получает макет декораций, установленный с помощью gtk_header_bar_set_decoration_layout().

Параметры

bar

a GtkHeaderBar

Возвращаемое значение

макет декораций.

[nullable]

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

GtkHeaderBar

typedef struct _GtkHeaderBar GtkHeaderBar;

Подробное описание свойств

Свойство “decoration-layout”

  “decoration-layout”        char *

Макет декораций для кнопок. Если это свойство не установлено, используется значение “gtk-decoration-layout”.

См. gtk_header_bar_set_decoration_layout() для получения информации о формате этой строки.

Владелец: GtkHeaderBar

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

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

Свойство “show-title-buttons”

  “show-title-buttons”       gboolean

Определяет, отображать ли кнопки заголовка, такие как «закрыть», «минимизировать», «максимизировать».

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

Владелец: GtkHeaderBar

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

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

Свойство “title-widget”

  “title-widget”             GtkWidget *

Виджет заголовка для отображения.

Владелец: GtkHeaderBar

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

См. также

GtkBox, GtkActionBar

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

Spec-Zone.ru

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