You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by hi...@apache.org on 2022/06/02 01:47:09 UTC
[royale-asjs] branch develop updated: [jewel/InterfaceInputButton] Rename "IInputAndButtonView" by "IViewWi… (#1201)
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 <55...@users.noreply.github.com>
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;
}
}