Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Жизненный цикл виджета




 

Виджет имеет присущий ему жизненный цикл, как показано ниже.

 

Рис. 3. Жизненный цикл виджета

 

Когда виджет оказывается востребованным, он создаётся или инициализируется (instantiated). После его создания появляется возможность манипулировать его атрибутами, или над ним можно производить действие.

 

Когда виджет создан, он не становится немедленно видим в пользовательском интерфейсе. Он должен быть реализован (realized). Если Вы используете PhAВ, Ваши виджеты реализуются автоматически; если Вы PhAВ не используете, Вы должны реализовать их, используя функцию PtRealizeWidget().

 

Реализация виджета автоматически реализует всех его потомков. Photon гарантирует, что потомки виджета реализуются перед ним самим, так что виджет может вычислить размер своей инициализации, основываясь на размерах своих детей. Вы можете задать, чтобы приложение уведомлялось, что виджет реализован, путём регистрирования ответной реакции в списке реакций Pt_CB_REALIZED. С помощью функции PtUnrealizeWidget() Вы можете временно скрыть виджет от пользовательского интерфейса, дереализовав его. Что касается реализации, Вы можете уведомить приложение, используя ресурс ответной реакции Pt_CB_UNREALIZED.

Когда виджет оказывается больше не нужным, Вы можете убить его. Вы можете уничтожить виджет, вызвав функцию PtDestroyWidget(). В действительности виджет не уничтожается немедленно – он маркируется как подлежащий удалению в соответствующее время и добавляется в список виджетов, подлежащих уничтожению. Эти виджеты обычно уничтожаются внутри главной петли приложения после того, как отработают все ответные реакции, привязанные к событию.

 

Ваше приложение может определить ответные реакции Pt_CB_DESTROYED для любого виджета. Эти ответные реакции вызываются, когда виджет маркируется, как подлежащий уничтожению. Вы можете задать, чтобы приложение уведомлялось, когда виджет в действительности уничтожен, регистрацией функции со списком ответной реакции на уничтожение (Pt_CB_IS_DESTROYED) для виджета. Это особенно полезно для очистки структур данных, связанных с виджетом.

 




Поделиться с друзьями:


Дата добавления: 2014-12-10; Просмотров: 480; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.