mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-05-04 15:01:29 +08:00
使用物理尺寸进行设置
This commit is contained in:
@@ -1,130 +0,0 @@
|
|||||||
using AIStudio.Wpf.DiagramDesigner;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
|
||||||
using AIStudio.Wpf.Flowchart;
|
|
||||||
using AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels;
|
|
||||||
using AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.Models;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using AIStudio.Wpf.Flowchart.Models;
|
|
||||||
using AIStudio.Wpf.Flowchart.ViewModels;
|
|
||||||
using AIStudio.Wpf.SFC.Models;
|
|
||||||
using AIStudio.Wpf.SFC.ViewModels;
|
|
||||||
using System.Windows;
|
|
||||||
using System.Windows.Media;
|
|
||||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
|
||||||
using AIStudio.Wpf.DiagramDesigner.Helpers;
|
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramApp.Models
|
|
||||||
{
|
|
||||||
[Serializable]
|
|
||||||
public class DiagramItem
|
|
||||||
{
|
|
||||||
public DiagramItem()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlAttribute]
|
|
||||||
public string Name { get; set; }
|
|
||||||
|
|
||||||
[XmlAttribute]
|
|
||||||
public DiagramType DiagramType { get; set; }
|
|
||||||
|
|
||||||
[XmlAttribute]
|
|
||||||
public bool ShowGrid { get; set; }
|
|
||||||
|
|
||||||
[XmlIgnore]
|
|
||||||
public Size GridCellSize { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
[XmlAttribute("GridCellSize")]
|
|
||||||
public string XmlGridCellSize
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return SerializeHelper.SerializeSize(GridCellSize);
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
GridCellSize = SerializeHelper.DeserializeSize(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlAttribute]
|
|
||||||
public CellHorizontalAlignment CellHorizontalAlignment { get; set; }
|
|
||||||
|
|
||||||
[XmlAttribute]
|
|
||||||
public CellVerticalAlignment CellVerticalAlignment { get; set; }
|
|
||||||
|
|
||||||
[XmlAttribute]
|
|
||||||
public PageSizeOrientation PageSizeOrientation { get; set; }
|
|
||||||
|
|
||||||
[XmlIgnore]
|
|
||||||
public Size PageSize { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
[XmlAttribute("PageSize")]
|
|
||||||
public string XmlPageSize
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return SerializeHelper.SerializeSize(PageSize);
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
PageSize = SerializeHelper.DeserializeSize(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlAttribute]
|
|
||||||
public PageSizeType PageSizeType { get; set; }
|
|
||||||
|
|
||||||
[XmlIgnore]
|
|
||||||
public Size GridMarginSize { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
[XmlAttribute("GridMarginSize")]
|
|
||||||
public string XmlGridMarginSize
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return SerializeHelper.SerializeSize(GridMarginSize);
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
GridMarginSize = SerializeHelper.DeserializeSize(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlIgnore]
|
|
||||||
public Color GridColor { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
[XmlAttribute("GridColor")]
|
|
||||||
public string XmlGridColor
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return SerializeHelper.SerializeColor(GridColor);
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
GridColor = SerializeHelper.DeserializeColor(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlArray]
|
|
||||||
public List<SerializableItem> DesignerItems { get; set; } = new List<SerializableItem>();
|
|
||||||
|
|
||||||
[XmlArray]
|
|
||||||
public List<SerializableItem> Connections { get; set; } = new List<SerializableItem>();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -245,13 +245,13 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
viewModel.Name = diagramItem.Name;
|
viewModel.Name = diagramItem.Name;
|
||||||
viewModel.DiagramType = diagramItem.DiagramType;
|
viewModel.DiagramType = diagramItem.DiagramType;
|
||||||
viewModel.ShowGrid = diagramItem.ShowGrid;
|
viewModel.ShowGrid = diagramItem.ShowGrid;
|
||||||
viewModel.GridCellSize = diagramItem.GridCellSize;
|
viewModel.PhysicalGridCellSize = diagramItem.PhysicalGridCellSize;
|
||||||
viewModel.CellHorizontalAlignment = diagramItem.CellHorizontalAlignment;
|
viewModel.CellHorizontalAlignment = diagramItem.CellHorizontalAlignment;
|
||||||
viewModel.CellVerticalAlignment = diagramItem.CellVerticalAlignment;
|
viewModel.CellVerticalAlignment = diagramItem.CellVerticalAlignment;
|
||||||
viewModel.PageSizeOrientation = diagramItem.PageSizeOrientation;
|
viewModel.PageSizeOrientation = diagramItem.PageSizeOrientation;
|
||||||
viewModel.PageSize = diagramItem.PageSize;
|
viewModel.PhysicalPageSize = diagramItem.PhysicalPageSize;
|
||||||
viewModel.PageSizeType = diagramItem.PageSizeType;
|
viewModel.PageSizeType = diagramItem.PageSizeType;
|
||||||
viewModel.GridMarginSize = diagramItem.GridMarginSize;
|
viewModel.PhysicalGridMarginSize = diagramItem.PhysicalGridMarginSize;
|
||||||
viewModel.GridColor = diagramItem.GridColor;
|
viewModel.GridColor = diagramItem.GridColor;
|
||||||
|
|
||||||
foreach (var diagramItemData in diagramItem.DesignerItems)
|
foreach (var diagramItemData in diagramItem.DesignerItems)
|
||||||
@@ -314,18 +314,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
|
|
||||||
foreach (var viewModel in DiagramViewModels)
|
foreach (var viewModel in DiagramViewModels)
|
||||||
{
|
{
|
||||||
DiagramItem diagramItem = new DiagramItem();
|
DiagramItem diagramItem = new DiagramItem(viewModel);
|
||||||
diagramItem.Name = viewModel.Name;
|
|
||||||
diagramItem.DiagramType = viewModel.DiagramType;
|
|
||||||
diagramItem.ShowGrid = viewModel.ShowGrid;
|
|
||||||
diagramItem.GridCellSize = viewModel.GridCellSize;
|
|
||||||
diagramItem.CellHorizontalAlignment = viewModel.CellHorizontalAlignment;
|
|
||||||
diagramItem.CellVerticalAlignment = viewModel.CellVerticalAlignment;
|
|
||||||
diagramItem.PageSizeOrientation = viewModel.PageSizeOrientation;
|
|
||||||
diagramItem.PageSize = viewModel.PageSize;
|
|
||||||
diagramItem.PageSizeType = viewModel.PageSizeType;
|
|
||||||
diagramItem.GridMarginSize = viewModel.GridMarginSize;
|
|
||||||
diagramItem.GridColor = viewModel.GridColor;
|
|
||||||
|
|
||||||
var selectedDesignerItems = viewModel.Items.OfType<DesignerItemViewModelBase>();
|
var selectedDesignerItems = viewModel.Items.OfType<DesignerItemViewModelBase>();
|
||||||
var selectedConnections = viewModel.Items.OfType<ConnectionViewModel>();
|
var selectedConnections = viewModel.Items.OfType<ConnectionViewModel>();
|
||||||
@@ -450,18 +439,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
if (DiagramViewModel != null)
|
if (DiagramViewModel != null)
|
||||||
{
|
{
|
||||||
var viewModel = DiagramViewModel;
|
var viewModel = DiagramViewModel;
|
||||||
DiagramItem diagramItem = new DiagramItem();
|
DiagramItem diagramItem = new DiagramItem(viewModel);
|
||||||
diagramItem.Name = viewModel.Name;
|
|
||||||
diagramItem.DiagramType = viewModel.DiagramType;
|
|
||||||
diagramItem.ShowGrid = viewModel.ShowGrid;
|
|
||||||
diagramItem.GridCellSize = viewModel.GridCellSize;
|
|
||||||
diagramItem.CellHorizontalAlignment = viewModel.CellHorizontalAlignment;
|
|
||||||
diagramItem.CellVerticalAlignment = viewModel.CellVerticalAlignment;
|
|
||||||
diagramItem.PageSizeOrientation = viewModel.PageSizeOrientation;
|
|
||||||
diagramItem.PageSize = viewModel.PageSize;
|
|
||||||
diagramItem.PageSizeType = viewModel.PageSizeType;
|
|
||||||
diagramItem.GridMarginSize = viewModel.GridMarginSize;
|
|
||||||
diagramItem.GridColor = viewModel.GridColor;
|
|
||||||
|
|
||||||
var selectedDesignerItems = viewModel.Items.OfType<DesignerItemViewModelBase>();
|
var selectedDesignerItems = viewModel.Items.OfType<DesignerItemViewModelBase>();
|
||||||
var selectedConnections = viewModel.Items.OfType<ConnectionViewModel>();
|
var selectedConnections = viewModel.Items.OfType<ConnectionViewModel>();
|
||||||
@@ -469,18 +447,8 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
diagramItem.DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList();
|
diagramItem.DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList();
|
||||||
diagramItem.Connections = selectedConnections.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList();
|
diagramItem.Connections = selectedConnections.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList();
|
||||||
|
|
||||||
viewModel = new DiagramViewModel();
|
viewModel = new DiagramViewModel(diagramItem);
|
||||||
viewModel.Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-");
|
viewModel.Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-");
|
||||||
viewModel.DiagramType = diagramItem.DiagramType;
|
|
||||||
viewModel.ShowGrid = diagramItem.ShowGrid;
|
|
||||||
viewModel.GridCellSize = diagramItem.GridCellSize;
|
|
||||||
viewModel.CellHorizontalAlignment = diagramItem.CellHorizontalAlignment;
|
|
||||||
viewModel.CellVerticalAlignment = diagramItem.CellVerticalAlignment;
|
|
||||||
viewModel.PageSizeOrientation = diagramItem.PageSizeOrientation;
|
|
||||||
viewModel.PageSize = diagramItem.PageSize;
|
|
||||||
viewModel.PageSizeType = diagramItem.PageSizeType;
|
|
||||||
viewModel.GridMarginSize = diagramItem.GridMarginSize;
|
|
||||||
viewModel.GridColor = diagramItem.GridColor;
|
|
||||||
|
|
||||||
foreach (var diagramItemData in diagramItem.DesignerItems)
|
foreach (var diagramItemData in diagramItem.DesignerItems)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1523,16 +1523,16 @@
|
|||||||
<iconPacks:PackIconMaterial Kind="Grid" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
<iconPacks:PackIconMaterial Kind="Grid" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||||
</Fluent:SplitButton.LargeIcon>
|
</Fluent:SplitButton.LargeIcon>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<TextBlock Margin="5" Text="宽度" VerticalAlignment="Center"/>
|
<TextBlock Margin="5" Text="宽度mm" VerticalAlignment="Center"/>
|
||||||
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.GridCellWidth,Mode=TwoWay}" Minimum="0" Format="0" />
|
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.PhysicalGridCellWidth,Mode=TwoWay}" Minimum="0" Format="0" />
|
||||||
<TextBlock Margin="5" Text="高度" VerticalAlignment="Center"/>
|
<TextBlock Margin="5" Text="高度mm" VerticalAlignment="Center"/>
|
||||||
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.GridCellHeight,Mode=TwoWay}" Minimum="0" Format="0" />
|
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.PhysicalGridCellHeight,Mode=TwoWay}" Minimum="0" Format="0" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<TextBlock Margin="5" Text="左右边距" VerticalAlignment="Center"/>
|
<TextBlock Margin="5" Text="左右边距mm" VerticalAlignment="Center"/>
|
||||||
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.GridMarginWidth,Mode=TwoWay}" Minimum="0" Format="0" />
|
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.PhysicalGridMarginWidth,Mode=TwoWay}" Minimum="0" Format="0" />
|
||||||
<TextBlock Margin="5" Text="上下边距" VerticalAlignment="Center"/>
|
<TextBlock Margin="5" Text="上下边距mm" VerticalAlignment="Center"/>
|
||||||
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.GridMarginHeight,Mode=TwoWay}" Minimum="0" Format="0" />
|
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.PhysicalGridMarginHeight,Mode=TwoWay}" Minimum="0" Format="0" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<Fluent:SplitButton.ToolTip>
|
<Fluent:SplitButton.ToolTip>
|
||||||
@@ -2022,7 +2022,7 @@
|
|||||||
<Fluent:StatusBarItem Title="Mouse" HorizontalAlignment="Right" >
|
<Fluent:StatusBarItem Title="Mouse" HorizontalAlignment="Right" >
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center" Width="150">
|
<TextBlock VerticalAlignment="Center" Width="150">
|
||||||
<Run>鼠标位置:</Run>
|
<Run>鼠标位置mm:</Run>
|
||||||
<Run Text="{Binding DiagramsViewModel.DiagramViewModel.CurrentPoint.X,StringFormat=f1}"/>
|
<Run Text="{Binding DiagramsViewModel.DiagramViewModel.CurrentPoint.X,StringFormat=f1}"/>
|
||||||
<Run>,</Run>
|
<Run>,</Run>
|
||||||
<Run Text="{Binding DiagramsViewModel.DiagramViewModel.CurrentPoint.Y,StringFormat=f1}"/>
|
<Run Text="{Binding DiagramsViewModel.DiagramViewModel.CurrentPoint.Y,StringFormat=f1}"/>
|
||||||
|
|||||||
@@ -379,7 +379,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
if (_viewModel.IsReadOnly) return;
|
if (_viewModel.IsReadOnly) return;
|
||||||
|
|
||||||
Point currentPoint = e.GetPosition(this);
|
Point currentPoint = e.GetPosition(this);
|
||||||
_viewModel.CurrentPoint = currentPoint;
|
_viewModel.CurrentPoint = new Point(ScreenHelper.WidthToMm(currentPoint.X), ScreenHelper.WidthToMm(currentPoint.Y));
|
||||||
var point = CursorPointManager.GetCursorPosition();
|
var point = CursorPointManager.GetCursorPosition();
|
||||||
_viewModel.CurrentColor = ColorPickerManager.GetColor(point.X, point.Y);
|
_viewModel.CurrentColor = ColorPickerManager.GetColor(point.X, point.Y);
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using System.IO;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
namespace AIStudio.Wpf.DiagramDesigner
|
||||||
{
|
{
|
||||||
@@ -27,14 +28,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
Orientation = viewmodel.Orientation;
|
Orientation = viewmodel.Orientation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[JsonProperty(PropertyName = "ConnectorWidth")]
|
||||||
[XmlAttribute]
|
[XmlAttribute("ConnectorWidth")]
|
||||||
public double PhysicalConnectorWidth
|
public double PhysicalConnectorWidth
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[JsonProperty(PropertyName = "ConnectorHeight")]
|
||||||
|
[XmlAttribute("ConnectorHeight")]
|
||||||
public double PhysicalConnectorHeight
|
public double PhysicalConnectorHeight
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -33,13 +34,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
this.Reserve = reserve;
|
this.Reserve = reserve;
|
||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[XmlAttribute("Left")]
|
||||||
public double PhysicalLeft
|
public double PhysicalLeft
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[XmlAttribute("Top")]
|
||||||
public double PhysicalTop
|
public double PhysicalTop
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
@@ -69,13 +70,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[JsonProperty(PropertyName = "ItemWidth")]
|
||||||
|
[XmlAttribute("ItemWidth")]
|
||||||
public double PhysicalItemWidth
|
public double PhysicalItemWidth
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[JsonProperty(PropertyName = "ItemHeight")]
|
||||||
|
[XmlAttribute("ItemHeight")]
|
||||||
public double PhysicalItemHeight
|
public double PhysicalItemHeight
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
|
|||||||
165
AIStudio.Wpf.DiagramDesigner/Models/Serializables/DiagramItem.cs
Normal file
165
AIStudio.Wpf.DiagramDesigner/Models/Serializables/DiagramItem.cs
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Xml;
|
||||||
|
using System.Xml.Serialization;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace AIStudio.Wpf.DiagramDesigner
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
public class DiagramItem
|
||||||
|
{
|
||||||
|
public DiagramItem()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public DiagramItem(IDiagramViewModel diagramView)
|
||||||
|
{
|
||||||
|
Name = diagramView.Name;
|
||||||
|
DiagramType = diagramView.DiagramType;
|
||||||
|
ShowGrid = diagramView.ShowGrid;
|
||||||
|
PhysicalGridCellSize = diagramView.PhysicalGridCellSize;
|
||||||
|
CellHorizontalAlignment = diagramView.CellHorizontalAlignment;
|
||||||
|
CellVerticalAlignment = diagramView.CellVerticalAlignment;
|
||||||
|
PageSizeOrientation = diagramView.PageSizeOrientation;
|
||||||
|
PhysicalPageSize = diagramView.PhysicalPageSize;
|
||||||
|
PageSizeType = diagramView.PageSizeType;
|
||||||
|
PhysicalGridMarginSize = diagramView.PhysicalGridMarginSize;
|
||||||
|
GridColor = diagramView.GridColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlAttribute]
|
||||||
|
public string Name
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlAttribute]
|
||||||
|
public DiagramType DiagramType
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlAttribute]
|
||||||
|
public bool ShowGrid
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
|
public Size PhysicalGridCellSize
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
[XmlAttribute("GridCellSize")]
|
||||||
|
public string XmlGridCellSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SerializeHelper.SerializeSize(PhysicalGridCellSize);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
PhysicalGridCellSize = SerializeHelper.DeserializeSize(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlAttribute]
|
||||||
|
public CellHorizontalAlignment CellHorizontalAlignment
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlAttribute]
|
||||||
|
public CellVerticalAlignment CellVerticalAlignment
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlAttribute]
|
||||||
|
public PageSizeOrientation PageSizeOrientation
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
|
public Size PhysicalPageSize
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
[XmlAttribute("PageSize")]
|
||||||
|
public string XmlPageSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SerializeHelper.SerializeSize(PhysicalPageSize);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
PhysicalPageSize = SerializeHelper.DeserializeSize(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlAttribute]
|
||||||
|
public PageSizeType PageSizeType
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
|
public Size PhysicalGridMarginSize
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
[XmlAttribute("GridMarginSize")]
|
||||||
|
public string XmlGridMarginSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SerializeHelper.SerializeSize(PhysicalGridMarginSize);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
PhysicalGridMarginSize = SerializeHelper.DeserializeSize(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
|
public Color GridColor
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
[XmlAttribute("GridColor")]
|
||||||
|
public string XmlGridColor
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SerializeHelper.SerializeColor(GridColor);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
GridColor = SerializeHelper.DeserializeColor(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlArray]
|
||||||
|
public List<SerializableItem> DesignerItems { get; set; } = new List<SerializableItem>();
|
||||||
|
|
||||||
|
[XmlArray]
|
||||||
|
public List<SerializableItem> Connections { get; set; } = new List<SerializableItem>();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -122,11 +122,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return ConnectorWidth * (Root?.ScreenScale ?? 1d);
|
return ScreenHelper.WidthToMm(ConnectorWidth);
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
ConnectorWidth = value / (Root?.ScreenScale ?? 1d);
|
ConnectorWidth = ScreenHelper.MmToWidth(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,11 +134,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return ConnectorHeight * (Root?.ScreenScale ?? 1d);
|
return ScreenHelper.WidthToMm(ConnectorHeight);
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
ConnectorHeight = value / (Root?.ScreenScale ?? 1d);
|
ConnectorHeight = ScreenHelper.MmToWidth(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -222,11 +222,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return ItemWidth * (Root?.ScreenScale ?? 1d);
|
return ScreenHelper.WidthToMm(ItemWidth);
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
ItemWidth = value / (Root?.ScreenScale ?? 1d);
|
ItemWidth = ScreenHelper.MmToWidth(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -235,11 +235,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return ItemHeight * (Root?.ScreenScale ?? 1d);
|
return ScreenHelper.WidthToMm(ItemHeight);
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
ItemHeight = value / (Root?.ScreenScale ?? 1d);
|
ItemHeight = ScreenHelper.MmToWidth(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -342,11 +342,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return Left * (Root?.ScreenScale ?? 1d);
|
return ScreenHelper.WidthToMm(Left);
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
Left = value / (Root?.ScreenScale ?? 1d);
|
Left = ScreenHelper.MmToWidth(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -355,11 +355,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return Top * (Root?.ScreenScale ?? 1d);
|
return ScreenHelper.WidthToMm(Top);
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
Top = value / (Root?.ScreenScale ?? 1d);
|
Top = ScreenHelper.MmToWidth(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,22 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
SetProperty(ref _pageSize, value);
|
if (SetProperty(ref _pageSize, value))
|
||||||
|
{
|
||||||
|
RaisePropertyChanged(nameof(PhysicalPageSize));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Size PhysicalPageSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return new Size(ScreenHelper.WidthToMm(PageSize.Width), ScreenHelper.WidthToMm(PageSize.Height));
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
PageSize = new Size(ScreenHelper.MmToWidth(value.Width), ScreenHelper.MmToWidth(value.Height));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,6 +217,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
_gridCellSize.Width = value;
|
_gridCellSize.Width = value;
|
||||||
|
RaisePropertyChanged(nameof(PhysicalGridCellWidth));
|
||||||
RaisePropertyChanged(nameof(GridCellSize));
|
RaisePropertyChanged(nameof(GridCellSize));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -214,11 +230,48 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_gridCellSize.Height = value;
|
_gridCellSize.Height = value;
|
||||||
|
RaisePropertyChanged(nameof(PhysicalGridCellHeight));
|
||||||
RaisePropertyChanged(nameof(GridCellSize));
|
RaisePropertyChanged(nameof(GridCellSize));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Size PhysicalGridCellSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return new Size(ScreenHelper.WidthToMm(GridCellSize.Width), ScreenHelper.WidthToMm(GridCellSize.Height));
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
GridCellSize = new Size(ScreenHelper.MmToWidth(value.Width), ScreenHelper.MmToWidth(value.Height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public double PhysicalGridCellWidth
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return ScreenHelper.WidthToMm(GridCellWidth);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
GridCellWidth = ScreenHelper.MmToWidth(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public double PhysicalGridCellHeight
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return ScreenHelper.WidthToMm(GridCellHeight);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
GridCellHeight = ScreenHelper.MmToWidth(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Color _pageBackground = Colors.White;
|
private Color _pageBackground = Colors.White;
|
||||||
public Color PageBackground
|
public Color PageBackground
|
||||||
{
|
{
|
||||||
@@ -297,6 +350,42 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Size PhysicalGridMarginSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return new Size(ScreenHelper.WidthToMm(GridMarginSize.Width), ScreenHelper.WidthToMm(GridMarginSize.Height));
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
GridMarginSize = new Size(ScreenHelper.MmToWidth(value.Width), ScreenHelper.MmToWidth(value.Height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public double PhysicalGridMarginWidth
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return ScreenHelper.WidthToMm(GridMarginWidth);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
GridMarginWidth = ScreenHelper.MmToWidth(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public double PhysicalGridMarginHeight
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return ScreenHelper.WidthToMm(GridMarginHeight);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
GridMarginHeight = ScreenHelper.MmToWidth(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private double _zoomValue = 1;
|
private double _zoomValue = 1;
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public double ZoomValue
|
public double ZoomValue
|
||||||
@@ -414,11 +503,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
get; set;
|
get; set;
|
||||||
} = new DiagramOption();
|
} = new DiagramOption();
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 用于wpf大小与物理像素之间转换
|
|
||||||
/// </summary>
|
|
||||||
public double ScreenScale { get; set; } = 1;
|
|
||||||
|
|
||||||
private double OffsetX = 10;
|
private double OffsetX = 10;
|
||||||
private double OffsetY = 10;
|
private double OffsetY = 10;
|
||||||
#endregion
|
#endregion
|
||||||
@@ -601,8 +685,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
private DoCommandManager DoCommandManager = new DoCommandManager();
|
private DoCommandManager DoCommandManager = new DoCommandManager();
|
||||||
public DiagramViewModel()
|
public DiagramViewModel()
|
||||||
{
|
{
|
||||||
SetScreenScale();
|
|
||||||
|
|
||||||
CreateNewDiagramCommand = new SimpleCommand(ExecuteEnable, ExecuteCreateNewDiagramCommand);
|
CreateNewDiagramCommand = new SimpleCommand(ExecuteEnable, ExecuteCreateNewDiagramCommand);
|
||||||
AddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteAddItemCommand);
|
AddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteAddItemCommand);
|
||||||
DirectAddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectAddItemCommand);
|
DirectAddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectAddItemCommand);
|
||||||
@@ -645,7 +727,21 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
Items.CollectionChanged += Items_CollectionChanged;
|
Items.CollectionChanged += Items_CollectionChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ExecuteEnable(object para)
|
public DiagramViewModel(DiagramItem diagramItem) :this()
|
||||||
|
{
|
||||||
|
DiagramType = diagramItem.DiagramType;
|
||||||
|
ShowGrid = diagramItem.ShowGrid;
|
||||||
|
PhysicalGridCellSize = diagramItem.PhysicalGridCellSize;
|
||||||
|
CellHorizontalAlignment = diagramItem.CellHorizontalAlignment;
|
||||||
|
CellVerticalAlignment = diagramItem.CellVerticalAlignment;
|
||||||
|
PageSizeOrientation = diagramItem.PageSizeOrientation;
|
||||||
|
PhysicalPageSize = diagramItem.PhysicalPageSize;
|
||||||
|
PageSizeType = diagramItem.PageSizeType;
|
||||||
|
PhysicalGridMarginSize = diagramItem.PhysicalGridMarginSize;
|
||||||
|
GridColor = diagramItem.GridColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ExecuteEnable(object para)
|
||||||
{
|
{
|
||||||
return IsReadOnly == false;
|
return IsReadOnly == false;
|
||||||
}
|
}
|
||||||
@@ -1825,13 +1921,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region 用于wpf大小与物理像素之间转换
|
|
||||||
public void SetScreenScale()
|
|
||||||
{
|
|
||||||
ScreenScale = ScreenHelper.ResetScreenScale();
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -203,6 +203,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
Size PhysicalPageSize
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
PageSizeType PageSizeType
|
PageSizeType PageSizeType
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
@@ -215,6 +219,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
Size PhysicalGridCellSize
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
PageSizeOrientation PageSizeOrientation
|
PageSizeOrientation PageSizeOrientation
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
@@ -231,6 +239,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
Size PhysicalGridMarginSize
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
Color GridColor
|
Color GridColor
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
@@ -276,13 +288,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
//用于wpf大小与物理像素之间转换
|
|
||||||
double ScreenScale
|
|
||||||
{
|
|
||||||
get; set;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SetScreenScale();
|
|
||||||
|
|
||||||
bool ExecuteShortcut(KeyEventArgs e);
|
bool ExecuteShortcut(KeyEventArgs e);
|
||||||
|
|
||||||
|
|||||||
@@ -33,14 +33,14 @@ namespace AIStudio.Wpf.Flowchart.Controls
|
|||||||
{
|
{
|
||||||
_diagramViewModel = new DiagramViewModel();
|
_diagramViewModel = new DiagramViewModel();
|
||||||
_diagramViewModel.ShowGrid = true;
|
_diagramViewModel.ShowGrid = true;
|
||||||
_diagramViewModel.GridCellSize = new SizeBase(125 / _diagramViewModel.ScreenScale, 125 / _diagramViewModel.ScreenScale);
|
_diagramViewModel.GridCellSize = new SizeBase(125 / ScreenHelper.ScreenScale, 125 / ScreenHelper.ScreenScale);
|
||||||
_diagramViewModel.GridMarginSize = new Size(0, 0);
|
_diagramViewModel.GridMarginSize = new Size(0, 0);
|
||||||
_diagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Center;
|
_diagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Center;
|
||||||
_diagramViewModel.CellVerticalAlignment = CellVerticalAlignment.Center;
|
_diagramViewModel.CellVerticalAlignment = CellVerticalAlignment.Center;
|
||||||
_diagramViewModel.PageSizeType = PageSizeType.Custom;
|
_diagramViewModel.PageSizeType = PageSizeType.Custom;
|
||||||
_diagramViewModel.PageSize = new SizeBase(double.NaN, double.NaN);
|
_diagramViewModel.PageSize = new SizeBase(double.NaN, double.NaN);
|
||||||
_diagramViewModel.ColorViewModel = new ColorViewModel() { LineWidth = 2 };
|
_diagramViewModel.ColorViewModel = new ColorViewModel() { LineWidth = 2 };
|
||||||
//_diagramViewModel.DrawModeViewModel = new DrawModeViewModel() { LineDrawMode = DrawMode.BoundaryConnectingLine };
|
_diagramViewModel.DrawModeViewModel = new DrawModeViewModel() { LineDrawMode = DrawMode.ConnectingLineSmooth };
|
||||||
|
|
||||||
_diagramViewModel.PropertyChanged += DiagramViewModel_PropertyChanged;
|
_diagramViewModel.PropertyChanged += DiagramViewModel_PropertyChanged;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,10 +54,10 @@ namespace AIStudio.Wpf.Flowchart.Models
|
|||||||
diagramNode.ParentId = nodeModel.ParentId.ToString();
|
diagramNode.ParentId = nodeModel.ParentId.ToString();
|
||||||
}
|
}
|
||||||
diagramNode.Label = nodeModel.Text;
|
diagramNode.Label = nodeModel.Text;
|
||||||
diagramNode.Width = nodeModel.ItemWidth * nodeModel.Root.ScreenScale;
|
diagramNode.Width = nodeModel.ItemWidth * ScreenHelper.ScreenScale;
|
||||||
diagramNode.Height = nodeModel.ItemHeight * nodeModel.Root.ScreenScale;
|
diagramNode.Height = nodeModel.ItemHeight * ScreenHelper.ScreenScale;
|
||||||
diagramNode.X = nodeModel.Left * nodeModel.Root.ScreenScale;
|
diagramNode.X = nodeModel.Left * ScreenHelper.ScreenScale;
|
||||||
diagramNode.Y = nodeModel.Top * nodeModel.Root.ScreenScale;
|
diagramNode.Y = nodeModel.Top * ScreenHelper.ScreenScale;
|
||||||
diagramNode.ZIndex = nodeModel.ZIndex;
|
diagramNode.ZIndex = nodeModel.ZIndex;
|
||||||
diagramNode.Type = diagramNode.GetType().Name;
|
diagramNode.Type = diagramNode.GetType().Name;
|
||||||
diagramNode.PortAlignmentList = nodeModel.Connectors.Select(p => p.Orientation.ToString()).ToList();
|
diagramNode.PortAlignmentList = nodeModel.Connectors.Select(p => p.Orientation.ToString()).ToList();
|
||||||
@@ -211,10 +211,10 @@ namespace AIStudio.Wpf.Flowchart.Models
|
|||||||
}
|
}
|
||||||
nodeModel.Root = diagram;
|
nodeModel.Root = diagram;
|
||||||
nodeModel.Text = diagramNode.Label;
|
nodeModel.Text = diagramNode.Label;
|
||||||
nodeModel.ItemWidth = diagramNode.Width / diagram.ScreenScale;
|
nodeModel.ItemWidth = diagramNode.Width / ScreenHelper.ScreenScale;
|
||||||
nodeModel.ItemHeight = diagramNode.Height / diagram.ScreenScale;
|
nodeModel.ItemHeight = diagramNode.Height / ScreenHelper.ScreenScale;
|
||||||
nodeModel.Left = diagramNode.X / diagram.ScreenScale;
|
nodeModel.Left = diagramNode.X / ScreenHelper.ScreenScale;
|
||||||
nodeModel.Top = diagramNode.Y / diagram.ScreenScale;
|
nodeModel.Top = diagramNode.Y / ScreenHelper.ScreenScale;
|
||||||
nodeModel.ZIndex = diagramNode.ZIndex;
|
nodeModel.ZIndex = diagramNode.ZIndex;
|
||||||
diagramNode.PortAlignmentList?.ForEach(p => nodeModel.AddConnector(new FullyCreatedConnectorInfo(nodeModel, p.ToEnum<ConnectorOrientation>())));
|
diagramNode.PortAlignmentList?.ForEach(p => nodeModel.AddConnector(new FullyCreatedConnectorInfo(nodeModel, p.ToEnum<ConnectorOrientation>())));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user