Skip to content

Commit

Permalink
added customSkinnableContainer class
Browse files Browse the repository at this point in the history
Change-Id: I4a9cfcb496c0e637fe034ab40bbfb1d6e7fd16b1
  • Loading branch information
sanjay1909 committed Oct 9, 2012
1 parent d79dbc1 commit 671c104
Showing 1 changed file with 312 additions and 0 deletions.
312 changes: 312 additions & 0 deletions WeaveUISpark/src/com/adobe/devnet/skins/CustomSkinnableContainer.mxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,312 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
ADOBE SYSTEMS INCORPORATED
Copyright 2008 Adobe Systems Incorporated
All Rights Reserved.
NOTICE: Adobe permits you to use, modify, and distribute this file
in accordance with the terms of the license agreement accompanying it.
-->

<!--- The default skin class for a Spark SkinnableContainer container.
@see spark.components.SkinnableContainer
@langversion 3.0
@playerversion Flash 10
@playerversion AIR 1.5
@productversion Flex 4
-->
<s:Skin 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" blendMode="normal" mouseEnabled="false"
minWidth="131" minHeight="127" >

<fx:Metadata>
<![CDATA[
/**
* @copy spark.skins.spark.ApplicationSkin#hostComponent
*/
[HostComponent("com.adobe.devnet.view.Pod")]
]]>
</fx:Metadata>

<fx:Script fb:purpose="styling">
<![CDATA[
/**
* @private
*/
override protected function initializationComplete():void
{
setStyle("borderColor", 0x999999);
setStyle("borderAlpha", 1);
setStyle("cornerRadius", 6);
super.initializationComplete();
}
/* override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number) : void
{
// Push backgroundColor and backgroundAlpha directly.
// Handle undefined backgroundColor by hiding the background object.
if (isNaN(getStyle("backgroundColor")))
{
background.visible = false;
}
else
{
background.visible = true;
bgFill.color = getStyle("backgroundColor");
bgFill.alpha = getStyle("backgroundAlpha");
}
super.updateDisplayList(unscaledWidth, unscaledHeight);
} */
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
{
if (getStyle("borderVisible") == true)
{
border.visible = true;
contents.left = contents.top = contents.right = contents.bottom = 1;
if(background != null){
background.left = background.top = background.right =
background.bottom = 1;
}
}
else
{
border.visible = false;
contents.left = contents.top = contents.right = contents.bottom = 0;
if(background != null){
background.left = background.top = background.right =
background.bottom = 0;
}
}
if(dropShadow != null){
dropShadow.visible = getStyle("dropShadowVisible");
}
var cr:Number = getStyle("cornerRadius");
/* var withControls:Boolean = (currentState == "disabledWithControlBar"
|| currentState == "normalWithControlBar"); */
if (cornerRadius != cr)
{
cornerRadius = cr;
if(dropShadow != null){
dropShadow.tlRadius = cornerRadius;
dropShadow.trRadius = cornerRadius;
/* dropShadow.blRadius = withControls ? cornerRadius : 0;
dropShadow.brRadius = withControls ? cornerRadius : 0; */
}
/* setPartCornerRadii(topMaskRect, withControls);
setPartCornerRadii(border, withControls);
if(background != null){
setPartCornerRadii(background, withControls);
} */
}
//if (bottomMaskRect) setPartCornerRadii(bottomMaskRect, withControls);
borderStroke.color = getStyle("borderColor");
borderStroke.alpha = getStyle("borderAlpha");
if(backgroundFill != null){
backgroundFill.color = getStyle("backgroundColor");
backgroundFill.alpha = getStyle("backgroundAlpha");
}
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;
]]>
</fx:Script>

<s:states>
<s:State name="normal" />
<s:State name="disabled" />
<s:State name="minimized"/>
</s:states>

<!--- @private -->
<s:RectangularDropShadow id="dropShadow" blurX="10" blurY="10"
alpha="1" distance="5" angle="0" color="#999999" left="0"
top="5" right="5" bottom="0" excludeFrom="minimized"/>



<!-- 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">
<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 1: border -->
<!--- @private -->
<s:Rect id="border" left="0" right="0" top="0" bottom="0" >
<s:stroke>
<!--- @private -->
<s:SolidColorStroke id="borderStroke" weight="1" />
</s:stroke>
</s:Rect>

<!-- layer 2: background fill -->
<!--- Defines the appearance of the PanelSkin class's background. -->
<s:Rect id="background" left="1" top="1" right="1" bottom="1"
excludeFrom="minimized">
<s:fill>
<!--- @private
Defines the PanelSkin class's background fill. The default color is 0xFFFFFF. -->
<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="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}">

<!-- layer 0: title bar fill -->
<!--- @private -->
<s:Rect id="tbFill" left="0" right="0" top="0" bottom="1">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="0xFFFFFF" ratio=".1"/>
<s:GradientEntry color="0xCCCCCC" ratio=".8"/>
</s:LinearGradient>
</s:fill>
</s:Rect>

<!-- layer 1: title bar highlight -->
<!--- @private -->
<s:Rect id="tbHilite" left="0" right="0" top="0" bottom="0">
<s:stroke>
<s:LinearGradientStroke rotation="90" weight="1">
<s:GradientEntry color="0xEAEAEA" />
<s:GradientEntry color="0xD9D9D9" />
</s:LinearGradientStroke>
</s:stroke>
</s:Rect>

<!-- layer 2: title bar divider -->
<!--- @private -->
<s:Rect id="headerDivider" left="0" right="0" height="1" bottom="0">
<s:fill>
<s:SolidColor color="0x999999" />
</s:fill>
</s:Rect>

<!-- layer 3: text -->
<!--- @copy spark.components.Panel#titleDisplay -->
<s:Label id="titleDisplay" maxDisplayedLines="1" text="{this.hostComponent.title}"
left="12" right="3" top="1" bottom="0" minHeight="22"
verticalAlign="middle" textAlign="start" fontWeight="bold"
fontSize="11" fontFamily="arial" kerning="off">
</s:Label>

<s:Group id="titleBar" left="0" right="0" top="0" bottom="0"/>

<s:HGroup id="controlsHolder" right="9" top="4"
horizontalAlign="right" verticalAlign="middle" gap="3">
<!-- Weave: Width and height takes its value set in Pod -->
<s:Button id="minimizeButton" width="{this.hostComponent.button_width}" height="{this.hostComponent.button_height}"
skinClass="com.adobe.devnet.skins.CustomMinimizeButtonSkin"/>
<s:ToggleButton id="maximizeRestoreButton" width="{this.hostComponent.button_width}" height="{this.hostComponent.button_height}"
skinClass="com.adobe.devnet.skins.CustomMaximizeButtonSkin"/>
</s:HGroup>
</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" excludeFrom="minimized">
<s:layout>
<s:VerticalLayout paddingTop="0" paddingLeft="0"
paddingRight="0" paddingBottom="0"/>
</s:layout>
</s:Group>

<!--- @private -->
<!-- <s:Group id="bottomGroup" minWidth="0" minHeight="0">-->

<!-- <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="0x000000" />
</s:fill>
</s:Rect>-->

<!-- layer 1: control bar highlight -->
<!--<s:Rect left="0" right="0" top="1" bottom="0">
<s:stroke>
<s:LinearGradientStroke rotation="90" weight="1">
<s:GradientEntry color="0xE5E5E5" />
<s:GradientEntry color="0xD8D8D8" />
</s:LinearGradientStroke>
</s:stroke>
</s:Rect>-->

<!-- layer 2: control bar fill -->
<!--<s:Rect left="1" right="1" top="2" bottom="1">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="0xDADADA" />
<s:GradientEntry color="0xC5C5C5" />
</s:LinearGradient>
</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:Skin>

0 comments on commit 671c104

Please sign in to comment.