This is an automated email from the ASF dual-hosted git repository. aharui pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push: new 1caaddc ViewStack 1caaddc is described below commit 1caaddc590e0c9ed4c86b972bf0d43a8581bc5b3 Author: Alex Harui <aha...@apache.org> AuthorDate: Mon Dec 10 00:10:25 2018 -0800 ViewStack --- .../src/main/royale/mx/containers/ViewStack.as | 53 +++++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/ViewStack.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/ViewStack.as index 934184b..dbe29ea 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/ViewStack.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/ViewStack.as @@ -50,6 +50,8 @@ import mx.events.PropertyChangeEvent; //import mx.managers.HistoryManager; //import mx.managers.IHistoryManagerClient; +import org.apache.royale.core.IChild; + use namespace mx_internal; //-------------------------------------- @@ -724,6 +726,12 @@ public class ViewStack extends Container // implements IHistoryManagerClient, IS // child, if no value has yet been proposed. proposedSelectedIndex = value; invalidateProperties(); + if (parent) + { + commitProperties(); + measure(); + updateDisplayList(width, height); + } // Set a flag which will cause the HistoryManager to save state // the next time measure() is called. @@ -1426,30 +1434,39 @@ public class ViewStack extends Container // implements IHistoryManagerClient, IS } } - /** * @private */ - override public function addChildAt(item:IUIComponent, index:int):IUIComponent + override public function addElement(c:IChild, dispatchEvent:Boolean = true):void { addingChildren = true; - var obj:IUIComponent = super.addChildAt(item, index); - internalDispatchEvent(CollectionEventKind.ADD, obj, index); - childAddHandler(item); + super.addElement(c, dispatchEvent); + internalDispatchEvent(CollectionEventKind.ADD, c, numElements); + childAddHandler(c as IUIComponent); + addingChildren = false; + } + + /** + * @private + */ + override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void + { + addingChildren = true; + super.addElementAt(c, index, dispatchEvent); + internalDispatchEvent(CollectionEventKind.ADD, c, index); + childAddHandler(c as IUIComponent); addingChildren = false; - return obj; } /** * @private */ - override public function removeChild(item:IUIComponent):IUIComponent + override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void { - var index:int = getChildIndex(item); - var obj:IUIComponent = super.removeChild(item); - internalDispatchEvent(CollectionEventKind.REMOVE, obj, index); - childRemoveHandler(item, index); - return obj; + var index:int = getElementIndex(c); + super.removeElement(c, dispatchEvent); + internalDispatchEvent(CollectionEventKind.REMOVE, c, index); + childRemoveHandler(c as IUIComponent, index); } /** @@ -1644,7 +1661,19 @@ public class ViewStack extends Container // implements IHistoryManagerClient, IS return result; } + override public function addedToParent():void + { + super.addedToParent(); + commitProperties(); + measure(); + } + override public function setActualSize(w:Number, h:Number):void + { + super.setActualSize(w, h); + updateDisplayList(w, h); + } + } }