private bool GetDrawFenceModeResult(object value, object parameter)
        {
            bool          result        = false;
            DrawFenceMode drawFenceMode = (DrawFenceMode)value;

            switch (drawFenceMode)
            {
            case DrawFenceMode.DrawNewFence:
                switch (parameter.ToString())
                {
                case "NewFence":
                    result = true;
                    break;

                case "EditFence":
                    result = false;
                    break;
                }
                break;

            case DrawFenceMode.EditFence:
                switch (parameter.ToString())
                {
                case "NewFence":
                    result = false;
                    break;

                case "EditFence":
                    result = true;
                    break;
                }
                break;
            }
            return(result);
        }
Example #2
0
        public MainWindowViewModel(WpfMap map)
        {
            dispatcherTimer          = new DispatcherTimer();
            dispatcherTimer.Interval = TimeSpan.FromMilliseconds(5000);
            dispatcherTimer.Tick    += AutoRefreshTimer_Tick;

            vehicles    = new ObservableCollection <VehicleViewModel>();
            unitSystems = new Collection <UnitSystem>();
            unitSystems.Add(UnitSystem.Imperial);
            unitSystems.Add(UnitSystem.Metric);
            selectedUnitSystem     = UnitSystem.Metric;
            autoRefreshMode        = AutoRefreshMode.On;
            autoRefresh            = true;
            drawFenceMode          = DrawFenceMode.DrawNewFence;
            measureMode            = MeasureMode.Line;
            mapMode                = ControlMapMode.Pan;
            measurePanelVisibility = Visibility.Collapsed;
            editPanelVisibility    = Visibility.Collapsed;

            MapControl = map;

            dispatcherTimer.Start();
        }
        public MainWindowViewModel(WpfMap map)
        {
            dispatcherTimer = new DispatcherTimer();
            dispatcherTimer.Interval = TimeSpan.FromMilliseconds(5000);
            dispatcherTimer.Tick += AutoRefreshTimer_Tick;

            vehicles = new ObservableCollection<VehicleViewModel>();
            unitSystems = new Collection<UnitSystem>();
            unitSystems.Add(UnitSystem.Imperial);
            unitSystems.Add(UnitSystem.Metric);
            selectedUnitSystem = UnitSystem.Metric;
            autoRefreshMode = AutoRefreshMode.On;
            autoRefresh = true;
            drawFenceMode = DrawFenceMode.DrawNewFence;
            measureMode = MeasureMode.Line;
            mapMode = ControlMapMode.Pan;
            measurePanelVisibility = Visibility.Collapsed;
            editPanelVisibility = Visibility.Collapsed;

            MapControl = map;

            dispatcherTimer.Start();
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string temp = parameter.ToString();

            if (temp == "MeasureLine" || temp == "MeasurePolygon")
            {
                MeasureMode measureMode = MeasureMode.Line;
                bool        isChecked   = (bool)value;

                if (isChecked)
                {
                    switch (parameter.ToString())
                    {
                    case "MeasureLine":
                        measureMode = MeasureMode.Line;
                        break;

                    case "MeasurePolygon":
                        measureMode = MeasureMode.Polygon;
                        break;
                    }
                }
                else
                {
                    switch (parameter.ToString())
                    {
                    case "MeasureLine":
                        measureMode = MeasureMode.Polygon;
                        break;

                    case "MeasurePolygon":
                        measureMode = MeasureMode.Line;
                        break;
                    }
                }
                return(measureMode);
            }

            if (temp == "Pan" || temp == "DrawFence" || temp == "Measure")
            {
                ControlMapMode mapMode   = ControlMapMode.Pan;
                bool           isChecked = (bool)value;

                if (isChecked)
                {
                    switch (parameter.ToString())
                    {
                    case "Pan":
                        mapMode = ControlMapMode.Pan;
                        break;

                    case "DrawFence":
                        mapMode = ControlMapMode.DrawFence;
                        break;

                    case "Measure":
                        mapMode = ControlMapMode.Measure;
                        break;
                    }
                }
                else
                {
                    switch (parameter.ToString())
                    {
                    case "Pan":
                        mapMode = ControlMapMode.DrawFence;
                        break;

                    case "DrawFence":
                        mapMode = ControlMapMode.Measure;
                        break;

                    case "Measure":
                        mapMode = ControlMapMode.Pan;
                        break;
                    }
                }
                return(mapMode);
            }

            if (temp == "NewFence" || temp == "EditFence")
            {
                DrawFenceMode drawFenceMode = DrawFenceMode.DrawNewFence;
                bool          isChecked     = (bool)value;

                if (isChecked)
                {
                    switch (parameter.ToString())
                    {
                    case "NewFence":
                        drawFenceMode = DrawFenceMode.DrawNewFence;
                        break;

                    case "EditFence":
                        drawFenceMode = DrawFenceMode.EditFence;
                        break;
                    }
                }
                else
                {
                    switch (parameter.ToString())
                    {
                    case "NewFence":
                        drawFenceMode = DrawFenceMode.EditFence;
                        break;

                    case "EditFence":
                        drawFenceMode = DrawFenceMode.DrawNewFence;
                        break;
                    }
                }
                return(drawFenceMode);
            }

            return(value);
        }