/// <summary> /// Override this method to implement a "Mode" to separate the input of /// observer points and target points /// </summary> /// <param name="obj">ToolMode string from resource file</param> internal override void OnActivateToolCommand(object obj) { var mode = obj.ToString(); MapPointToolMode lastToolMode = ToolMode; if (string.IsNullOrWhiteSpace(mode)) { return; } if ((mode == VisibilityLibrary.Properties.Resources.ToolModeObserver) && (lastToolMode != MapPointToolMode.Observer)) { ToolMode = MapPointToolMode.Observer; } else if ((mode == VisibilityLibrary.Properties.Resources.ToolModeTarget) && (lastToolMode != MapPointToolMode.Target)) { ToolMode = MapPointToolMode.Target; } else { ToolMode = MapPointToolMode.Unknown; } if (ToolMode != MapPointToolMode.Unknown) { base.OnActivateToolCommand(obj); } }
public TabBaseViewModel() { HasInputError = false; IsHistoryUpdate = true; IsToolGenerated = false; ToolMode = MapPointToolMode.Unknown; // commands EditPropertiesDialogCommand = new RelayCommand(OnEditPropertiesDialogCommand); ImportCSVFileCommand = new RelayCommand(OnImportCSVFileCommand); Mediator.Register(CoordinateConversionLibrary.Constants.NEW_MAP_POINT, OnNewMapPointInternal); Mediator.Register(CoordinateConversionLibrary.Constants.MOUSE_MOVE_POINT, OnMouseMoveInternal); Mediator.Register(CoordinateConversionLibrary.Constants.TAB_ITEM_SELECTED, OnTabItemSelected); Mediator.Register(CoordinateConversionLibrary.Constants.SetToolMode, (mode) => { MapPointToolMode eMode = MapPointToolMode.Unknown; Enum.TryParse <MapPointToolMode>(mode.ToString(), out eMode); ToolMode = eMode; }); configObserver = new PropertyObserver <CoordinateConversionLibraryConfig>(CoordinateConversionLibraryConfig.AddInConfig) .RegisterHandler(n => n.DisplayCoordinateType, OnDisplayCoordinateTypeChanged); }
/// <summary> /// Method called when the map TOC is updated /// Reset surface names /// </summary> /// <param name="obj">not used</param> //private void OnMapTocUpdated(object obj) //{ // if (ArcMap.Document == null || ArcMap.Document.FocusMap == null) // return; // var map = ArcMap.Document.FocusMap; // ResetSurfaceNames(map); //} /// <summary> /// Override this method to implement a "Mode" to separate the input of /// observer points and target points /// </summary> /// <param name="obj">ToolMode string from resource file</param> internal override void OnActivateTool(object obj) { var mode = obj.ToString(); ToolMode = MapPointToolMode.Unknown; if (string.IsNullOrWhiteSpace(mode)) return; if (mode == VisibilityLibrary.Properties.Resources.ToolModeObserver) ToolMode = MapPointToolMode.Observer; else if (mode == VisibilityLibrary.Properties.Resources.ToolModeTarget) ToolMode = MapPointToolMode.Target; base.OnActivateTool(obj); }