Updated Branches: refs/heads/develop 9eb52b0aa -> ca0e19300
Completed DataGridColumn work: removed labelFields from the DataGridModel (now provided by DataGridColumn); added button widths (optional) to ButtonBar to support columnWidth property of DataGridColumn. Added RowHeightBead to optionally set row height (same or variable) for DataGrid. Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/ca0e1930 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/ca0e1930 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/ca0e1930 Branch: refs/heads/develop Commit: ca0e19300471219f46e1518ef14916565d8a0e08 Parents: 9eb52b0 Author: Peter Ent <[email protected]> Authored: Mon Jan 20 10:09:18 2014 -0500 Committer: Peter Ent <[email protected]> Committed: Mon Jan 20 10:09:18 2014 -0500 ---------------------------------------------------------------------- .../src/org/apache/flex/core/IDataGridModel.as | 5 +- .../src/org/apache/flex/core/ISelectionModel.as | 3 + .../apache/flex/html/staticControls/DataGrid.as | 9 --- .../org/apache/flex/html/staticControls/List.as | 9 +++ .../staticControls/beads/DataGridColumnView.as | 10 --- .../html/staticControls/beads/DataGridView.as | 69 ++++++++++++------- .../DataItemRendererFactoryForArrayData.as | 1 + .../DataItemRendererFactoryForColumnData.as | 10 +-- .../flex/html/staticControls/beads/ListView.as | 2 +- .../beads/layouts/ButtonBarLayout.as | 18 ++++- .../NonVirtualVerticalScrollingLayout.as | 1 + .../beads/models/ArraySelectionModel.as | 13 ++++ .../beads/models/DataGridModel.as | 19 ++---- .../supportClasses/DataItemRenderer.as | 10 +++ .../supportClasses/StringItemRenderer.as | 4 +- .../apache/flex/html/staticControls/DataGrid.js | 20 ------ .../org/apache/flex/html/staticControls/List.js | 20 ++++++ .../html/staticControls/beads/DataGridView.js | 72 ++++++++++++-------- .../DataItemRendererFactoryForArrayData.js | 1 + .../DataItemRendererFactoryForColumnData.js | 3 +- .../beads/layouts/ButtonBarLayout.js | 24 ++++++- .../beads/layouts/NonVirtualVerticalLayout.js | 2 + .../beads/models/ArraySelectionModel.js | 21 ++++++ .../beads/models/DataGridModel.js | 20 ------ .../supportClasses/DataItemRenderer.js | 57 ++++------------ .../supportClasses/StringItemRenderer.js | 54 ++------------- 26 files changed, 244 insertions(+), 233 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as index eb7e326..41b8827 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as @@ -19,10 +19,7 @@ package org.apache.flex.core { public interface IDataGridModel extends ISelectionModel - { - function get labelFields():Object; - function set labelFields(value:Object):void; - + { function get columns():Array; function set columns(value:Array):void; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as index cdca279..518d5f9 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as @@ -30,5 +30,8 @@ package org.apache.flex.core function get selectedItem():Object; function set selectedItem(value:Object):void; + + function get labelField():String; + function set labelField(value:String):void; } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as index ad35adf..63ff36e 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as @@ -48,15 +48,6 @@ package org.apache.flex.html.staticControls IDataGridModel(model).dataProvider = value; } - public function get labelFields():Object - { - return IDataGridModel(model).labelFields; - } - public function set labelFields(value:Object):void - { - IDataGridModel(model).labelFields = value; - } - public function get selectedIndex():int { return IDataGridModel(model).selectedIndex; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as index a74d65a..ab3a7d7 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as @@ -42,6 +42,15 @@ package org.apache.flex.html.staticControls super(); } + public function get labelField():String + { + return ISelectionModel(model).labelField; + } + public function set labelField(value:String):void + { + ISelectionModel(model).labelField = value; + } + public function get dataProvider():Object { return ISelectionModel(model).dataProvider; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as index ae3398a..7246bf3 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as @@ -53,15 +53,5 @@ package org.apache.flex.html.staticControls.beads { _column = value; } - - private var _labelField:String; - public function get labelField():String - { - return _labelField; - } - public function set labelField(value:String):void - { - _labelField = value; - } } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as index e069688..93350ee 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as @@ -24,18 +24,20 @@ package org.apache.flex.html.staticControls.beads import org.apache.flex.core.IBeadModel; import org.apache.flex.core.IDataGridModel; - import org.apache.flex.core.IDataGridPresentationModel; + import org.apache.flex.core.ISelectionModel; import org.apache.flex.core.IStrand; import org.apache.flex.core.UIBase; import org.apache.flex.core.ValuesManager; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.html.staticControls.Button; import org.apache.flex.html.staticControls.ButtonBar; import org.apache.flex.html.staticControls.Container; import org.apache.flex.html.staticControls.List; - import org.apache.flex.html.staticControls.SimpleList; + import org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout; import org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout; import org.apache.flex.html.staticControls.beads.models.ArraySelectionModel; + import org.apache.flex.html.staticControls.supportClasses.DataGridColumn; public class DataGridView implements IDataGridView { @@ -49,19 +51,37 @@ package org.apache.flex.html.staticControls.beads private var columnContainer:Container; private var columns:Array; + public function getColumnLists():Array + { + return columns; + } + private var _strand:IStrand; public function set strand(value:IStrand):void { _strand = value; + var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel; + background = new Shape(); DisplayObjectContainer(_strand).addChild(background); - var pm:IDataGridPresentationModel = _strand.getBeadByType(IDataGridPresentationModel) as IDataGridPresentationModel; + // create an array of columnLabels for use by the ButtonBar/DataGrid header. + var columnLabels:Array = new Array(); + var buttonWidths:Array = new Array(); + for(var i:int=0; i < sharedModel.columns.length; i++) { + columnLabels.push(sharedModel.columns[i].label); + buttonWidths.push(sharedModel.columns[i].columnWidth); + } + var bblayout:ButtonBarLayout = new ButtonBarLayout(); + bblayout.buttonWidths = buttonWidths; + buttonBarModel = new ArraySelectionModel(); - buttonBarModel.dataProvider = pm.columnLabels; + buttonBarModel.dataProvider = columnLabels; + buttonBar = new ButtonBar(); buttonBar.addBead(buttonBarModel); + buttonBar.addBead(bblayout); UIBase(_strand).addElement(buttonBar); columnContainer = new Container(); @@ -69,25 +89,25 @@ package org.apache.flex.html.staticControls.beads columnContainer.addBead(layout); UIBase(_strand).addElement(columnContainer); - var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel; - columns = new Array(); - for(var i:int=0; i < pm.columnLabels.length; i++) { - var column:List = new List(); // NEW (old:) new SimpleList(); - var columnView:DataGridColumnView = new DataGridColumnView(); - //columnView.labelField = sharedModel.labelFields[i]; - columnView.column = sharedModel.columns[i]; // NEW - column.itemRenderer = columnView.column.itemRenderer; - var factory:DataItemRendererFactoryForColumnData = new DataItemRendererFactoryForColumnData(); - columnView.columnIndex = i; - column.addBead(sharedModel); - column.addBead(columnView); - column.addBead(factory); - columnContainer.addElement(column); - columns.push(column); + for(i=0; i < sharedModel.columns.length; i++) { + var listModel:ISelectionModel = new ArraySelectionModel(); + listModel.dataProvider = sharedModel.dataProvider; + + var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn; + + var list:List = new List(); + list.addBead(listModel); + list.itemRenderer = dataGridColumn.itemRenderer; + list.labelField = dataGridColumn.dataField; - column.addEventListener('change',columnListChangeHandler); - column.addEventListener('rollover',columnListRollOverHandler); + var colWidth:Number = dataGridColumn.columnWidth; + if (!isNaN(colWidth)) list.width = colWidth; + + columnContainer.addElement(list); + columns.push(list); + list.addEventListener('change',columnListChangeHandler); + list.addEventListener('rollover',columnListRollOverHandler); } IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange); @@ -124,16 +144,19 @@ package org.apache.flex.html.staticControls.beads var column:List = columns[i]; var cw:Number = sw/(columns.length); - column.x = i*cw; // should be positioned by the Container's layout column.y = 0; - column.width = cw; column.height = columnContainer.height; // this will actually be Nitem*rowHeight } + + IEventDispatcher(_strand).dispatchEvent(new Event("layoutComplete")); } private function columnListChangeHandler(event:Event):void { + var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel; var list:List = event.target as List; + sharedModel.selectedIndex = list.selectedIndex; + for(var i:int=0; i < columns.length; i++) { if (list != columns[i]) { columns[i].selectedIndex = list.selectedIndex; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as index 94a8d7e..aed6c5b 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as @@ -83,6 +83,7 @@ package org.apache.flex.html.staticControls.beads { var ir:IItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as IItemRenderer; ir.index = i; + ir.labelField = selectionModel.labelField; dataGroup.addElement(ir); ir.data = dp[i]; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as index fc9e88a..87e5366 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as @@ -20,6 +20,7 @@ package org.apache.flex.html.staticControls.beads { import org.apache.flex.core.IBead; import org.apache.flex.core.IBeadView; + import org.apache.flex.core.IDataGridModel; import org.apache.flex.core.IDataProviderItemRendererMapper; import org.apache.flex.core.IItemRenderer; import org.apache.flex.core.IItemRendererClassFactory; @@ -29,6 +30,7 @@ package org.apache.flex.html.staticControls.beads import org.apache.flex.core.ValuesManager; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.html.staticControls.supportClasses.DataGridColumn; import org.apache.flex.html.staticControls.supportClasses.DataItemRenderer; public class DataItemRendererFactoryForColumnData implements IBead, IDataProviderItemRendererMapper @@ -37,14 +39,14 @@ package org.apache.flex.html.staticControls.beads { } - private var selectionModel:ISelectionModel; + private var selectionModel:IDataGridModel; private var _strand:IStrand; public function set strand(value:IStrand):void { _strand = value; - selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel; + selectionModel = value.getBeadByType(IDataGridModel) as IDataGridModel; var listView:IListView = value.getBeadByType(IListView) as IListView; dataGroup = listView.dataGroup; selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler); @@ -82,13 +84,13 @@ package org.apache.flex.html.staticControls.beads var view:DataGridColumnView = _strand.getBeadByType(IBeadView) as DataGridColumnView; if (view == null) return; - + var n:int = dp.length; for (var i:int = 0; i < n; i++) { - var tf:DataItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as DataItemRenderer; tf.index = i; + tf.labelField = view.column.dataField; dataGroup.addElement(tf); tf.data = dp[i]; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as index c6d33b4..f1ac5d3 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as @@ -109,7 +109,7 @@ package org.apache.flex.html.staticControls.beads _dataGroup = new NonVirtualDataGroup(); IParent(_strand).addElement(_dataGroup); - if (getBeadByType(IBeadLayout) == null) + if (_strand.getBeadByType(IBeadLayout) == null) { var mapper:IBeadLayout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout; strand.addBead(mapper); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as index c7c0a2d..80ad0fa 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as @@ -44,6 +44,16 @@ package org.apache.flex.html.staticControls.beads.layouts IEventDispatcher(value).addEventListener("itemsCreated", changeHandler); } + private var _buttonWidths:Array = null; + public function get buttonWidths():Array + { + return _buttonWidths; + } + public function set buttonWidths(value:Array):void + { + _buttonWidths = value; + } + private function changeHandler(event:Event):void { var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent; @@ -59,10 +69,12 @@ package org.apache.flex.html.staticControls.beads.layouts var child:DisplayObject = contentView.getChildAt(i); child.y = 0; - child.x = xpos; - child.width = useWidth; child.height = useHeight; - xpos += useWidth; + child.x = xpos; + + if (buttonWidths) child.width = Number(buttonWidths[i]); + else child.width = useWidth; + xpos += child.width; } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as index 0bc9dfd..cb32137 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as @@ -49,6 +49,7 @@ package org.apache.flex.html.staticControls.beads.layouts IEventDispatcher(value).addEventListener("heightChanged", changeHandler); IEventDispatcher(value).addEventListener("widthChanged", changeHandler); IEventDispatcher(value).addEventListener("itemsCreated", changeHandler); + IEventDispatcher(value).addEventListener("layoutNeeded", changeHandler); } private function changeHandler(event:Event):void http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as index d1794be..6e0929b 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as @@ -51,6 +51,19 @@ package org.apache.flex.html.staticControls.beads.models private var _selectedIndex:int = -1; private var _rollOverIndex:int = -1; + private var _labelField:String = null; + + public function get labelField():String + { + return _labelField; + } + public function set labelField(value:String):void + { + if (value != _labelField) { + _labelField = value; + dispatchEvent(new Event("labelFieldChanged")); + } + } public function get selectedIndex():int { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as index 74dbf2c..fb607ba 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as @@ -28,20 +28,6 @@ package org.apache.flex.html.staticControls.beads.models super(); } - private var _labelFields:Object; - public function get labelFields():Object - { - return _labelFields; - } - - public function set labelFields(value:Object):void - { - if (value != _labelFields) { - _labelFields = value; - dispatchEvent( new Event("labelFieldsChanged")); - } - } - private var _columns:Array; public function get columns():Array { @@ -49,7 +35,10 @@ package org.apache.flex.html.staticControls.beads.models } public function set columns(value:Array):void { - _columns = value; + if (_columns != value) { + _columns = value; + dispatchEvent( new Event("columnsChanged")); + } } } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as index b12050b..1eab8a7 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as @@ -47,6 +47,16 @@ package org.apache.flex.html.staticControls.supportClasses _rowIndex = value; } + private var _dataField:String; + public function get dataField():String + { + return _dataField; + } + public function set dataField(value:String):void + { + _dataField = value; + } + private var background:Sprite; override public function addedToParent():void http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as index 3242024..7e041b1 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as @@ -72,7 +72,9 @@ package org.apache.flex.html.staticControls.supportClasses override public function set data(value:Object):void { super.data = value; - textField.text = String(value); + if (labelField) textField.text = String(value[labelField]); + else if (dataField) textField.text = String(value[dataField]); + else textField.text = String(value); } override public function updateRenderer():void http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js index a2b1fc0..af5ebe2 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js @@ -84,26 +84,6 @@ org.apache.flex.html.staticControls.DataGrid.prototype.set_dataProvider = /** * @expose - * @return {string} The labelFields getter. - */ -org.apache.flex.html.staticControls.DataGrid.prototype.get_labelFields = - function() { - return this.get_model().get_labelFields(); -}; - - -/** - * @expose - * @param {string} value The labelFields setter. - */ -org.apache.flex.html.staticControls.DataGrid.prototype.set_labelFields = - function(value) { - this.get_model().set_labelFields(value); -}; - - -/** - * @expose * @param {Array} value The DataGridColumn definitions for this DataGrid. */ org.apache.flex.html.staticControls.DataGrid.prototype.set_columns = http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js index 341d7e9..4555daf 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js @@ -70,6 +70,26 @@ function(value) { /** + * @expose + * @return {String} The name of the field to use as a label. + */ +org.apache.flex.html.staticControls.List.prototype.get_labelField = +function() { + return this.get_model().get_labelField(); +}; + + +/** + * @expose + * @param {String} value The name of the field to use as a label. + */ +org.apache.flex.html.staticControls.List.prototype.set_labelField = +function(value) { + this.get_model().set_labelField(value); +}; + + +/** * @override */ org.apache.flex.html.staticControls.List.prototype.createElement = http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js index a580902..5c75078 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js @@ -20,13 +20,11 @@ goog.require('org.apache.flex.events.Event'); goog.require('org.apache.flex.html.staticControls.ButtonBar'); goog.require('org.apache.flex.html.staticControls.Container'); goog.require('org.apache.flex.html.staticControls.List'); -goog.require('org.apache.flex.html.staticControls.beads.DataGridColumnView'); goog.require('org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForColumnData'); goog.require('org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData'); goog.require('org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout'); goog.require('org.apache.flex.html.staticControls.beads.models.ArraySelectionModel'); goog.require('org.apache.flex.html.staticControls.beads.models.DataGridModel'); -goog.require('org.apache.flex.html.staticControls.beads.models.DataGridPresentationModel'); goog.require('org.apache.flex.html.staticControls.supportClasses.DataGridColumn'); @@ -59,6 +57,16 @@ org.apache.flex.html.staticControls.beads.DataGridView.prototype. /** * @expose + * @return {Array} The columns of this DataGrid. + */ +org.apache.flex.html.staticControls.beads.DataGridView.prototype.getColumnLists = +function() { + return this.columns; +}; + + +/** + * @expose * @param {Object} value The new host. */ org.apache.flex.html.staticControls.beads.DataGridView.prototype.set_strand = @@ -66,15 +74,26 @@ org.apache.flex.html.staticControls.beads.DataGridView.prototype.set_strand = this.strand_ = value; + var sharedModel = value.getBeadByType( + org.apache.flex.html.staticControls.beads.models.DataGridModel); + // Use the presentation model's columnLabels as the dataProvider for the // ButtonBar header. - var pm = value.getBeadByType(org.apache.flex.html.staticControls. - beads.models.DataGridPresentationModel); + + var columnLabels = new Array(); + var buttonWidths = new Array(); + for (var i = 0; i < sharedModel.get_columns().length; i++) { + columnLabels.push(sharedModel.get_columns()[i].get_label()); + buttonWidths.push(sharedModel.get_columns()[i].get_columnWidth()); + } + var bblayout = new org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout(); + bblayout.set_buttonWidths(buttonWidths); this.buttonBarModel = new org.apache.flex.html.staticControls.beads.models.ArraySelectionModel(); - this.buttonBarModel.set_dataProvider(pm.get_columnLabels()); + this.buttonBarModel.set_dataProvider(columnLabels); this.buttonBar = new org.apache.flex.html.staticControls.ButtonBar(); this.buttonBar.addBead(this.buttonBarModel); + this.buttonBar.addBead(bblayout); this.buttonBar.set_height(20); this.buttonBar.set_width(this.strand_.get_width()); @@ -88,36 +107,29 @@ org.apache.flex.html.staticControls.beads.DataGridView.prototype.set_strand = this.columnContainer.positioner.style.width = this.strand_.positioner.style.width; - var sharedModel = value.getBeadByType( - org.apache.flex.html.staticControls.beads.models.DataGridModel); - var columnWidth = this.strand_.get_width() / pm.get_columnLabels().length - 2; + var columnWidth = this.strand_.get_width() / columnLabels.length - 2; var columnHeight = this.strand_.get_height() - this.buttonBar.get_height(); this.columns = new Array(); - for (var i = 0; i < pm.get_columnLabels().length; i++) { - var columnView = new - org.apache.flex.html.staticControls.beads.DataGridColumnView(); - columnView.set_columnIndex(i); - columnView.set_labelField(sharedModel.get_labelFields()[i]); - columnView.set_column(sharedModel.get_columns()[i]); - - var factory = new org.apache.flex.html.staticControls.beads. - DataItemRendererFactoryForColumnData(); - - var column = new org.apache.flex.html.staticControls.List(); - column.set_itemRenderer(columnView.get_column().get_itemRenderer()); - column.set_dataProvider(this.strand_.get_dataProvider()); - column.set_width(columnWidth); - column.set_height(columnHeight); - column.addBead(columnView); - column.addBead(factory); - column.addEventListener('change', - goog.bind(this.columnListChangeHandler, this)); - - this.columnContainer.addElement(column); - this.columns.push(column); + for (var i = 0; i < sharedModel.get_columns().length; i++) { + var listModel = new org.apache.flex.html.staticControls.beads.models.ArraySelectionModel(); + listModel.set_dataProvider(sharedModel.get_dataProvider()); + + var dataGridColumn = sharedModel.get_columns()[i]; + + var list = new org.apache.flex.html.staticControls.List(); + list.addBead(listModel); + list.set_itemRenderer(dataGridColumn.get_itemRenderer()); + list.set_labelField(dataGridColumn.get_dataField()); + list.set_width(dataGridColumn.get_columnWidth()-2); + list.set_height(columnHeight); + this.columnContainer.addElement(list); + this.columns.push(list); + list.addEventListener('change', goog.bind(this.columnListChangeHandler, this)); } + + this.strand_.dispatchEvent(new org.apache.flex.events.Event('layoutComplete')); }; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js index 9573b5c..a7b64f6 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js @@ -124,6 +124,7 @@ org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForArrayData. for (i = 0; i < n; i++) { var ir = this.itemRendererFactory_.createItemRenderer(this.dataGroup); ir.set_index(i); + ir.set_labelField(this.model.get_labelField()); ir.set_data(dp[i]); this.dataGroup.addElement(ir); } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js index 72ec02e..617e70b 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js @@ -121,10 +121,11 @@ org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForColumnData. view = this.listView; for (i = 0; i < n; i++) { - fieldName = view.get_labelField(); + fieldName = view.get_column().get_dataField(); // todo: grab an itemRenderer from a factory for this column opt = this.itemRendererFactory_.createItemRenderer(this.dataGroup); + opt.set_dataField(fieldName); this.dataGroup.addElement(opt); opt.set_data(dp[i]); } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js index 8b6b3a7..6e1c0cf 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js @@ -45,6 +45,26 @@ org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout /** * @expose + * @param {Array} value A set of widths to use for each button (optional). + */ +org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout.prototype.set_buttonWidths = +function(value) { + this.buttonWidths_ = value; +}; + + +/** + * @expose + * @return {Array} A set of widths to use for each button. + */ +org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout.prototype.get_buttonWidths = +function() { + return this.buttonWidths_; +}; + + +/** + * @expose * @param {Object} value The new host. */ org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout. @@ -77,9 +97,11 @@ org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout. for (i = 0; i < n; i++) { - children[i].set_width(useWidth); children[i].set_height(useHeight); + if (this.buttonWidths_) children[i].set_width(this.buttonWidths_[i]); + else children[i].set_width(useWidth); children[i].element.style['vertical-align'] = 'middle'; + children[i].element.style['text-align'] = 'center'; children[i].element.style['left-margin'] = 'auto'; children[i].element.style['right-margin'] = 'auto'; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js index f0ac6c9..23269b1 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js @@ -50,6 +50,8 @@ org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalLayout. this.strand_ = value; this.strand_.addEventListener('childrenAdded', goog.bind(this.changeHandler, this)); + this.strand_.addEventListener('layoutNeeded', + goog.bind(this.changeHandler, this)); } }; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js index f79da72..8d3c0f6 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js @@ -137,3 +137,24 @@ org.apache.flex.html.staticControls.beads.models.ArraySelectionModel.prototype. this.dispatchEvent('selectedItemChanged'); this.dispatchEvent('selectedIndexChanged'); }; + + +/** + * @expose + * @return {String} The name of the field to use as a label. + */ +org.apache.flex.html.staticControls.beads.models.ArraySelectionModel.prototype.get_labelField = +function() { + return this.labelField_; +}; + + +/** + * @expose + * @param {String} value The name of the field to use as a label. + */ +org.apache.flex.html.staticControls.beads.models.ArraySelectionModel.prototype.set_labelField = +function(value) { + this.labelField_ = value; + this.dispatchEvent('labelFieldChanged'); +}; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js index ec720c8..15c0f9a 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js @@ -61,26 +61,6 @@ org.apache.flex.html.staticControls.beads.models.DataGridModel.prototype. /** * @expose - * @param {Array} value Array of label fields. - */ -org.apache.flex.html.staticControls.beads.models.DataGridModel.prototype. - set_labelFields = function(value) { - this.labelFields_ = value; -}; - - -/** - * @expose - * @return {Array} Array of label fields. - */ -org.apache.flex.html.staticControls.beads.models.DataGridModel.prototype. - get_labelFields = function() { - return this.labelFields_; -}; - - -/** - * @expose * @param {Array} value Array of DataGridColumn instances. */ org.apache.flex.html.staticControls.beads.models.DataGridModel.prototype. http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js index 2e38432..48d8c4f 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js @@ -15,14 +15,14 @@ goog.provide('org.apache.flex.html.staticControls.supportClasses.DataItemRenderer'); goog.require('org.apache.flex.core.IItemRenderer'); -goog.require('org.apache.flex.core.UIBase'); goog.require('org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController'); +goog.require('org.apache.flex.html.staticControls.supportClasses.UIItemRendererBase'); /** * @constructor - * @extends {org.apache.flex.core.UIBase} + * @extends {org.apache.flex.html.staticControls.supportClasses.UIItemRendererBase} * @implements {org.apache.flex.core.IItemRenderer} */ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer = @@ -31,7 +31,7 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer = }; goog.inherits( org.apache.flex.html.staticControls.supportClasses.DataItemRenderer, - org.apache.flex.core.UIBase); + org.apache.flex.html.staticControls.supportClasses.UIItemRendererBase); /** @@ -72,27 +72,6 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. /** * @expose - * @param {Object} value The strand. - */ -org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. - prototype.set_strand = function(value) { - - this.strand_ = value; -}; - - -/** - * @expose - * @return {Object} The strand. - */ -org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. - prototype.get_strand = function() { - return this.strand_; -}; - - -/** - * @expose * @return {Object} The item renderer's parent. */ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. @@ -113,16 +92,6 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. /** * @expose - * @return {Object} The renderer's index. - */ -org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. - prototype.get_index = function() { - return this.index_; -}; - - -/** - * @expose * @param {Object} value The renderer's index. */ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. @@ -133,29 +102,29 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. /** * @expose - * @param {Object} value The data to display. + * @param {string} value The name of field to use. */ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. - prototype.set_data = function(value) { + prototype.set_dataField = function(value) { - this.data = value; + this.dataField_ = value; }; /** * @expose - * @return {Object} The value being displayed. + * @return {string} The name of the field to use. */ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. - prototype.get_data = function() { + prototype.get_dataField = function() { - return this.data; + return this.dataField_; }; /** - * @expose - * @param {boolean} value The selection state. + * @override + * @param {Boolean} value The selection state. */ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. prototype.set_selected = function(value) { @@ -170,8 +139,8 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. /** - * @expose - * @param {boolean} value The hovered state. + * @override + * @param {Boolean} value The hovered state. */ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer. prototype.set_hovered = function(value) { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js index 46247a3..c19729e 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js @@ -114,16 +114,6 @@ org.apache.flex.html.staticControls.supportClasses.StringItemRenderer. /** * @expose - * @return {Object} The renderer's index. - */ -org.apache.flex.html.staticControls.supportClasses.StringItemRenderer. - prototype.get_index = function() { - return this.index_; -}; - - -/** - * @expose * @param {Object} value The renderer's index. */ org.apache.flex.html.staticControls.supportClasses.StringItemRenderer. @@ -163,7 +153,13 @@ org.apache.flex.html.staticControls.supportClasses.StringItemRenderer. goog.base(this, 'set_data', value); - if (value.toString) { + if (this.get_labelField()) { + this.element.innerHTML = String(value[this.get_labelField()]); + } + else if (this.get_dataField()) { + this.element.innerHTML = String(value[this.get_dataField()]); + } + else if (value.toString) { this.element.innerHTML = value.toString(); } else { this.element.innerHTML = String(value); @@ -180,39 +176,3 @@ org.apache.flex.html.staticControls.supportClasses.StringItemRenderer. return this.element.innerHTML; }; - - -/** - * @expose - * @param {boolean} value The selection state. - */ -org.apache.flex.html.staticControls.supportClasses.StringItemRenderer. - prototype.set_selected = function(value) { - this.selected_ = value; - - if (value) { - this.backgroundView.style.backgroundColor = '#9C9C9C'; - } else { - this.backgroundView.style.backgroundColor = null; - } -}; - - -/** - * @expose - * @param {boolean} value The hovered state. - */ -org.apache.flex.html.staticControls.supportClasses.StringItemRenderer. - prototype.set_hovered = function(value) { - this.hovered_ = value; - - if (value) { - this.backgroundView.style.backgroundColor = '#ECECEC'; - } else { - if (this.selected_) { - this.backgroundView.style.backgroundColor = '#9C9C9C'; - } else { - this.backgroundView.style.backgroundColor = null; - } - } -};
