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

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

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

Регистрация: Dec 2009
Сообщений: 122
Блииин люди подскажите. Я тут занимался этим делом как у меня билдер здох. Сначала выскакивало сообщение что проект уже запущен (но он не был запущен). Потом я перезагрузился и в билдере (как в самостоятельной проге так и надстройке над эклипсом) пропала возможность компилить. Я переустановил билдер он переустановился но возможности компилить нет (Нету кнопок Run и Debug). Подскажите что за фигня

Добавлено через 2 часа 2 минуты
Фу, как то разобрался.

Добавлено через 2 часа 3 минуты
Но я все равно не понимаю как сделать.
Я в своем TreeItemRenderer-е пишу так
Код AS3:
disclosureIcon.addEventListener(MouseEvent.MOUSE_DOWN, openItem_Handler);
в функции openItem_Handler не пишу ничего, но он все равно расскрывается

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Событие надо блокировать.

Старый 25.04.2011, 20:01
AntonSurkont вне форума Посмотреть профиль Отправить личное сообщение для AntonSurkont Найти все сообщения от AntonSurkont
  № 3  
Ответить с цитированием
AntonSurkont
 
Аватар для AntonSurkont

Регистрация: Dec 2009
Сообщений: 122
Блокирую, но ветка все равно раскрывается она только перестала закрываться

Добавлено через 1 час 43 минуты
Ветка перестала закрываться по другим причинам.
Походу мой код вообще не работает.
У меня есть CustomTreeRenderer extends TreeItemRenderer. В котором есть чекбокс. На событие MouseEvent.CLICK этого чек бокса у меня такой код.
Код AS3:
disclosureIcon.addEventListener(MouseEvent.MOUSE_DOWN, openItem_Handler);
....
private function openItem_Handler(event:MouseEvent):void
{
	event.preventDefault();
}
Я кликаю по чекбоксу, но после этого данная ветка раскрывается без проблем, хотя не должна.
Я понимаю что я вас задолбал, но все-таки подскажите плиз потому что я не догоняю.

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
А ты где подписываешься?

Старый 26.04.2011, 11:24
AntonSurkont вне форума Посмотреть профиль Отправить личное сообщение для AntonSurkont Найти все сообщения от AntonSurkont
  № 5  
Ответить с цитированием
AntonSurkont
 
Аватар для AntonSurkont

Регистрация: Dec 2009
Сообщений: 122
Код AS3:
checkBox.addEventListener(MouseEvent.CLICK, handleCheckClick);
...
private function handleCheckClick(e:MouseEvent):void
{
this.disclosureIcon.addEventListener(MouseEvent.MOUSE_DOWN, openItem_Handler);
}

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Вот это:
Код AS3:
disclosureIcon.addEventListener(MouseEvent.MOUSE_DOWN, openItem_Handler);
Должно быть в commitProperties с соответствующими проверками на наличие, причем после super.commitProperties. В handleCheckClick просто выставляй флаг, подписываться или нет, и вызывай invalidateProperties.

Старый 26.04.2011, 11:59
AntonSurkont вне форума Посмотреть профиль Отправить личное сообщение для AntonSurkont Найти все сообщения от AntonSurkont
  № 7  
Ответить с цитированием
AntonSurkont
 
Аватар для AntonSurkont

Регистрация: Dec 2009
Сообщений: 122
Код такой:
Код AS3:
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. Вроде все выполняется как надо, но не работает

Старый 26.04.2011, 12:15
zorexundra вне форума Посмотреть профиль Отправить личное сообщение для zorexundra Найти все сообщения от zorexundra
  № 8  
Ответить с цитированием
zorexundra

Регистрация: Dec 2010
Сообщений: 177
Зачем блокировать ветку, которая не должна открываться? Проще удалить поддиректорию, а при необходимости открытия - добавить.

Старый 26.04.2011, 12:27
AntonSurkont вне форума Посмотреть профиль Отправить личное сообщение для AntonSurkont Найти все сообщения от AntonSurkont
  № 9  
Ответить с цитированием
AntonSurkont
 
Аватар для AntonSurkont

Регистрация: Dec 2009
Сообщений: 122
Я думаю что запрещать и разрешать ветке открываться будет гораздо легче чем удалять поддиректории а затем добавлять из вновь

Старый 26.04.2011, 12:44
zorexundra вне форума Посмотреть профиль Отправить личное сообщение для zorexundra Найти все сообщения от zorexundra
  № 10  
Ответить с цитированием
zorexundra

Регистрация: Dec 2010
Сообщений: 177
Ну тогда может:
Код AS3:
youreTree.addEventListener(TreeEvent.ITEM_OPENING, youreListYoureTreeOpen);
function youreListYoureTreeOpen(evt):void{
    Tree(evt.target).expandItem(Tree(evt.target).selectedItem, false);
    Tree(evt.target).validateNow(); 
}
Этот код наверно нерабочий. Просто суть идеи - закрывать ветку по событию её открытия.

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

Теги
tree

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

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


 


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


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