| //////////////////////////////////////////////////////////////////////////////// |
| // |
| // 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 spark.components |
| { |
| |
| import flash.events.Event; |
| import flash.events.MouseEvent; |
| |
| import mx.core.mx_internal; |
| |
| import spark.components.supportClasses.ToggleButtonBase; |
| |
| use namespace mx_internal; |
| |
| //-------------------------------------- |
| // Styles |
| //-------------------------------------- |
| |
| /** |
| * The space between layout elements, in pixels. |
| * |
| * @default 5 |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 11.8 |
| * @playerversion AIR 3.8 |
| * @productversion Flex 4.12 |
| */ |
| [Style(name="gap", type="int", inherit="no")] |
| |
| |
| /** |
| * Orientation of the icon in relation to the label. |
| * Valid MXML values are <code>right</code>, <code>left</code>, |
| * <code>bottom</code>, and <code>top</code>. |
| * |
| * <p>In ActionScript, you can use the following constants |
| * to set this property: |
| * <code>IconPlacement.RIGHT</code>, |
| * <code>IconPlacement.LEFT</code>, |
| * <code>IconPlacement.BOTTOM</code>, and |
| * <code>IconPlacement.TOP</code>.</p> |
| * |
| * @default IconPlacement.LEFT |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 10 |
| * @playerversion AIR 1.5 |
| * @productversion Flex 4 |
| */ |
| [Style(name="iconPlacement", type="String", enumeration="top,bottom,right,left", inherit="no", theme="mobile")] |
| |
| |
| /** |
| * Orientation of the Label in relation to the CheckBox. |
| * Valid MXML values are <code>"left"</code>, <code>"right"</code>, |
| * <code>"top"</code>, and <code>"bottom"</code>. |
| * |
| * <p>In ActionScript, you can use the following constants |
| * to set this property: |
| * <code>LabelPlacement.LEFT</code>, |
| * <code>LabelPlacement.RIGHT</code>, |
| * <code>LabelPlacement.TOP</code>, and |
| * <code>LabelPlacement.BOTTOM</code>.</p> |
| * |
| * @see spark.components.supportClasses.LabelPlacement |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 10 |
| * @playerversion AIR 1.5 |
| * @productversion Flex 4 |
| */ |
| [Style(name="labelPlacement", type="String", enumeration="top,bottom,left,right", inherit="yes")] |
| |
| |
| /** |
| * @copy spark.components.supportClasses.GroupBase#style:symbolColor |
| * |
| * @default 0x000000 |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 10 |
| * @playerversion AIR 1.5 |
| * @productversion Flex 4 |
| */ |
| [Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark, mobile")] |
| |
| //-------------------------------------- |
| // Excluded APIs |
| //-------------------------------------- |
| |
| [Exclude(name="cornerRadius", kind="style")] |
| [Exclude(name="icon", kind="style")] |
| [Exclude(name="textAlign", kind="style")] |
| |
| //-------------------------------------- |
| // Other metadata |
| //-------------------------------------- |
| |
| [AccessibilityClass(implementation="spark.accessibility.CheckBoxAccImpl")] |
| |
| [IconFile("CheckBox.png")] |
| |
| /** |
| * The CheckBox component consists of an optional label and a small box |
| * that can contain a check mark or not. |
| * |
| * <p>When a user clicks a CheckBox component or its associated text, |
| * the CheckBox component sets its <code>selected</code> property |
| * to <code>true</code> for checked, and to <code>false</code> for unchecked.</p> |
| * |
| * <p>To use this component in a list-based component, such as a List or DataGrid, |
| * create an item renderer. |
| * For information about creating an item renderer, see |
| * <a href="http://help.adobe.com/en_US/flex/using/WS4bebcd66a74275c3-fc6548e124e49b51c4-8000.html"> |
| * Custom Spark item renderers</a>. </p> |
| * |
| * <p>The CheckBox control has the following default characteristics:</p> |
| * <table class="innertable"> |
| * <tr> |
| * <th>Characteristic</th> |
| * <th>Description</th> |
| * </tr> |
| * <tr> |
| * <td>Default size</td> |
| * <td>Wide enough to display the text label of the control</td> |
| * </tr> |
| * <tr> |
| * <td>Minimum size</td> |
| * <td>18 pixels wide and 18 pixels high</td> |
| * </tr> |
| * <tr> |
| * <td>Maximum size</td> |
| * <td>10000 pixels wide and 10000 pixels high</td> |
| * </tr> |
| * <tr> |
| * <td>Default skin class</td> |
| * <td>spark.skins.spark.CheckBoxSkin</td> |
| * </tr> |
| * </table> |
| * |
| * @mxml |
| * |
| * <p>The <code><s:CheckBox></code> tag inherits all of the tag |
| * attributes of its superclass and adds the following attributes:</p> |
| * <pre> |
| * <s:CheckBox |
| * <strong>Properties</strong> |
| * symbolColor="0x000000" |
| * /> |
| * </pre> |
| * |
| * @includeExample examples/CheckBoxExample.mxml |
| * @see spark.skins.spark.CheckBoxSkin |
| * @langversion 3.0 |
| * @playerversion Flash 10 |
| * @playerversion AIR 1.5 |
| * @productversion Flex 4 |
| */ |
| public class CheckBox extends ToggleButtonBase |
| { |
| include "../core/Version.as"; |
| |
| //-------------------------------------------------------------------------- |
| // |
| // Class mixins |
| // |
| //-------------------------------------------------------------------------- |
| |
| /** |
| * @private |
| * Placeholder for mixin by CheckBoxAccImpl. |
| */ |
| mx_internal static var createAccessibilityImplementation:Function; |
| |
| //-------------------------------------------------------------------------- |
| // |
| // Constructor |
| // |
| //-------------------------------------------------------------------------- |
| |
| /** |
| * Constructor. |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 10 |
| * @playerversion AIR 1.5 |
| * @productversion Flex 4 |
| */ |
| public function CheckBox() |
| { |
| super(); |
| } |
| |
| |
| //-------------------------------------------------------------------------- |
| // |
| // Properties |
| // |
| //-------------------------------------------------------------------------- |
| |
| //---------------------------------- |
| // gap |
| //---------------------------------- |
| |
| /** |
| * The space between layout elements, in pixels. This is mearly a wrapper for the |
| * <code>gap</code> style. |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 11.8 |
| * @playerversion AIR 3.8 |
| * @productversion Flex 4.12 |
| */ |
| public function get gap():int |
| { |
| return int(getStyle("gap")); |
| } |
| |
| /** |
| * @private |
| */ |
| public function set gap(value:int):void |
| { |
| setStyle("gap", value); |
| } |
| |
| |
| //---------------------------------- |
| // labelPlacement |
| //---------------------------------- |
| |
| /** |
| * Affects the placement of the label in relation to the checkbox. This is mearly a wrapper for the |
| * <code>labelPlacement</code> style. |
| * |
| * @default LabelPlacement.RIGHT |
| * |
| * @langversion 3.0 |
| * @playerversion Flash 11.8 |
| * @playerversion AIR 3.8 |
| * @productversion Flex 4.12 |
| */ |
| public function get labelPlacement():String |
| { |
| return String(getStyle("labelPlacement")); |
| } |
| |
| /** |
| * @private |
| */ |
| public function set labelPlacement(value:String):void |
| { |
| setStyle("labelPlacement", value); |
| } |
| |
| |
| //-------------------------------------------------------------------------- |
| // |
| // Overridden Properties |
| // |
| //-------------------------------------------------------------------------- |
| |
| //---------------------------------- |
| // suggestedFocusSkinExclusions |
| //---------------------------------- |
| /** |
| * @private |
| */ |
| private static const focusExclusions:Array = ["labelDisplay"]; |
| |
| /** |
| * @private |
| */ |
| override public function get suggestedFocusSkinExclusions():Array |
| { |
| return focusExclusions; |
| } |
| |
| |
| //-------------------------------------------------------------------------- |
| // |
| // Overridden methods |
| // |
| //-------------------------------------------------------------------------- |
| |
| /** |
| * @private |
| */ |
| override protected function initializeAccessibility():void |
| { |
| if (CheckBox.createAccessibilityImplementation != null) |
| CheckBox.createAccessibilityImplementation(this); |
| } |
| |
| } |
| |
| } |