Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   swapChildren|swapChildrenAt в VBox (http://www.flasher.ru/forum/showthread.php?t=88746)

__i 29.11.2006 21:50

swapChildren|swapChildrenAt в VBox
 
Ну может еще и в HBox и просто Box, неработает, молотого что не работает так еще и ошибку выдает.


Код:

<?xml version="1.0"?>
<!-- Simple example to demonstrate the VBox layout container. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

        <mx:Script>
                <![CDATA[
                       
                ]]>
        </mx:Script>
    <mx:Panel title="VBox Container Example" height="75%" width="75%"
        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

      <mx:Label width="100%" color="blue"
          text="A VBox container with vertically aligned children."/>
        <mx:Button label="add to down" click="var a = tt.addChild(new Button()); a.label='end'" />
        <mx:Button label="add to up" click="var a = tt.addChildAt(new Button(),0); a.label='up'" />
        <mx:Button label="swap" click="tt.swapChildrenAt(1,2)" /> 
      <mx:VBox borderStyle="solid" paddingTop="10" paddingBottom="10"
              paddingLeft="10" paddingRight="10" id="tt">

        </mx:VBox>

    </mx:Panel>
</mx:Application>

красотой не блещет, но и сложностью тоже, Какие будут мысли ?

etc 30.11.2006 01:18

Бррр, а не нельзя описать нормальными методами и вызывать их при событиях? Я бы тоже ругался, даже матом.

ex.image 30.11.2006 01:39

20 минутные танцы с бубном непомогли :D
Я так пологаяю такое физический нельзя сделать... Поскольку VBox это все таки контейнер... а swapChildrenAt и swapChildren функции управляющие глубиной в пределах одного DisplayObjectContainer'a... по логике вещей выходит так "зачем менять глубину у того что никогда друг на друг не наложиться"

а вообще я думаю в зависимости от задачи можно придумать другой вариант ;)

__i 30.11.2006 14:47

Цитата:

Сообщение от __etc
Бррр, а не нельзя описать нормальными методами и вызывать их при событиях? Я бы тоже ругался, даже матом.

Это тестовый пример, просто нужно было совсем быстро протестить %). ну а быстро не получилось, но даже если я эти 2-3 вызова функций оберну в процедуры ничего не измениться.

Цитата:

Сообщение от ex.image
Я так пологаяю такое физический нельзя сделать... Поскольку VBox это все таки контейнер... а swapChildrenAt и swapChildren функции управляющие глубиной в пределах одного DisplayObjectContainer'a... по логике вещей выходит так "зачем менять глубину у того что никогда друг на друг не наложиться"

Первые 2 кнопки иллюстрируют то, что VBox выстраивает элементы именно в порядке возрастания их глубин. Просто хотелось использовать это свойство для быстрых перестановок элементов внутри него... но видна не судьба (.
Цитата:

Сообщение от ex.image
по логике вещей выходит так "зачем менять глубину у того что никогда друг на друг не наложиться"

Очень плохая логика... ЗАЧЕМ УБИВАТЬ ОБЕЩАЕМЫЙ ФУНКЦИОНАЛ ОБЪЕКТА??? swapChildrenAt и swapChildren пришли из DisplayObjectContainer и нигде не переопределяються(!!!) т.е. открыли хелп и прочитали как они работают, закрыли попробывали и получили БОЛТ!

ex.image 30.11.2006 16:40

swapChildrenAt ()
Swaps the z-order (front-to-back order) of the child objects at the two specified index positions in the child list. All other child objects in the display object container remain in the same index positions.

а пришол VBox вот откуда:
1) public class VBox extends Box
2) public class Box extends Container
3) public class Container extends UIComponent
4) public class UIComponent extends FlexSprite
5) public class FlexSprite extends Sprite
6) ну а Sprite собственно елемент Core

Ну а вместо возмущения думаю стоит попробывать просто List или TileList

__i 30.11.2006 18:03

Цитата:

Сообщение от ex.image
swapChildrenAt ()
Ну а вместо возмущения думаю стоит попробывать просто List или TileList

мне не нужна функциональность List или TileList (про них вообще отдельный разговор)...

Это раз, во вторых тут подсказали где сабака зарыта,

Цитата:

Сообщение от AS3 help
rawChildren property

rawChildren:IChildList [read-only]
A container typically contains child components, which can be enumerated using the Container.getChildAt() method and Container.numChildren property. In addition, the container may contain style elements and skins, such as the border and background. The Flash Player does not draw any distinction between child components and skins. They are all accessible using the Player's getChildAt() method and numChildren property. However, the Container class overrides the getChildAt() method and numChildren property (and several other methods) to create the illusion that the container's children are the only child components.

так вот с этой illusion у них нифига не получилось(.

Nirth 02.12.2006 18:07

прочитав этот топик и тред на ruFlex я не врубился в чем у тебя проблема=)

__i 04.12.2006 13:38

проблема описана тут, в заголовке темы %)

baron27 04.12.2006 14:27

Тоже стало интересно, в чем проблема. Если объединить заголовок и вопрос, то будет:

Цитата:

swapChildren|swapChildrenAt в VBox

Ну может еще и в HBox и просто Box, неработает, молотого что не работает так еще и ошибку выдает.
что-то про молотый кофе вроде:)

__i 05.12.2006 14:18

Цитата:

Сообщение от baron27
что-то про молотый кофе вроде:)

:D
На работе новая клава с разнесеенными клавишами, дома обычная...

К новой еще не привык, а от домашней отвык, по русскому вчегда была 3+/4-, поэтому орфография хромает... )


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

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