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

Типы виджетов

Существуют два основных типа виджетов:

  • Контейнерные виджеты, такие как PtWindow и PtScrollContainer

  • Неконтейнерные виджеты, такие как PtButton и PtText.

Виджеты контейнерного класса могут содержать другие виджеты, в том числе другие контейнеры. Виджеты, расположенные внутри контейнера, известны как порождённые виджеты; иерархия, возникающая в результате такой компоновки, называется семейством виджетов. Контейнерные виджеты могут заботиться о задании размеров и позиционировании своих потомков, как описано в главе "Управление геометрией".

Работая с виджетами контейнерного класса в PhAB, помните следующее:

  • если Вы перемещаете контейнер, все виджеты, порождённые контейнером, также перемещаются

  • если Вы помещаете указатель внутрь контейнера, когда создаёте новый виджет, этот виджет иерархически будет размещён внутри контейнера

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

  • нажать <Alt> перед тем как начать окаймлять

  • начать окаймление внутри контейнера.

Для получения более полной информации см. раздел "Выбор виджетов" в этой главе.

Имена экземпляров

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

Чтобы просмотреть или отредактировать имя экземпляра виджета, используйте область "Widget Instance Name" в верхней части панели управления ресурсами или ответными реакциями:

Редактирование имени экземпляра виджета

  • Имя экземпляра виджета используется для создания нескольких переменных языка С, так что оно может включать только буквы, цифры и символы подчёркивания. PhAB не позволит Вам использовать какие-либо другие символы. Имя экземпляра не может быть длиннее чем 64 символа.

  • Вам имеет смысл разработать соглашение по именам для всех виджетов Вашего приложения – это сделает легче управляемыми большие приложения.

Вы можете (что необязательно) включить имя экзепляра в память виджета. См. раздел "Включение имён экземпляров" в главе "Работа с приложениями".

Принимаемое по умолчанию имя экземпляра

Когда Вы создаёте виджет, PhAB автоматически присваивает ему имя экземпляра, даваемое по умолчанию. Обычно это имя по умолчанию является именем класса виджета. Например, если Вы создаёте виджет класса PtButton, панели управления ресурсами и ответными реакциями отобразят PtButton как имя экземпляра.

Если виджет служит просто надписью или декором окна, к нему не будет выполняться доступ из программного кода приложения. Таким образом, Вы можете указать PhAB игнорировать имя экземпляра виджета во время генерирования кода. Чтобы сделать это:

  • оставьте имя экземпляра эквивалентным имени класса (то есть оставьте его таким, каким принято по умолчанию)

или

  • установите пустое имя экземпляра.

Когда назначать уникальное имя

Вы можете дать виджету уникальное имя, если:

  • к виджету должна быть прикреплена ответная реакция

  • приложению необходимо изменять виджет установкой ресурса

  • приложению необходимо извлечь из виджета информацию.

 Чтобы держать число глобальных переменных на минимуме, не присваивайте виджету уникального имени до тех пор, пока Вам действительно не понадобится получить доступ к виджету из программного кода приложения. Если Вы присвоили имя виджету и позже решили, что Вам не нужно имя, просто измените это имя обратно к имени класса виджета или сделайте это имя пустым.