This is an automated email from the ASF dual-hosted git repository.

yishayw 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 561793b  Make mx tree more compatible with original flex code
     new b98499f  Merge branch 'develop' of 
https://github.com/apache/royale-asjs into develop
561793b is described below

commit 561793b01391bce58d1546a6f7481011e49d70ec
Author: Yishay Weiss <[email protected]>
AuthorDate: Fri Oct 23 08:38:27 2020 +0100

    Make mx tree more compatible with original flex code
---
 .../controls/beads/TreeItemRendererInitializer.as  |   4 +-
 .../mx/controls/treeClasses/TreeItemRenderer.as    |   6 +-
 .../royale/mx/controls/treeClasses/TreeListData.as | 229 +++++++++++++++++----
 3 files changed, 195 insertions(+), 44 deletions(-)

diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
index 6fe40d1..4198307 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/TreeItemRendererInitializer.as
@@ -31,6 +31,7 @@ package mx.controls.beads
     import org.apache.royale.core.SimpleCSSStyles;
     import org.apache.royale.core.UIBase;
     import mx.controls.treeClasses.TreeListData;
+    import mx.controls.listClasses.ListBase;
     
        /**
         *  The TreeItemRendererInitializer class initializes item renderers
@@ -72,11 +73,10 @@ package mx.controls.beads
             var hasChildren:Boolean = treeData.hasChildren(data);
             
             // Set the listData with the depth of this item
-            var treeListData:TreeListData = new TreeListData();
+            var treeListData:TreeListData = new TreeListData("", "", _strand 
as ListBase);
             treeListData.depth = depth;
             treeListData.isOpen = isOpen;
             treeListData.hasChildren = hasChildren;
-            treeListData.owner = _strand;
             
             (ir as IListDataItemRenderer).listData = treeListData;
             
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
index 146d621..31f5909 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeItemRenderer.as
@@ -271,7 +271,7 @@ public class TreeItemRenderer extends UIComponent
         return getLabelFromData(this,value);
     }
 
-    private var _listData:Object;
+    private var _listData:BaseListData;
     
     [Bindable("__NoChangeEvent__")]
     /**
@@ -283,11 +283,11 @@ public class TreeItemRenderer extends UIComponent
      *  @playerversion AIR 2.6
      *  @productversion Royale 0.0
      */
-    public function get listData():Object
+    public function get listData():BaseListData
     {
         return _listData;
     }
-    public function set listData(value:Object):void
+    public function set listData(value:BaseListData):void
     {
         _listData = value;
     }
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeListData.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeListData.as
index 6fd0d43..f938e17 100644
--- 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeListData.as
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/treeClasses/TreeListData.as
@@ -16,51 +16,202 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
+
 package mx.controls.treeClasses
 {
-       import org.apache.royale.html.supportClasses.TreeListData;
+
+import mx.controls.listClasses.BaseListData;
+import mx.controls.listClasses.ListBase;
+
+/**
+ *  The TreeListData class defines the data type of the <code>listData</code> 
property 
+ *  implemented by drop-in item renderers or drop-in item editors for the Tree 
control. 
+ *  All drop-in item renderers and drop-in item editors must implement the 
+ *  IDropInListItemRenderer interface, which defines the <code>listData</code> 
property.
+ *
+ *  <p>While the properties of this class are writable, you should considered 
them to 
+ *  be read only. They are initialized by the Tree class, and read by an item 
renderer 
+ *  or item editor. Changing these values can lead to unexpected results.</p>
+ *
+ *  @see mx.controls.listClasses.IDropInListItemRenderer
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class TreeListData extends BaseListData
+{
+    //include "../../core/Version.as";
+
+    
//--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    
//--------------------------------------------------------------------------
+
        /**
-        *  The TreeListData class contains information that Tree item 
renderers may
-        *  find useful when displaying the data for a node in the tree.
+        *  Constructor.
+        *
+        *  @param text Text representation of the item data.
+        *
+        *  @param uid A unique identifier for the item.
+        *
+        *  @param owner A reference to the Tree control.
+        *
+        *  @param rowIndex The index of the item in the data provider for the 
Tree control.
+        * 
+        *  @param columnIndex The index of the column in the currently visible 
columns of the 
+     *  control.
+        *
         *  
         *  @langversion 3.0
-        *  @playerversion Flash 10.2
-        *  @playerversion AIR 2.6
-        *  @productversion Royale 0.0
-     *  @royalesuppresspublicvarwarning
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
         */
-       public class TreeListData extends 
org.apache.royale.html.supportClasses.TreeListData
+       public function TreeListData(text:String, uid:String,
+                                                                
owner:ListBase, rowIndex:int = 0,
+                                                                
columnIndex:int = 0)
        {
-               /**
-                *  constructor.
-                *  
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
-                */
-               public function TreeListData()
-               {
-               super();
-               }
-
-                /**
-                *  The data for this item in the Tree control.
-                *  
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
-                */
-               public var item:Object;
-                /**
-                *  The data for this owner in the Tree control.
-                *  
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
-                */
-               public var owner:Object;
+               super(text, uid, owner, rowIndex, columnIndex);
        }
+
+    
//--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    
//--------------------------------------------------------------------------
+
+    //----------------------------------
+       //  depth
+    //----------------------------------
+
+       [Bindable("__NoChangeEvent__")]
+
+    /**
+        *  The level of the item in the tree. The top level is 1.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
+        */
+       public var depth:int;
+
+    //----------------------------------
+       //  disclosureIcon
+    //----------------------------------
+
+       [Bindable("__NoChangeEvent__")]
+
+    /**
+        *  A Class representing the disclosure icon for the item in the Tree 
control.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
+        */
+       public var disclosureIcon:Class;
+
+    //----------------------------------
+       //  hasChildren
+    //----------------------------------
+
+       [Bindable("__NoChangeEvent__")]
+
+    /**
+        *  Contains <code>true</code> if the node has children.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
+        */
+       public var hasChildren:Boolean; 
+
+    //----------------------------------
+       //  icon
+    //----------------------------------
+       
+       [Bindable("__NoChangeEvent__")]
+
+    /**
+        *  A Class representing the icon for the item in the Tree control.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
+        */
+       public var icon:Class;
+
+    //----------------------------------
+       //  indent
+    //----------------------------------
+
+       [Bindable("__NoChangeEvent__")]
+
+    /**
+        *  The default indentation for this row of the Tree control.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
+        */
+       public var indent:int;
+
+    //----------------------------------
+       //  node
+    //----------------------------------
+
+       [Bindable("__NoChangeEvent__")]
+
+    /**
+        *  The data for this item in the Tree control.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
+        */
+       public var item:Object;
+
+    //----------------------------------
+       //  open
+    //----------------------------------
+
+       [Bindable("__NoChangeEvent__")]
+
+    /**
+        *  Contains <code>true</code> if the node is open.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Flex 3
+        */
+       public var open:Boolean; 
+
+    /**
+     *  TODO keeping this for backwards compatibility, consider removing
+     *  @private
+     */
+       public function get isOpen():Boolean
+       {
+               return open;
+       }
+       
+    /**
+     *  TODO keeping this for backwards compatibility, consider removing
+     *  @private
+     */
+       public function set isOpen(value:Boolean):void
+       {
+               open = value;
+       }
+}
+
 }

Reply via email to