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 aca40b3  More emulation stubs
     new b385ef0  Merge branch 'develop' of 
https://github.com/apache/royale-asjs into develop
aca40b3 is described below

commit aca40b3ff4d14ba5a6eb484ea93c719f1e17d660
Author: Yishay Weiss <[email protected]>
AuthorDate: Sun Oct 25 13:31:44 2020 +0000

    More emulation stubs
---
 .../src/main/royale/mx/controls/DataGrid.as        | 149 ++++++++++++++++++++-
 .../src/main/royale/mx/managers/FocusManager.as    |  24 ++++
 .../main/royale/spark/components/NumericStepper.as |  12 ++
 .../src/main/royale/spark/components/TextArea.as   |   4 +
 .../components/supportClasses/ItemRenderer.as      |  56 ++++----
 .../src/main/royale/spark/effects/Fade.as          |   2 +
 .../main/royale/spark/events/IndexChangeEvent.as   |   2 +-
 7 files changed, 219 insertions(+), 30 deletions(-)

diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/DataGrid.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/DataGrid.as
index ef62ec5..637e11b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/DataGrid.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/DataGrid.as
@@ -50,7 +50,6 @@ import mx.controls.dataGridClasses.DataGridHeader;
 import mx.controls.dataGridClasses.DataGridItemRenderer;
 import mx.controls.dataGridClasses.DataGridListData;
 import mx.controls.listClasses.IDropInListItemRenderer;
-import mx.controls.listClasses.IListItemRenderer;
 import mx.controls.listClasses.ListBaseContentHolder;
 import mx.controls.listClasses.ListBaseSeekPending;
 import mx.controls.listClasses.ListRowInfo;
@@ -92,6 +91,7 @@ import mx.utils.StringUtil;
 use namespace mx_internal;
 */
 
+import mx.controls.listClasses.IListItemRenderer;
 import mx.core.UIComponent;
 import mx.controls.beads.DataGridSortBead;
 import mx.controls.dataGridClasses.DataGridColumn;
@@ -801,6 +801,153 @@ public class DataGrid extends 
DataGridListBase/*ListBase*/ implements IDataGrid/
      */
     public var sortableColumns:Boolean = true;
 
+
+    /**
+     *  Returns the item renderer for a column cell or for a column header. 
+     *  This method returns the default item renderer if no custom render is 
assigned
+     *  to the column.
+     *
+     *  <p>This method is public so that is can be accessed by the 
DataGridHeader class, 
+     *  and is primarily used in subclasses of the DataGrid control.</p>
+     * 
+     *  @param c The DataGridColumn instance of the item renderer.
+     * 
+     *  @param forHeader <code>true</code> to return the header item renderer, 
+     *  and <code>false</code> to return the item render for the column cells.
+     * 
+     *  @param data If <code>forHeader</code> is <code>false</code>, 
+     *  the <code>data</code> Object for the item renderer. 
+     *  If <code>forHeader</code> is <code>true</code>, 
+     *  the DataGridColumn instance.  
+     * 
+     *  @return The item renderer.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function createColumnItemRenderer(c:DataGridColumn, 
forHeader:Boolean, data:Object):IListItemRenderer // not implemented
+    {
+        //var factory:IFactory;
+//
+        //// get the factory for the data
+        //factory = c.getItemRendererFactory(forHeader, data);
+        //if (!factory)
+        //{
+            //if (data == null)
+                //factory = nullItemRenderer;
+            //if (!factory)
+                //factory = itemRenderer;
+        //}
+//
+        //var renderer:IListItemRenderer;
+//
+        //// if it is the default column factory, see if
+        //// the freeItemRenderersTable has a free one
+        //if (factory == c.itemRenderer)
+        //{
+            //if (freeItemRenderersTable[c] && 
freeItemRenderersTable[c].length)
+            //{
+                //renderer = freeItemRenderersTable[c].pop();
+                //delete c.freeItemRenderersByFactory[factory][renderer];
+            //}
+        //}
+        //else if (c.freeItemRenderersByFactory)
+        //{
+            //// other re-usable renderers are in the FactoryMap
+            //var d:Dictionary = c.freeItemRenderersByFactory[factory];
+            //if (d)
+            //{
+                //for (var p:* in d)
+                //{
+                    //renderer = IListItemRenderer(p);
+                    //delete d[p];
+                    //break;
+                //}
+            //}
+        //}
+//
+        //if (!renderer )
+        //{
+            //renderer = factory.newInstance();
+            //if (renderer)
+            //{
+        //renderer.styleName = c;
+        //factoryMap[renderer] = factory;
+        //}
+        //}
+//
+//
+        //if (renderer)
+            //renderer.owner = this;
+        //return renderer;
+           return null;
+    }
+
+
+    /**
+     *  This method closes an item editor currently open on an item renderer. 
+     *  You typically only call this method from within the event listener 
+     *  for the <code>itemEditEnd</code> event, after
+     *  you have already called the <code>preventDefault()</code> method to 
+     *  prevent the default event listener from executing.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function destroyItemEditor():void // not implemented
+    {
+        //// trace("destroyItemEditor");
+        //if (itemEditorInstance)
+        //{
+            
//DisplayObject(itemEditorInstance).removeEventListener(KeyboardEvent.KEY_DOWN, 
editorKeyDownHandler);
+            //if (focusManager)
+                //focusManager.defaultButtonEnabled = true;
+            //systemManager.getSandboxRoot().
+                //removeEventListener(MouseEvent.MOUSE_DOWN, 
editorMouseDownHandler, true);
+            //systemManager.getSandboxRoot().
+                //removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, 
editorMouseDownHandler);
+            //systemManager.removeEventListener(Event.RESIZE, 
editorAncestorResizeHandler);
+            //removeEventListener(Event.RESIZE, editorAncestorResizeHandler);
+//
+            //var event:DataGridEvent =
+                //new DataGridEvent(DataGridEvent.ITEM_FOCUS_OUT);
+            //event.columnIndex = _editedItemPosition.columnIndex;
+            //event.rowIndex = _editedItemPosition.rowIndex;
+            //event.itemRenderer = itemEditorInstance;
+            //dispatchEvent(event);
+//
+            //if (! _columns[_editedItemPosition.columnIndex].rendererIsEditor)
+            //{
+                //// FocusManager.removeHandler() does not find
+                //// itemEditors in focusableObjects[] array
+                //// and hence does not remove the focusRectangle
+                //if (itemEditorInstance && itemEditorInstance is UIComponent)
+                    //UIComponent(itemEditorInstance).drawFocus(false);
+//
+                //// setfocus back to us so something on stage has focus
+                               //// only if focus is null or is in this DG
+                               //var focusComp:InteractiveObject = getFocus();
+                               //if (focusComp == null || contains(focusComp))
+                       //deferFocus();
+                //
+                //// defer focus can cause focusOutHandler to destroy the 
editor
+                //// and make itemEditorInstance null
+                //if (itemEditorInstance)
+                //{
+                    //// must call removeChild() so FocusManager.lastFocus 
becomes null
+                    
//actualContentHolder.removeChild(DisplayObject(itemEditorInstance));
+                    //editedItemRenderer.visible = true;
+                //}
+            //}
+            //itemEditorInstance = null;
+            //_editedItemPosition = null;
+        //}
+    }
+
     protected function drawRowBackground(s:UIComponent, rowIndex:int, 
y:Number, height:Number, color:uint, dataIndex:int):void
     {
        // not implemented
diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/FocusManager.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/FocusManager.as
index 82e22c8..9358bc9 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/FocusManager.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/FocusManager.as
@@ -2406,6 +2406,30 @@ public class FocusManager extends EventDispatcher 
implements IFocusManager
                dispatchEvent(new Event("setFocus"));
         // trace("FM set focus");
     }
+
+
+    /**
+     *  @inheritDoc
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function hideFocus():void // not implemented
+    {
+        // trace("FOcusManger " + this + " Hide Focus");
+        /*
+        if (showFocusIndicator)
+        {
+            showFocusIndicator = false;
+            if (_lastFocus)
+                _lastFocus.drawFocus(false);
+        }
+        */
+        // trace("END FOcusManger Hide Focus");
+    }
+    
 }
 
 }
diff --git 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/NumericStepper.as
 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/NumericStepper.as
index 6b9afec..00fa172 100644
--- 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/NumericStepper.as
+++ 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/NumericStepper.as
@@ -30,6 +30,7 @@ import flash.events.KeyboardEvent; */
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.managers.IFocusManagerComponent;
+import spark.components.TextInput;
 
 //import spark.formatters.NumberFormatter;
 import spark.components.supportClasses.Range; 
@@ -313,6 +314,17 @@ public class NumericStepper extends Range
      *  @productversion Flex 4
      */
     //public var textDisplay:TextInput;
+    private var _textDisplay:TextInput;
+    public function get textDisplay():TextInput
+       {
+               // not implemented - TODO create spark view that has an 
accessible text input
+               if (!_textDisplay)
+               {
+                       _textDisplay = new TextInput();
+               }
+               return _textDisplay;
+       }
+
 
     
//--------------------------------------------------------------------------
     //
diff --git 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/TextArea.as 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/TextArea.as
index a2a1a0c..06368ed 100644
--- 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/TextArea.as
+++ 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/TextArea.as
@@ -763,6 +763,10 @@ package spark.components
                        
                        // textDisplay.scrollToRange(anchorPosition, 
activePosition);
                }        
+
+               public function set horizontalScrollPolicy(value:String):void 
{} // not implemented
+               public function set verticalScrollPolicy(value:String):void {} 
// not implemented
+                       
        }
        
 }
diff --git 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ItemRenderer.as
 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ItemRenderer.as
index 63e1a42..5861746 100644
--- 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ItemRenderer.as
+++ 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/ItemRenderer.as
@@ -726,44 +726,44 @@ public class ItemRenderer extends DataRenderer implements 
IItemRenderer
      *  @playerversion AIR 1.5
      *  @productversion Royale 0.9.4
      */
-    /* protected function getCurrentRendererState():String
+    protected function getCurrentRendererState():String // not implemented
     {
         // this code is pretty confusing without multi-dimensional states, but 
it's
         // defined in order of precedence.
         
-        if (dragging && hasState("dragging"))
-            return "dragging";
-        
-        if (selected && down && hasState("downAndSelected"))
-            return "downAndSelected";
-        
-        if (selected && showsCaret && hasState("selectedAndShowsCaret"))
-            return "selectedAndShowsCaret";
-        
-        if (hovered && showsCaret && hasState("hoveredAndShowsCaret"))
-            return "hoveredAndShowsCaret";
-        
-        if (showsCaret && hasState("normalAndShowsCaret"))
-            return "normalAndShowsCaret"; 
-          
-        if (down && hasState("down"))
-            return "down";
-        
-        if (selected && hasState("selected"))
-            return "selected";
-        
-        if (hovered && hasState("hovered"))
-            return "hovered";
-        
-        if (hasState("normal"))    
-            return "normal";
+        //if (dragging && hasState("dragging"))
+            //return "dragging";
+        //
+        //if (selected && down && hasState("downAndSelected"))
+            //return "downAndSelected";
+        //
+        //if (selected && showsCaret && hasState("selectedAndShowsCaret"))
+            //return "selectedAndShowsCaret";
+        //
+        //if (hovered && showsCaret && hasState("hoveredAndShowsCaret"))
+            //return "hoveredAndShowsCaret";
+        //
+        //if (showsCaret && hasState("normalAndShowsCaret"))
+            //return "normalAndShowsCaret"; 
+          //
+        //if (down && hasState("down"))
+            //return "down";
+        //
+        //if (selected && hasState("selected"))
+            //return "selected";
+        //
+        //if (hovered && hasState("hovered"))
+            //return "hovered";
+        //
+        //if (hasState("normal"))    
+            //return "normal";
         
         // If none of the above states are defined in the item renderer,
         // we return currentState, so we don't change the state just 
         // in case the developer put the item renderer into its 
         // own custom state.
         return currentState;
-    } */
+    }
     
     /**
      *  Marks the renderer's state as invalid so that the new state is set
diff --git 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/effects/Fade.as 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/effects/Fade.as
index 1e562fe..46cc3cd 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/effects/Fade.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/effects/Fade.as
@@ -27,5 +27,7 @@ import mx.effects.Fade;
 public class Fade extends mx.effects.Fade
 {
        public function set targets(value:Array):void {} // not implemented
+       public function get isPlaying():Boolean {return false} // not 
implemented
+       public function get playheadTime():Number {return NaN} // not 
implemented
 }
 }
diff --git 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/events/IndexChangeEvent.as
 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/events/IndexChangeEvent.as
index a20b2a1..5bc4222 100644
--- 
a/frameworks/projects/SparkRoyale/src/main/royale/spark/events/IndexChangeEvent.as
+++ 
b/frameworks/projects/SparkRoyale/src/main/royale/spark/events/IndexChangeEvent.as
@@ -114,7 +114,7 @@ public class IndexChangeEvent extends Event
      *  @playerversion AIR 1.5
      *  @productversion Royale 0.9.4
      */
-   //public static const CHANGING:String = "changing";
+   public static const CHANGING:String = "changing"; // not implemented
     
     /**
      *  The <code>IndexChangeEvent.CARET_CHANGE</code> constant defines the 
value of the 

Reply via email to