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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.06.2010, 16:31
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 1  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
По умолчанию Flex проектирование Темы

Дано приложение, которое реализовывает GUI интерфейс через css стили, которые грузят ресурсы на этапе компиляции тегом embed

цель сделать возможным поддержку некой темы. Тема подгружает свой набор стилей и компонентов на этапе исполнения и все компоненты описывают свой внешний вид на основании стилей и рендереров описанных в Теме.

Можете дать какой нибудь совет, как это лучше сделать ?!

В частности как динамически создавать css стили для компонентов.
(я конечно буду пользоваться google но мне кажется тема достойна публичного обсуждения)

Старый 15.06.2010, 16:34
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 2  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
Может быть это?
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 15.06.2010, 17:28
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 3  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
Первая попытка добится каких то результатов привела к warning-у

Код AS3:
private function createStyle () :void {
	var windowBorderSD:CSSStyleDeclaration = new CSSStyleDeclaration ();
	windowBorderSD.defaultFactory = function () :void {
		left = 5;
		right = 15;
		top = 10;
		bottom = 8;
	}
	StyleManager.setStyleDeclaration (".windowBorder", windowBorderSD, true);	
}
 
// далее где то в функции которая вызывается после creationComplete
createStyle();
var windowBorder:Canvas = new Canvas ();
windowBorder.styleName = StyleManager.getStyleDeclaration(".windowBorder");
Компилятор выдает следующее:


Warning: 'setStyleDeclaration' has been deprecated since 4.0. Please use 'IStyleManager2.setStyleDeclaration on a style manager instance'.

Как использовать этот интерфейс непонятно класса StyleManager2 не существует
возможно код будет работать c flex_sdk_3 но приложение компилится на 4

Старый 15.06.2010, 17:52
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 4  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
IStyleManager2 - это интерфейс, который имплементируется классом StyleManager, как я понимаю.
Вам же так и написали, мол, используйте метод IStyleManager2.setStyleDeclaration для экземпляра style manager'а.
То есть, получаете этот самый экземпляр и вызываете его метод. Думаю, в сети есть примеры того, как это делается.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 15.06.2010, 19:51
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 5  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
Интерфейс не умеет по определению ничего делать. Скорее всего речь идет о том, что метод setStyleDeclaration должен выполнять класс или экземпляр класса реализующий этот интерфейс.

Правда я сам допустил неточность вместо
var windowBorderSD:CSSStyleDeclaration = new CSSStyleDeclaration ();
должно быть
var windowBorderSD:CSSStyleDeclaration = new CSSStyleDeclaration (someName);
где someName какой нибудь string

О результатах чуть позже доложу

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

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
Цитата:
Сообщение от inozemcev Посмотреть сообщение
Скорее всего речь идет о том, что метод setStyleDeclaration должен выполнять класс или экземпляр класса реализующий этот интерфейс.
Ну так вам же так и написали ^_^ :
Цитата:
Please use 'IStyleManager2.setStyleDeclaration on a style manager instance
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 16.06.2010, 17:52
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 7  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
Что это за класс то ? Пользовательский какой - то. Нужно писать свой собственный syleManager ?

Добавлено через 9 минут
Код AS3:
//Flex 3 code
StyleManager.getStyleDeclaration("someStyle");
//Flex 4 code
FlexGlobals.topLevelApplication.styleManager.getStyleDeclaration("someStyle")

Старый 16.06.2010, 18:07
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 8  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 inozemcev:
Google + документация рулят. ^_^
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 16.06.2010, 19:39
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 9  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
Информации очень мало по этой теме. В поисковике эта ветка на тему IStyleManager2 уже на 3 или четвертом месте из 6 - 7 возможных.

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

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 inozemcev:
Да вы по StyleManager ищите, а не по IStyleManager2.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

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

Теги
пользовательские темы

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

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


 


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


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