Beispiel #1
0
        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;
 }
Beispiel #7
0
        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;
        }
Beispiel #8
0
 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;
 }