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 bb56d8a544ec773e0f9445844ec34a1600d09963 Author: Alex Harui <[email protected]> AuthorDate: Thu Sep 27 00:35:31 2018 -0700 switch to using an interface --- .../beads/controllers/MenuBarMouseController.as | 4 +- .../royale/html/beads/models/MenuBarModel.as | 3 +- .../projects/Core/src/main/royale/CoreClasses.as | 2 + .../org/apache/royale/core/IMenuBarModel.as} | 52 +++++----------------- .../mx/controls/beads/models/MenuBarModel.as | 27 ++++++++++- 5 files changed, 42 insertions(+), 46 deletions(-) diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuBarMouseController.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuBarMouseController.as index 70e06b1..e446f19 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuBarMouseController.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuBarMouseController.as @@ -31,7 +31,7 @@ package org.apache.royale.html.beads.controllers import org.apache.royale.events.ItemClickedEvent; import org.apache.royale.html.Menu; import org.apache.royale.html.MenuBar; - import org.apache.royale.html.beads.models.MenuBarModel; + import org.apache.royale.core.IMenuBarModel; import org.apache.royale.utils.UIUtils; import org.apache.royale.utils.loadBeadFromValuesManager; @@ -114,7 +114,7 @@ package org.apache.royale.html.beads.controllers var menuFactory:IFactory = loadBeadFromValuesManager(IFactory, "iMenuFactory", _strand) as IFactory; var menu:IMenu = menuFactory.newInstance() as IMenu; - var model:MenuBarModel = _strand.getBeadByType(IBeadModel) as MenuBarModel; + var model:IMenuBarModel = _strand.getBeadByType(IBeadModel) as IMenuBarModel; menu.dataProvider = event.data[model.submenuField]; menu.labelField = model.labelField; diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/MenuBarModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/MenuBarModel.as index 7a51450..80ca593 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/MenuBarModel.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/MenuBarModel.as @@ -14,13 +14,14 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.royale.html.beads.models { + import org.apache.royale.core.IMenuBarModel; import org.apache.royale.html.beads.models.ArraySelectionModel; import org.apache.royale.events.Event; /** * The model used by the MenuBar. */ - public class MenuBarModel extends ArraySelectionModel + public class MenuBarModel extends ArraySelectionModel implements IMenuBarModel { public function MenuBarModel() { diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as b/frameworks/projects/Core/src/main/royale/CoreClasses.as index 0928389..514c6a6 100644 --- a/frameworks/projects/Core/src/main/royale/CoreClasses.as +++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as @@ -233,6 +233,8 @@ import org.apache.royale.events.ItemRemovedEvent; ItemRemovedEvent; import org.apache.royale.states.SetProperty; SetProperty; import org.apache.royale.states.State; State; + import org.apache.royale.core.IMenuBarModel; IMenuBarModel; + import org.apache.royale.core.IDataGridModel; IDataGridModel; import org.apache.royale.core.IDataGridPresentationModel; IDataGridPresentationModel; import org.apache.royale.core.IDateChooserModel; IDateChooserModel; diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IMenuBarModel.as similarity index 52% copy from frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as copy to frameworks/projects/Core/src/main/royale/org/apache/royale/core/IMenuBarModel.as index 4df5cad..980bd51 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as +++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IMenuBarModel.as @@ -16,63 +16,33 @@ // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// -package mx.controls.beads.models +package org.apache.royale.core { - import mx.controls.MenuBar; - - import org.apache.royale.core.IMenu; - import org.apache.royale.core.IUIBase; - import org.apache.royale.html.beads.models.MenuBarModel; + import org.apache.royale.events.IEventDispatcher; /** - * MenuBar Mouse Controller + * The IComboBoxModel interface describes the minimum set of properties + * available to a ComboBox control. More sophisticated ComboBox controls + * could have models that extend IComboBoxModel. * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - public class MenuBarModel extends org.apache.royale.html.beads.models.MenuBarModel + public interface IMenuBarModel extends IEventDispatcher, ISelectionModel, IBeadModel { + // TODO: should extend ITextModel /** - * Constructor. - * + * The text displayed in the ComboBox. + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - public function MenuBarModel() - { - labelField = "label"; - submenuField = "children"; - } + function get submenuField():String; + function set submenuField(value:String):void; - private var _showRoot:Boolean; - - /** - * showRoot - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.0 - */ - public function get showRoot():Boolean - { - return _showRoot; - } - public function set showRoot(value:Boolean):void - { - _showRoot = value; - } - - override public function get dataProvider():Object - { - if (!showRoot) - return super.dataProvider.children; // TODO: needs to use descriptor - - return super.dataProvider; - } } } diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as index 4df5cad..8d0b6f8 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as @@ -21,8 +21,10 @@ package mx.controls.beads.models import mx.controls.MenuBar; import org.apache.royale.core.IMenu; + import org.apache.royale.core.IMenuBarModel; import org.apache.royale.core.IUIBase; - import org.apache.royale.html.beads.models.MenuBarModel; + import org.apache.royale.events.Event; + import org.apache.royale.html.beads.models.ArraySelectionModel; /** * MenuBar Mouse Controller @@ -32,7 +34,7 @@ package mx.controls.beads.models * @playerversion AIR 2.6 * @productversion Royale 0.0 */ - public class MenuBarModel extends org.apache.royale.html.beads.models.MenuBarModel + public class MenuBarModel extends ArraySelectionModel implements IMenuBarModel { /** * Constructor. @@ -48,6 +50,27 @@ package mx.controls.beads.models submenuField = "children"; } + private var _submenuField:String = "menu"; + + /** + * The field in the data object that identifies sub-menus. The default is "menu". This + * value is transferred to the CascadingMenu opened for each menu item. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9 + */ + public function get submenuField():String + { + return _submenuField; + } + public function set submenuField(value:String):void + { + _submenuField = value; + dispatchEvent(new Event("submenuFieldChanged")); + } + private var _showRoot:Boolean; /**
