public override void UnBind(ICommand cmd) { if (cmd == null) { return; } if (!(cmd is IMap2DCommand)) { return; } IMap2DCommand map2DCommand = cmd as IMap2DCommand; mapControlEvents.OnAfterDraw -= new IMapControlEvents2_OnAfterDrawEventHandler(map2DCommand.OnAfterDraw); mapControlEvents.OnAfterScreenDraw -= new IMapControlEvents2_OnAfterScreenDrawEventHandler(map2DCommand.OnAfterScreenDraw); mapControlEvents.OnBeforeScreenDraw -= new IMapControlEvents2_OnBeforeScreenDrawEventHandler(map2DCommand.OnBeforeScreenDraw); mapControlEvents.OnDoubleClick -= new IMapControlEvents2_OnDoubleClickEventHandler(map2DCommand.OnDoubleClick); mapControlEvents.OnExtentUpdated -= new IMapControlEvents2_OnExtentUpdatedEventHandler(map2DCommand.OnExtentUpdated); mapControlEvents.OnFullExtentUpdated -= new IMapControlEvents2_OnFullExtentUpdatedEventHandler(map2DCommand.OnFullExtentUpdated); mapControlEvents.OnKeyDown -= new IMapControlEvents2_OnKeyDownEventHandler(map2DCommand.OnKeyDown); mapControlEvents.OnKeyUp -= new IMapControlEvents2_OnKeyUpEventHandler(map2DCommand.OnKeyUp); mapControlEvents.OnMapReplaced -= new IMapControlEvents2_OnMapReplacedEventHandler(map2DCommand.OnMapReplaced); mapControlEvents.OnMouseDown -= new IMapControlEvents2_OnMouseDownEventHandler(map2DCommand.OnMouseDown); mapControlEvents.OnMouseMove -= new IMapControlEvents2_OnMouseMoveEventHandler(map2DCommand.OnMouseMove); mapControlEvents.OnMouseUp -= new IMapControlEvents2_OnMouseUpEventHandler(map2DCommand.OnMouseUp); mapControlEvents.OnSelectionChanged -= new IMapControlEvents2_OnSelectionChangedEventHandler(map2DCommand.OnSelectionChanged); mapControlEvents.OnViewRefreshed -= new IMapControlEvents2_OnViewRefreshedEventHandler(map2DCommand.OnViewRefreshed); }
public static IMap2DCommand Pop() { if (Map2DCommandManager.commandStack.Count > 0) { IMap2DCommand command = Map2DCommandManager.commandStack.Pop(); if (command != null) { command.RestoreEnv(); command.HighLight = false; } return(command); } return(null); }
public static void Push(IMap2DCommand comObj) { if (comObj == null) { return; } while (Map2DCommandManager.commandStack.Count > 0) { Map2DCommandManager.Pop(); } Map2DCommandManager.commandStack.Push(comObj); IMap2DCommand command = Map2DCommandManager.commandStack.Peek(); if (command != null) { command.HighLight = true; } }
public override void Run(object sender, EventArgs e) { Map2DCommandManager.Push(this); mapView = UCService.GetContent(typeof(Map2DView)) as Map2DView; if (mapView == null) { return; } //bool bBind = mapView.Bind(this); //if (!bBind) return; app = (DF2DApplication)this.Hook; if (app == null || app.Current2DMapControl == null) { return; } m_pMapControl = app.Current2DMapControl; m_pMapControl.MousePointer = esriControlsMousePointer.esriPointerArrow; map2DCommand = this as IMap2DCommand; mapControlEvents = m_pMapControl as IMapControlEvents2_Event; mapControlEvents.OnMouseDown += new IMapControlEvents2_OnMouseDownEventHandler(map2DCommand.OnMouseDown); mapControlEvents.OnMouseMove += new IMapControlEvents2_OnMouseMoveEventHandler(map2DCommand.OnMouseMove); }