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

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

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

Регистрация: May 2008
Адрес: Ukraine, Kharkov
Сообщений: 84
Отправить сообщение для andruha_derby с помощью ICQ
По умолчанию SuperTabNavigator как узнать label у Canvas

Доброго времени суток.

Использую контейнер SuperTabNavigator из гуглкода. Как узнать label у Canvas внутри вкладки? Нужно для того, чтобы не открывать вкладку, если она уже открыта.
Вкладки добавляются динамически.

Код AS3:
var canvas:Canvas = new Canvas();
canvas.label = "Книга 1";
navigator.addChild(canvas);
Найти пытаюсь так
Код AS3:
var tabIsOpen:Boolean = false; // узнатю, есть ли вкладка
for ( var i:int = 0 ;  i <  navigator.numChildren  ; i++ ) {
 
    if(   ((navigator.getChildByName("Canvas") as Canvas ).label == "Книга1"   ) {
        tabIsOpen = true;
        navigator.selectedIndex = i; 
        break;
    }
}
 
// Далее проверяю если tabIsOpen false то строю вкладку
Но у меня всегда в первом условии null, т.к. нет Canvas, а есть Canvas224, Canvas556 и так далее.

В общем окончательно запутался и нужна помощь.

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Не знаю что такое SuperTabNavigator, но у обычного есть свойство getTabAt(index) (возвращает ссылку на кнопку - он же лейбл закладки) и можно подписаться на событие IndexChangedEvent которое диспатчится каждый раз, когда пользователь открывает новую закладку, индекс закладки соответственно будет в event.newIndex.
__________________
Hell is the possibility of sanity

Старый 22.07.2009, 15:16
andruha_derby вне форума Посмотреть профиль Отправить личное сообщение для andruha_derby Посетить домашнюю страницу andruha_derby Найти все сообщения от andruha_derby
  № 3  
Ответить с цитированием
andruha_derby

Регистрация: May 2008
Адрес: Ukraine, Kharkov
Сообщений: 84
Отправить сообщение для andruha_derby с помощью ICQ
wvxvw спасибо за ответ, разобрался и сделал.
Вот кусок когда, вдруг кому-то поможет
Код AS3:
		 var tabOpen:Boolean = false;
// пробегаемся по списку всех вкладок и проверяем совпадения
		 for ( var i:int = 0 ;  i <  navigator.numChildren  ; i++ ) {
 
		 	if( navigator.getTabAt(i).label == bookData.label ) {
		 		navigator.selectedIndex  = i;
		 		tabOpen = true;
		 		break;
 
		 	}
		 }
 
 
		/**
		 * 	Такой закладки нет. Создаем ее заново и переходим к ней
		 * */		 
		 if (tabOpen==false) {
				navigator.addChild(canvas);
 
				navigator.selectedIndex = navigator.numChildren - 1;
		 }
з.ы. Тему можно закрывать

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

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

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


 


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


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