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].
