public override void OnApplyTemplate() { base.OnApplyTemplate(); if (this.ScrollViewer == null) return; this.designCanvas = this.ScrollViewer.Content as DesignCanvas; if (this.designCanvas == null) throw new Exception("DesignCanvas must not be null!"); this.zoomThumb = Template.FindName("PART_ZoomThumb", this) as Thumb; if (this.zoomThumb == null) throw new Exception("PART_ZoomThumb template is missing!"); this.zoomCanvas = Template.FindName("PART_ZoomCanvas", this) as Canvas; if (this.zoomCanvas == null) throw new Exception("PART_ZoomCanvas template is missing!"); this.zoomSlider = Template.FindName("PART_ZoomSlider", this) as Slider; if (this.zoomSlider == null) throw new Exception("PART_ZoomSlider template is missing!"); this.designCanvas.LayoutUpdated += new EventHandler(this.DesignCanvas_LayoutUpdated); this.zoomThumb.DragDelta += new DragDeltaEventHandler(this.Thumb_DragDelta); this.zoomSlider.ValueChanged += new RoutedPropertyChangedEventHandler<double>(this.ZoomSlider_ValueChanged); this.scaleTransform = new ScaleTransform(); this.designCanvas.LayoutTransform = this.scaleTransform; }
public ConnectorAdorner(DesignCanvas canvas, Connector sourceConnector) : base(canvas) { this.designCanvas = canvas; this.sourceConnector = sourceConnector; drawingPen = new Pen(Brushes.LightSlateGray, 1); drawingPen.LineJoin = PenLineJoin.Round; this.Cursor = Cursors.Cross; }
public ConnectionAdorner(DesignCanvas canvas, Connection connection) : base(canvas) { this.designCanvas = canvas; adornerCanvas = new Canvas(); this.visualChildren = new VisualCollection(this); this.visualChildren.Add(adornerCanvas); this.connection = connection; this.connection.PropertyChanged += new PropertyChangedEventHandler(AnchorPositionChanged); InitializeDragThumbs(); drawingPen = new Pen(Brushes.LightSlateGray, 1); drawingPen.LineJoin = PenLineJoin.Round; //base.Unloaded += new RoutedEventHandler(ConnectionAdorner_Unloaded); //Resolve the issue of swithing tabItem }
public RubberbandAdorner(DesignCanvas designCanvas, Point? dragStartPoint) : base(designCanvas) { this.designCanvas = designCanvas; this.startPoint = dragStartPoint; this.adornerCanvas = new Canvas(); this.adornerCanvas.Background = Brushes.Transparent; this.visuals = new VisualCollection(this); this.visuals.Add(this.adornerCanvas); this.rubberband = new Rectangle(); this.rubberband.Stroke = Brushes.Navy; this.rubberband.StrokeThickness = 1; this.rubberband.StrokeDashArray = new DoubleCollection(new double[] { 2 }); this.adornerCanvas.Children.Add(this.rubberband); }
public DesignerKernel() { InitializeComponent(); canvas = this.DesignCanvas; canvas.DesignCanvasMouseClick += (o, e) => { this.RaiseDesignCanvasMouseClick(e.canvasInfo); }; canvas.DesignCanvasMouseDoubleClick += (o, e) => { this.RaiseDesignCanvasMouseDoubleClick(e.canvasInfo); }; canvas.DesignCanvasMouseRightClick += (o, e) => { this.RaiseDesignCanvasMouseRightClick(e.canvasInfo); }; canvas.DesignItemMouseDoubleClick += (o, e) => { this.RaiseDesignItemMouseDoubleClick(e.DesignItemInfo); }; canvas.DesignItemMouseRightClick += (o, e) => { this.RaiseDesignItemMouseRightClick(e.DesignItemInfo); }; canvas.DesignItemLinkButtonClick += (o, e) => { this.RaiseDesignItemLinkButtonClick(e.DesignItemInfo); }; canvas.DesignItemLinkButtonDoubleClick += (o, e) => { this.RaiseDesignItemLinkButtonDoubleClick(e.DesignItemInfo); }; canvas.DesignConnectionMouseDoubleClick += (o, e) => { this.RaiseDesignConnectionMouseDoubleClick(e.DesignConnection); }; canvas.DesignConnectionMouseRightClick += (o, e) => { this.RaiseDesignConnectionMouseRightClick(e.DesignConnection); }; canvas.DesignConnectionMouseRightClick += (o, e) => { this.RaiseDesignConnectionMouseRightClick(e.DesignConnection); }; canvas.DesignItemSelected += (o, e) =>{this.RaiseDesignItemSelected(e.DesignItemInfo);}; canvas.DesignConnectionSelected+=(o,e)=>{this.RaiseDesignConnectionSelected(e.DesignConnection);}; canvas.DesignItemMultiSelected += (o, e) =>{this.RaiseDesignItemMultiSelected(e.DesignItemInfos);}; canvas.DesignShapeMultiSelected += (o, e) =>{this.RaiseDesignShapeMultiSelected(e.DesignItemInfos,e.DesignConnectionInfos);}; canvas.PreAddDesignItem += (o, e) => { this.RaisePreAddDesignItem(e.DesignItemInfos); }; canvas.AddingDesignItem += (o, e) => { this.RaiseAddingDesignItem(e.DesignItemInfos); }; canvas.AddedDesignItem += (o, e) => { this.RaiseAddedDesignItem(e.DesignItemInfo); }; canvas.PreAddDesignConnection += (o, e) => { this.RaisePreAddDesignConnection(e.SourceItemInfo,e.SinkItemInfo); }; canvas.AddingDesignConnection += (o, e) => { this.RaiseAddingDesignConnection(e.SourceItemInfo,e.SinkItemInfo); }; canvas.AddedDesignConnection += (o, e) => { this.RaiseAddedDesignConnection(e.DesignConnection); }; canvas.AddingDesignShapes += (o, e) => { this.RaiseAddingDesignShapes(e.DesignItemInfos,e.DesignConnectionInfos); }; canvas.AddedDesignShapes += (o, e) => { this.RaiseAddedDesignShapes(e.DesignItemInfos,e.DesignConnectionInfos); }; canvas.DeletingDesignShapes += (o, e) => { this.RaiseDeletingDesignShapes(e.DesignItemInfos,e.DesignConnectionInfos); }; canvas.DeletedDesignShapes += (o, e) => { this.RaiseDeletedDesignShapes(e.DesignItemInfos,e.DesignConnectionInfos); }; canvas.ModifyingDesignShapes += (o, e) => { this.RaiseModifyingDesignShapes(e.DesignItemInfos,e.DesignConnectionInfos); }; canvas.ModifiedDesignShapes += (o, e) => { this.RaiseModifiedDesignShapes(e.DesignItemInfos,e.DesignConnectionInfos); }; canvas.DesignItemCollectionChanged += (o, e) => { this.RaiseDesignItemCollectionChanged(e.DesignItemInfos); }; canvas.DesignWorkspaceSaving += (o, e) => { this.RaiseDesignWorkspaceSaving(e.CanvasInfo,e.DesignItemInfos,e.DesignConnectionInfos); }; }
public SelectionService(DesignCanvas canvas) { this.designCanvas = canvas; }
protected override void OnPreviewMouseDown(MouseButtonEventArgs e) { base.OnPreviewMouseDown(e); canvas = VisualTreeHelper.GetParent(this) as DesignCanvas; // update selection if (canvas != null) { if ((Keyboard.Modifiers & (ModifierKeys.Shift | ModifierKeys.Control)) != ModifierKeys.None) { if (this.IsSelected) { canvas.SelectionService.RemoveFromSelection(this); } else { canvas.SelectionService.AddToSelection(this); } } else if (!this.IsSelected) { canvas.SelectionService.SelectItem(this); } var designItemInfo = canvas.CurrentDesignItemInfos.First(a=>a.ID==this.ID); if (VisualTreeHelperX.FindParentControl<Button>(e.OriginalSource as DependencyObject) == null) { if (e.ChangedButton == MouseButton.Left && e.LeftButton == MouseButtonState.Pressed) { if (e.ClickCount == 2) { canvas.RaiseDesignItemMouseDoubleClick(designItemInfo); } } else if (e.ChangedButton == MouseButton.Right && e.RightButton == MouseButtonState.Pressed) { if (e.ClickCount == 1) { canvas.RaiseDesignItemMouseRightClick(designItemInfo); } } } Focus(); } e.Handled = false; }
protected override void OnMouseDown(System.Windows.Input.MouseButtonEventArgs e) { base.OnMouseDown(e); // usual selection business canvas = VisualTreeHelper.GetParent(this) as DesignCanvas; if (canvas != null) { if ((Keyboard.Modifiers & (ModifierKeys.Shift | ModifierKeys.Control)) != ModifierKeys.None) if (this.IsSelected) { canvas.SelectionService.RemoveFromSelection(this); } else { canvas.SelectionService.AddToSelection(this); } else if (!this.IsSelected) { canvas.SelectionService.SelectItem(this); } var designItemInfo = this.ShapeInfoUnit.ShapeInfo as DesignConnectionInfo; if (e.ChangedButton == MouseButton.Left && e.LeftButton == MouseButtonState.Pressed) { if (e.ClickCount == 2) { canvas.RaiseDesignConnectionMouseDoubleClick(designItemInfo); } } else if (e.ChangedButton == MouseButton.Right && e.RightButton == MouseButtonState.Pressed) { if (e.ClickCount == 1) { canvas.RaiseDesignConnectionMouseRightClick(designItemInfo); } } Focus(); } e.Handled = false; }