Пример #1
0
        //Handles all property changes from the Tools window
        private void Tools_PropertyChanged(Object sender, PropertyChangedEventArgs args)
        {
            if (Engine != null)
            {
                switch (args.PropertyName)
                {
                case "TrackType":
                    Engine.VisibleTrackType = Tools.TrackType;
                    Tools.TrackPointsCount  = Engine.VisibleTrack.Length;
                    Engine.Display();
                    break;

                case "PointerIndex":
                    if (Report != null)
                    {
                        TrackPointer = Engine.VisibleTrack[Tools.PointerIndex];
                        Engine.TrackPointer.Position = TrackPointer.ToWindowsPoint();
                        if (Tools.KeepPointerCentered)
                        {
                            MapViewer.PanTo(Engine.TrackPointer.Position);
                        }
                        RaisePropertyChanged("TrackPointer");
                    }
                    break;

                case "KeepPointerCentered":
                    Engine.KeepPointerCentered = Tools.KeepPointerCentered;
                    if (Tools.KeepPointerCentered)
                    {
                        MapViewer.PanTo(Engine.TrackPointer.Position);
                    }
                    break;

                case "LayerVisibilityMask":
                    MapViewer.LayerVisibilityMask = Tools.LayerVisibilityMask;
                    break;

                default:
                    throw new NotImplementedException();
                }
            }
        }
Пример #2
0
        public override void Display()
        {
            if (!Engine.MapViewer.IsMapLoaded)
            {
                switch (Definition.ObjectType)
                {
                case "BITMAP":
                    Engine.MapViewer.LoadBitmap(Path.Combine(Directory.GetCurrentDirectory(), Definition.ObjectParameters[0]));
                    break;

                case "BLANK":
                    Engine.MapViewer.LoadBlank(topLeft.ToWindowsPoint(), bottomRight.ToWindowsPoint());
                    break;
                }
            }
            if (gridWidth > 0)
            {
                Engine.MapViewer.AddOverlay(new CoordinateGridOverlay(gridWidth)
                {
                    Layer = (uint)OverlayLayers.Grid
                });
            }
        }