flex-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Buchheit (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLEX-28132) Wrong element order when using SkinnableContainer and states
Date Fri, 28 Jun 2013 15:54:23 GMT

    [ https://issues.apache.org/jira/browse/FLEX-28132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695522#comment-13695522
] 

Patrick Buchheit commented on FLEX-28132:
-----------------------------------------

I've done some more digging, and the root issue seems to be having a mix of stateful and non-stateful
children in the container. If you look at the generated code, the default behaviour for an
AddItems override is to track a component in a view state relative to the first component
it can find that is NOT in a view state. If that 'relative' component hasn't been added to
the parent yet, the attempt to get the item index will fail and result in an incorrect positioning
of the component. In the original poster's case, the cause is slightly different. There it's
the 'destination' property ( the BorderContainer) that hasn't been initialized yet, but the
end result is the same. Since the component index can't be obtained, the new component simply
gets added at index 0. 
                
> Wrong element order when using SkinnableContainer and states
> ------------------------------------------------------------
>
>                 Key: FLEX-28132
>                 URL: https://issues.apache.org/jira/browse/FLEX-28132
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Spark: SkinnableContainer
>    Affects Versions: Adobe Flex SDK 4.5.1 (Release)
>         Environment: Affected OS(s): Windows
> Affected OS(s): Windows 7
> Language Found: English
>            Reporter: Adobe JIRA
>         Attachments: BugExample.mxml
>
>
> When I use a descendant of the SkinnableContainer (eg BorderContainer) which itself is
included or excluded in a state, the child elements in the default state appears in incorrect
order (Label "B" before Label "A").
> This problem disappears when using a Group instead of BorderContainer, or when the container
itself is not included or excluded in a state, or when states changes forth and back.
> <?xml version="1.0" encoding="utf-8"?>
> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
>     <s:states>
>         <s:State name="state1" />
>         <s:State name="state2" />
>     </s:states>
>     <s:VGroup>
>         <s:BorderContainer includeIn="state1,state2">
>             <s:layout>
>                 <s:HorizontalLayout paddingLeft="10" paddingTop="10" />
>             </s:layout>
>             <s:Label text="A"/>
>             <s:Label text="B" includeIn="state1" />
>         </s:BorderContainer>
>         <s:Button label="state" click="currentState = currentState == 'state1' ? 'state2'
: 'state1';" />
>     </s:VGroup>
> </s:Application>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message