![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Dec 2009
Сообщений: 122
|
Блииин люди подскажите. Я тут занимался этим делом как у меня билдер здох. Сначала выскакивало сообщение что проект уже запущен (но он не был запущен). Потом я перезагрузился и в билдере (как в самостоятельной проге так и надстройке над эклипсом) пропала возможность компилить. Я переустановил билдер он переустановился но возможности компилить нет (Нету кнопок Run и Debug). Подскажите что за фигня
Добавлено через 2 часа 2 минуты Фу, как то разобрался. Добавлено через 2 часа 3 минуты Но я все равно не понимаю как сделать. Я в своем TreeItemRenderer-е пишу так в функции openItem_Handler не пишу ничего, но он все равно расскрывается |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 122
|
Блокирую, но ветка все равно раскрывается она только перестала закрываться
Добавлено через 1 час 43 минуты Ветка перестала закрываться по другим причинам. Походу мой код вообще не работает. У меня есть CustomTreeRenderer extends TreeItemRenderer. В котором есть чекбокс. На событие MouseEvent.CLICK этого чек бокса у меня такой код. disclosureIcon.addEventListener(MouseEvent.MOUSE_DOWN, openItem_Handler); .... private function openItem_Handler(event:MouseEvent):void { event.preventDefault(); } Я понимаю что я вас задолбал, но все-таки подскажите плиз потому что я не догоняю. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 122
|
|
|
|||||
|
Вот это:
Должно быть в commitProperties с соответствующими проверками на наличие, причем после super.commitProperties. В handleCheckClick просто выставляй флаг, подписываться или нет, и вызывай invalidateProperties. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 122
|
Код такой:
private var _closeTree:Boolean = false; private var _closeTreeChange:Boolean = false; ... override protected function commitProperties():void { super.commitProperties(); if (_closeTreeChange) { _closeTreeChange = false; disclosureIcon.addEventListener(MouseEvent.MOUSE_DOWN, openItem_Handler); trace("111"); } } ... public function set closeTree(value:Boolean):void { if (_closeTree != value) { _closeTree = value; _closeTreeChange = true; invalidateProperties(); } } public function get closeTree():Boolean { return _closeTree; } ... private function handleCheckClick(e:MouseEvent):void { closeTree = true; } ... private function openItem_Handler(event:MouseEvent):void { event.preventDefault(); trace("222"); } Трейсы видит. Я кликнул по чекбоксу - сработал трейс 111, я кликнул чтобы развернуть ветку сработал трейс 222. Вроде все выполняется как надо, но не работает |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 177
|
Зачем блокировать ветку, которая не должна открываться? Проще удалить поддиректорию, а при необходимости открытия - добавить.
|
|
|||||
|
Регистрация: Dec 2009
Сообщений: 122
|
Я думаю что запрещать и разрешать ветке открываться будет гораздо легче чем удалять поддиректории а затем добавлять из вновь
|
|
|||||
|
Регистрация: Dec 2010
Сообщений: 177
|
Ну тогда может:
Этот код наверно нерабочий. Просто суть идеи - закрывать ветку по событию её открытия. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:42. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| tree |
|
|