/// <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);
            }
        }
Пример #2
0
        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);
        }