/SparrowTest/src/sparrowGui/uiStyle/UIStyleMgr.as
http://sparrowgui.googlecode.com/ · ActionScript · 642 lines · 558 code · 33 blank · 51 comment · 2 complexity · 72b815bd68e9aae0bbe25ac816d7cf44 MD5 · raw file
- package sparrowGui.uiStyle
- {
- import asSkinStyle.ArrayToStyleParser;
- import asSkinStyle.AsSkinStyle;
- import asSkinStyle.XMLSkinParser;
-
- import flash.display.Sprite;
- import flash.geom.Rectangle;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFieldType;
- import flash.text.TextFormat;
-
- import sparrowGui.uiStyle.draw.ArrowRectDraw;
- import sparrowGui.uiStyle.draw.CrossRectDraw;
- import sparrowGui.uiStyle.draw.HookRectDraw;
- import sparrowGui.uiStyle.draw.RadioCircleDraw;
-
- /**
- * ???????
- * @author Pelephone
- */
- public class UIStyleMgr extends AsSkinStyle
- {
- // ??
- private static var instance:UIStyleMgr = new UIStyleMgr();
-
- /**
- * ???????
- */
- public function UIStyleMgr()
- {
- var skinTag:XML = getSkinTag();
- var styleArr:Array = getStyleArr();
-
- super(skinTag, styleArr, new XMLSkinParser(), new ArrayToStyleParser());
- }
-
- //????
- public static function getIns():UIStyleMgr {
- if (instance == null) instance = new UIStyleMgr();
- return instance;
- }
-
- /**
- * ??????
- */
- override protected function initRegisterTags():void
- {
- super.initRegisterTags();
- // registerTag("rect",RectDraw);
- // registerTag("circle",CircleDraw);
- registerTag("hookRect",HookRectDraw);
- registerTag("crossRect",CrossRectDraw);
- registerTag("radioCircle",RadioCircleDraw);
- registerTag("arrowRect",ArrowRectDraw);
- registerTag("sprite",Sprite);
- registerTag("text",TextField);
- // registerTag("fourState",ItemSkin);
- // registerTag("sixState",RichItemSkin);
- // registerTag("radioItem",RadioItemSkin);
- // registerTag("checkItem",CheckItemSkin);
- // registerTag("hScroll",HScrollSkin);
- // registerTag("vScroll",VScrollSkin);
- }
-
- /**
- * ???????xml
- * @return
- */
- private function getSkinTag():XML
- {
- var skinXML:XML = XML(
- <root>
- <rect name="component" />
- <!-- ????????? -->
- <sprite name="item">
- <rectSR name="hitTestState" />
- <rect name="upState" />
- <rect name="overState" />
- <rect name="downState" />
- </sprite>
- <sprite name="button" reference="item" />
- <sprite name="txtItem" reference="item">
- <text name="txtField" />
- </sprite>
- <sprite name="richItem">
- <rectSR name="hitTestState" />
- <rect name="upState" />
- <rect name="overState" />
- <rect name="downState" />
- <rect name="selectState" />
- <rect name="enabledState" />
- <text name="txtField" />
- </sprite>
- <sprite name="richButton" reference="richItem" />
-
- <!-- ???? -->
- <sprite name="radioItem">
- <rectSR name="hitTestState" />
- <radioCircle name="upState" />
- <radioCircle name="overState" />
- <radioCircle name="downState" />
- <radioCircle name="selectState" />
- <radioCircle name="enabledState" />
- <text name="txtField" />
- </sprite>
- <sprite name="checkItem">
- <rectSR name="hitTestState" />
- <hookRect name="upState" />
- <hookRect name="overState" />
- <hookRect name="downState" />
- <hookRect name="selectState" />
- <hookRect name="enabledState" />
- <text name="txtField" />
- </sprite>
-
- <!-- combobox???? -->
- <sprite name="combobox" reference="arrowItem">
- <arrowRect name="enabledState" />
- <arrowRect name="selectState" />
- <text name="txtField" />
- </sprite>
- <sprite name="comboboxItem" reference="richItem" />
-
- <!-- ????? -->
- <sprite name="arrowItem">
- <rectSR name="hitTestState" />
- <arrowRect name="upState" />
- <arrowRect name="overState" />
- <arrowRect name="downState" />
- </sprite>
- <sprite name="hScroll">
- <rectSR name="skinbg" />
- <sprite name="slider" reference="item" />
- <sprite name="leftBtn" reference="arrowItem" />
- <sprite name="rightBtn" reference="arrowItem" />
- </sprite>
- <sprite name="vScroll">
- <rectSR name="skinbg" />
- <sprite name="slider" reference="item" />
- <sprite name="upBtn" reference="arrowItem" />
- <sprite name="downBtn" reference="arrowItem" />
- </sprite>
-
- <!-- ???? -->
- <sprite name="radioGroup" />
- <sprite name="checkBox" />
- <sprite name="itemList" />
- <sprite name="pageList" />
- <sprite name="tree" />
- <sprite name="scrollList" reference="scrollPanel" />
- <sprite name="scrollTree" reference="scrollPanel" />
- <sprite name="pageBox">
- <sprite name="btn_first" reference="txtItem" />
- <sprite name="btn_prev" reference="txtItem" />
- <sprite name="btn_next" reference="txtItem" />
- <sprite name="btn_last" reference="txtItem" />
- <text name="txt_inputNum" />
- <text name="txt_showNum" />
- <sprite name="btn_go" reference="txtItem" />
- </sprite>
-
- <!-- ?????? -->
- <sprite name="foldItem" >
- <rectSR name="hitTestState" />
- <crossRect name="upState" />
- <crossRect name="overState" />
- <crossRect name="downState" />
- <crossRect name="selectState" />
- <crossRect name="enabledState" />
- </sprite>
-
- <sprite name="treeItem" >
- <sprite name="foldBtn" reference="foldItem" />
- <sprite name="selectBtn" reference="richItem" />
- </sprite>
-
- <!-- ?????? -->
- <sprite name="scrollPanel">
- <sprite name="vScroll" reference="vScroll" />
- <sprite name="hScroll" reference="hScroll" />
- </sprite>
-
- <!-- ?????? -->
- <sprite name="toolTip">
- <rect name="skinBG" />
- <text name="txtTip" />
- </sprite>
-
- <!-- ???? -->
- <sprite name="window">
- <rect name="skinBG" />
- <sprite name="contDP" />
- <rectSR name="dragBG" />
- <sprite name="foldSkin" reference="foldItem" />
- <sprite name="closeSkin" reference="foldItem" />
- </sprite>
-
- <!-- ????? -->
- <rectSR name="translucent" />
- <rectSR name="alert">
- <text name="txtAlert" />
- <rect name="posBtn" />
- </rectSR>
- <rectSR name="inputAlert">
- <text name="txtAlert" />
- <text name="txtInput" />
- <rect name="posBtn" />
- </rectSR>
-
- <!-- ???? -->
- <sprite name="richText">
- <text name="txtField" />
- </sprite>
- <sprite name="textArea" reference="richText" />
- </root>
- );
- return skinXML;
- }
-
- /**
- * ????
- * @return
- */
- private function getStyleArr():Array
- {
- // ????
- var tformat:TextFormat = new TextFormat();
- tformat.align = "center";
- var lformat:TextFormat = new TextFormat();
- lformat.align = "left";
- var grid:Rectangle = new Rectangle(5, 5, 4, 4);
-
- // ??????????????
- var defaultUI:Array = [
- // ????
- "component",{
- bgColor:0xFFFFFF,
- width:20,
- height:20
- }
-
- /////////////////////////////////////////////////
- // ?,??????
- ,"baseItem",{
- bgColor:0xFFFFFF,
- width:60,
- height:20,
- border:1,
- borderColor:0x707070
- }
- ,"item upState#baseItem",{}
- ,"item hitTestState#baseItem",{
- alpha:0
- }
- ,"item overState#baseItem",{
- bgColor:0xCCD5D5,
- borderColor:0x3C7FB1
- }
- ,"item downState#baseItem",{
- borderColor:0x3C7FB1,
- bgColor:0xC0CBCB
- }
- ,"txtItem#item txtField",{
- width:60,
- height:20,
- mouseEnabled:false,
- defaultTextFormat:tformat
- }
- ,"richItem#item selectState#baseItem",{
- bgColor:0xAFBDBD
- }
- ,"richItem#item enabledState#baseItem",{
- bgColor:0xCCCCCC
- }
- ,"richItem#item txtField",{
- width:60,
- height:20,
- defaultTextFormat:tformat
- }
- ,"button#item,richButton#richItem",{}
-
- /////////////////////////////////////////////////
- // ?????
- ,"radioItemBase",{
- bgColor:0xFFFFFF,
- border:1,
- borderColor:0x707070,
- width:12,
- height:12,
- inCirleColor:-1,
- inBorder:0,
- hookThick:0,
- y:3
- }
- ,"radioItem upState#radioItemBase",{}
- ,"radioItem hitTestState#baseItem",{
- alpha:0
- }
- ,"radioItem overState#radioItemBase",{
- bgColor:0xEFEFEF,
- borderColor:0x3C7FB1
- }
- ,"radioItem downState#radioItemBase",{
- bgColor:0xCCD5D5,
- borderColor:0x3C7FB1
- }
- ,"radioItem selectState#radioItemBase",{
- bgColor:0xEFEFEF,
- inCirleColor:0x202020,
- padding:3
- }
- ,"radioItem enabledState#radioItemBase",{
- bgColor:0xCCCCCC
- }
- ,"radioItem txtField",{
- x:14,
- width:46,
- height:20
- }
- ,"checkItem#radioItem selectState",{
- bgColor:0xEFEFEF,
- hookThick:2,
- hookThickColor:0x202020,
- padding:3
- }
-
- /////////////////////////////////////////////////
- // ????
- ,"cbxBase",{
- bgColor:0xFFFFFF,
- border:1,
- borderColor:0x707070,
- width:14,
- height:14,
- isNextDraw:false,
- padding:3,
- y:3,
- x:(80-3-14)
- }
- ,"combobox upState#cbxBase",{
- arrowColor:0x202020
- }
- ,"combobox overState#cbxBase",{
- bgColor:0xEFEFEF,
- arrowColor:0x202050
- }
- ,"combobox downState#cbxBase",{
- bgColor:0xCCD5D5,
- arrowColor:0x000000
- }
- ,"combobox hitTestState#baseItem",{
- width:80,
- height:20
- }
- ,"combobox selectState#cbxBase",{
- bgColor:0xCCD5D5,
- arrowColor:0x202020
- }
- ,"combobox txtField",{
- width:80,
- height:20,
- selectable:false,
- mouseEnabled:false
- }
- // ?????
- ,"combobox upState,combobox overState,combobox downState,combobox selectState",{
- arrowDirct:1
- }
-
- ,"comboboxItem#richItem",{
- width:80,
- height:20
- }
- ,"comboboxItem txtField",{
- defaultTextFormat:lformat
- }
-
- /////////////////////////////////////////////////
- // ?????
- ,"arrowBase",{
- bgColor:0xFFFFFF,
- border:1,
- borderColor:0x707070,
- width:14,
- height:14,
- isNextDraw:false,
- padding:3
- }
- ,"arrowItem upState#arrowBase",{
- arrowColor:0x202020
- }
- ,"arrowItem overState#arrowBase",{
- bgColor:0xEFEFEF,
- arrowColor:0x202050
- }
- ,"arrowItem downState#arrowBase",{
- bgColor:0xCCD5D5,
- arrowColor:0x000000
- }
- ,"arrowItem hitTestState#baseItem",{
- width:14,
- height:14,
- alpha:0
- }
- // ?????
- ,"upArrow#arrowItem upState,upArrow#arrowItem overState,upArrow#arrowItem downState",{
- arrowDirct:0
- }
- // ?????
- ,"downArrow#arrowItem upState,downArrow#arrowItem overState,downArrow#arrowItem downState",{
- arrowDirct:1
- }
- // ?????
- ,"leftArrow#arrowItem upState,leftArrow#arrowItem overState,leftArrow#arrowItem downState",{
- arrowDirct:2
- }
- // ?????
- ,"rightArrow#arrowItem upState,rightArrow#arrowItem overState,rightArrow#arrowItem downState",{
- arrowDirct:3
- }
- ,"vScroll upBtn#upArrow,hScroll leftBtn#leftArrow",{}
- ,"vScroll downBtn#downArrow,hScroll rightBtn#rightArrow",{}
- ,"sliderBase",{
- bgColor:0xFFFFFF,
- border:1,
- borderColor:0x707070,
- width:14,
- isNextDraw:false,
- height:14
- }
- ,"sliderItem",{
- // scale9Grid:grid
- }
- ,"sliderItem upState#sliderBase",{}
- ,"sliderItem hitTestState#baseItem",{
- width:14,
- height:14,
- alpha:0
- }
- ,"sliderItem overState#sliderBase",{
- bgColor:0xEFEFEF,
- borderColor:0x3C7FB1
- }
- ,"sliderItem downState#sliderBase",{
- bgColor:0xCCD5D5,
- borderColor:0x3C7FB1
- }
- ,"vScroll slider#sliderItem,hScroll slider#sliderItem",{}
-
- ,"vScroll skinbg,hScroll skinbg",{
- bgColor:0xF0F0F0,
- border:0,
- borderColor:0,
- width:14,
- height:14
- }
-
- // ????
- ,"scrollPanel hScroll#hScroll,scrollPanel vScroll#vScroll" +
- ",scrollList hScroll#hScroll,scrollList vScroll#vScroll" +
- ",scrollTree hScroll#hScroll,scrollTree vScroll#vScroll",{}
-
- // ????
- ,"crossBase",{
- bgColor:0xFFFFFF,
- width:14,
- height:14,
- border:1,
- borderColor:0x707070,
- inBorder:1,
- inBorderColor:0x202020,
- isNextDraw:false,
- type:0,
- y:3,
- padding:3
- }
- ,"foldItem hitTestState#baseItem",{
- width:14,
- height:14,
- alpha:0
- }
- ,"foldItem upState#crossBase",{
- bgColor:0xFFFFFF,
- inBorderColor:0x202020
- }
- ,"foldItem overState#crossBase",{
- bgColor:0xEFEFEF,
- inBorderColor:0x202050
- }
- ,"foldItem downState#crossBase",{
- bgColor:0xCCD5D5,
- inBorderColor:0x000000
- }
- ,"foldItem selectState#crossBase",{
- bgColor:0xCCD5D5,
- type:1,
- inBorderColor:0x000000
- }
- ,"foldItem enabledState#crossBase",{
- bgColor:0xCCCCCC
- }
- ,"treeItem foldBtn#foldItem",{}
- ,"treeItem selectBtn#richItem",{x:20}
-
- // ???
- ,"toolTip txtTip",{
- autoSize:TextFieldAutoSize.LEFT,
- textColor:0x000000,
- wordWrap:false
- }
- ,"toolTip skinBG",{
- bgColor:0xE9E9F2,
- border:1,
- borderColor:0xA0A0A0
- }
-
- // ????
- ,"window skinBG",{
- bgColor:0xFFFFFF,
- border:1,
- borderColor:0x66656D,
- width:150,
- height:120
- }
- ,"window dragBG",{
- bgColor:0x77A0B2,
- border:1,
- borderColor:0x7F9BA6,
- width:150,
- height:20
- }
- ,"window contDP",{
- y:18
- }
- ,"window foldSkin#foldItem",{
- width:14,
- height:14,
- x:118,
- y:2
- }
- ,"window foldSkin hitTestState",{
- width:14,
- height:14
- }
- ,"window closeSkin#foldItem",{
- // y:1,
- x:(150-14-2)
- }
- ,"window closeSkin hitTestState",{
- width:14,height:14
- }
-
- // ???
- ,"translucent",{
- bgColor:0x000000,
- bgAlpha:0.3
- }
- ,"alert",{
- width:200,
- height:150,
- bgColor:0xFFFFFF,
- border:1,
- borderColor:0x7F9BA6
- }
- ,"alert txtAlert",{
- height:80,
- x:5,
- y:5,
- selectable:false,
- mouseEnabled:false,
- defaultTextFormat:tformat
- }
- ,"alert posBtn",{
- x:100,
- y:145
- }
- ,"inputAlert#alert inputAlert",{
- y:85
- }
- ,"pageBox btn_first#txtItem",{
- y:25
- }
- ,"pageBox btn_last#txtItem",{
- x:65,
- y:25
- }
- ,"pageBox btn_prev#txtItem",{
- }
- ,"pageBox btn_next#txtItem",{
- x:65
- }
- ,"pageTxt",{
- width:60,
- height:20
- }
- ,"pageBox txt_inputNum#pageTxt",{
- restrict:"0-9",
- text:"1",
- type:TextFieldType.INPUT,
- border:true,
- x:130
- }
- ,"pageBox txt_showNum#pageTxt",{
- border:true,
- selectable:false,
- mouseEnabled:false,
- x:130,
- y:25
- }
- ,"pageBox btn_go#txtItem",{
- x:195
- }
- ,"pageBox btn_prev#txtItem txtField",{
- text:"???"
- }
- ,"pageBox btn_next#txtItem txtField",{
- text:"???"
- }
- ,"pageBox btn_first#txtItem txtField",{
- text:"??"
- }
- ,"pageBox btn_last#txtItem txtField",{
- text:"??"
- }
- ,"pageBox btn_go#txtItem txtField",{
- text:"??"
- }
- ,"richText txtField",{
- width:80,
- height:80,
- multiline:true,
- wordWrap:true
- }
- ,"textArea#richText",{}
- ];
-
- return defaultUI;
- }
- }
- }