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

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

commit 9c443caa4e17eac3ac0e6f2a43627d7e997769f9
Author: Carlos Rovira <[email protected]>
AuthorDate: Mon Mar 19 12:16:16 2018 +0100

    introduce jewel checkbox and refactor styles to make more easy handle the 
rest of components to be included
---
 .../src/main/royale/TextInputPlayGround.mxml       |   2 +-
 .../projects/Jewel/src/main/resources/defaults.css |  32 ++-
 .../Jewel/src/main/resources/jewel-manifest.xml    |   1 +
 .../projects/Jewel/src/main/royale/JewelClasses.as |   4 +-
 .../royale/org/apache/royale/jewel/CheckBox.as     | 230 +++++++++++++++++++++
 .../{RadioButtonView.as => views/CheckBoxView.as}  | 205 +++++++++---------
 .../jewel/beads/{ => views}/RadioButtonView.as     |   2 +-
 .../projects/Jewel/src/main/sass/_global.sass      |  37 ----
 .../Jewel/src/main/sass/components/_button.sass    |  20 ++
 .../Jewel/src/main/sass/components/_check.sass     |  27 +++
 .../Jewel/src/main/sass/components/_label.sass     |  27 +++
 .../Jewel/src/main/sass/components/_radio.sass     |  18 ++
 .../sass/{_global.sass => components/_slider.sass} |  38 +---
 .../src/main/sass/components/_textbutton.sass      |  20 ++
 .../Jewel/src/main/sass/components/_textfield.sass |  24 +++
 .../projects/Jewel/src/main/sass/defaults.sass     |  10 +
 16 files changed, 523 insertions(+), 174 deletions(-)

diff --git 
a/examples/royale/JewelExample/src/main/royale/TextInputPlayGround.mxml 
b/examples/royale/JewelExample/src/main/royale/TextInputPlayGround.mxml
index 489bfb9..cb236e9 100644
--- a/examples/royale/JewelExample/src/main/royale/TextInputPlayGround.mxml
+++ b/examples/royale/JewelExample/src/main/royale/TextInputPlayGround.mxml
@@ -24,5 +24,5 @@ limitations under the License.
        
        <j:RadioButton/>
        <j:TextField text="Text Input" width="120" height="40"/>
-       
+       <j:CheckBox/>
 </js:Group>
diff --git a/frameworks/projects/Jewel/src/main/resources/defaults.css 
b/frameworks/projects/Jewel/src/main/resources/defaults.css
index 583ef87..627c8e3 100644
--- a/frameworks/projects/Jewel/src/main/resources/defaults.css
+++ b/frameworks/projects/Jewel/src/main/resources/defaults.css
@@ -30,16 +30,24 @@
   display: block !important;
 }
 
-Label {
-  iBeadModel: ClassReference("org.apache.royale.html.beads.models.TextModel");
+@media -royale-swf {
+  CheckBox {
+    IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.ToggleButtonModel");
+    IBeadView: ClassReference("org.apache.royale.html.beads.CheckBoxView");
+  }
 }
-
 .jewel.label {
   white-space: nowrap;
 }
 
-TextField {
-  IBeadModel: ClassReference("org.apache.royale.html.beads.models.TextModel");
+Label {
+  iBeadModel: ClassReference("org.apache.royale.html.beads.models.TextModel");
+}
+
+.jewel.slider {
+  width: 100px;
+  height: 30px;
+  position: relative;
 }
 
 Slider {
@@ -49,12 +57,6 @@ Slider {
   IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.HSliderMouseController");
 }
 
-.jewel.slider {
-  width: 100px;
-  height: 30px;
-  position: relative;
-}
-
 .SliderTrack {
   position: absolute;
 }
@@ -74,6 +76,14 @@ Slider {
     IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.ValueToggleButtonModel");
     IBeadView: ClassReference("org.apache.royale.jewel.beads.RadioButtonView");
   }
+
+  CheckBox {
+    IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.ToggleButtonModel");
+    IBeadView: ClassReference("org.apache.royale.html.beads.CheckBoxView");
+  }
+}
+TextField {
+  IBeadModel: ClassReference("org.apache.royale.html.beads.models.TextModel");
 }
 
 /*# sourceMappingURL=defaults.css.map */
diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml 
b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index c0840b8..7799373 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -28,6 +28,7 @@
     <component id="TextField" class="org.apache.royale.jewel.TextField"/>
     <component id="Slider" class="org.apache.royale.jewel.Slider"/>
     <component id="RadioButton" class="org.apache.royale.jewel.RadioButton"/>
+    <component id="CheckBox" class="org.apache.royale.jewel.CheckBox"/>
 
     <component id="Disabled" class="org.apache.royale.jewel.beads.Disabled"/>
 
diff --git a/frameworks/projects/Jewel/src/main/royale/JewelClasses.as 
b/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
index 4f909d2..41f586d 100644
--- a/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
+++ b/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
@@ -36,7 +36,9 @@ package
             import org.apache.royale.jewel.beads.SliderThumbView; 
SliderThumbView;
             import org.apache.royale.jewel.beads.SliderTrackView; 
SliderTrackView;
 
-            import org.apache.royale.jewel.beads.RadioButtonView; 
RadioButtonView;
+            import org.apache.royale.jewel.beads.views.RadioButtonView; 
RadioButtonView;
+                   import org.apache.royale.jewel.beads.views.CheckBoxView; 
CheckBoxView;
+       
         }
 
         import org.apache.royale.jewel.beads.layouts.HorizontalLayout; 
HorizontalLayout;
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/CheckBox.as 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/CheckBox.as
new file mode 100644
index 0000000..ee8dbff
--- /dev/null
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/CheckBox.as
@@ -0,0 +1,230 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.jewel
+{
+    import org.apache.royale.html.CheckBox;
+    import org.apache.royale.core.IToggleButtonModel;
+
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+        import org.apache.royale.events.Event;
+        import org.apache.royale.html.util.addElementToWrapper;
+        import org.apache.royale.core.CSSClassList;
+    }
+
+    /**
+     *  The CheckBox class provides a Jewel UI-like appearance for a CheckBox.
+     *
+     *  A checkbox consists of a small square and, typically, text that 
clearly 
+     *  communicates a binary condition that will be set or unset when the 
user 
+     *  clicks or touches it. 
+     *  Checkboxes typically, but not necessarily, appear in groups, and can be
+     *  selected and deselected individually. The Jewel checkbox component 
allows
+     *  you to add display and click effects.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Royale 0.9.3
+     */
+       public class CheckBox extends org.apache.royale.html.CheckBox
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.3
+         */
+               public function CheckBox()
+               {
+                       super();
+
+            typeNames = "jewel checkbox";
+        }
+
+        COMPILE::JS
+        protected var input:HTMLInputElement;
+
+        COMPILE::JS
+        protected var checkbox:HTMLSpanElement;
+
+        COMPILE::JS
+        protected var label:HTMLLabelElement;
+        
+        /**
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         * @royaleignorecoercion HTMLLabelElement
+         * @royaleignorecoercion HTMLInputElement
+         * @royaleignorecoercion HTMLSpanElement
+         * @royaleignorecoercion Text
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            label = addElementToWrapper(this,'label') as HTMLLabelElement;
+            
+            input = document.createElement('input') as HTMLInputElement;
+            input.type = 'checkbox';    
+            //input.className = 'input';
+            label.appendChild(input);
+            
+            checkbox = document.createElement('span') as HTMLSpanElement;
+            //checkbox.className = 'label';
+            label.appendChild(checkbox);
+            
+            (input as WrappedHTMLElement).royale_wrapper = this;
+            (checkbox as WrappedHTMLElement).royale_wrapper = this;
+            return element;
+        }
+
+        /**
+         *  The text label for the CheckBox.
+         *
+         *  @royaleignorecoercion Text
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.8
+         */
+               override public function get text():String
+               {
+            COMPILE::SWF
+            {
+                       return IToggleButtonModel(model).text;
+            }
+            COMPILE::JS
+            {
+                return textNode ? textNode.nodeValue : "";
+            }
+               }
+
+        /**
+         *  @private
+         */
+        override public function set text(value:String):void
+               {
+            COMPILE::SWF
+            {
+                IToggleButtonModel(model).text = value;
+            }
+
+            COMPILE::JS
+                       {
+                if(!textNode)
+                {
+                    textNode = document.createTextNode('') as Text;
+                    checkbox.appendChild(textNode);
+                }
+                
+                textNode.nodeValue = value;    
+                       }
+               }
+
+        /**
+         *  The value associated with the CheckBox.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9
+         */
+        public function get value():String
+        {
+            COMPILE::SWF
+            {
+                return IToggleButtonModel(model).html;
+            }
+
+            COMPILE::JS
+            {
+                return input.value;
+            }
+        }
+        public function set value(newValue:String):void
+        {
+            COMPILE::SWF
+            {
+                IToggleButtonModel(model).html = newValue;
+            }
+
+            COMPILE::JS
+            {
+                input.value = newValue;
+            }
+        }
+
+        COMPILE::JS
+        protected var textNode:Text;
+
+        [Bindable("change")]
+        /**
+         *  <code>true</code> if the check mark is displayed.
+         *
+         *  @default false
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.8
+         */
+               override public function get selected():Boolean
+               {
+            COMPILE::SWF
+            {
+                       return IToggleButtonModel(model).selected;
+            }
+            COMPILE::JS
+            {
+                return input.checked;
+            }
+               }
+
+        /**
+         *  @private
+         */
+        override public function set selected(value:Boolean):void
+        {
+            COMPILE::SWF
+            {
+                IToggleButtonModel(model).selected = value;
+            }
+
+            COMPILE::JS
+                       {
+                if(input.checked == value)
+                    return;
+                var instance:Object = element['JewelCheckbox'];
+                if(instance)
+                {
+                    if(value)
+                        instance["check"]();
+                    else
+                        instance["uncheck"]();
+                }
+                else
+                    input.checked = value;
+                dispatchEvent(new Event(Event.CHANGE));
+            }
+        }
+    }
+
+}
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/RadioButtonView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/CheckBoxView.as
similarity index 61%
copy from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/RadioButtonView.as
copy to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/CheckBoxView.as
index 984b7b5..6a0424c 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/RadioButtonView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/CheckBoxView.as
@@ -16,7 +16,7 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.jewel.beads
+package org.apache.royale.jewel.beads.views
 {
        import flash.display.Shape;
        import flash.display.SimpleButton;
@@ -28,29 +28,37 @@ package org.apache.royale.jewel.beads
        import org.apache.royale.core.CSSTextField;
        import org.apache.royale.core.IBeadView;
        import org.apache.royale.core.IStrand;
-       import org.apache.royale.core.IValueToggleButtonModel;
+       import org.apache.royale.core.IToggleButtonModel;
        import org.apache.royale.events.Event;
        
-       /**
-        *  The RadioButtonView class creates the visual elements of the 
org.apache.royale.html.RadioButton 
-        *  component. 
-        *  
-        *  @langversion 3.0
-        *  @playerversion Flash 10.2
-        *  @playerversion AIR 2.6
-        *  @productversion Royale 0.0
-        */
-       public class RadioButtonView extends BeadViewBase implements IBeadView
+    /**
+     *  The CheckBoxView class is the default view for
+     *  the org.apache.royale.html.CheckBox class.
+     *  It displays a simple checkbox with an 'x' if checked,
+     *  and a label on the right.  There are no styles or
+     *  properties to configure the look of the 'x' or the
+     *  position of the label relative to the checkbox as
+     *  there are no equivalents in the standard HTML checkbox.
+     * 
+     *  A more complex CheckBox could implement more view
+     *  configuration.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Royale 0.0
+     */
+       public class CheckBoxView extends BeadViewBase implements IBeadView
        {
-               /**
-                *  constructor.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
-                */
-               public function RadioButtonView()
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
+               public function CheckBoxView()
                {
                        sprites = [ upSprite = new Sprite(),
                                        downSprite = new Sprite(),
@@ -81,46 +89,38 @@ package org.apache.royale.jewel.beads
                
                private var sprites:Array;
                
-               private var _toggleButtonModel:IValueToggleButtonModel;
-               
-               /**
-                *  The model used for the RadioButton.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
-                */
-               public function get toggleButtonModel() : 
IValueToggleButtonModel
+               private var _toggleButtonModel:IToggleButtonModel;
+
+        // TODO: Can we remove this?
+               private function get toggleButtonModel() : IToggleButtonModel
                {
                        return _toggleButtonModel;
                }
                
-               /**
-                *  @copy org.apache.royale.core.IBead#strand
-                *  
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
-                */
+        /**
+         *  @copy org.apache.royale.core.IBead#strand
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
                override public function set strand(value:IStrand):void
                {
                        super.strand = value;
-                       _toggleButtonModel = 
value.getBeadByType(IValueToggleButtonModel) as IValueToggleButtonModel;
+            
+                       _toggleButtonModel = 
value.getBeadByType(IToggleButtonModel) as IToggleButtonModel;
                        _toggleButtonModel.addEventListener("textChange", 
textChangeHandler);
                        _toggleButtonModel.addEventListener("htmlChange", 
htmlChangeHandler);
-                       
_toggleButtonModel.addEventListener("selectedValueChange", 
selectedValueChangeHandler);
-                       if (_toggleButtonModel.text != null)
+                       _toggleButtonModel.addEventListener("selectedChange", 
selectedChangeHandler);
+                       if (_toggleButtonModel.text !== null)
                                text = _toggleButtonModel.text;
-                       if (_toggleButtonModel.html != null)
-                               html = _toggleButtonModel.html;
             for each( var s:Sprite in sprites )
             {
                 var tf:CSSTextField = s.getChildByName("textField") as 
CSSTextField;
                 tf.styleParent = value;
             }
-                       
+            
                        layoutControl();
                        
                        var hitArea:Shape = new Shape();
@@ -137,25 +137,25 @@ package org.apache.royale.jewel.beads
                                text = toggleButtonModel.text;
                        if (toggleButtonModel.html !== null)
                                html = toggleButtonModel.html;
-                       
-                       if (toggleButtonModel.selected && 
toggleButtonModel.value == value) {
-                               selected = true;
-                       }
                }
                
-               /**
-                *  The string label for the org.apache.royale.html.RadioButton.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
-                */
+        /**
+         *  @copy org.apache.royale.html.Label#text
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
                public function get text():String
                {
                        var tf:CSSTextField = 
upSprite.getChildByName('textField') as CSSTextField;
                        return tf.text;
                }
+               
+        /**
+         *  @private
+         */
                public function set text(value:String):void
                {
                        for each( var s:Sprite in sprites )
@@ -167,19 +167,23 @@ package org.apache.royale.jewel.beads
                        layoutControl();
                }
                
-               /**
-                *  The HTML string for the org.apache.royale.html.RadioButton.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.0
-                */
+        /**
+         *  @copy org.apache.royale.html.Label#html
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
                public function get html():String
                {
                        var tf:CSSTextField = 
upSprite.getChildByName('textField') as CSSTextField;
                        return tf.htmlText;
                }
+               
+        /**
+         *  @private
+         */
                public function set html(value:String):void
                {
                        for each(var s:Sprite in sprites)
@@ -191,17 +195,11 @@ package org.apache.royale.jewel.beads
                        layoutControl();
                }
                
-               /**
-                * @private
-                */
                private function textChangeHandler(event:Event):void
                {
                        text = toggleButtonModel.text;
                }
                
-               /**
-                * @private
-                */
                private function htmlChangeHandler(event:Event):void
                {
                        html = toggleButtonModel.html;
@@ -209,17 +207,28 @@ package org.apache.royale.jewel.beads
                
                private var _selected:Boolean;
                
-               /**
-                * The selection state of the RadioButton
-                */
+        /**
+         *  @copy org.apache.royale.core.IToggleButtonModel#selected
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
                public function get selected():Boolean
                {
                        return _selected;
                }
+               
+        /**
+         *  @private
+         */
                public function set selected(value:Boolean):void
                {
                        _selected = value;
                        
+                       layoutControl();
+                       
                        if( value ) {
                                SimpleButton(_strand).upState = 
upAndSelectedSprite;
                                SimpleButton(_strand).downState = 
downAndSelectedSprite;
@@ -230,21 +239,21 @@ package org.apache.royale.jewel.beads
                                SimpleButton(_strand).downState = downSprite;
                                SimpleButton(_strand).overState = overSprite;
                        }
-                       
-                       layoutControl();
                }
                
-               /**
-                * @private
-                */
-               private function selectedValueChangeHandler(event:Event):void
+               private function selectedChangeHandler(event:Event):void
                {
-                       selected = _toggleButtonModel.value == 
_toggleButtonModel.selectedValue;
+                       selected = toggleButtonModel.selected;
                }
                
-               /**
-                * @private
-                */
+        /**
+         *  Display the icon and text label
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
                protected function layoutControl() : void
                {
                        for each(var s:Sprite in sprites)
@@ -252,7 +261,7 @@ package org.apache.royale.jewel.beads
                                var icon:Shape = s.getChildByName("icon") as 
Shape;
                                var tf:CSSTextField = 
s.getChildByName("textField") as CSSTextField;
                                
-                               drawRadioButton(icon);
+                               drawCheckBox(icon);
                                
                                var mh:Number = Math.max(icon.height,tf.height);
                                
@@ -265,21 +274,27 @@ package org.apache.royale.jewel.beads
                        
                }
                
-               /**
-                * @private
-                */
-               protected function drawRadioButton(icon:Shape) : void
+        /**
+         *  Draw the checkbox
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
+               protected function drawCheckBox(icon:Shape) : void
                {
                        icon.graphics.clear();
                        icon.graphics.beginFill(0xf8f8f8);
                        icon.graphics.lineStyle(1,0x808080);
-                       icon.graphics.drawEllipse(0,0,10,10);
+                       icon.graphics.drawRect(0,0,10,10);
                        icon.graphics.endFill();
                        
-                       if( selected ) {
-                               icon.graphics.beginFill(0);
-                               icon.graphics.drawEllipse(3,3,4,4);
-                               icon.graphics.endFill();
+                       if( _toggleButtonModel.selected ) {
+                icon.graphics.lineStyle(2,0);
+                               icon.graphics.moveTo(3,4);
+                               icon.graphics.lineTo(5,7);
+                               icon.graphics.lineTo(9,0);
                        }
                }
        }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/RadioButtonView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/RadioButtonView.as
similarity index 99%
rename from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/RadioButtonView.as
rename to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/RadioButtonView.as
index 984b7b5..f5752ee 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/RadioButtonView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/RadioButtonView.as
@@ -16,7 +16,7 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.jewel.beads
+package org.apache.royale.jewel.beads.views
 {
        import flash.display.Shape;
        import flash.display.SimpleButton;
diff --git a/frameworks/projects/Jewel/src/main/sass/_global.sass 
b/frameworks/projects/Jewel/src/main/sass/_global.sass
index 4233a68..9fa8336 100644
--- a/frameworks/projects/Jewel/src/main/sass/_global.sass
+++ b/frameworks/projects/Jewel/src/main/sass/_global.sass
@@ -29,43 +29,6 @@
        > *
                display: block !important
 
-Label
-       iBeadModel: 
ClassReference("org.apache.royale.html.beads.models.TextModel")
-       //iBeadView: 
ClassReference("org.apache.royale.jewel.beads.views.JewelLabelViewBead")
-       //iMeasurementBead: 
ClassReference("org.apache.royale.html.beads.TextFieldLabelMeasurementBead")
-.jewel.label   
-       white-space: nowrap
-
-TextField
-       IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.TextModel")
-       //IBeadView: 
ClassReference("org.apache.royale.html.beads.TextInputWithBorderView")
-       //IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.EditableTextKeyboardController")
-
-Slider
-       IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.RangeModel")
-       IBeadView:  ClassReference("org.apache.royale.jewel.beads.SliderView")
-       IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.HorizontalSliderLayout")
-       IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.HSliderMouseController")
-
-.jewel.slider
-       width: 100px
-       height: 30px
-       position: relative
-
-.SliderTrack
-       position: absolute
 
-.SliderThumb
-       position: absolute
-       border-radius: 15px
 
-@media -royale-swf
-       Slider
-               iThumbView: 
ClassReference("org.apache.royale.jewel.beads.SliderThumbView")
-               iTrackView: 
ClassReference("org.apache.royale.jewel.beads.SliderTrackView")
 
-       RadioButton
-               IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.ValueToggleButtonModel")
-               IBeadView:  
ClassReference("org.apache.royale.jewel.beads.RadioButtonView")
-               //font-size: 11px
-               //font-family: Arial
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_button.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_button.sass
new file mode 100644
index 0000000..019c818
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/sass/components/_button.sass
@@ -0,0 +1,20 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_check.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_check.sass
new file mode 100644
index 0000000..a4b504a
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/sass/components/_check.sass
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+.jewel.check
+
+@media -royale-swf
+       CheckBox
+               IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.ToggleButtonModel")
+               IBeadView:  
ClassReference("org.apache.royale.html.beads.CheckBoxView")
+               //font-size: 11px
+               //font-family: Arial
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_label.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_label.sass
new file mode 100644
index 0000000..628e3ca
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/sass/components/_label.sass
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+.jewel.label   
+       white-space: nowrap
+
+Label
+       iBeadModel: 
ClassReference("org.apache.royale.html.beads.models.TextModel")
+       //iBeadView: 
ClassReference("org.apache.royale.jewel.beads.views.JewelLabelViewBead")
+       //iMeasurementBead: 
ClassReference("org.apache.royale.html.beads.TextFieldLabelMeasurementBead")
+
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_radio.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_radio.sass
new file mode 100644
index 0000000..0c6fb82
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/sass/components/_radio.sass
@@ -0,0 +1,18 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
diff --git a/frameworks/projects/Jewel/src/main/sass/_global.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_slider.sass
similarity index 70%
copy from frameworks/projects/Jewel/src/main/sass/_global.sass
copy to frameworks/projects/Jewel/src/main/sass/components/_slider.sass
index 4233a68..b61e110 100644
--- a/frameworks/projects/Jewel/src/main/sass/_global.sass
+++ b/frameworks/projects/Jewel/src/main/sass/components/_slider.sass
@@ -17,29 +17,10 @@
 //
 
////////////////////////////////////////////////////////////////////////////////
 
-@namespace "library://ns.apache.org/royale/jewel"
-
-.layout.horizontal
-       white-space: nowrap
-       display: block
-       > *
-               display: inline-block !important
-.layout.vertical
-       vertical-align: top
-       > *
-               display: block !important
-
-Label
-       iBeadModel: 
ClassReference("org.apache.royale.html.beads.models.TextModel")
-       //iBeadView: 
ClassReference("org.apache.royale.jewel.beads.views.JewelLabelViewBead")
-       //iMeasurementBead: 
ClassReference("org.apache.royale.html.beads.TextFieldLabelMeasurementBead")
-.jewel.label   
-       white-space: nowrap
-
-TextField
-       IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.TextModel")
-       //IBeadView: 
ClassReference("org.apache.royale.html.beads.TextInputWithBorderView")
-       //IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.EditableTextKeyboardController")
+.jewel.slider
+       width: 100px
+       height: 30px
+       position: relative
 
 Slider
        IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.RangeModel")
@@ -47,11 +28,6 @@ Slider
        IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.HorizontalSliderLayout")
        IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.HSliderMouseController")
 
-.jewel.slider
-       width: 100px
-       height: 30px
-       position: relative
-
 .SliderTrack
        position: absolute
 
@@ -69,3 +45,9 @@ Slider
                IBeadView:  
ClassReference("org.apache.royale.jewel.beads.RadioButtonView")
                //font-size: 11px
                //font-family: Arial
+
+       CheckBox
+               IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.ToggleButtonModel")
+               IBeadView:  
ClassReference("org.apache.royale.html.beads.CheckBoxView")
+               //font-size: 11px
+               //font-family: Arial
diff --git 
a/frameworks/projects/Jewel/src/main/sass/components/_textbutton.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_textbutton.sass
new file mode 100644
index 0000000..019c818
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/sass/components/_textbutton.sass
@@ -0,0 +1,20 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_textfield.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_textfield.sass
new file mode 100644
index 0000000..7742b3f
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/sass/components/_textfield.sass
@@ -0,0 +1,24 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+TextField
+       IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.TextModel")
+       //IBeadView: 
ClassReference("org.apache.royale.html.beads.TextInputWithBorderView")
+       //IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.EditableTextKeyboardController")
+
diff --git a/frameworks/projects/Jewel/src/main/sass/defaults.sass 
b/frameworks/projects/Jewel/src/main/sass/defaults.sass
index 10e81d9..a113a73 100644
--- a/frameworks/projects/Jewel/src/main/sass/defaults.sass
+++ b/frameworks/projects/Jewel/src/main/sass/defaults.sass
@@ -19,3 +19,13 @@
     
 // Global
 @import "global"
+
+// Components
+@import "components/button"
+@import "components/check"
+@import "components/label"
+@import "components/radio"
+@import "components/slider"
+@import "components/textbutton"
+@import "components/textfield"
+

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to