package net.systemeD.potlatch2.controller {
import flash.events.*;
+ import flash.display.DisplayObject;
import net.systemeD.halcyon.AttentionEvent;
import net.systemeD.halcyon.connection.*;
override public function processMouseEvent(event:MouseEvent, entity:Entity):ControllerState {
if (event.type==MouseEvent.MOUSE_MOVE || event.type==MouseEvent.ROLL_OVER || event.type==MouseEvent.MOUSE_OUT) { return this; }
+ var paint:MapPaint = getMapPaint(DisplayObject(event.target));
var focus:Entity = getTopLevelFocusEntity(entity);
- if ( event.type == MouseEvent.MOUSE_DOWN && entity && event.ctrlKey && !event.altKey ) {
+ if ( event.type == MouseEvent.MOUSE_DOWN && entity && event.ctrlKey && !event.altKey && paint.interactive ) {
// modify selection
layer.setHighlight(entity, { selected: toggleSelection(entity) });
controller.updateSelectionUI();
Way(firstSelected).insertNodeAtClosestPosition(node, false, undo.push);
MainUndoStack.getGlobalStack().addAction(undo);
return this;
- } else if ( event.type == MouseEvent.MOUSE_DOWN && event.ctrlKey && !event.altKey && entity && entity!=firstSelected) {
+ } else if ( event.type == MouseEvent.MOUSE_DOWN && event.ctrlKey && !event.altKey && entity && entity!=firstSelected && paint.interactive) {
// multiple selection
return new SelectedMultiple([firstSelected,entity],layer);
} else if ( event.type == MouseEvent.MOUSE_UP && focus==firstSelected ) {