Updated Branches: refs/heads/develop 31b19d086 -> 3d95631fa
selectedItem should return Object, not String. Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/7056ba5d Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/7056ba5d Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/7056ba5d Branch: refs/heads/develop Commit: 7056ba5d7f5acf81d16839d6593d3ac1f53d659b Parents: 31b19d0 Author: Peter Ent <[email protected]> Authored: Fri Sep 13 16:52:52 2013 -0400 Committer: Peter Ent <[email protected]> Committed: Fri Sep 13 16:52:52 2013 -0400 ---------------------------------------------------------------------- .../beads/models/ArraySelectionModel.as | 29 +++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7056ba5d/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as ---------------------------------------------------------------------- diff --git a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as index 1e1aade..3ca7f94 100644 --- a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as +++ b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as @@ -20,7 +20,7 @@ package org.apache.flex.html.staticControls.beads.models { import org.apache.flex.core.ISelectionModel; import org.apache.flex.core.IStrand; - import org.apache.flex.events.Event; + import org.apache.flex.events.Event; import org.apache.flex.events.EventDispatcher; public class ArraySelectionModel extends EventDispatcher implements ISelectionModel @@ -57,22 +57,37 @@ package org.apache.flex.html.staticControls.beads.models public function set selectedIndex(value:int):void { _selectedIndex = value; - _selectedString = (value == -1) ? null : (value < _dataProvider.length) ? _dataProvider[value] : null; + _selectedItem = (value == -1) ? null : (value < _dataProvider.length) ? _dataProvider[value] : null; dispatchEvent(new Event("selectedIndexChanged")); } - private var _selectedString:String; + + private var _selectedItem:Object; public function get selectedItem():Object { - return _selectedString; + return _selectedItem; } public function set selectedItem(value:Object):void { - selectedString = String(value); + _selectedItem = value; + var n:int = _dataProvider.length; + for (var i:int = 0; i < n; i++) + { + if (_dataProvider[i] == value) + { + _selectedIndex = i; + break; + } + } + dispatchEvent(new Event("selectedItemChanged")); + dispatchEvent(new Event("selectedIndexChanged")); } + + private var _selectedString:String; + public function get selectedString():String { - return _selectedString; + return String(_selectedItem); } public function set selectedString(value:String):void { @@ -80,7 +95,7 @@ package org.apache.flex.html.staticControls.beads.models var n:int = _dataProvider.length; for (var i:int = 0; i < n; i++) { - if (_dataProvider[i] == value) + if (String(_dataProvider[i]) == value) { _selectedIndex = i; break;
