diff --git a/AIStudio.Wpf.DiagramApp/ViewModels/DrawingViewModel.cs b/AIStudio.Wpf.DiagramApp/ViewModels/DrawingViewModel.cs index 95b93bd..be88635 100644 --- a/AIStudio.Wpf.DiagramApp/ViewModels/DrawingViewModel.cs +++ b/AIStudio.Wpf.DiagramApp/ViewModels/DrawingViewModel.cs @@ -37,82 +37,82 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels { base.Init(initNew); - DesignerItemViewModelBase line = new LineDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(38, 38), new Point(118, 118) }, true); + DesignerItemViewModelBase line = new LineDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(38, 38), new Point(118, 118) }, null, true); DiagramViewModel.Add(line); - DesignerItemViewModelBase rectangle = new RectangleDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(138, 38), new Point(218, 118) }, true); + DesignerItemViewModelBase rectangle = new RectangleDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(138, 38), new Point(218, 118) }, null, true); DiagramViewModel.Add(rectangle); - DesignerItemViewModelBase ellipse = new EllipseDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(238, 38), new Point(318, 118) }, true); + DesignerItemViewModelBase ellipse = new EllipseDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(238, 38), new Point(318, 118) }, null, true); DiagramViewModel.Add(ellipse); - DesignerItemViewModelBase text = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(338, 38), "以下图形使用路线", true); + DesignerItemViewModelBase text = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(338, 38), "以下图形使用路线", null, true); DiagramViewModel.Add(text); - DesignerItemViewModelBase triangle = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableTriangle, new List { new Point(438, 38), new Point(518, 118) }, true); + DesignerItemViewModelBase triangle = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableTriangle, new List { new Point(438, 38), new Point(518, 118) }, null, true); DiagramViewModel.Add(triangle); - DesignerItemViewModelBase rhombus = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableRhombus, new List { new Point(538, 38), new Point(618, 118) }, true); + DesignerItemViewModelBase rhombus = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableRhombus, new List { new Point(538, 38), new Point(618, 118) }, null, true); DiagramViewModel.Add(rhombus); - DesignerItemViewModelBase hexagon = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableHexagon, new List { new Point(638, 38), new Point(718, 118) }, true); + DesignerItemViewModelBase hexagon = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableHexagon, new List { new Point(638, 38), new Point(718, 118) }, null, true); DiagramViewModel.Add(hexagon); - DesignerItemViewModelBase pentagram = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasablePentagram, new List { new Point(738, 38), new Point(818, 118) }, true); + DesignerItemViewModelBase pentagram = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasablePentagram, new List { new Point(738, 38), new Point(818, 118) }, null, true); DiagramViewModel.Add(pentagram); - DesignerItemViewModelBase starFour = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableStarFour, new List { new Point(38, 138), new Point(118, 218) }, true); + DesignerItemViewModelBase starFour = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableStarFour, new List { new Point(38, 138), new Point(118, 218) }, null, true); DiagramViewModel.Add(starFour); - DesignerItemViewModelBase starThree = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableStarThree, new List { new Point(138, 138), new Point(218, 218) }, true); + DesignerItemViewModelBase starThree = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableStarThree, new List { new Point(138, 138), new Point(218, 218) }, null, true); DiagramViewModel.Add(starThree); - DesignerItemViewModelBase chat = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableChat, new List { new Point(238, 138), new Point(318, 218) }, true); + DesignerItemViewModelBase chat = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableChat, new List { new Point(238, 138), new Point(318, 218) }, null, true); DiagramViewModel.Add(chat); - DesignerItemViewModelBase comment = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableComment, new List { new Point(338, 138), new Point(418, 218) }, true); + DesignerItemViewModelBase comment = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableComment, new List { new Point(338, 138), new Point(418, 218) }, null, true); DiagramViewModel.Add(comment); - DesignerItemViewModelBase cloud = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableCloud, new List { new Point(438, 138), new Point(518, 218) }, true); + DesignerItemViewModelBase cloud = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableCloud, new List { new Point(438, 138), new Point(518, 218) }, null, true); DiagramViewModel.Add(cloud); - DesignerItemViewModelBase arrowRight = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableArrowRight, new List { new Point(538, 138), new Point(618, 218) }, true); + DesignerItemViewModelBase arrowRight = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableArrowRight, new List { new Point(538, 138), new Point(618, 218) }, null, true); DiagramViewModel.Add(arrowRight); - DesignerItemViewModelBase arrowLeft = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableArrowLeft, new List { new Point(638, 138), new Point(718, 218) }, true); + DesignerItemViewModelBase arrowLeft = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableArrowLeft, new List { new Point(638, 138), new Point(718, 218) }, null, true); DiagramViewModel.Add(arrowLeft); - DesignerItemViewModelBase check = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableCheck, new List { new Point(738, 138), new Point(818, 218) }, true); + DesignerItemViewModelBase check = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableCheck, new List { new Point(738, 138), new Point(818, 218) }, null, true); DiagramViewModel.Add(check); - DesignerItemViewModelBase close = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableClose, new List { new Point(38, 238), new Point(118, 318) }, true); + DesignerItemViewModelBase close = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableClose, new List { new Point(38, 238), new Point(118, 318) }, null, true); DiagramViewModel.Add(close); - DesignerItemViewModelBase heart = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableHeart, new List { new Point(138, 238), new Point(218, 318) }, true); + DesignerItemViewModelBase heart = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableHeart, new List { new Point(138, 238), new Point(218, 318) }, null, true); DiagramViewModel.Add(heart); - DesignerItemViewModelBase polyline = new PolylineDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(238, 238), new Point(298, 258), new Point(258, 298), new Point(318, 318) }, true); + DesignerItemViewModelBase polyline = new PolylineDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(238, 238), new Point(298, 258), new Point(258, 298), new Point(318, 318) }, null, true); DiagramViewModel.Add(polyline); - DesignerItemViewModelBase polygon = new PolygonDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(338, 238), new Point(398, 258), new Point(358, 298), new Point(418, 318) }, true); + DesignerItemViewModelBase polygon = new PolygonDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(338, 238), new Point(398, 258), new Point(358, 298), new Point(418, 318) }, null, true); DiagramViewModel.Add(polygon); - DesignerItemViewModelBase text2 = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(438, 238), "以下图形使用画线", true); + DesignerItemViewModelBase text2 = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(438, 238), "以下图形使用画线", null, true); DiagramViewModel.Add(text2); //画正方形 var drawingPoint1 = DrawingHelper.GetPoints(new Point(38, 518), 0, Enumerable.Repeat(new System.Tuple(160, -90), 4).ToList()); - DesignerItemViewModelBase directLine1 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint1, true); + DesignerItemViewModelBase directLine1 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint1, null, true); DiagramViewModel.Add(directLine1); //画三角形 var drawingPoint2 = DrawingHelper.GetPoints(new Point(238, 518), 0, Enumerable.Repeat(new System.Tuple(160, -120), 3).ToList()); - DesignerItemViewModelBase directLine2 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint2, true); + DesignerItemViewModelBase directLine2 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint2, null, true); DiagramViewModel.Add(directLine2); //画五边形 var drawingPoint3 = DrawingHelper.GetPoints(new Point(478, 518), 0, Enumerable.Repeat(new System.Tuple(100, -72), 5).ToList()); - DesignerItemViewModelBase directLine3 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint3, true); + DesignerItemViewModelBase directLine3 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint3, null, true); DiagramViewModel.Add(directLine3); //画六角形 @@ -123,7 +123,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels tuple4.Add(new System.Tuple(70, -72)); } var drawingPoint4 = DrawingHelper.GetPoints(new Point(750, 408), 0, tuple4); - DesignerItemViewModelBase directLine4 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint4, true); + DesignerItemViewModelBase directLine4 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint4, null, true); DiagramViewModel.Add(directLine4); //画八边形 @@ -134,7 +134,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels tuple5.Add(new System.Tuple(36, 45)); } var drawingPoint5 = DrawingHelper.GetPoints(new Point(153, 689), 0, tuple5); - DesignerItemViewModelBase directLine5 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint5, true); + DesignerItemViewModelBase directLine5 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint5, null, true); DiagramViewModel.Add(directLine5); //画6个正三角形 @@ -148,7 +148,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels tuple6.Add(new System.Tuple(0, -60)); } var drawingPoint6 = DrawingHelper.GetPoints(new Point(328, 628), 0, tuple6); - DesignerItemViewModelBase directLine6 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint6, true); + DesignerItemViewModelBase directLine6 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint6, null, true); DiagramViewModel.Add(directLine6); //画6个正六边形 @@ -162,7 +162,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels tuple7.Add(new System.Tuple(0, -60)); } var drawingPoint7 = DrawingHelper.GetPoints(new Point(528, 628), 0, tuple7); - DesignerItemViewModelBase directLine7 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint7, true); + DesignerItemViewModelBase directLine7 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint7, null, true); DiagramViewModel.Add(directLine7); //画8个八角星 @@ -177,10 +177,10 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels tuple8.Add(new System.Tuple(0, -45)); } var drawingPoint8 = DrawingHelper.GetPoints(new Point(728, 628), 0, tuple8); - DesignerItemViewModelBase directLine8 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint8, true); + DesignerItemViewModelBase directLine8 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint8, null, true); DiagramViewModel.Add(directLine8); - DesignerItemViewModelBase text3 = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(38, 738), "示例完毕,欢迎大家来到AIStudio画笔画板", true); + DesignerItemViewModelBase text3 = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(38, 738), "示例完毕,欢迎大家来到AIStudio画笔画板", null, true); DiagramViewModel.Add(text3); } diff --git a/AIStudio.Wpf.DiagramDesigner/Adorners/DrawingRubberbandAdorner.cs b/AIStudio.Wpf.DiagramDesigner/Adorners/DrawingRubberbandAdorner.cs index 1d56ff6..66319ec 100644 --- a/AIStudio.Wpf.DiagramDesigner/Adorners/DrawingRubberbandAdorner.cs +++ b/AIStudio.Wpf.DiagramDesigner/Adorners/DrawingRubberbandAdorner.cs @@ -62,11 +62,11 @@ namespace AIStudio.Wpf.DiagramDesigner { if (DrawMode == DrawMode.Eraser) { - _drawingDesignerItem = new EraserDrawingDesignerItemViewModel(_viewModel, dragStartPoint); + _drawingDesignerItem = new EraserDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null); } if (DrawMode == DrawMode.EraserPreview) { - _drawingDesignerItem = new EraserPreviewDrawingDesignerItemViewModel(_viewModel, dragStartPoint); + _drawingDesignerItem = new EraserPreviewDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null); } _rubberbandBrush = null; @@ -76,41 +76,41 @@ namespace AIStudio.Wpf.DiagramDesigner { if (DrawMode == DrawMode.ErasableLine) { - _drawingDesignerItem = new LineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true); + _drawingDesignerItem = new LineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true); } else if (DrawMode == DrawMode.ErasableRectangle) { - _drawingDesignerItem = new RectangleDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true); + _drawingDesignerItem = new RectangleDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true); } else if (DrawMode == DrawMode.ErasableEllipse) { - _drawingDesignerItem = new EllipseDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true); + _drawingDesignerItem = new EllipseDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true); } else if (DrawMode == DrawMode.ErasablePolyline) { - _drawingDesignerItem = new PolylineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true); + _drawingDesignerItem = new PolylineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true); } else if (DrawMode == DrawMode.ErasablePolygon) { - _drawingDesignerItem = new PolygonDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true); + _drawingDesignerItem = new PolygonDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true); } else if (DrawMode == DrawMode.ErasableDirectLine) { - _drawingDesignerItem = new DirectLineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true); + _drawingDesignerItem = new DirectLineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true); } else if (DrawMode == DrawMode.ErasableText) { - _drawingDesignerItem = new TextDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true); + _drawingDesignerItem = new TextDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true); } else if (DrawMode == DrawMode.ColorPicker) { - _drawingDesignerItem = new ColorPickerDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true); + _drawingDesignerItem = new ColorPickerDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true); StreamResourceInfo sri = Application.GetResourceStream(new Uri("pack://application:,,,/AIStudio.Wpf.DiagramDesigner;component/Images/color-picker.cur", UriKind.RelativeOrAbsolute)); this.Cursor = new Cursor(sri.Stream); } else { - _drawingDesignerItem = new SharpDrawingDesignerItemViewModel(_viewModel, DrawMode, dragStartPoint, true); + _drawingDesignerItem = new SharpDrawingDesignerItemViewModel(_viewModel, DrawMode, dragStartPoint, null, true); } _rubberbandBrush = null;//ColorObject.ToBrush(_drawingDesignerItem.ColorViewModel.FillColor); @@ -121,27 +121,27 @@ namespace AIStudio.Wpf.DiagramDesigner { if (DrawMode == DrawMode.Line) { - _drawingDesignerItem = new LineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false); + _drawingDesignerItem = new LineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false); } else if (DrawMode == DrawMode.Rectangle) { - _drawingDesignerItem = new RectangleDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false); + _drawingDesignerItem = new RectangleDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false); } else if (DrawMode == DrawMode.Ellipse) { - _drawingDesignerItem = new EllipseDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false); + _drawingDesignerItem = new EllipseDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false); } else if (DrawMode == DrawMode.Polyline) { - _drawingDesignerItem = new PolylineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false); + _drawingDesignerItem = new PolylineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false); } else if (DrawMode == DrawMode.Polygon) { - _drawingDesignerItem = new PolygonDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false); + _drawingDesignerItem = new PolygonDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false); } else if (DrawMode == DrawMode.DirectLine) { - _drawingDesignerItem = new DirectLineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false); + _drawingDesignerItem = new DirectLineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false); } _rubberbandBrush = _drawingDesignerItem.ColorViewModel.FillColor.ToBrush(); diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DiagramOption.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DiagramOption.cs index 9594c7a..7153bba 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DiagramOption.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DiagramOption.cs @@ -82,34 +82,34 @@ namespace AIStudio.Wpf.DiagramDesigner Size size = _pageSize; switch (PageSizeType) { - case PageSizeType.A3: size = new Size(297, 420); break; - case PageSizeType.A4: size = new Size(210, 297); break; - case PageSizeType.A5: size = new Size(148, 210); break; - case PageSizeType.B4: size = new Size(257, 364); break; - case PageSizeType.B5: size = new Size(176, 250); break; - case PageSizeType.DLEnvelope: size = new Size(110, 220); break; - case PageSizeType.C5Envelope: size = new Size(162, 229); break; - case PageSizeType.Quarto: size = new Size(215, 275); break; - case PageSizeType.C6Quarto: size = new Size(114, 162); break; - case PageSizeType.B5Quarto: size = new Size(176, 250); break; - case PageSizeType.ItalyQuarto: size = new Size(110, 230); break; - case PageSizeType.A4small: size = new Size(210, 297); break; - case PageSizeType.GermanStdFanfold: size = new Size(215.9, 304.8); break; - case PageSizeType.GermanLegalFanfold: size = new Size(203.2, 330.2); break; - case PageSizeType.PRC16K: size = new Size(146, 215); break; - case PageSizeType.PRC32K: size = new Size(97, 151); break; - case PageSizeType.Letter: size = new Size(215.9, 279.4); break; - case PageSizeType.Folio: size = new Size(215.9, 330.2); break; - case PageSizeType.Legal: size = new Size(215.9, 355.6); break; - case PageSizeType.Executive: size = new Size(184.15, 266.7); break; - case PageSizeType.Statement: size = new Size(139.7, 215.9); break; - case PageSizeType.Envelope: size = new Size(104.77, 241.3); break; - case PageSizeType.MonarchEnvelope: size = new Size(98.425, 190.5); break; - case PageSizeType.Tabloid: size = new Size(279.4, 431.8); break; - case PageSizeType.LetterSmall: size = new Size(215.9, 279.4); break; - case PageSizeType.CSheet: size = new Size(431.8, 558.8); break; - case PageSizeType.DSheet: size = new Size(558.8, 863.6); break; - case PageSizeType.ESheet: size = new Size(863.6, 1117.6); break; + case PageSizeType.A3: size = new Size(ScreenHelper.MmToWidth(297), ScreenHelper.MmToWidth(420)); break; + case PageSizeType.A4: size = new Size(ScreenHelper.MmToWidth(210), ScreenHelper.MmToWidth(297)); break; + case PageSizeType.A5: size = new Size(ScreenHelper.MmToWidth(148), ScreenHelper.MmToWidth(210)); break; + case PageSizeType.B4: size = new Size(ScreenHelper.MmToWidth(257), ScreenHelper.MmToWidth(364)); break; + case PageSizeType.B5: size = new Size(ScreenHelper.MmToWidth(176), ScreenHelper.MmToWidth(250)); break; + case PageSizeType.DLEnvelope: size = new Size(ScreenHelper.MmToWidth(110), ScreenHelper.MmToWidth(220)); break; + case PageSizeType.C5Envelope: size = new Size(ScreenHelper.MmToWidth(162), ScreenHelper.MmToWidth(229)); break; + case PageSizeType.Quarto: size = new Size(ScreenHelper.MmToWidth(215), ScreenHelper.MmToWidth(275)); break; + case PageSizeType.C6Quarto: size = new Size(ScreenHelper.MmToWidth(114), ScreenHelper.MmToWidth(162)); break; + case PageSizeType.B5Quarto: size = new Size(ScreenHelper.MmToWidth(176), ScreenHelper.MmToWidth(250)); break; + case PageSizeType.ItalyQuarto: size = new Size(ScreenHelper.MmToWidth(110), ScreenHelper.MmToWidth(230)); break; + case PageSizeType.A4small: size = new Size(ScreenHelper.MmToWidth(210), ScreenHelper.MmToWidth(297)); break; + case PageSizeType.GermanStdFanfold: size = new Size(ScreenHelper.MmToWidth(215.9), ScreenHelper.MmToWidth(304.8)); break; + case PageSizeType.GermanLegalFanfold: size = new Size(ScreenHelper.MmToWidth(203.2), ScreenHelper.MmToWidth(330.2)); break; + case PageSizeType.PRC16K: size = new Size(ScreenHelper.MmToWidth(146), ScreenHelper.MmToWidth(215)); break; + case PageSizeType.PRC32K: size = new Size(ScreenHelper.MmToWidth(97), ScreenHelper.MmToWidth(151)); break; + case PageSizeType.Letter: size = new Size(ScreenHelper.MmToWidth(215.9), ScreenHelper.MmToWidth(279.4)); break; + case PageSizeType.Folio: size = new Size(ScreenHelper.MmToWidth(215.9), ScreenHelper.MmToWidth(330.2)); break; + case PageSizeType.Legal: size = new Size(ScreenHelper.MmToWidth(215.9), ScreenHelper.MmToWidth(355.6)); break; + case PageSizeType.Executive: size = new Size(ScreenHelper.MmToWidth(184.15), ScreenHelper.MmToWidth(266.7)); break; + case PageSizeType.Statement: size = new Size(ScreenHelper.MmToWidth(139.7), ScreenHelper.MmToWidth(215.9)); break; + case PageSizeType.Envelope: size = new Size(ScreenHelper.MmToWidth(104.77), ScreenHelper.MmToWidth(241.3)); break; + case PageSizeType.MonarchEnvelope: size = new Size(ScreenHelper.MmToWidth(98.425), ScreenHelper.MmToWidth(190.5)); break; + case PageSizeType.Tabloid: size = new Size(ScreenHelper.MmToWidth(279.4), ScreenHelper.MmToWidth(431.8)); break; + case PageSizeType.LetterSmall: size = new Size(ScreenHelper.MmToWidth(215.9), ScreenHelper.MmToWidth(279.4)); break; + case PageSizeType.CSheet: size = new Size(ScreenHelper.MmToWidth(431.8), ScreenHelper.MmToWidth(558.8)); break; + case PageSizeType.DSheet: size = new Size(ScreenHelper.MmToWidth(558.8), ScreenHelper.MmToWidth(863.6)); break; + case PageSizeType.ESheet: size = new Size(ScreenHelper.MmToWidth(863.6), ScreenHelper.MmToWidth(1117.6)); break; } return new Size(size.Width, size.Height); diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModelHelper.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModelHelper.cs index 8292b00..7a488b9 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModelHelper.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModelHelper.cs @@ -56,7 +56,7 @@ namespace AIStudio.Wpf.DiagramDesigner || (port.Orientation == ConnectorOrientation.Bottom && port2.Orientation == ConnectorOrientation.Top)) { var dis = port.DistanceTo(port2); - Debug.WriteLine($"{port.DataItem.Name}-{port2.DataItem.Name}:{dis}"); + //Debug.WriteLine($"{port.DataItem.Name}-{port2.DataItem.Name}:{dis}"); if (dis < diagramViewModel.DiagramOption.SnappingOption.BlockSnappingRadius) { port.DataItem.ShowConnectors = true; @@ -83,7 +83,7 @@ namespace AIStudio.Wpf.DiagramDesigner || (port.Orientation == ConnectorOrientation.Top && port2.Orientation == ConnectorOrientation.Bottom)) { var dis = port.DistanceTo(port2); - Debug.WriteLine($"{port.DataItem.Name}-{port2.DataItem.Name}:{dis}"); + //Debug.WriteLine($"{port.DataItem.Name}-{port2.DataItem.Name}:{dis}"); if (dis < diagramViewModel.DiagramOption.SnappingOption.BlockSnappingRadius) { port.DataItem.ShowConnectors = true; diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/ColorPickerDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/ColorPickerDrawingDesignerItemViewModel.cs index 9d7db41..b8d59f9 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/ColorPickerDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/ColorPickerDrawingDesignerItemViewModel.cs @@ -16,11 +16,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public ColorPickerDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, erasable) + public ColorPickerDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, colorViewModel, erasable) { } - public ColorPickerDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, List points, bool erasable) : base(root, drawMode, points, erasable) + public ColorPickerDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, List points, ColorViewModel colorViewModel, bool erasable) : base(root, drawMode, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/DirectLineDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/DirectLineDrawingDesignerItemViewModel.cs index ab21f5c..ca12b31 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/DirectLineDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/DirectLineDrawingDesignerItemViewModel.cs @@ -17,11 +17,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public DirectLineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableDirectLine, startPoint, erasable) + public DirectLineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableDirectLine, startPoint, colorViewModel, erasable) { } - public DirectLineDrawingDesignerItemViewModel(IDiagramViewModel root, List points, bool erasable) : base(root, DrawMode.DirectLine, points, erasable) + public DirectLineDrawingDesignerItemViewModel(IDiagramViewModel root, List points, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.DirectLine, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/DrawingDesignerItemViewModelBase.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/DrawingDesignerItemViewModelBase.cs index 1a75eb8..07ca951 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/DrawingDesignerItemViewModelBase.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/DrawingDesignerItemViewModelBase.cs @@ -16,17 +16,19 @@ namespace AIStudio.Wpf.DiagramDesigner } - public DrawingDesignerItemViewModelBase(IDiagramViewModel root, DrawMode drawMode, Point startPoint, bool erasable) : this(root, drawMode, new List { startPoint }, erasable, false) + public DrawingDesignerItemViewModelBase(IDiagramViewModel root, DrawMode drawMode, Point startPoint, ColorViewModel colorViewModel, bool erasable) : this(root, drawMode, new List { startPoint }, colorViewModel, erasable, false) { } - public DrawingDesignerItemViewModelBase(IDiagramViewModel root, DrawMode drawMode, List points, bool erasable, bool isFinish = true) : base(root) + public DrawingDesignerItemViewModelBase(IDiagramViewModel root, DrawMode drawMode, List points, ColorViewModel colorViewModel, bool erasable, bool isFinish = true) : base(root) { DrawMode = drawMode; Points = points; Erasable = erasable; IsFinish = isFinish; + if (colorViewModel != null) + ColorViewModel = colorViewModel; InitNewDrawing(); } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EllipseDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EllipseDrawingDesignerItemViewModel.cs index 81e8f4a..aed98ac 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EllipseDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EllipseDrawingDesignerItemViewModel.cs @@ -16,11 +16,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public EllipseDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableRectangle, startPoint, erasable) + public EllipseDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableRectangle, startPoint, colorViewModel, erasable) { } - public EllipseDrawingDesignerItemViewModel(IDiagramViewModel root, List points, bool erasable) : base(root, DrawMode.ErasableRectangle, points, erasable) + public EllipseDrawingDesignerItemViewModel(IDiagramViewModel root, List points, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableRectangle, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EraserDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EraserDrawingDesignerItemViewModel.cs index bdf3c54..e60e835 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EraserDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EraserDrawingDesignerItemViewModel.cs @@ -18,11 +18,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public EraserDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint) : base(root, DrawMode.Eraser, startPoint, true) + public EraserDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel) : base(root, DrawMode.Eraser, startPoint, colorViewModel, true) { } - public EraserDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, bool erasable) : base(root, drawMode, null, erasable) + public EraserDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, ColorViewModel colorViewModel, bool erasable) : base(root, drawMode, null, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EraserPreviewDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EraserPreviewDrawingDesignerItemViewModel.cs index cddc6b5..4aa0bbf 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EraserPreviewDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/EraserPreviewDrawingDesignerItemViewModel.cs @@ -18,11 +18,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public EraserPreviewDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint) : base(root, DrawMode.Eraser, startPoint, true) + public EraserPreviewDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel) : base(root, DrawMode.Eraser, startPoint, colorViewModel, true) { } - public EraserPreviewDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, List points, bool erasable) : base(root, drawMode, points, erasable) + public EraserPreviewDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, List points, ColorViewModel colorViewModel, bool erasable) : base(root, drawMode, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/LineDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/LineDrawingDesignerItemViewModel.cs index 9ebb941..0a717d7 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/LineDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/LineDrawingDesignerItemViewModel.cs @@ -17,11 +17,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public LineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, erasable) + public LineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, colorViewModel, erasable) { } - public LineDrawingDesignerItemViewModel(IDiagramViewModel root, List points, bool erasable) : base(root, DrawMode.ErasableLine, points, erasable) + public LineDrawingDesignerItemViewModel(IDiagramViewModel root, List points, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableLine, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/PolygonDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/PolygonDrawingDesignerItemViewModel.cs index bbe5f0d..256d3bf 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/PolygonDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/PolygonDrawingDesignerItemViewModel.cs @@ -13,11 +13,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public PolygonDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, erasable) + public PolygonDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, colorViewModel, erasable) { } - public PolygonDrawingDesignerItemViewModel(IDiagramViewModel root, List points, bool erasable) : base(root, DrawMode.ErasablePolygon, points, erasable) + public PolygonDrawingDesignerItemViewModel(IDiagramViewModel root, List points, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasablePolygon, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/PolylineDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/PolylineDrawingDesignerItemViewModel.cs index 598520b..56ab550 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/PolylineDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/PolylineDrawingDesignerItemViewModel.cs @@ -18,11 +18,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public PolylineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, erasable) + public PolylineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, colorViewModel, erasable) { } - public PolylineDrawingDesignerItemViewModel(IDiagramViewModel root, List points, bool erasable) : base(root, DrawMode.ErasablePolyline, points, erasable) + public PolylineDrawingDesignerItemViewModel(IDiagramViewModel root, List points, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasablePolyline, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/RectangleDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/RectangleDrawingDesignerItemViewModel.cs index a9398a2..867374b 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/RectangleDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/RectangleDrawingDesignerItemViewModel.cs @@ -16,11 +16,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public RectangleDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableRectangle, startPoint, erasable) + public RectangleDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableRectangle, startPoint, colorViewModel, erasable) { } - public RectangleDrawingDesignerItemViewModel(IDiagramViewModel root, List points, bool erasable) : base(root, DrawMode.ErasableRectangle, points, erasable) + public RectangleDrawingDesignerItemViewModel(IDiagramViewModel root, List points, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableRectangle, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/SharpDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/SharpDrawingDesignerItemViewModel.cs index 19749d8..a3aa89e 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/SharpDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/SharpDrawingDesignerItemViewModel.cs @@ -17,11 +17,11 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public SharpDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, Point startPoint, bool erasable) : base(root, drawMode, startPoint, erasable) + public SharpDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, drawMode, startPoint, colorViewModel, erasable) { } - public SharpDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, List points, bool erasable) : base(root, drawMode, points, erasable) + public SharpDrawingDesignerItemViewModel(IDiagramViewModel root, DrawMode drawMode, List points, ColorViewModel colorViewModel, bool erasable) : base(root, drawMode, points, colorViewModel, erasable) { } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/TextDrawingDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/TextDrawingDesignerItemViewModel.cs index 45bbfa8..a42096b 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/TextDrawingDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DrawingViewModel/Erasable/TextDrawingDesignerItemViewModel.cs @@ -12,12 +12,12 @@ namespace AIStudio.Wpf.DiagramDesigner { } - public TextDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableRectangle, startPoint, erasable) + public TextDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.ErasableRectangle, startPoint, colorViewModel, erasable) { AddTextBox(); } - public TextDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, string text, bool erasable) : base(root, DrawMode.Text, new List { startPoint }, erasable) + public TextDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, string text, ColorViewModel colorViewModel, bool erasable) : base(root, DrawMode.Text, new List { startPoint }, colorViewModel, erasable) { Text = text; InitNewDrawing();