Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.09.2008, 11:44
insected вне форума Посмотреть профиль Отправить личное сообщение для insected Найти все сообщения от insected
  № 1  
Ответить с цитированием
insected
 
Аватар для insected

Регистрация: Jun 2006
Сообщений: 164
По умолчанию Доступ ко всем дочерним элементам ViewStack (включая неактивные)

Такая ситуация: у меня есть класс MyViewStack extends ViewStack. MyViewStack содержит в себе мои кастом компоненты:
Код:
<MyViewStack>
     <Canvas>
           <myCustomComponent id="0"/>
     <Canvas>
     <Canvas>
           <myCustomComponent id="1"/>
     <Canvas>
</MyViewStack>
Когда я щелкаю мышкой по одному из вложенных контролов моего компонента myCustomComponent, то генерится событие и в MyViewStack вызывается обработчик этого события. В этом обработчике нужно сделать следующее:
1. пройтись по всем вложенным коспонентам MyViewStack
2. выбрать из них нужный (а нужны мне myCustomComponent)
3. сделать его selected

Когда я в цикле вызваю у MyViewStack getChildAt(i) я получаю канвасы, причем у того канваса который видим numChildren не равно 0, у всех остальных numChildren==0.
Как то можно получить доступ ко ВСЕМ вложенным элементам всех вложенных элементов MyViewStack ???

Старый 26.09.2008, 15:05
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Просто предположение... а что показывает rawChildren? Судя по всему дети создаются, когда создается очередной канвас... не уверен, что до этого можно как-то получить их количество...

Да, еще, как вариант, можно сначала канвасу задать creationPolicy = ContainerCreationPolicy.ALL, тогда он по-идее должен сразу создавать детей а не когда они будут видны... хотя, ИМО, лучше так не делать, а все таки ждать, когда дети будут созданы, и по мере необходимости с ними работать...
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 26.09.2008 в 15:11.
Старый 26.09.2008, 16:04
insected вне форума Посмотреть профиль Отправить личное сообщение для insected Найти все сообщения от insected
  № 3  
Ответить с цитированием
insected
 
Аватар для insected

Регистрация: Jun 2006
Сообщений: 164
rawChildren показывает numChildren=0 для всех канвасов, кроме активного в данный момент... А чтобы сделать канвас внутри стэка активным достаточно только установить selectedIndex или после этого еще какие то методы нужно вызывать? Это я к тому что можно было бы пройтись по канвасам и делая их селектед искать в них нужный компонент.

Старый 26.09.2008, 16:22
insected вне форума Посмотреть профиль Отправить личное сообщение для insected Найти все сообщения от insected
  № 4  
Ответить с цитированием
insected
 
Аватар для insected

Регистрация: Jun 2006
Сообщений: 164
И да, я установил у MyViewStack creationPolicy="all" и у всех канвасов создались все дети. А почему лучше так не делать ?

Старый 26.09.2008, 18:34
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Потому что, представь, что часным случаем контейнера может быть лист / таблица с 10000 (.... много нулей) элементов. Если их взять, и за 1 раз отрендерить - никаких ресурсов не хватит. Конечно, если заранее извесно, что элементов не много, то разницы практически никакой. Но в глобальном плане - лучше рендерить / обрабатывать по мере надобности, это как бы и технологичнее и красивше =)
__________________
Hell is the possibility of sanity

Старый 26.09.2008, 19:15
insected вне форума Посмотреть профиль Отправить личное сообщение для insected Найти все сообщения от insected
  № 6  
Ответить с цитированием
insected
 
Аватар для insected

Регистрация: Jun 2006
Сообщений: 164
Ну да, в общем то я согласен, но в моем случае это будет не больше 10 элементов, так что думаю что можно забить ) Спасибо за наводку кстати ;-)

Старый 29.09.2008, 19:13
mitado вне форума Посмотреть профиль Отправить личное сообщение для mitado Найти все сообщения от mitado
  № 7  
Ответить с цитированием
mitado

Регистрация: Dec 2007
Сообщений: 52
зачем здесь используются канвасы? можно их удалить.

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.