You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2019/12/04 04:31:21 UTC

[royale-asjs] 02/02: fix virtual list for ADG

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

commit 10d06fe0506249b880d04b0599da1c3ceacf9144
Author: Alex Harui <ah...@apache.org>
AuthorDate: Tue Dec 3 19:30:08 2019 -0800

    fix virtual list for ADG
---
 .../apache/royale/html/beads/VirtualListView.as    |  6 ++-
 .../MXRoyale/src/main/resources/defaults.css       |  2 +-
 .../MXRoyale/src/main/royale/MXRoyaleClasses.as    |  1 +
 .../beads/AdvancedDataGridListVirtualListView.as   | 54 ++++++++++++++++++++++
 4 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualListView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualListView.as
index b09a77b..6cb55ca 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualListView.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/VirtualListView.as
@@ -75,19 +75,21 @@ package org.apache.royale.html.beads
 			super.handleInitComplete(event);
 		}
 
+        protected var firstElementIndex:int = 1;
+        
         override public function getItemRendererForIndex(index:int):IItemRenderer
         {
             if (contentView.numElements == 0)
                 return null;
             
-            var firstIndex:int = (contentView.getElementAt(1) as ISelectableItemRenderer).index;
+            var firstIndex:int = (contentView.getElementAt(firstElementIndex) as ISelectableItemRenderer).index;
             
             if (index < firstIndex) 
                 return null;
             if (index > (firstIndex + contentView.numElements))
                 return null;
             
-            return contentView.getElementAt(index - firstIndex + 1) as IItemRenderer;            
+            return contentView.getElementAt(index - firstIndex + firstElementIndex) as IItemRenderer;            
         }
         
 		/**
diff --git a/frameworks/projects/MXRoyale/src/main/resources/defaults.css b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
index ca42c63..5f476fe 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
@@ -97,7 +97,7 @@ AdvancedDataGrid
 adg|AdvancedDataGridColumnList {
 	IBeadModel: ClassReference("mx.controls.beads.models.DataGridColumnICollectionViewModel");
 	IDataProviderItemRendererMapper: ClassReference("mx.controls.advancedDataGridClasses.DataItemRendererFactoryForICollectionViewAdvancedDataGridData");
-	IBeadView:  ClassReference("org.apache.royale.html.beads.VirtualListView");			
+	IBeadView:  ClassReference("mx.containers.beads.AdvancedDataGridListVirtualListView");			
 	IBeadController: ClassReference("mx.controls.advancedDataGridClasses.AdvancedDataGridSingleSelectionMouseController");
 	IBeadLayout: ClassReference("mx.controls.beads.layouts.AdvancedDataGridVirtualListVerticalLayout");
 	IItemRendererClassFactory: ClassReference("org.apache.royale.core.ItemRendererClassFactory");
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index 26088c7..c001742 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -50,6 +50,7 @@ internal class MXRoyaleClasses
 	import mx.events.ScrollEvent; ScrollEvent;
 	import mx.events.MoveEvent; MoveEvent;
 	import mx.events.ValidationResultEvent; ValidationResultEvent;
+    import mx.containers.beads.AdvancedDataGridListVirtualListView; AdvancedDataGridListVirtualListView;
 	import mx.containers.beads.ApplicationLayout; ApplicationLayout;
 	import mx.containers.beads.BoxLayout; BoxLayout;
     import mx.containers.beads.DividedBoxLayout; DividedBoxLayout;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/AdvancedDataGridListVirtualListView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/AdvancedDataGridListVirtualListView.as
new file mode 100644
index 0000000..7fb33ab
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/AdvancedDataGridListVirtualListView.as
@@ -0,0 +1,54 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.containers.beads
+{
+	import org.apache.royale.html.beads.VirtualListView;
+
+/**
+ *  @private
+ *  The CanvasLayout class is for internal use only.
+ */
+public class AdvancedDataGridListVirtualListView extends VirtualListView
+{
+    
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function AdvancedDataGridListVirtualListView()
+    {
+        super();
+        firstElementIndex = 0;
+    }
+
+}
+}
+