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

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

commit 68189a9e32904e644e21fb281a22ce38309e4acf
Author: Carlos Rovira <[email protected]>
AuthorDate: Sat Dec 5 14:15:43 2020 +0100

    jewel-numericstepper: Jewel NumericStepper Value Property Fails Binding 
(fix #985)
---
 .../jewel/beads/controllers/NumericStepperController.as     | 13 ++++++++-----
 .../org/apache/royale/jewel/beads/models/RangeModel.as      |  3 +--
 .../apache/royale/jewel/beads/views/NumericStepperView.as   |  9 +++++++--
 3 files changed, 16 insertions(+), 9 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/NumericStepperController.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/NumericStepperController.as
index c2eddf9..0e556f5 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/NumericStepperController.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/NumericStepperController.as
@@ -96,12 +96,15 @@ package org.apache.royale.jewel.beads.controllers
                        // as resizing the component
                        spinner.addEventListener("valueChange", 
spinnerValueChanged);
                        
+                       var model:IRangeModel = 
_strand.getBeadByType(IRangeModel) as IRangeModel;
+
                        // listen for changes and update the UI accordingly
-                       listenOnStrand("valueChange", modelChangeHandler);
-                       listenOnStrand("minimumChange", modelChangeHandler);
-                       listenOnStrand("maximumChange", modelChangeHandler);
-                       listenOnStrand("stepSizeChange", modelChangeHandler);
-                       listenOnStrand("snapIntervalChange", 
modelChangeHandler);
+                       model.addEventListener("valueChange", 
modelChangeHandler);
+                       model.addEventListener("minimumChange", 
modelChangeHandler);
+                       model.addEventListener("maximumChange", 
modelChangeHandler);
+                       model.addEventListener("stepSizeChange", 
modelChangeHandler);
+                       model.addEventListener("snapIntervalChange", 
modelChangeHandler);
+
                }
 
                /**
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/RangeModel.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/RangeModel.as
index 76e2c45..506b5f5 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/RangeModel.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/RangeModel.as
@@ -19,8 +19,8 @@
 package org.apache.royale.jewel.beads.models
 {
        import org.apache.royale.core.IBead;
-       import org.apache.royale.core.IStrand;
        import org.apache.royale.core.IRangeModel;
+       import org.apache.royale.core.IStrand;
        import org.apache.royale.events.Event;
        import org.apache.royale.events.EventDispatcher;
        import org.apache.royale.events.ValueChangeEvent;
@@ -197,7 +197,6 @@ package org.apache.royale.jewel.beads.models
                {
                        return _value;
                }
-               
                public function set value(newValue:Number):void
                {
                        if (newValue != _value)
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/NumericStepperView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/NumericStepperView.as
index d2fe531..8a6c309 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/NumericStepperView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/NumericStepperView.as
@@ -24,9 +24,11 @@ package org.apache.royale.jewel.beads.views
     import org.apache.royale.core.ILayoutChild;
     import org.apache.royale.core.IParent;
     import org.apache.royale.core.IParentIUIBase;
+    import org.apache.royale.core.IRangeModel;
     import org.apache.royale.core.IStrand;
     import org.apache.royale.core.IUIBase;
     import org.apache.royale.core.UIBase;
+    import org.apache.royale.events.Event;
     import org.apache.royale.jewel.Label;
     import org.apache.royale.jewel.Spinner;
     import org.apache.royale.jewel.TextInput;
@@ -75,7 +77,7 @@ package org.apache.royale.jewel.beads.views
                override public function set strand(value:IStrand):void
                {
                        super.strand = value;
-            
+
                        // add an input field
                        input = new TextInput();
             (value as IParent).addElement(input);
@@ -93,7 +95,10 @@ package org.apache.royale.jewel.beads.views
                        (value as IParent).addElement(spinnerview.increment as 
IChild);
                        (value as IParent).addElement(spinnerview.decrement as 
IChild);
                        
-                       input.text = String(spinner.value);
+                       var model:IRangeModel = 
_strand.getBeadByType(IRangeModel) as IRangeModel;
+                       trace(model, model.value);
+                       spinner.value = model.value;
+                       input.text = String(model.value);
 
                        initSize();
 

Reply via email to