![]() |
|
||||||||||
|
|||||
|
murz, да проблем нету, сел и написал. Мне просто хочется написать так, чтобы допиливание происходило через наследование, нормально и понятно, причем желательно достаточно гибко, вот и интересуюсь, не было ли у кого опыта.
Попапы, управление окнами и прочее мне пока что нафиг ненужно, я написал то, что я использую в 90% проектах. Попапы и прочее, дай бог, вспомнить бы хоть один проект где я это использовал... И да, для меня Алерт это сообщение, сообщение с кнопками да нет, любой дисплей обджект.. короче, для меня это многое)
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А мы таки сгородили mxml/css. Жаль, правда, что оно умрет скоро.
|
|
|||||
|
Регистрация: May 2009
Сообщений: 220
|
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что в TZ не осталось тех, кто его знает вдоль и поперек.
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Вот и я о том же. Выгода от написания внешних нагромождений резко падает с исчезновением инициаторов этих нагромождений)
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: May 2009
Сообщений: 220
|
фуф, я пишу нечто похожее в свободное время и начал было беспокоиться ))
а документацию написать... не? |
|
|||||
|
А я вот кстати думаю, как написать скроллпейн.
В идеале я так думаю в него можно делать addChild, задав высоту и ширину самого скроллпейна, остальное он сделает сам. Только вот при движении детей ширина и высота "контента" может меняться... Не вешать же на ENTER_FRAME проверку. Какие есть идеи?)
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
![]() Перегружать set x и set y и вызывать внутри них что-то типа: var container:IMyContainerBase = parent as MyContainerBase; if (container != null) { container.invalidateByChild(); } protected function validate() { if (_isValid) { return; } _isValid = true; // Погнали пересчитывать свои размеры и перерасполагать детей } public function get width():void { if (!_isValid) { validate(); } return _width;// это значение уже правильно пересчитано методом validate() } И ломать голову как сделать циклы валидации - инвалидации, чтобы оно не зациклилось Подсматривать как это сделано - во флекс и aswing - я сам до конца не вкурил. Альтернатива - повысить сложность клиенсткого кода и вызывать методы, пересчитывающие размеры и положения детей вручную, ну и соответственно определять когда это необходимо тоже вручную. Зато компоненты писать проще будет. Последний раз редактировалось expl; 21.08.2010 в 23:07. |
|
|||||
|
Да это ежу понятно.
Только если что-то большое требует скролла (ну, такие дела) - переределывать им всем геттеры-сеттеры на x, y не вариант. x, y, scaleX, scaleY, graphics, width, height... Многовато будет. Причем для каждого объекта. А SimpleButton финальный, к тому же. И перегрузка подразумевает изменение сигнатуры. Правильнее сказать "переопределение".
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
Если компонент о своем изменении не раскажет - кто же раскажет? Только его обертка, если ее сделать. Ее можно и поверх объекта с финальным классом натянуть, Про удобство такого подхода все понятно (и если сама кнопка вдруг вздумает изменить положение без внешнего присвоения x - ничего обертка не сможет сделать), но, тем не менее, можно сделать при необходимости. Вообще, проблемы может и не возникнуть: - Когда обычно задаются координаты элементов? - при добавлении в родитель (если мы лайаут не используем) Т.е. отложенная валидация после добавления объекта - и все, не надо никаких перемещений отлавливать. Тут проблема больше не в x и y, а высоте и ширине - они чаще меняются - т.е. изменилась высота текстового поля - родитель должен отреагировать. Последний раз редактировалось expl; 21.08.2010 в 23:32. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|