package com.drawingapp.tools { import flash.display.Sprite; import flash.events.MouseEvent; public class Tools extends Sprite { private var _currentTool:Tool; public function get currentTool():Tool { return _currentTool; } public function set currentTool( tool:Tool ):void { if ( _currentTool ) _currentTool.selected = false; _currentTool = tool; _currentTool.selected = true; } public function Tools() { createTools(); } private function createTools():void { var rectTool:RectangleTool = new RectangleTool(); addChild( rectTool ); rectTool.x = 3; rectTool.y = 3; rectTool.buttonMode = true; var lineTool:LineTool = new LineTool(); addChild( lineTool ); lineTool.x = 3; lineTool.y = rectTool.y + rectTool.height + 3; lineTool.buttonMode = true; currentTool = lineTool; rectTool.addEventListener( MouseEvent.CLICK, toolSelected ); lineTool.addEventListener( MouseEvent.CLICK, toolSelected ); } private function toolSelected( event:MouseEvent ):void { var tool:Tool = Tool( event.target ); currentTool = tool; } } }