Changeset 6946
- Timestamp:
- 02/20/08 00:35:29 (5 years ago)
- Location:
- lang/actionscript/metro-map
- Files:
-
- 4 added
- 2 modified
-
Viewer-config.xml (added)
-
Viewer.as (added)
-
ViewerSampleData.as (added)
-
mkmap/MCanvas.as (modified) (5 diffs)
-
mkmap/PolyLine.as (modified) (7 diffs)
-
viewer.html (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/actionscript/metro-map/mkmap/MCanvas.as
r6944 r6946 16 16 private var mLineTipBox:TipBox; 17 17 private var mLineTipBox2:TipBox; 18 19 function MCanvas(w:int, h:int) 20 { 18 private var mEditable:Boolean; 19 20 function MCanvas(w:int, h:int, showgrid:Boolean = true, editable:Boolean = true) 21 { 22 mEditable = editable; 23 21 24 createLayers(); 22 25 mTitleBoxCtl = new MTitleBoxController(this); … … 29 32 mHeight = h; 30 33 gridSize = 5; 31 drawBG(graphics); 32 /* 33 var p:PolyLine = new PolyLine(this, 40); 34 addObject(p); 35 36 var p2:PolyLine = new PolyLine(this, 80); 37 p2.lineColor = 0xac669a; 38 addObject(p2); 39 40 var p3:PolyLine = new PolyLine(this, 120); 41 p3.lineColor = 0x009900; 42 addObject(p3); 43 44 var p4:PolyLine = new PolyLine(this, 160); 45 p4.lineColor = 0x888888; 46 addObject(p4);*/ 47 /* 48 var t:MTitleBox = new MTitleBox(); 49 addObject(t, 1); 50 t.x = 20; 51 t.y = 30; 52 t.title = "表参道"; 53 t.onMoved = mTitleBoxCtl.onBoxMoved; 54 55 var t2:MTitleBox = new MTitleBox(); 56 addObject(t2, 1); 57 t2.x = 80; 58 t2.y = 30; 59 t2.title = "青山一丁目"; 60 t2.onMoved = mTitleBoxCtl.onBoxMoved;*/ 34 if (showgrid) 35 drawBG(graphics); 61 36 } 62 37 … … 79 54 public function deserialize(src:String):void 80 55 { 81 _ddump="map> "; 82 var mapxml:XML = new XML(src); 56 deserializeXML(new XML(src)); 57 } 58 59 public function deserializeXML(mapxml:XML):void 60 { 83 61 var layers:XMLList = mapxml.children(); 84 62 … … 141 119 142 120 143 var p:PolyLine = new PolyLine(this, 10, polygon );121 var p:PolyLine = new PolyLine(this, 10, polygon, mEditable); 144 122 addObject(p, lyr_index); 145 123 … … 191 169 t.type = type; 192 170 193 t.onMoved = mTitleBoxCtl.onBoxMoved; 194 t.onMouseDown = mTitleBoxCtl.onBoxClicked; 171 if (mEditable) 172 { 173 t.onMoved = mTitleBoxCtl.onBoxMoved; 174 t.onMouseDown = mTitleBoxCtl.onBoxClicked; 175 } 195 176 } 196 177 -
lang/actionscript/metro-map/mkmap/PolyLine.as
r6944 r6946 14 14 private var mThick:int; 15 15 private var mLineColor:uint; 16 17 function PolyLine(c:MCanvas, initY:int = 10, polygon:Boolean = false) 18 { 16 private var mEditable:Boolean; 17 18 function PolyLine(c:MCanvas, initY:int = 10, polygon:Boolean = false, editable:Boolean = true) 19 { 20 mEditable = editable; 19 21 mPolygon = polygon; 20 22 mCornerR = 19; … … 22 24 mLineColor = 0x4466ff; 23 25 24 setInitialSegment(new Segment(10, initY, 110, initY+100) );26 setInitialSegment(new Segment(10, initY, 110, initY+100), editable); 25 27 mCanvas = c; 26 28 mouseEnabled = false; … … 38 40 } 39 41 40 private function setInitialSegment(s:Segment ):void42 private function setInitialSegment(s:Segment, editable:Boolean):void 41 43 { 42 44 mFirst = s; … … 46 48 s.prev = null; 47 49 48 var hb:AnchorButton = new AnchorButton(false); 49 var tb:AnchorButton = new AnchorButton(false); 50 var mb:AnchorButton = new AnchorButton(true); 51 52 addChild(hb); 53 addChild(tb); 54 addChild(mb); 55 hb.onMoved = onAnchorMove; 56 tb.onMoved = onAnchorMove; 57 mb.onMoved = onAnchorMove; 58 59 hb.ownerCanvas = mCanvas; 60 tb.ownerCanvas = mCanvas; 61 mb.ownerCanvas = mCanvas; 50 if (editable) 51 { 52 var hb:AnchorButton = new AnchorButton(false); 53 var tb:AnchorButton = new AnchorButton(false); 54 var mb:AnchorButton = new AnchorButton(true); 55 56 addChild(hb); 57 addChild(tb); 58 addChild(mb); 59 hb.onMoved = onAnchorMove; 60 tb.onMoved = onAnchorMove; 61 mb.onMoved = onAnchorMove; 62 63 hb.ownerCanvas = mCanvas; 64 tb.ownerCanvas = mCanvas; 65 mb.ownerCanvas = mCanvas; 66 } 62 67 63 68 updateView(); 64 69 65 s.headAnc = hb; 66 s.midAnc = mb; 67 s.tailAnc = tb; 68 s.updateAnchors(); 69 70 tb.backSegment = s; 71 mb.middleSegment = s; 70 if (editable) 71 { 72 s.headAnc = hb; 73 s.midAnc = mb; 74 s.tailAnc = tb; 75 s.updateAnchors(); 76 77 tb.backSegment = s; 78 mb.middleSegment = s; 79 } 72 80 } 73 81 … … 138 146 } 139 147 140 for(s = mFirst; s != null; s=s.next) 141 drawCenterLine(s); 148 if (mEditable) 149 { 150 for(s = mFirst; s != null; s=s.next) 151 drawCenterLine(s); 152 } 142 153 } 143 154 … … 219 230 var newSeg:Segment = new Segment(x, y, s.x2, s.y2); 220 231 221 var tb:AnchorButton = new AnchorButton(false); 222 var mb:AnchorButton = new AnchorButton(true); 223 224 tb.ownerCanvas = mCanvas; 225 mb.ownerCanvas = mCanvas; 226 227 addChild(tb); 228 addChild(mb); 229 tb.onMoved = onAnchorMove; 230 mb.onMoved = onAnchorMove; 231 tb.backSegment = newSeg; 232 mb.middleSegment = newSeg; 233 234 newSeg.headAnc = s.tailAnc; 235 newSeg.midAnc = mb; 236 newSeg.tailAnc = tb; 232 var tb:AnchorButton = null; 233 if (mEditable) 234 { 235 tb = new AnchorButton(false); 236 var mb:AnchorButton = new AnchorButton(true); 237 238 tb.ownerCanvas = mCanvas; 239 mb.ownerCanvas = mCanvas; 240 241 addChild(tb); 242 addChild(mb); 243 tb.onMoved = onAnchorMove; 244 mb.onMoved = onAnchorMove; 245 tb.backSegment = newSeg; 246 mb.middleSegment = newSeg; 247 248 newSeg.headAnc = s.tailAnc; 249 newSeg.midAnc = mb; 250 newSeg.tailAnc = tb; 251 } 237 252 238 253 s.x2 = x; … … 252 267 mLast = newSeg; 253 268 254 s.updateAnchors(); 255 newSeg.updateAnchors(); 256 if (oldNext) 257 oldNext.updateAnchors(); 269 if (mEditable) 270 { 271 s.updateAnchors(); 272 newSeg.updateAnchors(); 273 if (oldNext) 274 oldNext.updateAnchors(); 275 } 258 276 259 277 return newSeg;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)