Flash Ripper RSS Readers

Создание кастомного Design-time View для своего Flex 3 компонента

Команда AnyChart.Com Team продолжает радовать. На этот раз они раскопали, как создать кастомный design-time preview для своих Flex компонентов. Привожу русскоязычный вариант статьи (оригинал тут) от авторов:

Иногда необходимо сделать кастомный Design-time Preview для компонента (это его вид в "Design View" Flex Builder-а). Для этих целей в Adobe Flex 3 SDK есть недокументированый класс mx.core.UIComponentGlobals. В этом волшебном классе лежит не менее волшебное поле designMode:Boolean.

В Design View среда Flex Builder пытается "выполнить" код и отобразить что-либо, следовательно можно прописать проверку на designMode и делать то, что хотим.

Итак:
1. Возьмем ActionScript-компонент для Flex Bulder 3.
2. Заоверрайдим метод createChildren():

override protected function createChildren():void {
super.createChildren();
if (UIComponentGlobals.designMode) {
//здесь мы создаем child-ы, которые будут в design mode
}
}

3. Заоверрайдим метод updateDisplayList():
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);

if (UIComponentGlobals.designMode) {
//здесь мы рисуем то, что будет видно в design mode
}else {
//а здесь то, что в runtime
}
}

Вуаля! Пример компонента можно взять здесь. При добавлении этого компонента на сцену в Design Mode Flex Builder-а мы увидим следующее:


А при запуске — вот это:

Можно скачать пример Flex-приложения и пример компонента.

Писал Rost, 24 Март 2008 20:06

Найдены баги:

Как могло получиться, что столь полезный класс остался недокументированным?
На сколько мне известно, сейчас у Flex только один плюс перед .NET - возможность наследования ресурсов подобно Delphi. Ввиду такого положения вещей, не делать упор на это вроде бы не очень логично?

Как можно откопать недокументированные классы?

Алексей™. 25 Март 2008 7:01

>>Как могло получиться, что столь полезный класс остался недокументированным?
Эт к адобу. Или на opensource.adobe.com. Помоему там можно документировать все.

>>Как можно откопать недокументированные классы?
Копая исходники фреймворка ;-)

Alex Batsuev™. 25 Март 2008 10:58

Во Flash CS3, если кому интересно, тоже самое делается через проверку условия:
if ((parent != null && getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")) {}

Подозреваю, во Flex тоже можно так сделать, только, наверное, класс будет другой.

Dendroid™. 25 Март 2008 19:49

обязательно ли из компонента компилировать SWC?
Если нет то у меня не работает для SDK 3.0

™. 30 Апрель 2008 17:51
Написать багрепорт:










Можно: a href target, b, i, stroke, blockquote, code, pre, small, img src width height border, strong, em
Нельзя: [ EГГОГ #61: Список запретов пус#$6545 ]


Запомнить тебя?






Это запись из категории 'Flex'. 10 еще cвежих:

Архивы по категориям:

3D-15, Adobe AIR-25, Architecture-2, ARP-1, Art-25, Articles-25, AS3-51, Books-6, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-29, Community-111, Components-19, Contests-26, Debug-17, Design-25, Development-84, Events-11, Extensions-2, FAQ-7, FDS-1, Flash and html-3, Flash Player-32, Flash Updates-7, Flash-scene-1, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-28, Games-11, Good Job!-33, HaXe-13, Health-2, Humor-7, Ideas-13, JavaScript-1, Job-23, JSFL-8, Maps-1, Math-8, Money-10, MXML-1, Open Source-15, Patterns-8, Personalities-26, Politics-1, Preloading-3, Productivity-9, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-20, Ruby-6, Security-11, SEO-6, Silverlight-4, Sound-1, Strategy-119, Tools-112, Training-2, Trash-8, Usability-4, Video-6, VoIP-4, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Май 2008: Macromedia Flex, Brady и Partridge. Продукты для профессионалов, Вышла новая версия Adobe Acrobat Connect Pro для ICQ,

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты,

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?,

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта,

Янв 2008: Sprout Builder в действии: отжиг из бета-версии. Песня!, Уроки по PureMVC — много, понятно и на русском,

Дек 2007: Флэш-программистеры и флэш-программиссиссы!, Как я провел зиму, весну, лето и осень 2007 года,





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)