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/30 00:35:48 UTC
[royale-asjs] 05/13: column headers now display text,
but we still need to display the group header
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 0ba8f786e9a0c24ff634a9c1a35ff09fc677301a
Author: Alex Harui <ah...@apache.org>
AuthorDate: Thu Dec 26 00:30:29 2019 -0800
column headers now display text, but we still need to display the group header
---
.../src/main/royale/mx/controls/AdvancedDataGrid.as | 20 +++++++++++++-------
.../AdvancedDataGridColumn.as | 2 +-
.../AdvancedDataGridHeaderRenderer.as | 14 ++++++++++++--
.../main/royale/mx/controls/beads/DataGridView.as | 7 +++++++
4 files changed, 33 insertions(+), 10 deletions(-)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
index b3931f2..27e5c19 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
@@ -44,14 +44,16 @@ package mx.controls
import mx.collections.IHierarchicalCollectionView;
import mx.collections.IHierarchicalCollectionViewCursor;
import mx.collections.IHierarchicalData;
- import mx.collections.IViewCursor;
import mx.collections.ISort;
+ import mx.collections.IViewCursor;
import mx.collections.Sort;
import mx.collections.SortField;
import mx.controls.beads.AdvancedDataGridSortBead;
import mx.controls.beads.AdvancedDataGridView;
- import mx.controls.beads.DataGridLinesBeadForICollectionView;
import mx.controls.beads.DataGridColumnResizeBead;
+ import mx.controls.beads.DataGridLinesBeadForICollectionView;
+ import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
+ import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.controls.listClasses.AdvancedListBase;
import mx.core.mx_internal;
@@ -64,7 +66,7 @@ package mx.controls
import org.apache.royale.core.IDataGridModel;
import org.apache.royale.core.IDataGridPresentationModel;
import org.apache.royale.core.ValuesManager;
- import org.apache.royale.events.Event;
+ import org.apache.royale.events.Event;
import org.apache.royale.html.DataGridButtonBar;
use namespace mx_internal;
@@ -1376,11 +1378,13 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
columnGroupRendererChanged(AdvancedDataGridColumnGroup(_groupedColumns[i]));
}
}
-
+ */
_groupedColumns = value;
+ /*
groupedColumnsChanged = true;
invalidateProperties();
} */
+ /*super.*/columns = getLeafColumns(_groupedColumns.slice(0));
}
//
@@ -6512,7 +6516,7 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
/**
* @private
*/
- /* private function getLeafColumns(groupedColumns:Array):Array
+ private function getLeafColumns(groupedColumns:Array):Array
{
var i:int=0;
while (i < groupedColumns.length)
@@ -6531,7 +6535,7 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
}
}
return groupedColumns;
- } */
+ }
/**
* @private
@@ -9459,10 +9463,12 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
*/
public function set columns(value:Array):void
{
+ var index:int = 0;
IDataGridModel(model).columns = value;
- for each (var col:DataGridColumn in value)
+ for each (var col:AdvancedDataGridColumn in value)
{
col.owner = this;
+ col.colNum = index++;
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
index 505737f..1a40e5c 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
@@ -318,7 +318,7 @@ public class AdvancedDataGridColumn extends DataGridColumn
* In MXML, the default order of the columns is the order of the
* <code>mx:AdvancedDataGridColumn</code> tags.
*/
- // mx_internal var colNum:Number;
+ mx_internal var colNum:Number;
// preferred width is the number we should use when measuring
// regular width will be changed if we shrink columns to fit.
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
index 7e5bf48..3c196c0 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
@@ -186,6 +186,10 @@ public class AdvancedDataGridHeaderRenderer extends UIComponent implements IData
// InteractiveObject variables.
tabEnabled = false;
+ COMPILE::JS
+ {
+ isAbsolute = false;
+ }
addEventListener(ToolTipEvent.TOOL_TIP_SHOW, toolTipShowHandler);
}
@@ -305,6 +309,12 @@ public class AdvancedDataGridHeaderRenderer extends UIComponent implements IData
{
_data = value;
+ var col:AdvancedDataGridColumn = (value as AdvancedDataGridColumn);
+ var ld:AdvancedDataGridListData = new AdvancedDataGridListData(col.headerText != null ? col.headerText : col.dataField,
+ col.dataField,
+ col.colNum, "", col.owner);
+ listData = ld;
+
invalidateProperties();
commitProperties();
@@ -747,8 +757,8 @@ public class AdvancedDataGridHeaderRenderer extends UIComponent implements IData
labelColor = getStyle("disabledColor");
// else if (grid.isItemHighlighted(listData.uid))
// labelColor = getStyle("textRollOverColor");
- else if (grid.isItemSelected(listData.uid))
- labelColor = getStyle("textSelectedColor");
+ //else if (grid.isItemSelected(listData.uid))
+ // labelColor = getStyle("textSelectedColor");
else
labelColor = getStyle("color");
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
index a5fd987..2a89092 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
@@ -24,8 +24,10 @@ package mx.controls.beads
import mx.controls.AdvancedDataGrid;
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnList;
+ import mx.core.mx_internal;
import mx.events.CollectionEvent;
import mx.utils.ObjectUtil;
+ use namespace mx_internal;
import org.apache.royale.core.IBeadModel;
import org.apache.royale.core.IDataGrid;
@@ -152,6 +154,7 @@ package mx.controls.beads
if (!cols)
{
+ var index:int = 0;
// introspect the first item and use its fields
var itmObj:Object = iterator.current;
for (var p:String in itmObj)
@@ -161,6 +164,8 @@ package mx.controls.beads
col = new AdvancedDataGridColumn();
col.dataField = p;
newCols.push(col);
+ col.owner = _strand as AdvancedDataGrid;
+ col.colNum = index++;
}
}
}
@@ -176,6 +181,8 @@ package mx.controls.beads
colName = QName(colName).localName;
col = new AdvancedDataGridColumn();
col.dataField = String(colName);
+ col.owner = _strand as AdvancedDataGrid;
+ col.colNum = i;
newCols.push(col);
}
}