Example #1
0
        void controlBar_AddZoneCommand(object sender, AddObjectEventArgs e)
        {
            Point centerStart = zoomCanvas.PointFromScreen(e.Center);

            Point centerTarget = new Point(zoomCanvas.ActualWidth / 2 + rand.Next(-100, 100),
                                           zoomCanvas.ActualHeight / 2 + rand.Next(-100, 100));

            double orientationStart  = -180;
            double orientationTarget = 0;

            Vector scaleStart  = new Vector(0.2, 0.2);
            Vector scaleTarget = zoomCanvas.ViewScaleInvert * 3;

            if (e.IsMap)
            {
                GenerateMapModel(centerStart, centerTarget, orientationStart, orientationTarget, scaleStart, scaleTarget);
            }
            else
            {
                ShowZoneModel zoneModel = new ShowZoneModel();
                zoneModel.Text = "Zone";

                ShowView view = GenerateModel(zoneModel, centerStart, centerTarget, orientationStart, orientationTarget, scaleStart, scaleTarget);

                textEntry.SelectCursor(view);
                textEntry.SelectAll = true;
            }
        }
Example #2
0
        public ShowView CreateView(ShowModel model)
        {
            Type modelType = model.GetType();

            if (customTypeFactories.ContainsKey(modelType))
            {
                CreateViewHandler handler = customTypeFactories[modelType];
                return(handler(model));
            }

            if (model is TokenModel)
            {
                return(null);
            }
            if (model is ShowSettings)
            {
                return(null);
            }
            if (model is ShowZoneModel)
            {
                ShowZoneModel zoneModel = model as ShowZoneModel;
                //if (zoneModel.IsMap)
                //{
                //    return new ShowMapView(zoneModel);
                //}
                //else
                {
                    return(new ShowZoneView(zoneModel));
                }
            }
            if (model is ShowTextModel)
            {
                return(new ShowTextView(model as ShowTextModel));
            }
            if (model is ShowImageModel)
            {
                return(new ShowImageView(model as ShowImageModel));
            }
            //if (model is ShowArrowModel)
            //{
            //    return new ShowArrowView(model as ShowArrowModel);
            //}
            if (model is ShowSlidePartModel)
            {
                return(new ShowSlidePartView(model as ShowSlidePartModel));
            }
            if (model is ShowObjectModel)
            {
                //Model is just a generic ShowObject
                return(new ShowObjectView(model as ShowObjectModel));
            }
            if (model is ShowModel)
            {
                return(new ShowView(model));
            }

            return(null);
        }
Example #3
0
        public ShowZoneView(ShowZoneModel model)
            : base(model)
        {
            InitializeComponent();

            this.MinHeight = 150;
            this.MinWidth  = 150;

            this.LayoutUpdated += new EventHandler(ShowZoneView_LayoutUpdated);
        }
Example #4
0
        private void GenerateMapModel(Point centerStart, Point centerTarget, double orientationStart, double orientationTarget, Vector scaleStart, Vector scaleTarget)
        {
            ShowZoneModel mapModel = new ShowZoneModel();

            mapModel.Text = "Bing Maps 3D";
            ShowMapView mapView = new ShowMapView(mapModel);

            ShowZoneModel model = mapView.Model as ShowZoneModel;

            if (model == null)
            {
                return;
            }

            centerStart  = zoomCanvas.ScreenToWorld(centerStart);
            centerTarget = zoomCanvas.ScreenToWorld(centerTarget);

            model.IsMap                     = true;
            model.IsLocked                  = this.isLocked;
            model.DisplayMatrix.Center      = centerStart;
            model.DisplayMatrix.Orientation = orientationStart;
            model.DisplayMatrix.Scale       = scaleStart;

            AnimateUtility.AnimateElementPoint(model.DisplayMatrix, DisplayMatrix.CenterProperty, centerTarget, 0, 1);
            AnimateUtility.AnimateElementDouble(model.DisplayMatrix, DisplayMatrix.OrientationProperty, orientationTarget, 0, 1);
            AnimateUtility.AnimateElementVector(model.DisplayMatrix, DisplayMatrix.ScaleProperty, scaleTarget, 0, 1);

            if (!showContext.Models.Contains(model))
            {
                showContext.Models.Add(model);
            }
            showContext.SendToFront(model);

            if (!zoomCanvas.Items.Contains(mapView))
            {
                zoomCanvas.Items.Add(mapView);
            }
        }
Example #5
0
        private void GenerateZoneControl()
        {
            ShowZoneModel zoneModel = new ShowZoneModel();

            zoneModel.Text = "Zone";

            Viewbox vb = new Viewbox();

            vb.Width  = 100;
            vb.Height = 100;
            vb.Margin = new Thickness(20.0);

            ShowZoneView zoneView = new ShowZoneView(zoneModel);

            zoneView.Background = new SolidColorBrush(Colors.Transparent);

            vb.Child = zoneView;

            zoneView.IsManipulationEnabled = true;
            zoneView.ManipulationDelta    += zoneView_ManipulationDelta;

            pnlControls.Children.Add(vb);
        }
Example #6
0
        public void DoDelete()
        {
            ShowZoneModel zoneModel = CursorModel as ShowZoneModel;

            //if (zoneModel != null && zoneModel.IsMap)
            //{
            //    ShowMapView mapView = CursorView as ShowMapView;
            //    if (mapView != null)
            //    {
            //        mapView.map.Dispose();
            //        mapView.map = null;
            //    }
            //}

            if (_zoomCanvas.Items.Contains(CursorView))
            {
                _zoomCanvas.Items.Remove(CursorView);
            }
            if (_showContext.Models.Contains(CursorModel))
            {
                _showContext.Models.Remove(CursorModel);
            }
            DeselectCursor();
        }