Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОУК / 09 семестр / Книги и методические указания / Руководство программиста в Photon.doc
Источник:
Скачиваний:
364
Добавлен:
04.03.2014
Размер:
7.99 Mб
Скачать

Выравнивание виджетов с использованием групп

Виджеты PtGroup являются виджетами контейнерного класса, которые могут управлять геометрией своих потомков. Вы найдёте это полезным для выравнивания виджетов по горизонтали, вертикали или как матрицу. Они также обладают уникальной способностью растягивать порождённые виджеты.

PhAB расширяет полезность этого класса виджетов путём превращения их в ориентированную на действие команду "Group". Используя эту команду, Вы можете выбирать несколько виджетов внутри модуля и группировать их вместе в один групповой виджет. Если Вы попытаетесь выбрать любой виджет из группы, щёлкнув на нём, будет выбрана вся группа.

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

Виджет PtGroup может быть использован для расстановки группы виджетов по строкам, колонкам или в виде таблицы. Для управления этим используется несколько ресурсов, и они интерпретируются несколько по-разному в зависимости от желаемой компоновки потомков.

Объединение виджетов в группу

Чтобы объединить виджеты в группу:

  1. Выберите виджеты, используя либо метод ограничивающего прямоугольника, либо метод "Shift и щелчок"(как описано в главе "Создание виджетов в PhAB").

Вы можете использовать "Shift и щелчок", если собираетесь выравнивать виджеты по порядку, используя ресурс "Orientation". Первый выбранный Вами виджет становится первым внутри группы. Если порядок не важен или выравнивание не требуется, приятнее работать с методом ограничивающего прямоугольника.

  1. Выполните одно из следующих действий:

  • Выберите пункт "Group Together" из меню "Edit".

  • Нажмите <Ctrl>+<G>

  • Щёлкните на кнопке "Group" на панели инструментов PhAB:

PhAB сгруппирует виджеты и выберет группу.

Получение доступа к виджетам в группе

Несмотря на то, что PhAB интерпретирует группу как один виджет, Вы по-прежнему можете получить доступ к любому отдельному виджету, входящему в группу. Чтобы это сделать, используйте клавиши "Следующая" и "Предыдущая" в панели управления ресурсами или ответными реакциями, или выберите виджет непосредственно из панели дерева модулей. Более подробно это описано в разделе "Выбор виджетов" в главе "Создание виджетов в PhAB".

Горизонтальное или вертикальное выравнивание виджетов

Ресурс ориентации Pt_ARG_GROUP_ORIENTATION управляет тем, выравниваются ли потомки группового виджета построчно или по колонкам. Значение Pt_GROUP_VERTICAL приводит к тому, что потомки выстраиваются вертикально, тогда как значение Pt_GROUP_HORIZONTAL – к тому, что они выстраиваются горизонтально. Вы можете управлять величиной свободного пространства, остающегося между виджетами, выстроенными в групповом виджете, путём использования ресурса Pt_ARG_GROUP_SPACING. Значение ресурса даёт число пикселей, оставляемых между виджетами.

Следующий пример показывает, как располагаются несколько потомков, если группа использует вертикальную ориентацию с пятью пикселями свободного пространства между потомками:

Если ориентация изменена на горизонтальную, группа выглядит так:

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

Выстраивание виджетов построчно и в колонки

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

Интерпретация этого ресурса зависит от ориентации:

  • Когда ориентация вертикальная, этот ресурс определяет число отображаемых строк; число колонок вычисляется на основе числа виджетов, чтобы получить верное число строк:

  • В противном случае значение определяет число колонок, и виджет вычисляет число строк:

Последняя строка или колонка может иметь меньшее количество виджетов, чем остальные.

Когда элементы группы скомпонованы в строки и колонки, сами виджеты могут быть тесно упакованы или же они могут быть расставлены с равными интервалами построчно и/или колонками. Это управляется ресурсом Pt_ARG_GROUP_SPACING.