1 package net.systemeD.potlatch2.controller {
3 import flash.ui.Keyboard;
4 import net.systemeD.potlatch2.EditController;
5 import net.systemeD.halcyon.connection.*;
6 import net.systemeD.halcyon.Globals;
8 public class SelectedPOINode extends ControllerState {
9 protected var initNode:Node;
11 public function SelectedPOINode(node:Node) {
15 protected function selectNode(node:Node):void {
16 if ( node == selectedNode )
20 controller.setSelectedEntity(node);
21 controller.map.setHighlight(node, { selected: true });
26 protected function clearSelection():void {
27 if ( selectedNode != null ) {
28 controller.map.setHighlight(selectedNode, { selected: false });
29 controller.setSelectedEntity(null);
34 override public function processMouseEvent(event:MouseEvent, entity:Entity):ControllerState {
35 if (event.type==MouseEvent.MOUSE_MOVE) { return this; }
36 var cs:ControllerState = sharedMouseEvents(event, entity);
37 return cs ? cs : this;
40 override public function processKeyboardEvent(event:KeyboardEvent):ControllerState {
41 switch (event.keyCode) {
42 case Keyboard.BACKSPACE: return deletePOI();
43 case Keyboard.DELETE: return deletePOI();
45 var cs:ControllerState = sharedKeyboardEvents(event);
46 return cs ? cs : this;
49 public function deletePOI():ControllerState {
50 controller.connection.unregisterPOI(selectedNode);
51 selectedNode.remove(MainUndoStack.getGlobalStack().addAction);
52 return new NoSelection();
55 override public function enterState():void {
57 Globals.vars.root.addDebug("**** -> "+this);
59 override public function exitState():void {
61 Globals.vars.root.addDebug("**** <- "+this);
64 override public function toString():String {
65 return "SelectedPOINode";