The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties

GtkSizeGroup

GtkSizeGroup Группирует виджеты таким образом, чтобы они запрашивали один и тот же размер

Краткое описание

#include <gtk/gtk.h>


            GtkSizeGroup;
enum        GtkSizeGroupMode;

GtkSizeGroup* gtk_size_group_new            (GtkSizeGroupMode mode);
void        gtk_size_group_set_mode         (GtkSizeGroup *size_group,
                                             GtkSizeGroupMode mode);

GtkSizeGroupMode gtk_size_group_get_mode    (GtkSizeGroup *size_group);
void        gtk_size_group_set_ignore_hidden
                                            (GtkSizeGroup *size_group,
                                             gboolean ignore_hidden);

gboolean    gtk_size_group_get_ignore_hidden
                                            (GtkSizeGroup *size_group);
void        gtk_size_group_add_widget       (GtkSizeGroup *size_group,
                                             GtkWidget *widget);
void        gtk_size_group_remove_widget    (GtkSizeGroup *size_group,
                                             GtkWidget *widget);

GSList*     gtk_size_group_get_widgets      (GtkSizeGroup *size_group);

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

  GObject

   +----GtkSizeGroup

Свойства

  "ignore-hidden"        gboolean              : Read / Write
  "mode"                 GtkSizeGroupMode      : Read / Write

Описание

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

Подробнее, размер запрашиваемый для каждого виджета в GtkSizeGroup это максимальный размер который запрашивает каждый виджет в групповом размере, если они не в групповом размере. Режим группового размера (смотрите gtk_size_group_set_mode()) определяет применяется ли горизонтальный, вертикальный, или оба размера.

Помните, групповой размер влияет только на объём запрашиваемого пространства, не на конечный размер получаемый виджетом. Если вам нужны виджеты в GtkSizeGroup фактически одного размера, вам нужно упаковать их таким образом, чтобы они получили размер не больше запрашиваемого. Например, если вы упаковываете ваши виджеты в таблицу, вы не должны включать флажок GTK_FILL.

GtkSizeGroup объекты являются ссылками на каждый виджет в групповом размере, так как только вы добавляете все виджеты в GtkSizeGroup, вы можете сбросить начальную ссылку для группового размера с помощью g_object_unref(). Если виджеты в групповом размере последовательно уничтожены, то они будут удалены из группового размера и сброшена их ссылка на групповой размер; когда все виджеты удалены, групповой размер освобождается.

Виджеты могут быть частью множества групповых размеров; GTK+ рассчитает горизонтальный размер виджета из горизонтального запроса всех виджетов которые могут быть досягаемы из цепочки групповых размеров типа GTK_SIZE_GROUP_HORIZONTAL или GTK_SIZE_GROUP_BOTH, а вертикальный размер из вертикального запроса всех виджетов которые могут быть досягаемы в цепочке групповых размеров типа GTK_SIZE_GROUP_VERTICAL или GTK_SIZE_GROUP_BOTH.

Детали

GtkSizeGroup

typedef struct _GtkSizeGroup GtkSizeGroup;

enum GtkSizeGroupMode

typedef enum {
  GTK_SIZE_GROUP_NONE,
  GTK_SIZE_GROUP_HORIZONTAL,
  GTK_SIZE_GROUP_VERTICAL,
  GTK_SIZE_GROUP_BOTH
} GtkSizeGroupMode;

Режим группового размера определяется направлением в котором групповой размер влияет на запрашиваемые размеры виджетов которыми укомплектован.

GTK_SIZE_GROUP_NONE

Группа не имеет эффекта

GTK_SIZE_GROUP_HORIZONTAL

Группа влияет на горизонтальный размер

GTK_SIZE_GROUP_VERTICAL

Группа влияет на вертикальный размер

GTK_SIZE_GROUP_BOTH

Группа влияет на горизонтальный и вертикальный размер


gtk_size_group_new ()

GtkSizeGroup* gtk_size_group_new            (GtkSizeGroupMode mode);

Создаёт новый GtkSizeGroup.

mode :

Режим для нового группового размера.

Возвращает :

Вновь созданный GtkSizeGroup


gtk_size_group_set_mode ()

void        gtk_size_group_set_mode         (GtkSizeGroup *size_group,
                                             GtkSizeGroupMode mode);

Устанавливает GtkSizeGroupMode группового размера. Режим группового размера определяет в каком направлении влияет групповой размер на размер виджетов входящих в его состав - горизонтальный (GTK_SIZE_GROUP_MODE_HORIZONTAL), вертикальный (GTK_SIZE_GROUP_MODE_VERTICAL), или на оба размера (GTK_SIZE_GROUP_MODE_BOTH).

size_group :

GtkSizeGroup

mode :

Режим устанавливаемый для группового размера.


gtk_size_group_get_mode ()

GtkSizeGroupMode gtk_size_group_get_mode    (GtkSizeGroup *size_group);

Определяет текущий режим группового размера. Смотрите gtk_size_group_set_mode().

size_group :

GtkSizeGroup

Возвращает :

Текущий режим группового размера.


gtk_size_group_set_ignore_hidden ()

void        gtk_size_group_set_ignore_hidden
                                            (GtkSizeGroup *size_group,
                                             gboolean ignore_hidden);

Устанавливает должен ли игнорироваться не видимый (unmapped) виджет при расчете размера.

size_group :

GtkSizeGroup

ignore_hidden :

должен ли игнорироваться не видимый (unmapped) виджет при расчете размера

Начиная с версии 2.8


gtk_size_group_get_ignore_hidden ()

gboolean    gtk_size_group_get_ignore_hidden
                                            (GtkSizeGroup *size_group);

Определяет если не видимый виджет игнорируется при расчете размера.

size_group :

GtkSizeGroup

Возвращает :

TRUE если не видимый виджет игнорируется.

Начиная с версии 2.8


gtk_size_group_add_widget ()

void        gtk_size_group_add_widget       (GtkSizeGroup *size_group,
                                             GtkWidget *widget);

Добавляет виджеты в GtkSizeGroup. В будущем, размер виджета будет определяться как максимум его реквизиции и размеров других виджетов в групповом размере. К каким направлениям размера это будет относиться зависит от режима группового размера. Смотрите gtk_size_group_set_mode().

size_group :

GtkSizeGroup

widget :

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


gtk_size_group_remove_widget ()

void        gtk_size_group_remove_widget    (GtkSizeGroup *size_group,
                                             GtkWidget *widget);

Удаляет виджеты из GtkSizeGroup.

size_group :

GtkSizeGrup

widget :

GtkWidget для удаления


gtk_size_group_get_widgets ()

GSList*     gtk_size_group_get_widgets      (GtkSizeGroup *size_group);

Возвращает список виджетов связанных с size_group.

size_group :

GtkSizeGrup

Возвращает :

GSList виджетов. Списком владеет GTK+ и он не должен модифицироваться.

Начиная с версии 2.10

Детали свойств

Свойство "ignore-hidden"

  "ignore-hidden"        gboolean              : Read / Write

Если TRUE, не видимый (unmapped) виджет игнорируется при расчете размера группы.

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

Начиная с версии 2.8


Свойство "mode"

  "mode"                 GtkSizeGroupMode      : Read / Write

Направление в котором групповой размер оказывает влияние на размер виджетов входящих в его состав.

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру