PDA

Просмотр полной версии : swapChildren|swapChildrenAt в VBox


__i
29.11.2006, 21:50
Ну может еще и в 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
Бррр, а не нельзя описать нормальными методами и вызывать их при событиях? Я бы тоже ругался, даже матом.

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


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


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

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

Очень плохая логика... ЗАЧЕМ УБИВАТЬ ОБЕЩАЕМЫЙ ФУНКЦИОНАЛ ОБЪЕКТА??? 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
swapChildrenAt ()
Ну а вместо возмущения думаю стоит попробывать просто List или TileList

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

Это раз, во вторых тут (http://groups.google.com.ua/group/ruflex/browse_thread/thread/2d0bca2266b1faa9?hl=ru) подсказали где сабака зарыта,


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
что-то про молотый кофе вроде:)
:D
На работе новая клава с разнесеенными клавишами, дома обычная...

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