Spec-Zone.ru › GTK 3.22

GtkFrame

GtkFrame — Объект с декоративной рамкой и необязательной меткой

Функции

GtkWidget * gtk_frame_new ()
void gtk_frame_set_label ()
void gtk_frame_set_label_widget ()
void gtk_frame_set_label_align ()
void gtk_frame_set_shadow_type ()
const gchar * gtk_frame_get_label ()
void gtk_frame_get_label_align ()
GtkWidget * gtk_frame_get_label_widget ()
GtkShadowType gtk_frame_get_shadow_type ()

Свойства

gchar * метка Чтение / Запись
GtkWidget * элемент-метка Чтение / Запись
gfloat выравнивание-x метки Чтение / Запись
gfloat выравнивание-y метки Чтение / Запись
GtkShadowType тип-тени Чтение / Запись

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

struct GtkFrame
struct GtkFrameClass

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkFrame
                        ╰── GtkAspectFrame

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

GtkFrame реализует AtkImplementorIface и GtkBuildable.

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

#include <gtk/gtk.h>

Описание

Компонент рамки — это контейнер, который окружает свой дочерний элемент декоративной рамкой и необязательной меткой. Если метка присутствует, она рисуется в зазоре на верхней стороне рамки. Положение метки можно контролировать с помощью gtk_frame_set_label_align().

GtkFrame как GtkBuildable

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

Пример фрагмента определения пользовательского интерфейса с GtkFrame:

Узлы CSS

<object class="GtkFrame">
  <child type="label">
    <object class="GtkLabel" id="frame-label"/>
  </child>
  <child>
    <object class="GtkEntry" id="frame-content"/>
  </child>
</object>

GtkFrame имеет главный узел CSS с именем frame и поднод с именем border. Узел border используется для отрисовки видимой границы. Класс стиля .flat может быть применен к главному узлу.

Функции

gtk_frame_new ()

GtkWidget *
gtk_frame_new (const gchar *label);

Создаёт новый GtkFrame с необязательной надписью label . Если label равно NULL, надпись пропускается.

Параметры

label

текст для использования в качестве надписи рамки.

[allow-none]

Возвращает

новый виджет GtkFrame

gtk_frame_set_label ()

void
gtk_frame_set_label (GtkFrame *frame,
                     const gchar *label);

Устанавливает текст надписи. Если label равно NULL, текущая надпись удаляется.

Параметры

frame

элемент GtkFrame

label

текст для использования в качестве надписи рамки.

[allow-none]

gtk_frame_set_label_widget ()

void
gtk_frame_set_label_widget (GtkFrame *frame,
                            GtkWidget *label_widget);

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

Параметры

frame

элемент GtkFrame

label_widget

новый виджет надписи.

[nullable]

gtk_frame_set_label_align ()

void
gtk_frame_set_label_align (GtkFrame *frame,
                           gfloat xalign,
                           gfloat yalign);

Устанавливает выравнивание надписи виджета рамки. Значения по умолчанию для недавно созданной рамки — 0,0 и 0,5.

Параметры

frame

элемент GtkFrame

xalign

Положение надписи по горизонтали в верхней части виджета. Значение 0,0 соответствует выравниванию по левому краю; 1,0 — по правому.

yalign

Вертикальное выравнивание надписи. Значение 0,0 выравнивает надпись под рамкой; 1,0 — над рамкой. Если значения равны 0,0 или 1,0, зазор в рамке не будет нарисован, так как надпись будет полностью расположена над или под рамкой.

gtk_frame_set_shadow_type ()

void
gtk_frame_set_shadow_type (GtkFrame *frame,
                           GtkShadowType type);

Устанавливает тип тени для frame .

Параметры

frame

элемент GtkFrame

type

новый GtkShadowType

gtk_frame_get_label ()

const gchar *
gtk_frame_get_label (GtkFrame *frame);

Если виджет надписи рамки — GtkLabel, возвращает текст в виджете надписи. (Рамка будет иметь GtkLabel для виджета надписи, если в gtk_frame_new() был передан аргумент, отличный от NULL.)

Параметры

frame

элемент GtkFrame

Возвращает

текст в надписи или NULL, если виджета надписи не было или виджет надписи не является GtkLabel. Эта строка принадлежит GTK+ и не должна изменяться или освобождаться.

[nullable]

gtk_frame_get_label_align ()

void
gtk_frame_get_label_align (GtkFrame *frame,
                           gfloat *xalign,
                           gfloat *yalign);

Возвращает выравнивание X и Y надписи рамки. См. gtk_frame_set_label_align().

Параметры

frame

элемент GtkFrame

xalign

место для хранения выравнивания X надписи рамки или NULL.

[out][allow-none]

yalign

место для хранения выравнивания X надписи рамки или NULL.

[out][allow-none]

gtk_frame_get_label_widget ()

GtkWidget *
gtk_frame_get_label_widget (GtkFrame *frame);

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

Параметры

frame

элемент GtkFrame

Возвращает

виджет надписи или NULL, если его нет.

[nullable][transfer none]

gtk_frame_get_shadow_type ()

GtkShadowType
gtk_frame_get_shadow_type (GtkFrame *frame);

Возвращает тип тени рамки. См. gtk_frame_set_shadow_type().

Параметры

frame

элемент GtkFrame

Возвращает

текущий тип тени рамки.

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

struct GtkFrame

struct GtkFrame;

struct GtkFrameClass

struct GtkFrameClass {
  GtkBinClass parent_class;


  void (*compute_child_allocation) (GtkFrame *frame,
                                    GtkAllocation *allocation);
};

Члены

compute_child_allocation ()

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

Свойство “label”

  “label”                    gchar *

Текст метки фрейма.

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

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

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

  “label-widget”             GtkWidget *

Виджет для отображения вместо обычной метки фрейма.

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

Свойство “label-xalign”

  “label-xalign”             gfloat

Горизонтальное выравнивание метки.

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

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

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

Свойство “label-yalign”

  “label-yalign”             gfloat

Вертикальное выравнивание метки.

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

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

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

Свойство “shadow-type”

  “shadow-type”              GtkShadowType

Вид границы фрейма.

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

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

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

Spec-Zone.ru

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