This is an automated email from the ASF dual-hosted git repository.

hiedra pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 73ad4bdc62 [jewel/InterfaceInputButton] Rename "IInputAndButtonView" 
by "IViewWi… (#1201)
73ad4bdc62 is described below

commit 73ad4bdc62a040c98b9370260830a5cc8a87caa1
Author: Hiedra <[email protected]>
AuthorDate: Thu Jun 2 03:47:05 2022 +0200

    [jewel/InterfaceInputButton] Rename "IInputAndButtonView" by "IViewWi… 
(#1201)
    
    * [jewel/InterfaceInputButton] Rename "IInputAndButtonView" by 
"IViewWithTextInputAndButton".
    Generals beads: "Disabled", "ReadOnly", "TextPrompt" and "TruncateText".
    Change, in IViewWithTextInputAndButton" bead, "Object" by more specifique 
type: "popup" is IPopup, "button" is IStyledUIBase and "textinput" is 
TextInputBase
    
    * [jewel/InterfaceInputButton] To align the js and js-swf builds change the 
reference type of the "button" sub-component from IStyledUIBase to IUIBase
---
 .../Jewel/src/main/resources/jewel-manifest.xml    |  6 ++--
 .../projects/Jewel/src/main/royale/JewelClasses.as |  2 +-
 .../royale/org/apache/royale/jewel/DateChooser.as  |  3 +-
 .../beads/controllers/DateFieldMouseController.as  |  3 +-
 ...led.as => TextInputAndButtonControlDisabled.as} | 12 ++++----
 ...nly.as => TextInputAndButtonControlReadOnly.as} | 14 ++++-----
 ...tPrompt.as => TextInputSubControlTextPrompt.as} | 18 +++++-------
 ...eText.as => TextInputSubControlTruncateText.as} | 21 ++++++-------
 .../beads/controls/combobox/ComboBoxDisabled.as    |  4 +--
 .../controls/combobox/ComboBoxListCloseOnClick.as  | 10 ++++---
 .../beads/controls/combobox/ComboBoxReadOnly.as    |  4 +--
 .../beads/controls/combobox/ComboBoxTextPrompt.as  | 17 ++---------
 .../controls/combobox/ComboBoxTruncateText.as      | 21 ++-----------
 .../jewel/beads/controls/combobox/IComboBoxView.as |  7 +++--
 .../jewel/beads/controls/combobox/SearchFilter.as  |  4 ++-
 .../beads/controls/datefield/DateFieldDisabled.as  |  4 +--
 .../controls/datefield/DateFieldTextPrompt.as      | 20 ++-----------
 .../royale/jewel/beads/views/ComboBoxView.as       | 14 +++++----
 .../royale/jewel/beads/views/DateFieldView.as      | 34 ++++++++++++++--------
 ...uttonView.as => IViewWithTextInputAndButton.as} | 13 +++++----
 20 files changed, 103 insertions(+), 128 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml 
b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index b3e0bb4e73..0b4587faf4 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -185,13 +185,15 @@
     <component id="BadgeWithMouseClick" 
class="org.apache.royale.jewel.beads.controls.BadgeWithMouseClick"/>
     <component id="ToolTip" 
class="org.apache.royale.jewel.beads.controls.ToolTip"/>
     <component id="Disabled" 
class="org.apache.royale.jewel.beads.controls.Disabled"/>
-    <component id="InputAndButtonControlDisabled" 
class="org.apache.royale.jewel.beads.controls.InputAndButtonControlDisabled"/>
     <component id="SizeControl" 
class="org.apache.royale.jewel.beads.controls.SizeControl"/>
     <component id="ResponsiveSize" 
class="org.apache.royale.jewel.beads.controls.ResponsiveSize"/>
     <component id="TextAlign" 
class="org.apache.royale.jewel.beads.controls.TextAlign"/>
     <component id="ResponsiveVisibility" 
class="org.apache.royale.jewel.beads.layouts.ResponsiveVisibility"/>
     <component id="ReadOnly" 
class="org.apache.royale.jewel.beads.controls.ReadOnly"/>
-    <component id="InputAndButtonControlReadOnly" 
class="org.apache.royale.jewel.beads.controls.InputAndButtonControlReadOnly"/>
+    <component id="TextInputAndButtonControlReadOnly" 
class="org.apache.royale.jewel.beads.controls.TextInputAndButtonControlReadOnly"/>
+    <component id="TextInputAndButtonControlDisabled" 
class="org.apache.royale.jewel.beads.controls.TextInputAndButtonControlDisabled"/>
+    <component id="TextInputSubControlTextPrompt" 
class="org.apache.royale.jewel.beads.controls.TextInputSubControlTextPrompt"/>
+    <component id="TextInputSubControlTruncateText" 
class="org.apache.royale.jewel.beads.controls.TextInputSubControlTruncateText"/>
 
     <component id="ResponsiveDrawer" 
class="org.apache.royale.jewel.beads.controls.drawer.ResponsiveDrawer"/>
 
diff --git a/frameworks/projects/Jewel/src/main/royale/JewelClasses.as 
b/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
index 3bcfd45a7f..8011f4bcdc 100644
--- a/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
+++ b/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
@@ -64,7 +64,7 @@ import org.apache.royale.utils.observeElementSize;
         import org.apache.royale.jewel.beads.controllers.WizardController; 
WizardController;
 
         import org.apache.royale.jewel.beads.views.PopUpView; PopUpView;
-        import org.apache.royale.jewel.beads.views.IInputAndButtonView; 
IInputAndButtonView;
+        import 
org.apache.royale.jewel.beads.views.IViewWithTextInputAndButton; 
IViewWithTextInputAndButton;
         import org.apache.royale.jewel.beads.views.ImageView; ImageView;
         import org.apache.royale.jewel.beads.views.SpinnerView; SpinnerView;
         import org.apache.royale.jewel.beads.views.NumericStepperView; 
NumericStepperView;
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateChooser.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateChooser.as
index 0ed3d41e00..3432ae160e 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateChooser.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateChooser.as
@@ -20,6 +20,7 @@ package org.apache.royale.jewel
 {
        import org.apache.royale.core.IDateChooserModel;
        import org.apache.royale.jewel.Group;
+       import org.apache.royale.core.IPopUp;
 
        /**
         * The change event is dispatched when the selectedDate is changed.
@@ -35,7 +36,7 @@ package org.apache.royale.jewel
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public class DateChooser extends Group
+       public class DateChooser extends Group implements IPopUp
        {
                /**
                 *  constructor.
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/DateFieldMouseController.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/DateFieldMouseController.as
index f1e1f1a124..dc7443ae2b 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/DateFieldMouseController.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/DateFieldMouseController.as
@@ -33,6 +33,7 @@ package org.apache.royale.jewel.beads.controllers
        import org.apache.royale.jewel.beads.views.DateFieldView;
        import org.apache.royale.core.IStrandWithModel;
        import org.apache.royale.html.util.getModelByType;
+       import org.apache.royale.core.UIBase;
        
        /**
         * The DateFieldMouseController class is responsible for monitoring
@@ -103,7 +104,7 @@ package org.apache.royale.jewel.beads.controllers
             // t.start();
 
                        // viewBead.popUp is DateChooser that fills 100% of 
browser window-> We want Table inside
-                       table = (viewBead.popUp.getBeadByType(DateChooserView) 
as DateChooserView).table;
+                       table = ((viewBead.popUp as 
UIBase).getBeadByType(DateChooserView) as DateChooserView).table;
 
                        
IEventDispatcher(table).addEventListener(MouseEvent.MOUSE_DOWN, 
handleControlMouseDown);
                        
IUIBase(viewBead.popUp).addEventListener(MouseEvent.MOUSE_DOWN, 
removePopUpWhenClickOutside);
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/InputAndButtonControlDisabled.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputAndButtonControlDisabled.as
similarity index 85%
rename from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/InputAndButtonControlDisabled.as
rename to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputAndButtonControlDisabled.as
index 2f59342daf..72063c1fa8 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/InputAndButtonControlDisabled.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputAndButtonControlDisabled.as
@@ -25,18 +25,18 @@ package org.apache.royale.jewel.beads.controls
        }
        import org.apache.royale.core.IUIBase;
        import org.apache.royale.jewel.beads.controls.Disabled;
-    import org.apache.royale.jewel.beads.views.IInputAndButtonView;
+    import org.apache.royale.jewel.beads.views.IViewWithTextInputAndButton;
        
        /**
-        *  The InputAndButtonControlDisabled bead class is a generic Disabled 
bead that can be used to disable a 
-        *  Jewel control that implements the IInputAndButtonView interface.
+        *  The TextInputAndButtonControlDisabled bead class is a generic 
Disabled bead that can be used to disable a 
+        *  Jewel control that implements the IViewWithTextInputAndButton 
interface.
         *  
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.6
         */
-       public class InputAndButtonControlDisabled extends Disabled
+       public class TextInputAndButtonControlDisabled extends Disabled
        {
                /**
                 *  constructor.
@@ -46,7 +46,7 @@ package org.apache.royale.jewel.beads.controls
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.6
                 */
-               public function InputAndButtonControlDisabled()
+               public function TextInputAndButtonControlDisabled()
                {
                }
 
@@ -59,7 +59,7 @@ package org.apache.royale.jewel.beads.controls
                {
                        COMPILE::JS
                        {
-                       var view:IInputAndButtonView = (_strand as UIBase).view 
as IInputAndButtonView;
+                       var view:IViewWithTextInputAndButton = (_strand as 
UIBase).view as IViewWithTextInputAndButton;
 
                        if (view) {
                                var pos:HTMLElement = (_strand as 
IUIBase).positioner;
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/InputAndButtonControlReadOnly.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputAndButtonControlReadOnly.as
similarity index 85%
rename from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/InputAndButtonControlReadOnly.as
rename to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputAndButtonControlReadOnly.as
index ed1922f316..4892690f4d 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/InputAndButtonControlReadOnly.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputAndButtonControlReadOnly.as
@@ -21,22 +21,22 @@ package org.apache.royale.jewel.beads.controls
        COMPILE::JS
        {
        import org.apache.royale.core.HTMLElementWrapper;
-       import org.apache.royale.core.UIBase;
-    import org.apache.royale.jewel.beads.views.IInputAndButtonView;
+    import org.apache.royale.jewel.beads.views.IViewWithTextInputAndButton;
        }
        import org.apache.royale.core.IUIBase;
        import org.apache.royale.jewel.beads.controls.ReadOnly;
+       import org.apache.royale.core.UIBase;
        
        /**
-        *  The InputAndButtonControlReadOnly bead class is a generic ReadOnly 
bead that can be used to lock a 
-        *  Jewel control that implements the IInputAndButtonView interface.
+        *  The TextInputAndButtonControlReadOnly bead class is a generic 
ReadOnly bead that can be used to lock a 
+        *  Jewel control that implements the IViewWithTextInputAndButton 
interface.
         * 
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.6
         */
-       public class InputAndButtonControlReadOnly extends ReadOnly
+       public class TextInputAndButtonControlReadOnly extends ReadOnly
        {
                /**
                 *  constructor.
@@ -46,7 +46,7 @@ package org.apache.royale.jewel.beads.controls
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.9
                 */
-               public function InputAndButtonControlReadOnly()
+               public function TextInputAndButtonControlReadOnly()
                {
                }
 
@@ -59,7 +59,7 @@ package org.apache.royale.jewel.beads.controls
                {
                        COMPILE::JS
                        {
-                       var view:IInputAndButtonView = (_strand as UIBase).view 
as IInputAndButtonView;
+                       var view:IViewWithTextInputAndButton = (_strand as 
UIBase).view as IViewWithTextInputAndButton;
 
                        if (view) {
                                var pos:HTMLElement = (_strand as 
IUIBase).positioner;
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputSubControlTextPrompt.as
similarity index 76%
copy from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
copy to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputSubControlTextPrompt.as
index 1cc0b829da..b7e60907f8 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputSubControlTextPrompt.as
@@ -16,27 +16,25 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.jewel.beads.controls.datefield
-{
-       COMPILE::SWF
+package org.apache.royale.jewel.beads.controls
+{      COMPILE::SWF
        {
        import flash.utils.setTimeout;
     }
        import org.apache.royale.core.UIBase;
        import org.apache.royale.jewel.beads.controls.textinput.TextPrompt;
-       import org.apache.royale.jewel.beads.views.DateFieldView;
+       import org.apache.royale.jewel.beads.views.IViewWithTextInputAndButton;
        
        /**
-        *  The DateFieldTextPrompt class is a specialty bead that can be used 
with
-        *  any DateField control. The bead places a string into the sub 
TextInput component
-        *  when there is no value associated with the text property.
+        *  The InputControlTextPrompt bead class is a generic TextPrompt bead 
that can be used to 
+        *  Jewel control that implements the IViewWithTextInputAndButton 
interface.
         *  
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public class DateFieldTextPrompt extends TextPrompt
+       public class TextInputSubControlTextPrompt extends TextPrompt
        {
                /**
                 *  constructor.
@@ -46,7 +44,7 @@ package org.apache.royale.jewel.beads.controls.datefield
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               public function DateFieldTextPrompt()
+               public function TextInputSubControlTextPrompt()
                {
                }
 
@@ -61,7 +59,7 @@ package org.apache.royale.jewel.beads.controls.datefield
                COMPILE::JS
                override protected function updatePromptText():void
                {
-                       ((_strand as UIBase).view as 
DateFieldView).textInput.input.placeholder = prompt;
+                       ((_strand as UIBase).view as 
IViewWithTextInputAndButton).textinput.input.placeholder = prompt;
                }
        }
 }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTruncateText.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputSubControlTruncateText.as
similarity index 69%
copy from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTruncateText.as
copy to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputSubControlTruncateText.as
index 9fec20971a..36a3932d46 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTruncateText.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/TextInputSubControlTruncateText.as
@@ -16,25 +16,26 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.jewel.beads.controls.combobox
+package org.apache.royale.jewel.beads.controls
 {
        import org.apache.royale.core.IBead;
        import org.apache.royale.core.IStrand;
-       import org.apache.royale.core.IStyledUIBase;
+       import org.apache.royale.core.IUIBase;
        import org.apache.royale.core.StyledUIBase;
        import org.apache.royale.jewel.beads.controls.textinput.TruncateText;
+       import org.apache.royale.jewel.beads.views.IViewWithTextInputAndButton;
        
        /**
-        *  The ComboBoxTruncateText class is a specialty bead that can be used 
with
-        *  a Jewel ComboBox control. The bead truncate the text when no space 
is available
-        *  using "..."
+        *  The TextInputSubControlTruncateText bead class is a generic 
TruncateText bead that can be used to 
+        *  Jewel control that implements the IViewWithTextInputAndButton 
interface.
+        *  The bead truncate the text when no space is available using "..."
         *  
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
-        *  @productversion Royale 0.9.7
+        *  @productversion Royale 0.9.4
         */
-       public class ComboBoxTruncateText implements IBead
+       public class TextInputSubControlTruncateText implements IBead
        {
                /**
                 *  constructor.
@@ -42,9 +43,9 @@ package org.apache.royale.jewel.beads.controls.combobox
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion Royale 0.9.7
+                *  @productversion Royale 0.9.4
                 */
-               public function ComboBoxTruncateText()
+               public function TextInputSubControlTruncateText()
                {
                }
 
@@ -58,7 +59,7 @@ package org.apache.royale.jewel.beads.controls.combobox
                 */
                public function set strand(value:IStrand):void
                {
-                       (((value as StyledUIBase).view as 
IComboBoxView).textinput as IStyledUIBase).addBead(new TruncateText());
+                       (((value as StyledUIBase).view as 
IViewWithTextInputAndButton).textinput as IUIBase).addBead(new TruncateText());
                }
        }
 }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxDisabled.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxDisabled.as
index 4fa08cedc4..c21b363c39 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxDisabled.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxDisabled.as
@@ -18,7 +18,7 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.controls.combobox
 {
-       import 
org.apache.royale.jewel.beads.controls.InputAndButtonControlDisabled;
+       import 
org.apache.royale.jewel.beads.controls.TextInputAndButtonControlDisabled;
        
        /**
         *  The ComboBoxDisabled bead class is a specialty bead that can be 
used to disable a Jewel ComboBox.
@@ -28,7 +28,7 @@ package org.apache.royale.jewel.beads.controls.combobox
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.6
         */
-       public class ComboBoxDisabled extends InputAndButtonControlDisabled
+       public class ComboBoxDisabled extends TextInputAndButtonControlDisabled
        {
                /**
                 *  constructor.
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxListCloseOnClick.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxListCloseOnClick.as
index 9bffe3ee97..805724e2f9 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxListCloseOnClick.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxListCloseOnClick.as
@@ -25,7 +25,9 @@ package org.apache.royale.jewel.beads.controls.combobox
     import org.apache.royale.events.MouseEvent;
     import org.apache.royale.jewel.ComboBox;
     import org.apache.royale.jewel.List;
-    import org.apache.royale.jewel.beads.views.ComboBoxView;
+    import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
+    import org.apache.royale.core.IStrandWithModelView;
+    import org.apache.royale.jewel.beads.views.ComboBoxPopUpView;
 
     /**
         *  The ComboBoxListCloseOnClick bead class is a specialty bead that 
can be used with
@@ -54,14 +56,14 @@ package org.apache.royale.jewel.beads.controls.combobox
         }
 
         private var _list:List;
-        private var comboView:ComboBoxView;
+        private var comboView:IComboBoxView;
         
         public override function set strand(value:IStrand):void
                {
             super.strand = value;
 
             var comboBox:ComboBox = (value as ComboBox);
-            comboView = (comboBox.view as ComboBoxView);
+            comboView = (comboBox.view as IComboBoxView);
             var itemRendererClass:Class = 
ValuesManager.valuesImpl.getValue(comboView.host, "iItemRenderer") as Class;
             // Checking that the bead is applied to a Jewel ComboBox and has a 
custom item renderer assigned
             if (comboView && (comboBox.itemRenderer || itemRendererClass != 
null)){
@@ -71,7 +73,7 @@ package org.apache.royale.jewel.beads.controls.combobox
                }
 
         protected function popUpOpenedHandler():void {
-                       list = comboView.popup.view.list;
+                       list = ((comboView.popup as IStrandWithModelView).view 
as ComboBoxPopUpView).list;
                }
 
                protected function popUpClosedHandler():void {
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxReadOnly.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxReadOnly.as
index 6b6f295e97..afd15cae9b 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxReadOnly.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxReadOnly.as
@@ -18,7 +18,7 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.controls.combobox
 {
-       import 
org.apache.royale.jewel.beads.controls.InputAndButtonControlReadOnly;
+       import 
org.apache.royale.jewel.beads.controls.TextInputAndButtonControlReadOnly;
        
        /**
         *  The ComboBoxReadOnly bead class is a specialty ReadOnly bead that 
can be used to lock a Jewel ComboBox.
@@ -30,7 +30,7 @@ package org.apache.royale.jewel.beads.controls.combobox
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.6
         */
-       public class ComboBoxReadOnly extends InputAndButtonControlReadOnly
+       public class ComboBoxReadOnly extends TextInputAndButtonControlReadOnly
        {
                /**
                 *  constructor.
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTextPrompt.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTextPrompt.as
index 7ae0303052..c1cd4c6fea 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTextPrompt.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTextPrompt.as
@@ -21,6 +21,7 @@ package org.apache.royale.jewel.beads.controls.combobox
        import org.apache.royale.core.UIBase;
        import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
        import org.apache.royale.jewel.beads.controls.textinput.TextPrompt;
+       import 
org.apache.royale.jewel.beads.controls.TextInputSubControlTextPrompt;
        
        /**
         *  The ComboBoxTextPrompt class is a specialty bead that can be used 
with
@@ -32,7 +33,7 @@ package org.apache.royale.jewel.beads.controls.combobox
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public class ComboBoxTextPrompt extends TextPrompt
+       public class ComboBoxTextPrompt extends TextInputSubControlTextPrompt
        {
                /**
                 *  constructor.
@@ -45,19 +46,5 @@ package org.apache.royale.jewel.beads.controls.combobox
                public function ComboBoxTextPrompt()
                {
                }
-
-               /**
-         *  @copy 
org.apache.royale.jewel.beads.controls.textinput.TextPrompt#updatePromptText()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.9.7
-         */
-               COMPILE::JS
-               override protected function updatePromptText():void
-               {
-                       ((_strand as UIBase).view as 
IComboBoxView).textinput.input.placeholder = prompt;
-               }
        }
 }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTruncateText.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTruncateText.as
index 9fec20971a..9e8fd3d4d3 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTruncateText.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTruncateText.as
@@ -18,11 +18,7 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.controls.combobox
 {
-       import org.apache.royale.core.IBead;
-       import org.apache.royale.core.IStrand;
-       import org.apache.royale.core.IStyledUIBase;
-       import org.apache.royale.core.StyledUIBase;
-       import org.apache.royale.jewel.beads.controls.textinput.TruncateText;
+       import 
org.apache.royale.jewel.beads.controls.TextInputSubControlTruncateText;
        
        /**
         *  The ComboBoxTruncateText class is a specialty bead that can be used 
with
@@ -34,7 +30,7 @@ package org.apache.royale.jewel.beads.controls.combobox
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.7
         */
-       public class ComboBoxTruncateText implements IBead
+       public class ComboBoxTruncateText extends 
TextInputSubControlTruncateText
        {
                /**
                 *  constructor.
@@ -47,18 +43,5 @@ package org.apache.royale.jewel.beads.controls.combobox
                public function ComboBoxTruncateText()
                {
                }
-
-               /**
-                *  @copy org.apache.royale.core.IBead#strand
-                *  
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.9.7
-                */
-               public function set strand(value:IStrand):void
-               {
-                       (((value as StyledUIBase).view as 
IComboBoxView).textinput as IStyledUIBase).addBead(new TruncateText());
-               }
        }
 }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/IComboBoxView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/IComboBoxView.as
index 5293457590..bd25df6889 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/IComboBoxView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/IComboBoxView.as
@@ -18,7 +18,8 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.controls.combobox
 {
-    import org.apache.royale.jewel.beads.views.IInputAndButtonView;
+    import org.apache.royale.jewel.beads.views.IViewWithTextInputAndButton;
+    import org.apache.royale.core.IPopUp;
     
        /**
         *  The IComboBoxView interface provides the protocol for any bead that
@@ -29,7 +30,7 @@ package org.apache.royale.jewel.beads.controls.combobox
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public interface IComboBoxView extends IInputAndButtonView
+       public interface IComboBoxView extends IViewWithTextInputAndButton
        {               
                /**
                 *  The component housing the selection list. The main 
component must be a placeholder
@@ -41,7 +42,7 @@ package org.apache.royale.jewel.beads.controls.combobox
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               function get popup():Object;
+               function get popup():IPopUp;
                
                /**
                 *  Determines whether or not the pop-up with the selection 
list is visible or not.
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/SearchFilter.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/SearchFilter.as
index 822e1fefd4..94cb6c230e 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/SearchFilter.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/SearchFilter.as
@@ -26,6 +26,8 @@ package org.apache.royale.jewel.beads.controls.combobox
        import org.apache.royale.jewel.List;
     import org.apache.royale.events.MouseEvent;
     import org.apache.royale.events.IEventDispatcher;
+    import org.apache.royale.core.IStrandWithModelView;
+    import org.apache.royale.jewel.beads.views.ComboBoxPopUpView;
 
        /**
         *  The SearchFilter bead class is a specialty bead that can be used 
with
@@ -110,7 +112,7 @@ package org.apache.royale.jewel.beads.controls.combobox
 
                protected function popUpOpenedHandler():void {
                        // fill "list" with the internal list in the combobox 
popup
-                       list = comboView.popup.view.list;
+                       list = ((comboView.popup as IStrandWithModelView).view 
as ComboBoxPopUpView).list;
                }
 
                protected function popUpClosedHandler():void {
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldDisabled.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldDisabled.as
index 13f63b511f..7a9ff89579 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldDisabled.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldDisabled.as
@@ -18,7 +18,7 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.controls.datefield
 {
-       import 
org.apache.royale.jewel.beads.controls.InputAndButtonControlDisabled;
+       import 
org.apache.royale.jewel.beads.controls.TextInputAndButtonControlDisabled;
 
        /**
         *  The DateFieldDisabled bead class is a specialty bead that can be 
used to disable a Jewel DateField control.
@@ -29,7 +29,7 @@ package org.apache.royale.jewel.beads.controls.datefield
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.6
         */
-       public class DateFieldDisabled extends InputAndButtonControlDisabled
+       public class DateFieldDisabled extends TextInputAndButtonControlDisabled
        {
                /**
                 *  constructor.
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
index 1cc0b829da..1cadcfe088 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
@@ -22,9 +22,7 @@ package org.apache.royale.jewel.beads.controls.datefield
        {
        import flash.utils.setTimeout;
     }
-       import org.apache.royale.core.UIBase;
-       import org.apache.royale.jewel.beads.controls.textinput.TextPrompt;
-       import org.apache.royale.jewel.beads.views.DateFieldView;
+       import 
org.apache.royale.jewel.beads.controls.TextInputSubControlTextPrompt;
        
        /**
         *  The DateFieldTextPrompt class is a specialty bead that can be used 
with
@@ -36,7 +34,7 @@ package org.apache.royale.jewel.beads.controls.datefield
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public class DateFieldTextPrompt extends TextPrompt
+       public class DateFieldTextPrompt extends TextInputSubControlTextPrompt
        {
                /**
                 *  constructor.
@@ -49,19 +47,5 @@ package org.apache.royale.jewel.beads.controls.datefield
                public function DateFieldTextPrompt()
                {
                }
-
-               /**
-         *  @copy 
org.apache.royale.jewel.beads.controls.textinput.TextPrompt#updatePromptText()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.9.7
-         */
-               COMPILE::JS
-               override protected function updatePromptText():void
-               {
-                       ((_strand as UIBase).view as 
DateFieldView).textInput.input.placeholder = prompt;
-               }
        }
 }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxView.as
index b66bbabb87..0dbd0c9111 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxView.as
@@ -31,10 +31,13 @@ package org.apache.royale.jewel.beads.views
        import org.apache.royale.core.IItemRendererProvider;
        import org.apache.royale.core.ILayoutChild;
        import org.apache.royale.core.IParent;
+       import org.apache.royale.core.IPopUp;
        import org.apache.royale.core.IStrand;
+       import org.apache.royale.core.IUIBase;
        import org.apache.royale.core.ValuesManager;
        import org.apache.royale.events.Event;
        import org.apache.royale.html.util.getLabelFromData;
+       import org.apache.royale.html.util.getModelByType;
        import org.apache.royale.jewel.Button;
        import org.apache.royale.jewel.ComboBox;
        import org.apache.royale.jewel.List;
@@ -42,10 +45,9 @@ package org.apache.royale.jewel.beads.views
        import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
        import org.apache.royale.jewel.beads.models.IJewelSelectionModel;
        import org.apache.royale.jewel.supportClasses.combobox.ComboBoxPopUp;
-       import org.apache.royale.utils.UIUtils;
+    import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
        import org.apache.royale.utils.sendStrandEvent;
-       import org.apache.royale.html.util.getModelByType;
-
+       import org.apache.royale.utils.UIUtils;
        /**
         *  The ComboBoxView class creates the visual elements of the 
org.apache.royale.jewel.ComboBox
         *  component. The job of the view bead is to put together the parts of 
the ComboBox such as the TextInput
@@ -75,7 +77,7 @@ package org.apache.royale.jewel.beads.views
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               public function get textinput():Object
+               public function get textinput():TextInputBase
                {
                        return _textinput;
                }
@@ -91,7 +93,7 @@ package org.apache.royale.jewel.beads.views
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               public function get button():Object
+               public function get button():IUIBase
                {
                        return _button;
                }
@@ -110,7 +112,7 @@ package org.apache.royale.jewel.beads.views
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               public function get popup():Object
+               public function get popup():IPopUp
                {
                        return _comboPopUp;
                }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
index 19948f59b8..aebdf22d28 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
@@ -29,15 +29,18 @@ package org.apache.royale.jewel.beads.views
        import 
org.apache.royale.jewel.supportClasses.util.positionInsideBoundingClientRect;
        }
        import org.apache.royale.core.BeadViewBase;
-       import org.apache.royale.jewel.beads.views.IInputAndButtonView;
        import org.apache.royale.core.IDateChooserModel;
        import org.apache.royale.core.IDateFormatter;
        import org.apache.royale.core.IFormatter;
        import org.apache.royale.core.ILayoutChild;
+       import org.apache.royale.core.IPopUp;
        import org.apache.royale.core.IPopUpHost;
        import org.apache.royale.core.IStrand;
+       import org.apache.royale.core.IStrandWithModelView;
+       import org.apache.royale.core.IUIBase;
        import org.apache.royale.core.UIBase;
        import org.apache.royale.core.ValuesManager;
+       import org.apache.royale.html.util.getModelByType;
        import org.apache.royale.events.Event;
        import org.apache.royale.events.IEventDispatcher;
        import org.apache.royale.jewel.Button;
@@ -45,12 +48,13 @@ package org.apache.royale.jewel.beads.views
        import org.apache.royale.jewel.DateField;
        import org.apache.royale.jewel.Table;
        import org.apache.royale.jewel.TextInput;
+       import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
        import 
org.apache.royale.jewel.beads.controls.datefield.DateFieldMaskedTextInput;
        import 
org.apache.royale.jewel.beads.controls.textinput.MaxNumberCharacters;
        import org.apache.royale.jewel.beads.views.DateChooserView;
-       import org.apache.royale.utils.UIUtils;
+    import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
        import org.apache.royale.utils.sendStrandEvent;
-       import org.apache.royale.html.util.getModelByType;
+       import org.apache.royale.utils.UIUtils;
 
        /**
         * The DateFieldView class is a bead for DateField that creates the
@@ -63,7 +67,7 @@ package org.apache.royale.jewel.beads.views
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public class DateFieldView extends BeadViewBase implements 
IInputAndButtonView
+       public class DateFieldView extends BeadViewBase implements IComboBoxView
        {
                /**
                 *  constructor.
@@ -88,14 +92,14 @@ package org.apache.royale.jewel.beads.views
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               public function get button():Object
+               public function get button():IUIBase
                {
-                       return _button;
+                       return _button as IUIBase;
                }
                /**
                 * deprecated
                 */
-               public function get menuButton():Object
+               public function get menuButton():IUIBase
                {
                        return _button;
                }
@@ -108,14 +112,14 @@ package org.apache.royale.jewel.beads.views
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               public function get textinput():Object
+               public function get textinput():TextInputBase
                {
                        return _textInput;
                }
                /**
                 * deprecated
                 */
-               public function get textInput():Object
+               public function get textInput():TextInputBase
                {
                        return _textInput;
                }
@@ -231,7 +235,14 @@ package org.apache.royale.jewel.beads.views
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               public function get popUp():DateChooser
+               public function get popup():IPopUp
+               {
+                       return _popUp;
+               }
+               /**
+                * deprecated
+                */
+               public function get popUp():IPopUp
                {
                        return _popUp;
                }
@@ -280,8 +291,7 @@ package org.apache.royale.jewel.beads.views
                                        var host:IPopUpHost = 
UIUtils.findPopUpHost(getHost()) as IPopUpHost;
                                        host.popUpParent.addElement(_popUp);
                                        // viewBead.popUp is DateChooser that 
fills 100% of browser window-> We want Table inside
-                                       table = (popUp.view as 
DateChooserView).table;
-
+                                       table = ((popUp as 
IStrandWithModelView).view as DateChooserView).table
                                        // rq = 
requestAnimationFrame(prepareForPopUp); // not work in Chrome/Firefox, while 
works in Safari, IE11, setInterval/Timer as well doesn't work right in Firefox
                                        
                                        COMPILE::JS
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/IInputAndButtonView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/IViewWithTextInputAndButton.as
similarity index 79%
rename from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/IInputAndButtonView.as
rename to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/IViewWithTextInputAndButton.as
index 0d7142e9f9..63439ee313 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/IInputAndButtonView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/IViewWithTextInputAndButton.as
@@ -19,17 +19,18 @@
 package org.apache.royale.jewel.beads.views
 {
     import org.apache.royale.core.IBeadView;
-    
+    import org.apache.royale.core.IUIBase;
+    import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
        /**
-        *  The IInputAndButtonView interface provides the protocol for any 
bead that
-        *  creates the visual parts for a control containing a input and a 
button.
+        *  The IViewWithTextInputAndButton interface provides the protocol for 
any bead that
+        *  creates the visual parts for a control containing a text area and a 
button.
         *  
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public interface IInputAndButtonView extends IBeadView
+       public interface IViewWithTextInputAndButton extends IBeadView
        {
                /**
                 *  The sub-component used for the input area of the Control.
@@ -39,7 +40,7 @@ package org.apache.royale.jewel.beads.views
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               function get textinput():Object;
+               function get textinput():TextInputBase;
                
                /**
                 *  The sub-component used for the button to activate the 
pop-up.
@@ -49,6 +50,6 @@ package org.apache.royale.jewel.beads.views
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               function get button():Object;
+               function get button():IUIBase;
        }
 }

Reply via email to