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; } }
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); }
public ShowZoneView(ShowZoneModel model) : base(model) { InitializeComponent(); this.MinHeight = 150; this.MinWidth = 150; this.LayoutUpdated += new EventHandler(ShowZoneView_LayoutUpdated); }
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); } }
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); }
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(); }