Глобальные состояния в Flex 4 - PullRequest
1 голос
/ 11 октября 2009

Flex 4 представляет состояния, локализованные в оболочке и в компоненте. Это имеет смысл в модели MVC, поэтому визуальные элементы могут иметь свои собственные состояния (например, для кнопки: вверх, вниз, над и т. Д.), Которые отделены от состояния компонента. И все же, как можно создать глобальное состояние приложения? В SDK уже есть что-то похожее на то, что я ищу?

Дальнейшее уточнение: допустим, у нас есть приложение, которое имеет 3 отдельных «режима», которые будут изменять не только внешний вид текущих элементов, но и свойства и элементы контейнера или компонента. Поэтому было бы очень полезно иметь состояния не только для каждого компонента и скина, но и для всего приложения. По сути, это еще один уровень абстракции. Возвращаясь к примеру кнопки, скажем, у нас есть состояния «вверх», «вниз» и «над», но затем есть 3 отдельных состояния «вверх», «вниз» и «над» для глобального состояния приложения 1, и еще 3 отдельных состояния для глобального состояния приложения 2 и так далее и так далее.

Для вас, визуальных учеников:

состояния в пользовательском скине для кнопки могут выглядеть следующим образом с глобальными состояниями приложения:

         <s:states>
            <s:ApplicationState name="mode1">
                <s:State name="up" />
                <s:State name="over" />
                <s:State name="down" />
            </s:ApplicationState>
            <s:ApplicationState name="mode2">
                <s:State name="up" />
                <s:State name="over" />
                <s:State name="down" />
            </s:ApplicationState>
            <s:ApplicationState name="mode3">
                <s:State name="up" />
                <s:State name="over" />
                <s:State name="down" />
            </s:ApplicationState>
        </s:states>

        <s:Button label.mode1.up="Application is in mode1" label.mode2.up="Application is in mode2" label.mode3.over="etc., etc., etc."/>

Спасибо

1 Ответ

0 голосов
/ 21 октября 2009

нет, поддержка «под» состояний не поддерживается. Что вы могли бы сделать, это иметь mode1_up, mode1_over, mode1_down, mode2_up, mode2_over, mode2_down и т. Д. а затем просто выберите режим, в котором вы находитесь, на основе закрытой переменной и переключитесь соответственно. Как вы думаете, это сработает для того, что вы пытаетесь сделать?

...