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();
