Changeset 15769 for lang/actionscript
- Timestamp:
- 07/14/08 04:04:31 (4 months ago)
- Location:
- lang/actionscript/ascss/src
- Files:
-
- 4 modified
-
KyotoDemo.as (modified) (11 diffs)
-
KyotoDemo.swf (modified) (previous)
-
kyotodemo/Marker.as (modified) (1 diff)
-
kyotodemo/XMLDocument.as (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/actionscript/ascss/src/KyotoDemo.as
r15768 r15769 13 13 private var LogoEmbed:Class; 14 14 15 public static const LINEHEIGHT:int = 35; 15 16 public static const GRAD_COLORS:Array = [0x111111, 0x333333, 0x555555]; 16 17 public static const GRAD_ALPHAS:Array = [1, 1, 1]; … … 31 32 private var mSelectorMarkers:Array; 32 33 private var mMarkerLayer:Sprite; 34 private var mElementMarkerLayer:Sprite; 33 35 34 36 private var mDocument:XMLDocument; … … 53 55 mXMLField = new TextField(); 54 56 mXMLField.defaultTextFormat = mEFormat; 55 mXMLField.x = 20;57 mXMLField.x = 40; 56 58 mXMLField.y = 80; 57 59 mXMLField.text = "<cho45>\n</cho45>"; … … 72 74 73 75 mXMLErrorField = new TextField(); 74 mXMLErrorField.x = 20;76 mXMLErrorField.x = 40; 75 77 mXMLErrorField.y = 660; 76 78 addChild(mXMLErrorField); … … 86 88 addChild(mMarkerLayer); 87 89 90 mElementMarkerLayer = new Sprite(); 91 addChild(mElementMarkerLayer); 92 88 93 drawBase(); 89 94 … … 91 96 addChild(tx); 92 97 tx.textColor = 0xffffff; 98 onXMLChanged(null); 93 99 } 94 100 … … 138 144 { 139 145 clearXMLError(); 146 mDocument = null; 140 147 try{ 141 148 mDocument = new XMLDocument(mXMLField.text); … … 143 150 outXMLError(e.toString()); 144 151 } 152 153 showElementMarkers(); 145 154 } 146 155 … … 189 198 } 190 199 200 private function showElementMarkers():void 201 { 202 var len:int = mElementMarkerLayer.numChildren; 203 for (var i:int = 0;i < len;i++) 204 mElementMarkerLayer.removeChildAt(0); 205 206 207 if (!mDocument) 208 return; 209 210 var list:Array = mDocument.elementMetadatas; 211 var m:Marker; 212 for each(var md:ElementData in list) 213 { 214 m = new Marker(0, (md.end_lineno - md.lineno) * LINEHEIGHT); 215 md.mx = 30 + md.nest*12; 216 md.my = 98 + md.lineno * LINEHEIGHT; 217 m.x = md.mx; 218 m.y = md.my; 219 mElementMarkerLayer.addChild(m); 220 } 221 } 222 191 223 private function showSelectorMarkers():void 192 224 { … … 202 234 md = mSelectorMarkers[i] as SelectorMarker; 203 235 204 m = new Marker( );205 md.mx = 5 20;206 md.my = 98 + md.lineno *35;236 m = new Marker(1); 237 md.mx = 530; 238 md.my = 98 + md.lineno * LINEHEIGHT; 207 239 208 240 m.x = md.mx; … … 237 269 { 238 270 if (e.keyCode == 9) { 239 mTx.replaceSelectedText(" "); 240 } 271 mTx.replaceSelectedText(" "); 272 } 273 e.updateAfterEvent(); 241 274 } 242 275 } -
lang/actionscript/ascss/src/kyotodemo/Marker.as
r15768 r15769 5 5 public class Marker extends Sprite 6 6 { 7 public static const GRAD_COLORS:Array = [0xff aa33, 0xdd9922];7 public static const GRAD_COLORS:Array = [0xffba43, 0xdd9922]; 8 8 public static const GRAD_ALPHAS:Array = [1, 1]; 9 9 public static const GRAD_RATIOS:Array = [0, 255]; 10 11 public static const GRAD_COLORS2:Array = [0x5588ff, 0x334499]; 12 public static const GRAD_ALPHAS2:Array = [1, 1]; 13 public static const GRAD_RATIOS2:Array = [0, 255]; 14 10 15 private var mGradTrans:Matrix = new Matrix(); 16 private var mType:uint; 11 17 12 function Marker( )18 function Marker(t:uint = 0, barlen:int = 0) 13 19 { 20 mouseEnabled = false; 21 mType = t; 14 22 mGradTrans.createGradientBox(20, 20, Math.PI/2, -10, -10); 15 draw(graphics );23 draw(graphics, barlen); 16 24 } 17 25 18 private function draw(g:Graphics ):void26 private function draw(g:Graphics, barlen:int):void 19 27 { 20 28 g.clear(); 29 21 30 g.lineStyle(3, 0, 0.3); 22 g.beginGradientFill(GradientType.LINEAR, GRAD_COLORS, GRAD_ALPHAS, GRAD_RATIOS, mGradTrans); 31 if (mType == 0) 32 g.beginGradientFill(GradientType.LINEAR, GRAD_COLORS, GRAD_ALPHAS, GRAD_RATIOS, mGradTrans); 33 else 34 g.beginGradientFill(GradientType.LINEAR, GRAD_COLORS2, GRAD_ALPHAS2, GRAD_RATIOS2, mGradTrans); 23 35 g.drawCircle(0, 0, 10); 36 37 if (barlen > 10) 38 { 39 g.lineStyle(2, mType ? GRAD_COLORS2[0] : GRAD_COLORS[0]); 40 g.beginFill(0,0); 41 g.moveTo(0, 10); 42 g.lineTo(0, barlen); 43 g.lineTo(10, barlen); 44 g.lineStyle(); 45 g.endFill(); 46 } 47 24 48 } 25 49 } -
lang/actionscript/ascss/src/kyotodemo/XMLDocument.as
r15768 r15769 3 3 public class XMLDocument 4 4 { 5 private var mMetadatas:Array; 5 6 private var mXML:XML; 6 7 private var mSource:String; … … 9 10 { 10 11 mSource = src; 12 mMetadatas = []; 11 13 XML.ignoreComments = false; 12 14 XML.ignoreProcessingInstructions = false; … … 15 17 16 18 STDOUT.cls(); 17 STDOUT.puts("xml:");18 19 19 mLineNo = 0; 20 var pre:Object = /^[^<]+/.exec(src); 21 mLineNo = pre ? countBreaks(pre[0]) : 0; 20 22 checkLineno(mXML); 21 23 } 22 24 23 p rivate function checkLineno(x:XML):void25 public function get elementMetadatas():Array 24 26 { 27 return mMetadatas; 28 } 29 30 private function checkLineno(x:XML, nest:int = 0):void 31 { 32 var md:ElementData = null; 25 33 if (x.nodeKind() == "text") 26 34 { 27 STDOUT.puts("lns: "+countBreaks(x.toString())); 35 mLineNo += countBreaks(x.toString()); 36 } 37 else if (x.nodeKind() == "element") 38 { 39 md = new ElementData(); 40 md.x = x; 41 md.nest = nest; 42 md.lineno = mLineNo; 43 mMetadatas.push(md); 28 44 } 29 45 … … 31 47 for each(var ch:XML in list) 32 48 { 33 checkLineno(ch );49 checkLineno(ch, nest + 1); 34 50 } 51 52 if (md) 53 md.end_lineno = mLineNo; 35 54 } 36 55
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)