You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ak...@apache.org on 2014/10/16 03:34:33 UTC
[3/5] Added build scripts and font licenses for FlatSpark
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/skins/TextInputSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/skins/TextInputSkin.mxml b/frameworks/projects/flatspark/src/flatspark/skins/TextInputSkin.mxml
new file mode 100644
index 0000000..54f71f0
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/skins/TextInputSkin.mxml
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<!--- The default skin class for Spark TextInput component.
+
+ @see spark.components.TextInput
+
+ @langversion 3.0
+ @playerversion Flash 10
+ @playerversion AIR 1.5
+ @productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ xmlns:fb="http://ns.adobe.com/flashbuilder/2009" height="{TextInputSizeEnum.Normal}"
+ alpha.disabledStates="0.5" blendMode="normal">
+
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.TextInput")]
+ ]]>
+ </fx:Metadata>
+
+ <fx:Style>
+ @namespace s "library://ns.adobe.com/flex/spark";
+ @namespace fb "http://ns.adobe.com/flashbuilder/2009";
+ @namespace spark "spark.skins.spark.*";
+
+ *
+ {
+ /*focusColor: #FFFFFF;
+ focusThickness: 1px;
+ focusAlpha: 1;*/
+ /*focusAlpha: 0;*/
+ errorColor: #E74C3C;
+ }
+ </fx:Style>
+
+ <fx:Script fb:purpose="styling">
+ <![CDATA[
+ import mx.core.FlexVersion;
+
+ import flatspark.enums.ButtonSizeEnum;
+ import flatspark.enums.TextInputSizeEnum;
+ import flatspark.utils.AwesomeUtils;
+ import flatspark.utils.ColorUtils;
+
+ private var paddingChanged:Boolean;
+
+ /* Define the skin elements that should not be colorized. */
+ static private const exclusions:Array = ["background", "background_disabled", "textDisplay", "promptDisplay", "border", "border_disabled"];
+
+ /* exclusions before Flex 4.5 for backwards-compatibility purposes */
+ static private const exclusions_4_0:Array = ["background", "background_disabled", "textDisplay", "promptDisplay"];
+
+ /**
+ * @private
+ */
+ override public function get colorizeExclusions():Array
+ {
+ // Since border is styleable via borderColor, no need to allow chromeColor to affect
+ // the border. This is wrapped in a compatibility flag since this change was added
+ // in Flex 4.5
+ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+ {
+ return exclusions_4_0;
+ }
+
+ return exclusions;
+ }
+
+ /* Define the content fill items that should be colored by the "contentBackgroundColor" style. */
+ static private const contentFill:Array = ["bgFill"];
+
+ /**
+ * @private
+ */
+ override public function get contentItems():Array {return contentFill};
+
+ /**
+ * @private
+ */
+ override protected function commitProperties():void
+ {
+ super.commitProperties();
+
+ if (paddingChanged)
+ {
+ updatePadding();
+ paddingChanged = false;
+ }
+ }
+
+ /**
+ * @private
+ */
+ override protected function initializationComplete():void
+ {
+ useChromeColor = true;
+ super.initializationComplete();
+ }
+
+ /**
+ * @private
+ */
+ override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+ {
+ if (getStyle("borderVisible") == true)
+ {
+ border.visible = true;
+ background.left = background.top = background.right = background.bottom = 2;
+ textDisplay.left = textDisplay.top = textDisplay.bottom = 8;
+ textDisplay.right = 30;
+ if (promptDisplay)
+ {
+ promptDisplay.setLayoutBoundsSize(unscaledWidth - 8, unscaledHeight - 8);
+ promptDisplay.setLayoutBoundsPosition(5, 5);
+ }
+ }
+ else
+ {
+ border.visible = false;
+ background.left = background.top = background.right = background.bottom = 0;
+ textDisplay.left = textDisplay.top = textDisplay.right = textDisplay.bottom = 0;
+ if (promptDisplay)
+ {
+ promptDisplay.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
+ promptDisplay.setLayoutBoundsPosition(0, 0);
+ }
+ }
+
+ /*borderStroke.color = getStyle("borderColor");
+ borderStroke.alpha = getStyle("borderAlpha");*/
+
+ super.updateDisplayList(unscaledWidth, unscaledHeight);
+ }
+
+ /**
+ * @private
+ */
+ private function updatePadding():void
+ {
+ if (!textDisplay)
+ return;
+
+ // Push padding styles into the textDisplay
+ var padding:Number;
+
+ padding = getStyle("paddingLeft");
+ if (textDisplay.getStyle("paddingLeft") != padding)
+ textDisplay.setStyle("paddingLeft", padding);
+
+ padding = getStyle("paddingTop");
+ if (textDisplay.getStyle("paddingTop") != padding)
+ textDisplay.setStyle("paddingTop", padding);
+
+ padding = getStyle("paddingRight");
+ if (textDisplay.getStyle("paddingRight") != padding)
+ textDisplay.setStyle("paddingRight", padding);
+
+ padding = getStyle("paddingBottom");
+ if (textDisplay.getStyle("paddingBottom") != padding)
+ textDisplay.setStyle("paddingBottom", padding);
+
+ if (!promptDisplay)
+ return;
+
+ padding = getStyle("paddingLeft");
+ if (promptDisplay.getStyle("paddingLeft") != padding)
+ promptDisplay.setStyle("paddingLeft", padding);
+
+ padding = getStyle("paddingTop");
+ if (promptDisplay.getStyle("paddingTop") != padding)
+ promptDisplay.setStyle("paddingTop", padding);
+
+ padding = getStyle("paddingRight");
+ if (promptDisplay.getStyle("paddingRight") != padding)
+ promptDisplay.setStyle("paddingRight", padding);
+
+ padding = getStyle("paddingBottom");
+ if (promptDisplay.getStyle("paddingBottom") != padding)
+ promptDisplay.setStyle("paddingBottom", padding);
+ }
+
+ /**
+ * @private
+ */
+ override public function styleChanged(styleProp:String):void
+ {
+ var allStyles:Boolean = !styleProp || styleProp == "styleName";
+
+ super.styleChanged(styleProp);
+
+ if (allStyles || styleProp.indexOf("padding") == 0)
+ {
+ paddingChanged = true;
+ invalidateProperties();
+ }
+ }
+
+ protected function textDisplay_focusInHandler(event:FocusEvent):void
+ {
+ borderStroke.color = ColorUtils.Asbestos;
+ }
+
+ protected function textDisplay_focusOutHandler(event:FocusEvent):void
+ {
+ borderStroke.color = ColorUtils.Silver;
+ }
+
+ private static function getFontSize(height:int):int
+ {
+ var altura:int = 15;
+
+ switch (height)
+ {
+ case TextInputSizeEnum.Large:
+ altura = 17;
+ break;
+ case TextInputSizeEnum.Normal:
+ altura = 15;
+ break;
+ case TextInputSizeEnum.Small:
+ altura = 13;
+ break;
+ }
+
+ return altura;
+ }
+
+ private static function getIconSize(height:int):int
+ {
+ var altura:int = 17;
+
+ switch (height)
+ {
+ case TextInputSizeEnum.Large:
+ altura = 19;
+ break;
+ case TextInputSizeEnum.Normal:
+ altura = 17;
+ break;
+ case TextInputSizeEnum.Small:
+ altura = 15;
+ break;
+ }
+
+ return altura;
+ }
+
+ ]]>
+ </fx:Script>
+
+ <fx:Script>
+ <![CDATA[
+ /**
+ * @private
+ */
+ private static const focusExclusions:Array = ["textDisplay"];
+
+ /**
+ * @private
+ */
+ override public function get focusSkinExclusions():Array { return focusExclusions;};
+ ]]>
+ </fx:Script>
+
+ <s:states>
+ <s:State name="normal"/>
+ <s:State name="disabled" stateGroups="disabledStates"/>
+ <s:State name="normalWithPrompt"/>
+ <s:State name="disabledWithPrompt" stateGroups="disabledStates"/>
+ </s:states>
+
+ <!-- border -->
+ <!--- @private -->
+ <s:Rect left="0" right="0" top="0" bottom="0" id="border" radiusX="6">
+ <s:stroke>
+ <!--- @private -->
+ <s:SolidColorStroke id="borderStroke" weight="2" color="{ColorUtils.Silver}"/>
+ </s:stroke>
+ </s:Rect>
+
+ <!-- fill -->
+ <!--- Defines the appearance of the TextInput component's background. -->
+ <s:Rect id="background" left="2" right="2" top="2" bottom="2" radiusX="6">
+ <s:fill>
+ <!--- @private Defines the background fill color. -->
+ <s:SolidColor id="bgFill" color="0xFFFFFF" />
+ </s:fill>
+ </s:Rect>
+
+ <s:Rect id="background_disabled" left="2" right="2" top="2" bottom="2" radiusX="6" includeIn="disabledStates">
+ <s:fill>
+ <s:SolidColor color="0xf4f6f6"/>
+ </s:fill>
+ </s:Rect>
+
+ <!-- text -->
+ <!--- @copy spark.components.supportClasses.SkinnableTextBase#textDisplay -->
+ <s:RichEditableText id="textDisplay"
+ verticalAlign="middle" focusIn="textDisplay_focusInHandler(event)" focusOut="textDisplay_focusOutHandler(event)"
+ widthInChars="10" fontFamily="Lato" fontWeight="normal" color="{ColorUtils.WetAsphalt}"
+ left="8" right="30" top="8" bottom="8" fontSize="{getFontSize(hostComponent.height)}"/>
+ <!--- Defines the Label that is used for prompt text. The includeInLayout property is false so the prompt text does not affect measurement. -->
+ <s:Label id="promptDisplay" maxDisplayedLines="1" fontSize="{getFontSize(hostComponent.height)}"
+ verticalAlign="middle" fontFamily="Lato" fontWeight="normal" fontStyle="normal" color="{ColorUtils.Silver}"
+ mouseEnabled="false" mouseChildren="false"
+ includeIn="normalWithPrompt,disabledWithPrompt"
+ includeInLayout="false"
+ />
+</s:SparkSkin>
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/skins/TitleWindowCloseButtonSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/skins/TitleWindowCloseButtonSkin.mxml b/frameworks/projects/flatspark/src/flatspark/skins/TitleWindowCloseButtonSkin.mxml
new file mode 100644
index 0000000..cfbfa7c
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/skins/TitleWindowCloseButtonSkin.mxml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+
+
+<!--- The default skin class for the close button of the Spark TitleWindow component.
+
+@see spark.skins.spark.TitleWindowSkin
+@see spark.components.TitleWindow
+
+@langversion 3.0
+@playerversion Flash 10
+@playerversion AIR 1.5
+@productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabled="0.5" initialize="initializeHandler(event)">
+
+ <!-- host component -->
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.Button")]
+ ]]>
+ </fx:Metadata>
+ <fx:Script>
+ <![CDATA[
+ import mx.events.FlexEvent;
+
+ import flatspark.utils.AwesomeUtils;
+ import flatspark.utils.ColorUtils;
+
+ protected function initializeHandler(event:FlexEvent):void
+ {
+ // TODO Auto-generated method stub
+ hostComponent.useHandCursor=true;
+ hostComponent.buttonMode=true;
+ }
+
+ ]]>
+ </fx:Script>
+
+ <!-- <fx:Script fb:purpose="styling">
+ <![CDATA[
+ import flatspark.utils.AwesomeUtils;
+ ]]>
+ /* Define the skin elements that should not be colorized.
+ For closeButton, the graphics are colorized but the x is not. */
+ static private const exclusions:Array = ["xSymbol"];
+
+ /**
+ * @private
+ */
+ override public function get colorizeExclusions():Array {return exclusions;}
+
+ /* Define the symbol fill items that should be colored by the "symbolColor" style. */
+ static private const symbols:Array = ["xFill1", "xFill2"];
+
+ /**
+ * @private
+ */
+ override public function get symbolItems():Array {return symbols};
+ </fx:Script>-->
+
+ <s:states>
+ <s:State name="up" />
+ <s:State name="over"/>
+ <s:State name="down" />
+ <s:State name="disabled" />
+ </s:states>
+
+ <s:Rect left="0" top="0" right="0" bottom="0" radiusX="6" width="26" height="26" includeIn="up">
+ <s:fill>
+ <s:SolidColor alpha="0" />
+ </s:fill>
+ </s:Rect>
+
+ <s:Rect left="0" top="0" right="0" bottom="0" radiusX="6" width="26" height="26" includeIn="over">
+ <s:fill>
+ <s:SolidColor alpha="1" color="{ColorUtils.BelizeHole}" />
+ </s:fill>
+ </s:Rect>
+
+ <s:Rect left="0" top="0" right="0" bottom="0" radiusX="6" width="26" height="26" includeIn="down">
+ <s:fill>
+ <s:SolidColor alpha="1" color="{ColorUtils.BelizeHole}" />
+ </s:fill>
+ </s:Rect>
+
+ <s:Rect left="0" top="0" right="0" bottom="0" radiusX="6" width="26" height="26" includeIn="disabled">
+ <s:fill>
+ <s:SolidColor alpha="1" color="{ColorUtils.Clouds}" />
+ </s:fill>
+ </s:Rect>
+
+ <s:Label fontFamily="FontAwesome" fontSize="18" color="#FFFFFF" text="{AwesomeUtils.fa_times}" includeIn="up, down, over, disabled"
+ itemCreationPolicy="immediate" verticalAlign="middle" horizontalCenter="0" verticalCenter="0" />
+
+
+</s:SparkSkin>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/skins/TitleWindowSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/skins/TitleWindowSkin.mxml b/frameworks/projects/flatspark/src/flatspark/skins/TitleWindowSkin.mxml
new file mode 100644
index 0000000..c4e4a94
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/skins/TitleWindowSkin.mxml
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+
+
+<!--- The default skin class for a Spark TitleWindow container.
+
+ @see spark.skins.spark.TitleWindowCloseButtonSkin
+ @see spark.components.TitleWindow
+
+ @langversion 3.0
+ @playerversion Flash 10
+ @playerversion AIR 1.5
+ @productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ xmlns:fb="http://ns.adobe.com/flashbuilder/2009" blendMode="normal" mouseEnabled="false"
+ minWidth="76" minHeight="76" alpha.disabled="0.5" alpha.disabledWithControlBar="0.5">
+
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.TitleWindow")]
+ ]]>
+ </fx:Metadata>
+
+ <fx:Script fb:purpose="styling">
+ <![CDATA[
+ import mx.core.FlexVersion;
+
+ import flatspark.utils.ColorUtils;
+
+ /* Define the skin elements that should not be colorized.
+ For panel, border and title background are skinned, but the content area, background, border, and title text are not. */
+ static private const exclusions:Array = ["background", "titleDisplay", "contentGroup", "border"];
+
+ /* exclusions before Flex 4.5 for backwards-compatibility purposes */
+ static private const exclusions_4_0:Array = ["background", "titleDisplay", "contentGroup"];
+
+ /**
+ * @private
+ */
+ override public function get colorizeExclusions():Array
+ {
+ // Since border is styleable via borderColor, no need to allow chromeColor to affect
+ // the border. This is wrapped in a compatibility flag since this change was added
+ // in Flex 4.5
+ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+ {
+ return exclusions_4_0;
+ }
+
+ return exclusions;
+ }
+
+ /**
+ * @private
+ */
+ override protected function initializationComplete():void
+ {
+ useChromeColor = true;
+ super.initializationComplete();
+ }
+
+ /**
+ * @private
+ */
+ override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+ {
+ var withControls:Boolean =
+ (currentState == "disabledWithControlBar" ||
+ currentState == "normalWithControlBar" ||
+ currentState == "inactiveWithControlBar");
+
+ setPartCornerRadii(topMaskRect, withControls);
+ setPartCornerRadii(background, withControls);
+ if (bottomMaskRect != null)
+ {
+ setPartCornerRadii(bottomMaskRect, withControls);
+ }
+
+ super.updateDisplayList(unscaledWidth, unscaledHeight);
+ }
+
+ /**
+ * @private
+ */
+ private function setPartCornerRadii(target:Rect, includeBottom:Boolean):void
+ {
+ target.topLeftRadiusX = cornerRadius;
+ target.topRightRadiusX = cornerRadius;
+ target.bottomLeftRadiusX = includeBottom ? cornerRadius : 0;
+ target.bottomRightRadiusX = includeBottom ? cornerRadius : 0;
+ }
+
+ private var cornerRadius:Number=4;
+ ]]>
+ </fx:Script>
+
+ <s:states>
+ <s:State name="normal" />
+ <s:State name="inactive" stateGroups="inactiveGroup" />
+ <s:State name="disabled" />
+ <s:State name="normalWithControlBar" stateGroups="withControls" />
+ <s:State name="inactiveWithControlBar" stateGroups="withControls, inactiveGroup" />
+ <s:State name="disabledWithControlBar" stateGroups="withControls" />
+ </s:states>
+
+ <!--- drop shadow can't be hittable so all other graphics go in this group -->
+ <s:Group left="0" right="0" top="0" bottom="0">
+
+ <!--- top group mask @private-->
+ <s:Group left="1" top="1" right="1" bottom="1" id="topGroupMask">
+ <!--- @private-->
+ <s:Rect id="topMaskRect" left="0" top="0" right="0" bottom="0">
+ <s:fill>
+ <s:SolidColor alpha="0"/>
+ </s:fill>
+ </s:Rect>
+ </s:Group>
+
+ <!--- bottom group mask @private-->
+ <s:Group left="1" top="1" right="1" bottom="1" id="bottomGroupMask"
+ includeIn="withControls">
+ <!--- @private-->
+ <s:Rect id="bottomMaskRect" left="0" top="0" right="0" bottom="0">
+ <s:fill>
+ <s:SolidColor alpha="0"/>
+ </s:fill>
+ </s:Rect>
+ </s:Group>
+
+
+ <!-- layer 2: background fill -->
+ <!--- Defines the appearance of the TitleWindowSkin class's background. -->
+ <s:Rect id="background" left="1" top="1" right="1" bottom="1">
+ <s:fill>
+ <!--- Defines the TitleWindowSkin class's background fill. The default color is 0xFFFFFF. -->
+ <s:SolidColor id="backgroundFill" color="{ColorUtils.Clouds}"/>
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 3: contents -->
+ <!--- Contains the vertical stack of title bar content and control bar. -->
+ <s:Group left="1" right="1" top="1" bottom="1" id="contents">
+ <s:layout>
+ <s:VerticalLayout gap="0" horizontalAlign="justify" />
+ </s:layout>
+ <!--- @private -->
+ <s:Group id="topGroup" mask="{topGroupMask}" height="56">
+
+ <!--- layer 0: title bar fill @private -->
+ <s:Rect id="tbFill" left="0" right="0" top="0" bottom="1">
+ <s:fill>
+ <s:SolidColor color="{ColorUtils.PeterRiver}"/>
+ </s:fill>
+ </s:Rect>
+
+ <!--- layer 1: title bar highlight @private -->
+ <s:Rect id="tbHilite" left="0" right="0" top="0" bottom="0">
+ <s:fill>
+ <s:SolidColor color="{ColorUtils.PeterRiver}"/>
+ </s:fill>
+ </s:Rect>
+
+ <!--- layer 2: title bar divider @private -->
+ <s:Rect id="tbDiv" left="0" right="0" height="1" bottom="0">
+ <s:fill>
+ <s:SolidColor color="{ColorUtils.BelizeHole}"/>
+ </s:fill>
+
+ <s:filters>
+ <s:DropShadowFilter distance="1" angle="90" color="{ColorUtils.Silver}"/>
+ </s:filters>
+ </s:Rect>
+
+ <!-- layer 3: text -->
+ <!--- @copy spark.components.Panel#titleDisplay -->
+ <s:Label id="titleDisplay" maxDisplayedLines="1" fontFamily="Lato" fontSize="21" fontStyle="normal" color="#FFFFFF"
+ left="15" right="36" top="1" bottom="0" minHeight="56" height="56"
+ verticalAlign="middle" fontWeight="bold" />
+
+ <!-- layer 4: moveArea -->
+ <!--- @copy spark.components.TitleWindow#moveArea -->
+ <s:Group id="moveArea" left="0" right="0" top="0" bottom="0" />
+
+ <!--- @copy spark.components.TitleWindow#closeButton -->
+ <s:Button id="closeButton" skinClass="flatspark.skins.TitleWindowCloseButtonSkin"
+ right="15" top="15" />
+ </s:Group>
+
+ <!--
+ Note: setting the minimum size to 0 here so that changes to the host component's
+ size will not be thwarted by this skin part's minimum size. This is a compromise,
+ more about it here: http://bugs.adobe.com/jira/browse/SDK-21143
+ -->
+ <!--- @copy spark.components.SkinnableContainer#contentGroup -->
+ <s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0">
+ </s:Group>
+
+ <!--- @private -->
+ <s:Group id="bottomGroup" minWidth="0" minHeight="0"
+ includeIn="withControls">
+
+ <s:Group left="0" right="0" top="0" bottom="0" mask="{bottomGroupMask}" height="65">
+
+ <!-- layer 0: control bar divider line -->
+ <s:Rect left="0" right="0" top="0" height="1">
+ <s:fill>
+ <s:SolidColor color="{ColorUtils.Silver}" />
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 1: control bar highlight -->
+ <s:Rect left="0" right="0" top="1" bottom="0">
+ <s:fill>
+ <s:SolidColor color="0xFFFFFF" />
+ </s:fill>
+ </s:Rect>
+
+ <!-- layer 2: control bar fill -->
+ <s:Rect left="1" right="1" top="2" bottom="1">
+ <s:fill>
+ <s:SolidColor color="0xFFFFFF" />
+ </s:fill>
+ </s:Rect>
+ </s:Group>
+
+ <!--- @copy spark.components.Panel#controlBarGroup -->
+ <s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1" minWidth="0" minHeight="0">
+ <s:layout>
+ <s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7" paddingBottom="7" gap="10" />
+ </s:layout>
+ </s:Group>
+ </s:Group>
+ </s:Group>
+ </s:Group>
+</s:SparkSkin>
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarSkin.mxml b/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarSkin.mxml
new file mode 100644
index 0000000..ef9f400
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarSkin.mxml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+
+
+<!--- The default skin class for the Spark VScrollBar component. The thumb and track skins are defined by the
+VScrollBarThumbSkin and VScrollBarTrackSkin classes, respectively.
+
+ @see spark.components.VScrollBar
+ @see spark.skins.spark.VScrollBarThumbSkin
+ @see spark.skins.spark.VScrollBarTrackSkin
+
+ @langversion 3.0
+ @playerversion Flash 10
+ @playerversion AIR 1.5
+ @productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ xmlns:fb="http://ns.adobe.com/flashbuilder/2009" minWidth="8" minHeight="35"
+ alpha.disabled="0.5" alpha.inactive="0.5" >
+
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.VScrollBar")]
+ ]]>
+ </fx:Metadata>
+
+ <fx:Script fb:purpose="styling">
+ /* Define the skin elements that should not be colorized.
+ For scroll bar, the skin itself is colorized but the individual parts are not. */
+ static private const exclusions:Array = ["track", "thumb"];
+
+ /**
+ * @private
+ */
+ override public function get colorizeExclusions():Array {return exclusions;}
+
+ /**
+ * @private
+ */
+ override protected function initializationComplete():void
+ {
+ useChromeColor = true;
+ super.initializationComplete();
+ }
+ </fx:Script>
+
+ <s:states>
+ <s:State name="normal" />
+ <s:State name="disabled" />
+ <s:State name="inactive" />
+ </s:states>
+
+ <!--- The default skin class is VScrollBarTrackSkin.
+ @copy spark.components.supportClasses.TrackBase#track
+ @see spark.skins.spark.VScrollBarTrackSkin -->
+ <s:Button id="track" top="0" bottom="0" height="54"
+ focusEnabled="false" tabEnabled="false"
+ skinClass="flatspark.skins.VScrollBarTrackSkin" />
+
+ <!--- The default skin class is VScrollBarThumbSkin.
+ @copy spark.components.supportClasses.TrackBase#thumb
+ @see spark.skins.spark.VScrollBarThumbSkin -->
+ <s:Button id="thumb"
+ focusEnabled="false" visible.inactive="false" tabEnabled="false"
+ skinClass="flatspark.skins.VScrollBarThumbSkin" />
+
+</s:SparkSkin>
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarThumbSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarThumbSkin.mxml b/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarThumbSkin.mxml
new file mode 100644
index 0000000..b732343
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarThumbSkin.mxml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+
+
+<!--- The default skin class for the thumb of a Spark VScrollBar component.
+
+@see spark.components.VScrollBar
+
+@langversion 3.0
+@playerversion Flash 10
+@playerversion AIR 1.5
+@productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ xmlns:fb="http://ns.adobe.com/flashbuilder/2009">
+
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.Button")]
+ ]]>
+ </fx:Metadata>
+
+ <fx:Script fb:purpose="styling">
+ <![CDATA[
+ import flatspark.utils.ColorUtils;
+
+ /**
+ * @private
+ */
+ override protected function initializationComplete():void
+ {
+ useChromeColor = true;
+ super.initializationComplete();
+ }
+ ]]>
+ </fx:Script>
+
+ <s:states>
+ <s:State name="up" />
+ <s:State name="over" />
+ <s:State name="down" />
+ <s:State name="disabled" />
+ </s:states>
+
+ <!-- background -->
+ <s:Rect left="0" top="0" right="0" bottom="0" minWidth="8" minHeight="8" radiusX="2" alpha="0.5">
+ <s:stroke>
+ <s:SolidColorStroke color="{ColorUtils.MidnightBlue}" weight="1"/>
+ </s:stroke>
+ <s:fill>
+ <s:SolidColor color="{ColorUtils.Silver}" />
+ </s:fill>
+ </s:Rect>
+</s:SparkSkin>
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarTrackSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarTrackSkin.mxml b/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarTrackSkin.mxml
new file mode 100644
index 0000000..b7d504d
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/skins/VScrollBarTrackSkin.mxml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+
+
+<!--- The default skin class for the track of a Spark VScrollBar component.
+
+@see spark.components.VScrollBar
+
+@langversion 3.0
+@playerversion Flash 10
+@playerversion AIR 1.5
+@productversion Flex 4
+-->
+<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
+ xmlns:fb="http://ns.adobe.com/flashbuilder/2009">
+
+ <fx:Metadata>
+ <![CDATA[
+ /**
+ * @copy spark.skins.spark.ApplicationSkin#hostComponent
+ */
+ [HostComponent("spark.components.Button")]
+ ]]>
+ </fx:Metadata>
+
+ <fx:Script fb:purpose="styling">
+ <![CDATA[
+ import flatspark.utils.ColorUtils;
+
+ /**
+ * @private
+ */
+ override protected function initializationComplete():void
+ {
+ useChromeColor = true;
+ super.initializationComplete();
+ }
+ ]]>
+ </fx:Script>
+
+ <s:states>
+ <s:State name="up" />
+ <s:State name="down" />
+ <s:State name="over" />
+ <s:State name="disabled" />
+ </s:states>
+
+ <!-- border/fill -->
+ <s:Rect top="0" bottom="0" left="0" right="0" minWidth="8" minHeight="8" radiusX="2">
+ <s:fill>
+ <s:SolidColor color="{ColorUtils.MidnightBlue}" />
+ </s:fill>
+ </s:Rect>
+</s:SparkSkin>
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/utils/AwesomeUtils.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/utils/AwesomeUtils.as b/frameworks/projects/flatspark/src/flatspark/utils/AwesomeUtils.as
new file mode 100644
index 0000000..99571b6
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/utils/AwesomeUtils.as
@@ -0,0 +1,399 @@
+/**
+ 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 flatspark.utils
+{
+ public class AwesomeUtils
+ {
+
+ public function AwesomeUtils()
+ {
+
+ }
+
+ public static const fa_glass:String = "\uf000";
+ public static const fa_music:String = "\uf001";
+ public static const fa_search:String = "\uf002";
+ public static const fa_envelope_o:String = "\uf003";
+ public static const fa_heart:String = "\uf004";
+ public static const fa_star:String = "\uf005";
+ public static const fa_star_o:String = "\uf006";
+ public static const fa_user:String = "\uf007";
+ public static const fa_film:String = "\uf008";
+ public static const fa_th_large:String = "\uf009";
+ public static const fa_th:String = "\uf00a";
+ public static const fa_th_list:String = "\uf00b";
+ public static const fa_check:String = "\uf00c";
+ public static const fa_times:String = "\uf00d";
+ public static const fa_search_plus:String = "\uf00e";
+ public static const fa_search_minus:String = "\uf010";
+ public static const fa_power_off:String = "\uf011";
+ public static const fa_signal:String = "\uf012";
+ public static const fa_cog:String = "\uf013";
+ public static const fa_trash_o:String = "\uf014";
+ public static const fa_home:String = "\uf015";
+ public static const fa_file_o:String = "\uf016";
+ public static const fa_clock_o:String = "\uf017";
+ public static const fa_road:String = "\uf018";
+ public static const fa_download:String = "\uf019";
+ public static const fa_arrow_circle_o_down:String = "\uf01a";
+ public static const fa_arrow_circle_o_up:String = "\uf01b";
+ public static const fa_inbox:String = "\uf01c";
+ public static const fa_play_circle_o:String = "\uf01d";
+ public static const fa_repeat:String = "\uf01e";
+ public static const fa_refresh:String = "\uf021";
+ public static const fa_list_alt:String = "\uf022";
+ public static const fa_lock:String = "\uf023";
+ public static const fa_flag:String = "\uf024";
+ public static const fa_headphones:String = "\uf025";
+ public static const fa_volume_off:String = "\uf026";
+ public static const fa_volume_down:String = "\uf027";
+ public static const fa_volume_up:String = "\uf028";
+ public static const fa_qrcode:String = "\uf029";
+ public static const fa_barcode:String = "\uf02a";
+ public static const fa_tag:String = "\uf02b";
+ public static const fa_tags:String = "\uf02c";
+ public static const fa_book:String = "\uf02d";
+ public static const fa_bookmark:String = "\uf02e";
+ public static const fa_print:String = "\uf02f";
+ public static const fa_camera:String = "\uf030";
+ public static const fa_font:String = "\uf031";
+ public static const fa_bold:String = "\uf032";
+ public static const fa_italic:String = "\uf033";
+ public static const fa_text_height:String = "\uf034";
+ public static const fa_text_width:String = "\uf035";
+ public static const fa_align_left:String = "\uf036";
+ public static const fa_align_center:String = "\uf037";
+ public static const fa_align_right:String = "\uf038";
+ public static const fa_align_justify:String = "\uf039";
+ public static const fa_list:String = "\uf03a";
+ public static const fa_outdent:String = "\uf03b";
+ public static const fa_indent:String = "\uf03c";
+ public static const fa_video_camera:String = "\uf03d";
+ public static const fa_picture_o:String = "\uf03e";
+ public static const fa_pencil:String = "\uf040";
+ public static const fa_map_marker:String = "\uf041";
+ public static const fa_adjust:String = "\uf042";
+ public static const fa_tint:String = "\uf043";
+ public static const fa_pencil_square_o:String = "\uf044";
+ public static const fa_share_square_o:String = "\uf045";
+ public static const fa_check_square_o:String = "\uf046";
+ public static const fa_arrows:String = "\uf047";
+ public static const fa_step_backward:String = "\uf048";
+ public static const fa_fast_backward:String = "\uf049";
+ public static const fa_backward:String = "\uf04a";
+ public static const fa_play:String = "\uf04b";
+ public static const fa_pause:String = "\uf04c";
+ public static const fa_stop:String = "\uf04d";
+ public static const fa_forward:String = "\uf04e";
+ public static const fa_fast_forward:String = "\uf050";
+ public static const fa_step_forward:String = "\uf051";
+ public static const fa_eject:String = "\uf052";
+ public static const fa_chevron_left:String = "\uf053";
+ public static const fa_chevron_right:String = "\uf054";
+ public static const fa_plus_circle:String = "\uf055";
+ public static const fa_minus_circle:String = "\uf056";
+ public static const fa_times_circle:String = "\uf057";
+ public static const fa_check_circle:String = "\uf058";
+ public static const fa_question_circle:String = "\uf059";
+ public static const fa_info_circle:String = "\uf05a";
+ public static const fa_crosshairs:String = "\uf05b";
+ public static const fa_times_circle_o:String = "\uf05c";
+ public static const fa_check_circle_o:String = "\uf05d";
+ public static const fa_ban:String = "\uf05e";
+ public static const fa_arrow_left:String = "\uf060";
+ public static const fa_arrow_right:String = "\uf061";
+ public static const fa_arrow_up:String = "\uf062";
+ public static const fa_arrow_down:String = "\uf063";
+ public static const fa_share:String = "\uf064";
+ public static const fa_expand:String = "\uf065";
+ public static const fa_compress:String = "\uf066";
+ public static const fa_plus:String = "\uf067";
+ public static const fa_minus:String = "\uf068";
+ public static const fa_asterisk:String = "\uf069";
+ public static const fa_exclamation_circle:String = "\uf06a";
+ public static const fa_gift:String = "\uf06b";
+ public static const fa_leaf:String = "\uf06c";
+ public static const fa_fire:String = "\uf06d";
+ public static const fa_eye:String = "\uf06e";
+ public static const fa_eye_slash:String = "\uf070";
+ public static const fa_exclamation_triangle:String = "\uf071";
+ public static const fa_plane:String = "\uf072";
+ public static const fa_calendar:String = "\uf073";
+ public static const fa_random:String = "\uf074";
+ public static const fa_comment:String = "\uf075";
+ public static const fa_magnet:String = "\uf076";
+ public static const fa_chevron_up:String = "\uf077";
+ public static const fa_chevron_down:String = "\uf078";
+ public static const fa_retweet:String = "\uf079";
+ public static const fa_shopping_cart:String = "\uf07a";
+ public static const fa_folder:String = "\uf07b";
+ public static const fa_folder_open:String = "\uf07c";
+ public static const fa_arrows_v:String = "\uf07d";
+ public static const fa_arrows_h:String = "\uf07e";
+ public static const fa_bar_chart_o:String = "\uf080";
+ public static const fa_twitter_square:String = "\uf081";
+ public static const fa_facebook_square:String = "\uf082";
+ public static const fa_camera_retro:String = "\uf083";
+ public static const fa_key:String = "\uf084";
+ public static const fa_cogs:String = "\uf085";
+ public static const fa_comments:String = "\uf086";
+ public static const fa_thumbs_o_up:String = "\uf087";
+ public static const fa_thumbs_o_down:String = "\uf088";
+ public static const fa_star_half:String = "\uf089";
+ public static const fa_heart_o:String = "\uf08a";
+ public static const fa_sign_out:String = "\uf08b";
+ public static const fa_linkedin_square:String = "\uf08c";
+ public static const fa_thumb_tack:String = "\uf08d";
+ public static const fa_external_link:String = "\uf08e";
+ public static const fa_sign_in:String = "\uf090";
+ public static const fa_trophy:String = "\uf091";
+ public static const fa_github_square:String = "\uf092";
+ public static const fa_upload:String = "\uf093";
+ public static const fa_lemon_o:String = "\uf094";
+ public static const fa_phone:String = "\uf095";
+ public static const fa_square_o:String = "\uf096";
+ public static const fa_bookmark_o:String = "\uf097";
+ public static const fa_phone_square:String = "\uf098";
+ public static const fa_twitter:String = "\uf099";
+ public static const fa_facebook:String = "\uf09a";
+ public static const fa_github:String = "\uf09b";
+ public static const fa_unlock:String = "\uf09c";
+ public static const fa_credit_card:String = "\uf09d";
+ public static const fa_rss:String = "\uf09e";
+ public static const fa_hdd_o:String = "\uf0a0";
+ public static const fa_bullhorn:String = "\uf0a1";
+ public static const fa_bell:String = "\uf0f3";
+ public static const fa_certificate:String = "\uf0a3";
+ public static const fa_hand_o_right:String = "\uf0a4";
+ public static const fa_hand_o_left:String = "\uf0a5";
+ public static const fa_hand_o_up:String = "\uf0a6";
+ public static const fa_hand_o_down:String = "\uf0a7";
+ public static const fa_arrow_circle_left:String = "\uf0a8";
+ public static const fa_arrow_circle_right:String = "\uf0a9";
+ public static const fa_arrow_circle_up:String = "\uf0aa";
+ public static const fa_arrow_circle_down:String = "\uf0ab";
+ public static const fa_globe:String = "\uf0ac";
+ public static const fa_wrench:String = "\uf0ad";
+ public static const fa_tasks:String = "\uf0ae";
+ public static const fa_filter:String = "\uf0b0";
+ public static const fa_briefcase:String = "\uf0b1";
+ public static const fa_arrows_alt:String = "\uf0b2";
+ public static const fa_users:String = "\uf0c0";
+ public static const fa_link:String = "\uf0c1";
+ public static const fa_cloud:String = "\uf0c2";
+ public static const fa_flask:String = "\uf0c3";
+ public static const fa_scissors:String = "\uf0c4";
+ public static const fa_files_o:String = "\uf0c5";
+ public static const fa_paperclip:String = "\uf0c6";
+ public static const fa_floppy_o:String = "\uf0c7";
+ public static const fa_square:String = "\uf0c8";
+ public static const fa_bars:String = "\uf0c9";
+ public static const fa_list_ul:String = "\uf0ca";
+ public static const fa_list_ol:String = "\uf0cb";
+ public static const fa_strikethrough:String = "\uf0cc";
+ public static const fa_underline:String = "\uf0cd";
+ public static const fa_table:String = "\uf0ce";
+ public static const fa_magic:String = "\uf0d0";
+ public static const fa_truck:String = "\uf0d1";
+ public static const fa_pinterest:String = "\uf0d2";
+ public static const fa_pinterest_square:String = "\uf0d3";
+ public static const fa_google_plus_square:String = "\uf0d4";
+ public static const fa_google_plus:String = "\uf0d5";
+ public static const fa_money:String = "\uf0d6";
+ public static const fa_caret_down:String = "\uf0d7";
+ public static const fa_caret_up:String = "\uf0d8";
+ public static const fa_caret_left:String = "\uf0d9";
+ public static const fa_caret_right:String = "\uf0da";
+ public static const fa_columns:String = "\uf0db";
+ public static const fa_sort:String = "\uf0dc";
+ public static const fa_sort_asc:String = "\uf0dd";
+ public static const fa_sort_desc:String = "\uf0de";
+ public static const fa_envelope:String = "\uf0e0";
+ public static const fa_linkedin:String = "\uf0e1";
+ public static const fa_undo:String = "\uf0e2";
+ public static const fa_gavel:String = "\uf0e3";
+ public static const fa_tachometer:String = "\uf0e4";
+ public static const fa_comment_o:String = "\uf0e5";
+ public static const fa_comments_o:String = "\uf0e6";
+ public static const fa_bolt:String = "\uf0e7";
+ public static const fa_sitemap:String = "\uf0e8";
+ public static const fa_umbrella:String = "\uf0e9";
+ public static const fa_clipboard:String = "\uf0ea";
+ public static const fa_lightbulb_o:String = "\uf0eb";
+ public static const fa_exchange:String = "\uf0ec";
+ public static const fa_cloud_download:String = "\uf0ed";
+ public static const fa_cloud_upload:String = "\uf0ee";
+ public static const fa_user_md:String = "\uf0f0";
+ public static const fa_stethoscope:String = "\uf0f1";
+ public static const fa_suitcase:String = "\uf0f2";
+ public static const fa_bell_o:String = "\uf0a2";
+ public static const fa_coffee:String = "\uf0f4";
+ public static const fa_cutlery:String = "\uf0f5";
+ public static const fa_file_text_o:String = "\uf0f6";
+ public static const fa_building_o:String = "\uf0f7";
+ public static const fa_hospital_o:String = "\uf0f8";
+ public static const fa_ambulance:String = "\uf0f9";
+ public static const fa_medkit:String = "\uf0fa";
+ public static const fa_fighter_jet:String = "\uf0fb";
+ public static const fa_beer:String = "\uf0fc";
+ public static const fa_h_square:String = "\uf0fd";
+ public static const fa_plus_square:String = "\uf0fe";
+ public static const fa_angle_double_left:String = "\uf100";
+ public static const fa_angle_double_right:String = "\uf101";
+ public static const fa_angle_double_up:String = "\uf102";
+ public static const fa_angle_double_down:String = "\uf103";
+ public static const fa_angle_left:String = "\uf104";
+ public static const fa_angle_right:String = "\uf105";
+ public static const fa_angle_up:String = "\uf106";
+ public static const fa_angle_down:String = "\uf107";
+ public static const fa_desktop:String = "\uf108";
+ public static const fa_laptop:String = "\uf109";
+ public static const fa_tablet:String = "\uf10a";
+ public static const fa_mobile:String = "\uf10b";
+ public static const fa_circle_o:String = "\uf10c";
+ public static const fa_quote_left:String = "\uf10d";
+ public static const fa_quote_right:String = "\uf10e";
+ public static const fa_spinner:String = "\uf110";
+ public static const fa_circle:String = "\uf111";
+ public static const fa_reply:String = "\uf112";
+ public static const fa_github_alt:String = "\uf113";
+ public static const fa_folder_o:String = "\uf114";
+ public static const fa_folder_open_o:String = "\uf115";
+ public static const fa_smile_o:String = "\uf118";
+ public static const fa_frown_o:String = "\uf119";
+ public static const fa_meh_o:String = "\uf11a";
+ public static const fa_gamepad:String = "\uf11b";
+ public static const fa_keyboard_o:String = "\uf11c";
+ public static const fa_flag_o:String = "\uf11d";
+ public static const fa_flag_checkered:String = "\uf11e";
+ public static const fa_terminal:String = "\uf120";
+ public static const fa_code:String = "\uf121";
+ public static const fa_reply_all:String = "\uf122";
+ public static const fa_mail_reply_all:String = "\uf122";
+ public static const fa_star_half_o:String = "\uf123";
+ public static const fa_location_arrow:String = "\uf124";
+ public static const fa_crop:String = "\uf125";
+ public static const fa_code_fork:String = "\uf126";
+ public static const fa_chain_broken:String = "\uf127";
+ public static const fa_question:String = "\uf128";
+ public static const fa_info:String = "\uf129";
+ public static const fa_exclamation:String = "\uf12a";
+ public static const fa_superscript:String = "\uf12b";
+ public static const fa_subscript:String = "\uf12c";
+ public static const fa_eraser:String = "\uf12d";
+ public static const fa_puzzle_piece:String = "\uf12e";
+ public static const fa_microphone:String = "\uf130";
+ public static const fa_microphone_slash:String = "\uf131";
+ public static const fa_shield:String = "\uf132";
+ public static const fa_calendar_o:String = "\uf133";
+ public static const fa_fire_extinguisher:String = "\uf134";
+ public static const fa_rocket:String = "\uf135";
+ public static const fa_maxcdn:String = "\uf136";
+ public static const fa_chevron_circle_left:String = "\uf137";
+ public static const fa_chevron_circle_right:String = "\uf138";
+ public static const fa_chevron_circle_up:String = "\uf139";
+ public static const fa_chevron_circle_down:String = "\uf13a";
+ public static const fa_html5:String = "\uf13b";
+ public static const fa_css3:String = "\uf13c";
+ public static const fa_anchor:String = "\uf13d";
+ public static const fa_unlock_alt:String = "\uf13e";
+ public static const fa_bullseye:String = "\uf140";
+ public static const fa_ellipsis_h:String = "\uf141";
+ public static const fa_ellipsis_v:String = "\uf142";
+ public static const fa_rss_square:String = "\uf143";
+ public static const fa_play_circle:String = "\uf144";
+ public static const fa_ticket:String = "\uf145";
+ public static const fa_minus_square:String = "\uf146";
+ public static const fa_minus_square_o:String = "\uf147";
+ public static const fa_level_up:String = "\uf148";
+ public static const fa_level_down:String = "\uf149";
+ public static const fa_check_square:String = "\uf14a";
+ public static const fa_pencil_square:String = "\uf14b";
+ public static const fa_external_link_square:String = "\uf14c";
+ public static const fa_share_square:String = "\uf14d";
+ public static const fa_compass:String = "\uf14e";
+ public static const fa_caret_square_o_down:String = "\uf150";
+ public static const fa_caret_square_o_up:String = "\uf151";
+ public static const fa_caret_square_o_right:String = "\uf152";
+ public static const fa_eur:String = "\uf153";
+ public static const fa_gbp:String = "\uf154";
+ public static const fa_usd:String = "\uf155";
+ public static const fa_inr:String = "\uf156";
+ public static const fa_jpy:String = "\uf157";
+ public static const fa_rub:String = "\uf158";
+ public static const fa_krw:String = "\uf159";
+ public static const fa_btc:String = "\uf15a";
+ public static const fa_file:String = "\uf15b";
+ public static const fa_file_text:String = "\uf15c";
+ public static const fa_sort_alpha_asc:String = "\uf15d";
+ public static const fa_sort_alpha_desc:String = "\uf15e";
+ public static const fa_sort_amount_asc:String = "\uf160";
+ public static const fa_sort_amount_desc:String = "\uf161";
+ public static const fa_sort_numeric_asc:String = "\uf162";
+ public static const fa_sort_numeric_desc:String = "\uf163";
+ public static const fa_thumbs_up:String = "\uf164";
+ public static const fa_thumbs_down:String = "\uf165";
+ public static const fa_youtube_square:String = "\uf166";
+ public static const fa_youtube:String = "\uf167";
+ public static const fa_xing:String = "\uf168";
+ public static const fa_xing_square:String = "\uf169";
+ public static const fa_youtube_play:String = "\uf16a";
+ public static const fa_dropbox:String = "\uf16b";
+ public static const fa_stack_overflow:String = "\uf16c";
+ public static const fa_instagram:String = "\uf16d";
+ public static const fa_flickr:String = "\uf16e";
+ public static const fa_adn:String = "\uf170";
+ public static const fa_bitbucket:String = "\uf171";
+ public static const fa_bitbucket_square:String = "\uf172";
+ public static const fa_tumblr:String = "\uf173";
+ public static const fa_tumblr_square:String = "\uf174";
+ public static const fa_long_arrow_down:String = "\uf175";
+ public static const fa_long_arrow_up:String = "\uf176";
+ public static const fa_long_arrow_left:String = "\uf177";
+ public static const fa_long_arrow_right:String = "\uf178";
+ public static const fa_apple:String = "\uf179";
+ public static const fa_windows:String = "\uf17a";
+ public static const fa_android:String = "\uf17b";
+ public static const fa_linux:String = "\uf17c";
+ public static const fa_dribbble:String = "\uf17d";
+ public static const fa_skype:String = "\uf17e";
+ public static const fa_foursquare:String = "\uf180";
+ public static const fa_trello:String = "\uf181";
+ public static const fa_female:String = "\uf182";
+ public static const fa_male:String = "\uf183";
+ public static const fa_gittip:String = "\uf184";
+ public static const fa_sun_o:String = "\uf185";
+ public static const fa_moon_o:String = "\uf186";
+ public static const fa_archive:String = "\uf187";
+ public static const fa_bug:String = "\uf188";
+ public static const fa_vk:String = "\uf189";
+ public static const fa_weibo:String = "\uf18a";
+ public static const fa_renren:String = "\uf18b";
+ public static const fa_pagelines:String = "\uf18c";
+ public static const fa_stack_exchange:String = "\uf18d";
+ public static const fa_arrow_circle_o_right:String = "\uf18e";
+ public static const fa_arrow_circle_o_left:String = "\uf190";
+ public static const fa_caret_square_o_left:String = "\uf191";
+ public static const fa_dot_circle_o:String = "\uf192";
+ public static const fa_wheelchair:String = "\uf193";
+ public static const fa_vimeo_square:String = "\uf194";
+ public static const fa_try:String = "\uf195";
+ public static const fa_plus_square_o:String = "\uf196";
+
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/utils/ColorUtils.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/utils/ColorUtils.as b/frameworks/projects/flatspark/src/flatspark/utils/ColorUtils.as
new file mode 100644
index 0000000..09f9cb2
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/utils/ColorUtils.as
@@ -0,0 +1,90 @@
+/**
+ 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 flatspark.utils
+{
+ import mx.states.State;
+
+ import flatspark.enums.BrandColorEnum;
+ import flatspark.enums.ButtonColorEnum;
+
+ public class ColorUtils
+ {
+ public static const Turquoise:uint = 0x1ABC9C;
+ public static const GreenSea:uint = 0x16A085;
+ public static const Emerald:uint = 0x2ECC71;
+ public static const Nephritis:uint = 0x27AE60;
+ public static const PeterRiver:uint = 0x3498DB;
+ public static const BelizeHole:uint = 0x2980B9;
+ public static const Amethyst:uint = 0x9B59B6;
+ public static const Wisteria:uint = 0x8E44AD;
+ public static const WetAsphalt:uint = 0x34495E;
+ public static const MidnightBlue:uint = 0x2C3E50;
+ public static const SunFlower:uint = 0xF1C40F;
+ public static const Orange:uint = 0xF39C12;
+ public static const Carrot:uint = 0xE67E22;
+ public static const Pumpkin:uint = 0xD35400;
+ public static const Alizarin:uint = 0xE74C3C;
+ public static const Pomegranate:uint = 0xC0392B;
+ public static const Clouds:uint = 0xECF0F1;
+ public static const Silver:uint = 0xBDC3C7;
+ public static const Concrete:uint = 0x95A5A6;
+ public static const Asbestos:uint = 0x7F8C8D;
+
+ public function ColorUtils()
+ {
+
+ }
+
+ public static function ButtonColor(brand:int, estado:State):uint
+ {
+ // All the possible colors
+ var cores:Array = new Array(
+ ButtonColorEnum.PrimaryUp, ButtonColorEnum.PrimaryHover, ButtonColorEnum.PrimaryDown, ButtonColorEnum.PrimaryDisabled,
+ ButtonColorEnum.SuccessUp, ButtonColorEnum.SuccessHover, ButtonColorEnum.SuccessDown, ButtonColorEnum.SuccessDisabled,
+ ButtonColorEnum.WarningUp, ButtonColorEnum.WarningHover, ButtonColorEnum.WarningDown, ButtonColorEnum.WarningDisabled,
+ ButtonColorEnum.InverseUp, ButtonColorEnum.InverseHover, ButtonColorEnum.InverseDown, ButtonColorEnum.InverseDisabled,
+ ButtonColorEnum.DefaultUp, ButtonColorEnum.DefaultHover, ButtonColorEnum.DefaultDown, ButtonColorEnum.DefaultDisabled,
+ ButtonColorEnum.InfoUp, ButtonColorEnum.InfoHover, ButtonColorEnum.InfoDown, ButtonColorEnum.InfoDisabled,
+ ButtonColorEnum.DangerUp, ButtonColorEnum.DangerHover, ButtonColorEnum.DangerDown, ButtonColorEnum.DangerDisabled
+ );
+
+ // Map all the allowed states
+ var numeroEstado:int = 1;
+ switch (estado.name)
+ {
+ case "up":
+ numeroEstado = 1;
+ break;
+ case "over":
+ numeroEstado = 2;
+ break;
+ case "down":
+ numeroEstado = 3;
+ break;
+ case "disabled":
+ numeroEstado = 3;
+ break;
+ }
+
+ var posicao:int = 1;
+ posicao = 4 * (brand - 1) + (numeroEstado - 1);
+
+ return cores[posicao];
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/flatspark/utils/ConfigSkin.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/flatspark/utils/ConfigSkin.as b/frameworks/projects/flatspark/src/flatspark/utils/ConfigSkin.as
new file mode 100644
index 0000000..5889da1
--- /dev/null
+++ b/frameworks/projects/flatspark/src/flatspark/utils/ConfigSkin.as
@@ -0,0 +1,44 @@
+/**
+ 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 flatspark.utils
+{
+
+ import flatspark.enums.ColorSwatchEnum;
+ import flatspark.enums.SizeEnum;
+
+ public final class ConfigSkin
+ {
+
+ /*
+ * Default size
+ */
+ public static var sizeEnum:SizeEnum=new SizeEnum();
+
+ /*
+ * Default color
+ */
+ public static var colorSwatch:ColorSwatchEnum=new ColorSwatchEnum();
+
+
+ public function ConfigSkin()
+ {
+
+ }
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/itemRenderers/DefaultItemRenderer.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/itemRenderers/DefaultItemRenderer.mxml b/frameworks/projects/flatspark/src/itemRenderers/DefaultItemRenderer.mxml
deleted file mode 100644
index ddada4e..0000000
--- a/frameworks/projects/flatspark/src/itemRenderers/DefaultItemRenderer.mxml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-
-<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- autoDrawBackground="false" height="32">
- <s:states>
- <s:State name="normal" />
- <s:State name="hovered" />
- <s:State name="selected" />
- </s:states>
- <fx:Script>
- <![CDATA[
-
- import flatSpark.utils.ColorUtils;
-
- ]]>
- </fx:Script>
-
- <s:Rect id="bgFill"
- radiusX="4"
- includeIn="hovered,selected"
- left="0" right="0" top="0" bottom="0">
- <s:fill>
- <s:SolidColor color="{ColorUtils.MidnightBlue}"
- color.selected="{ColorUtils.Turquoise}"/>
- </s:fill>
- </s:Rect>
-
- <s:Label id="labelDisplay" paddingRight="4" paddingTop="1" paddingBottom="1" paddingLeft="4"
- verticalAlign="middle" height="100%" fontFamily="Lato" fontSize="15" fontWeight="normal"
- fontStyle="normal" color="{ColorUtils.Clouds}" color.hovered="{ColorUtils.Silver}"/>
-
-</s:ItemRenderer>
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/skins/AlertSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/skins/AlertSkin.mxml b/frameworks/projects/flatspark/src/skins/AlertSkin.mxml
deleted file mode 100644
index b42abdf..0000000
--- a/frameworks/projects/flatspark/src/skins/AlertSkin.mxml
+++ /dev/null
@@ -1,230 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:fb="http://ns.adobe.com/flashbuilder/2009" blendMode="normal" mouseEnabled="false"
- minWidth="131" minHeight="30" alpha.disabled="0.5" alpha.disabledWithControlBar="0.5">
- <fx:Metadata>
- <![CDATA[
- [HostComponent("spark.components.Alert")]
- ]]>
- </fx:Metadata>
-
- <fx:Script fb:purpose="styling">
- <![CDATA[
- import flatSpark.utils.ColorUtils;
-
- /* Define the skin elements that should not be colorized.
- For panel, border and title background are skinned, but the content area and title text are not. */
- static private const exclusions:Array = ["background", "titleDisplay", "contentGroup", "controlBarGroup"];
-
- /**
- * @private
- */
- override public function get colorizeExclusions():Array {return exclusions;}
-
- /**
- * @private
- */
- override protected function initializationComplete():void
- {
- useChromeColor = true;
- super.initializationComplete();
- }
-
- /**
- * @private
- */
- override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
- {
- setPartCornerRadii(topMaskRect);
- setPartCornerRadii(background);
-
- if (bottomMaskRect) setPartCornerRadii(bottomMaskRect);
-
- super.updateDisplayList(unscaledWidth, unscaledHeight);
- }
-
- /**
- * @private
- */
- private function setPartCornerRadii(target:Rect):void
- {
- target.topLeftRadiusX = cornerRadius;
- target.topRightRadiusX = cornerRadius;
- target.bottomLeftRadiusX = cornerRadius;
- target.bottomRightRadiusX = cornerRadius;
- }
-
- private var cornerRadius:Number=4;
-
- ]]>
- </fx:Script>
-
- <fx:Declarations>
- <s:Group id="contentGroup" />
- </fx:Declarations>
-
- <s:states>
- <s:State name="normal" />
- <s:State name="disabled" />
- <s:State name="normalWithControlBar" stateGroups="withControls" />
- <s:State name="disabledWithControlBar" stateGroups="withControls" />
- </s:states>
-
- <!-- drop shadow can't be hittable so all other graphics go in this group -->
- <s:Group left="0" right="0" top="0" bottom="0">
-
- <!-- top group mask -->
- <!--- @private -->
- <s:Group left="0" top="0" right="0" bottom="0" id="topGroupMask" >
- <!--- @private -->
- <s:Rect id="topMaskRect" left="0" top="0" right="0" bottom="0">
- <s:fill>
- <s:SolidColor alpha="0"/>
- </s:fill>
- </s:Rect>
- </s:Group>
-
- <!-- bottom group mask -->
- <!--- @private -->
- <s:Group left="0" top="0" right="0" bottom="0" id="bottomGroupMask"
- includeIn="normalWithControlBar, disabledWithControlBar">
- <!--- @private -->
- <s:Rect id="bottomMaskRect" left="0" top="0" right="0" bottom="0">
- <s:fill>
- <s:SolidColor alpha="0"/>
- </s:fill>
- </s:Rect>
- </s:Group>
-
- <!-- layer 2: background fill -->
- <!--- Defines the appearance of the PanelSkin class's background. -->
- <s:Rect id="background" left="0" top="0" right="0" bottom="0">
- <s:fill>
- <s:SolidColor id="backgroundFill" color="#FFFFFF"/>
- </s:fill>
- </s:Rect>
-
- <!-- layer 3: contents -->
- <!--- Contains the vertical stack of titlebar content and controlbar. -->
- <s:Group left="0" top="0" right="0" bottom="0" id="contents">
- <s:layout>
- <s:VerticalLayout gap="0" horizontalAlign="justify" />
- </s:layout>
-
- <!--- @private -->
- <s:Group id="topGroup" mask="{topGroupMask}">
-
- <!-- layer 0: title bar fill -->
- <!--- @private -->
- <s:Rect id="tbFill" left="0" right="0" top="0" bottom="1">
- <s:fill>
- <s:SolidColor color="{ColorUtils.Concrete}"/>
- </s:fill>
- </s:Rect>
-
- <!-- layer 1: title bar highlight -->
- <!--- @private -->
- <s:Rect id="tbHilite" left="0" right="0" top="0" bottom="1">
- <s:fill>
- <s:SolidColor color="{ColorUtils.Concrete}"/>
- </s:fill>
- </s:Rect>
-
- <!-- layer 2: title bar divider -->
- <!--- @private -->
- <s:Rect id="tbDiv" left="0" right="0" height="1" bottom="0">
- <s:fill>
- <s:SolidColor color="{ColorUtils.Asbestos}"/>
- </s:fill>
- </s:Rect>
-
- <!-- layer 3: text -->
- <!--- @copy spark.components.Panel#titleDisplay -->
- <s:Label id="titleDisplay" maxDisplayedLines="1" fontFamily="Lato" fontSize="15" fontStyle="normal" color="#FFFFFF"
- left="15" right="5" top="2" bottom="0" minHeight="36" height="36"
- verticalAlign="middle" fontWeight="bold" />
- </s:Group>
-
- <!--
- Note: setting the minimum size to 0 here so that changes to the host component's
- size will not be thwarted by this skin part's minimum size. This is a compromise,
- more about it here: http://bugs.adobe.com/jira/browse/SDK-21143
- -->
- <!--- @copy spark.components.SkinnableContainer#contentGroup -->
- <!--<s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0">
- </s:Group>-->
- <s:HGroup width="100%" height="100%" verticalAlign="middle" horizontalAlign="center" paddingBottom="20" paddingLeft="20" paddingRight="20" paddingTop="20">
- <s:Group id="iconGroup" height="100%">
-
- </s:Group>
- <s:VGroup width="100%" height="100%" paddingLeft="5" paddingRight="5" paddingBottom="5" gap="20"
- verticalAlign="middle" horizontalAlign="center">
- <s:RichText id="messageDisplay" fontFamily="Lato" fontSize="14" fontStyle="normal" color="0x000000" lineHeight="160%"
- left="9" right="3" top="1" bottom="0" minHeight="30" maxWidth="400"
- verticalAlign="middle"/>
-
- <!--
- To-do: Need to adjust the styles for buttons
- -->
- <s:HGroup id="buttonGroup" width="100%" minWidth="0" minHeight="0" gap="8"
- horizontalAlign="center"/>
- </s:VGroup>
- </s:HGroup>
-
-
- <!--- @private -->
- <s:Group id="bottomGroup" minWidth="0" minHeight="0"
- includeIn="normalWithControlBar, disabledWithControlBar" >
-
- <s:Group left="0" right="0" top="0" bottom="0" mask="{bottomGroupMask}">
-
- <!-- layer 0: control bar divider line -->
- <s:Rect left="0" right="0" top="0" height="1" alpha="0.22">
- <s:fill>
- <s:SolidColor color="#FFFFFF"/>
- </s:fill>
- </s:Rect>
-
- <!-- layer 1: control bar highlight -->
- <s:Rect left="0" right="0" top="1" bottom="0">
- <s:fill>
- <s:SolidColor color="#FFFFFF"/>
- </s:fill>
- </s:Rect>
-
- <!-- layer 2: control bar fill -->
- <s:Rect left="1" right="1" top="2" bottom="1">
- <s:fill>
- <s:SolidColor color="#FFFFFF"/>
- </s:fill>
- </s:Rect>
- </s:Group>
- <!-- layer 3: control bar -->
- <!--- @copy spark.components.Panel#controlBarGroup -->
- <s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1" minWidth="0" minHeight="0">
- <s:layout>
- <s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7" paddingBottom="7" gap="10" />
- </s:layout>
- </s:Group>
- </s:Group>
- </s:Group>
- </s:Group>
-</s:SparkSkin>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/skins/ButtonIconSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/skins/ButtonIconSkin.mxml b/frameworks/projects/flatspark/src/skins/ButtonIconSkin.mxml
deleted file mode 100644
index f009956..0000000
--- a/frameworks/projects/flatspark/src/skins/ButtonIconSkin.mxml
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-
-
-<!--- The default skin class for the Spark Button component.
-
-@see spark.components.Button
-
-@langversion 3.0
-@playerversion Flash 10
-@playerversion AIR 1.5
-@productversion Flex 4
--->
-<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
- minWidth="21" minHeight="21" height="{ButtonSizeEnum.Normal}"
- alpha.disabled="0.5">
- <fx:Metadata>[HostComponent("flatSpark.components.ButtonIcon")]</fx:Metadata>
-
- <fx:Script fb:purpose="styling">
- <![CDATA[
- import flatSpark.enums.ButtonColorEnum;
- import flatSpark.enums.ButtonSizeEnum;
- import flatSpark.enums.TextInputSizeEnum;
- import flatSpark.utils.ColorUtils;
-
- /* Define the skin elements that should not be colorized.
- For button, the graphics are colorized but the label is not. */
- static private const exclusions:Array = ["iconDisplay", "labelDisplay"];
-
- /**
- * @private
- */
- override public function get colorizeExclusions():Array {return exclusions;}
-
- /**
- * @private
- */
- override protected function initializationComplete():void
- {
- useChromeColor = true;
- hostComponent.useHandCursor=true;
- hostComponent.buttonMode=true;
- super.initializationComplete();
- }
-
- /**
- * @private
- */
- override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number) : void
- {
- var cr:Number = getStyle("cornerRadius");
-
- if (cornerRadius != cr)
- {
- cornerRadius = cr;
- fill_up.radiusX = cornerRadius;
- fill_over.radiusX = cornerRadius;
- fill_down.radiusX = cornerRadius;
- fill_disabled.radiusX = cornerRadius;
- }
-
- /*var larguraIcone:int = 0;
- if (iconFont.text != null && iconFont.text != "")
- {
- larguraIcone = 60;
- }*/
- super.updateDisplayList(unscaledWidth, unscaledHeight);
- }
-
- private var cornerRadius:Number = 2;
-
- private static function getFontSize(height:int):int
- {
- var altura:int = 15;
-
- switch (height)
- {
- case ButtonSizeEnum.Large:
- altura = 17;
- break;
- case ButtonSizeEnum.Normal:
- altura = 14;
- break;
- case ButtonSizeEnum.Small:
- altura = 13;
- break;
- case ButtonSizeEnum.ExtraSmall:
- altura = 12;
- break;
- }
-
- return altura;
- }
-
- private static function getIconSize(height:int):int
- {
- var altura:int = 17;
-
- switch (height)
- {
- case ButtonSizeEnum.Large:
- altura = 19;
- break;
- case ButtonSizeEnum.Normal:
- altura = 17;
- break;
- case ButtonSizeEnum.Small:
- altura = 15;
- break;
- case ButtonSizeEnum.ExtraSmall:
- altura = 12;
- break;
- }
-
- return altura;
- }
-
- ]]>
- </fx:Script>
-
- <!-- states -->
- <s:states>
- <s:State name="up" id="stateUp"/>
- <s:State name="over" id="stateOver"/>
- <s:State name="down" id="stateDown"/>
- <s:State name="disabled" id="stateDisabled"/>
- </s:states>
-
-
- <!-- layer 2: fill -->
- <!--- @private -->
- <s:Rect id="fill_up" left="1" right="1" top="1" bottom="1" radiusX="6" includeIn="up">
- <s:fill>
- <s:SolidColor color="{ColorUtils.ButtonColor(hostComponent.brand,stateUp)}"/>
- </s:fill>
- </s:Rect>
-
- <s:Rect id="fill_over" left="1" right="1" top="1" bottom="1" radiusX="6" includeIn="over">
- <s:fill>
- <s:SolidColor color="{ColorUtils.ButtonColor(hostComponent.brand,stateOver)}"/>
- </s:fill>
- </s:Rect>
-
- <s:Rect id="fill_down" left="1" right="1" top="1" bottom="1" radiusX="6" includeIn="down">
- <s:fill>
- <s:SolidColor color="{ColorUtils.ButtonColor(hostComponent.brand,stateDown)}"/>
- </s:fill>
- </s:Rect>
-
- <s:Rect id="fill_disabled" left="1" right="1" top="1" bottom="1" radiusX="6" includeIn="disabled">
- <s:fill>
- <s:SolidColor color="{ColorUtils.ButtonColor(hostComponent.brand,stateDisabled)}"/>
- </s:fill>
- </s:Rect>
-
-
- <!-- layer 8: text -->
- <!--- @copy spark.components.supportClasses.ButtonBase#labelDisplay -->
- <s:HGroup verticalAlign="middle" verticalCenter="0" horizontalAlign="center" horizontalCenter="0" left="10" right="10" top="2" bottom="2">
- <s:Label id="iconFont" color="0xFFFFFF" color.disabled="0xE3E3E3" text="{hostComponent.iconFont}"
- textAlign="left" fontSize="{getIconSize(hostComponent.height)}" fontFamily="FontAwesome"
- maxDisplayedLines="1" includeInLayout="{hostComponent.iconFont != null}"
- horizontalCenter="0" verticalCenter="0" verticalAlign="middle">
- </s:Label>
-
- <s:Label id="labelDisplay" color="0xFFFFFF" color.disabled="0xE3E3E3"
- textAlign="center" fontSize="{getFontSize(hostComponent.height)}" fontFamily="Lato"
- maxDisplayedLines="1"
- horizontalCenter="0" verticalCenter="1" verticalAlign="middle">
- </s:Label>
- </s:HGroup>
-</s:SparkSkin>
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2fc9a8d5/frameworks/projects/flatspark/src/skins/ButtonSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flatspark/src/skins/ButtonSkin.mxml b/frameworks/projects/flatspark/src/skins/ButtonSkin.mxml
deleted file mode 100644
index aa0f9c5..0000000
--- a/frameworks/projects/flatspark/src/skins/ButtonSkin.mxml
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-
-
-<!--- The default skin class for the Spark Button component.
-
-@see spark.components.Button
-
-@langversion 3.0
-@playerversion Flash 10
-@playerversion AIR 1.5
-@productversion Flex 4
--->
-<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
- minWidth="21" minHeight="21" height="{ButtonSizeEnum.Normal}"
- alpha.disabled="0.5">
- <fx:Metadata>[HostComponent("spark.components.Button")]</fx:Metadata>
-
- <fx:Script fb:purpose="styling">
- <![CDATA[
- import flatSpark.enums.BrandColorEnum;
- import flatSpark.enums.ButtonColorEnum;
- import flatSpark.enums.ButtonSizeEnum;
- import flatSpark.enums.TextInputSizeEnum;
- import flatSpark.utils.ColorUtils;
-
- /* Define the skin elements that should not be colorized.
- For button, the graphics are colorized but the label is not. */
- static private const exclusions:Array = ["iconDisplay", "labelDisplay"];
-
- /**
- * @private
- */
- override public function get colorizeExclusions():Array {return exclusions;}
-
- /**
- * @private
- */
- override protected function initializationComplete():void
- {
- useChromeColor = true;
- hostComponent.useHandCursor=true;
- hostComponent.buttonMode=true;
- super.initializationComplete();
- }
-
- /**
- * @private
- */
- override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number) : void
- {
- var cr:Number = getStyle("cornerRadius");
-
- if (cornerRadius != cr)
- {
- cornerRadius = cr;
- fill_up.radiusX = cornerRadius;
- fill_over.radiusX = cornerRadius;
- fill_down.radiusX = cornerRadius;
- fill_disabled.radiusX = cornerRadius;
- }
-
- /*var larguraIcone:int = 0;
- if (iconFont.text != null && iconFont.text != "")
- {
- larguraIcone = 60;
- }*/
- super.updateDisplayList(unscaledWidth, unscaledHeight);
- }
-
- private var cornerRadius:Number = 2;
-
- private static function getFontSize(height:int):int
- {
- var altura:int = 15;
-
- switch (height)
- {
- case ButtonSizeEnum.Large:
- altura = 17;
- break;
- case ButtonSizeEnum.Normal:
- altura = 14;
- break;
- case ButtonSizeEnum.Small:
- altura = 13;
- break;
- case ButtonSizeEnum.ExtraSmall:
- altura = 12;
- break;
- }
-
- return altura;
- }
-
- private static function getIconSize(height:int):int
- {
- var altura:int = 17;
-
- switch (height)
- {
- case ButtonSizeEnum.Large:
- altura = 19;
- break;
- case ButtonSizeEnum.Normal:
- altura = 17;
- break;
- case ButtonSizeEnum.Small:
- altura = 15;
- break;
- case ButtonSizeEnum.ExtraSmall:
- altura = 12;
- break;
- }
-
- return altura;
- }
-
- ]]>
- </fx:Script>
-
- <!-- states -->
- <s:states>
- <s:State name="up" id="stateUp"/>
- <s:State name="over" id="stateOver"/>
- <s:State name="down" id="stateDown"/>
- <s:State name="disabled" id="stateDisabled"/>
- </s:states>
-
-
- <!-- layer 2: fill -->
- <!--- @private -->
- <s:Rect id="fill_up" left="1" right="1" top="1" bottom="1" radiusX="6" includeIn="up">
- <s:fill>
- <s:SolidColor color="{ColorUtils.ButtonColor(BrandColorEnum.Default,stateUp)}"/>
- </s:fill>
- </s:Rect>
-
- <s:Rect id="fill_over" left="1" right="1" top="1" bottom="1" radiusX="6" includeIn="over">
- <s:fill>
- <s:SolidColor color="{ColorUtils.ButtonColor(BrandColorEnum.Default,stateOver)}"/>
- </s:fill>
- </s:Rect>
-
- <s:Rect id="fill_down" left="1" right="1" top="1" bottom="1" radiusX="6" includeIn="down">
- <s:fill>
- <s:SolidColor color="{ColorUtils.ButtonColor(BrandColorEnum.Default,stateDown)}"/>
- </s:fill>
- </s:Rect>
-
- <s:Rect id="fill_disabled" left="1" right="1" top="1" bottom="1" radiusX="6" includeIn="disabled">
- <s:fill>
- <s:SolidColor color="{ColorUtils.ButtonColor(BrandColorEnum.Default,stateDisabled)}"/>
- </s:fill>
- </s:Rect>
-
-
- <!-- layer 8: text -->
- <!--- @copy spark.components.supportClasses.ButtonBase#labelDisplay -->
- <s:Label id="labelDisplay" color="0xFFFFFF" color.disabled="0xE3E3E3" right="10" left="10"
- textAlign="center" fontSize="{getFontSize(hostComponent.height)}" fontFamily="Lato"
- maxDisplayedLines="1"
- horizontalCenter="0" verticalCenter="1" verticalAlign="middle">
- </s:Label>
-</s:SparkSkin>