mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-21 17:06:35 +08:00
分离完成 AIStudio.Wpf.DiagramModels 用于对接三分软件的模型
This commit is contained in:
@@ -29,7 +29,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.DiagramDesigne
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.Mind", "AIStudio.Wpf.Mind\AIStudio.Wpf.Mind.csproj", "{85C437B9-16D2-4076-ABCD-52029AC232FC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AIStudio.Wpf.JsonModel", "AIStudio.Wpf.JsonModel\AIStudio.Wpf.JsonModel.csproj", "{5384BE3D-A696-47C6-967E-6D56A7ABC18B}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.DiagramModels", "AIStudio.Wpf.DiagramModels\AIStudio.Wpf.DiagramModels.csproj", "{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -69,10 +69,10 @@ Global
|
||||
{85C437B9-16D2-4076-ABCD-52029AC232FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{85C437B9-16D2-4076-ABCD-52029AC232FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{85C437B9-16D2-4076-ABCD-52029AC232FC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5384BE3D-A696-47C6-967E-6D56A7ABC18B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5384BE3D-A696-47C6-967E-6D56A7ABC18B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5384BE3D-A696-47C6-967E-6D56A7ABC18B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5384BE3D-A696-47C6-967E-6D56A7ABC18B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -82,7 +82,7 @@ Global
|
||||
{CC68D39D-7935-4079-9CEB-FC2FD498D511} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
|
||||
{2AB69067-277E-4EE0-9949-8326A145EEE4} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
|
||||
{85C437B9-16D2-4076-ABCD-52029AC232FC} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
|
||||
{5384BE3D-A696-47C6-967E-6D56A7ABC18B} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
|
||||
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {D30FC641-F06C-4E35-AEA5-48A9B6E59CE0}
|
||||
|
||||
@@ -11,4 +11,8 @@
|
||||
<Description>一个Wpf的流程图控件Json对象</Description>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,8 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramModels.ViewModels;
|
||||
|
||||
namespace AIStudio.Wpf.Flowchart.Models
|
||||
namespace AIStudio.Wpf.DiagramModels
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
@@ -178,6 +179,12 @@ namespace AIStudio.Wpf.Flowchart.Models
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public virtual DiagramItemViewModel ToNodel()
|
||||
{
|
||||
return new DiagramItemViewModel();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -353,56 +360,6 @@ namespace AIStudio.Wpf.Flowchart.Models
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <seealso cref="AIStudio.Util.DiagramEntity.DiagramNode" />
|
||||
public class FlowchartNode : DiagramNode
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the kind.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The kind.
|
||||
/// </value>
|
||||
public NodeKinds Kind
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the user ids.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The user ids.
|
||||
/// </value>
|
||||
public IEnumerable<string> UserIds
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets or sets the role ids.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The role ids.
|
||||
/// </value>
|
||||
public IEnumerable<string> RoleIds
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets or sets the type of the act.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The type of the act.
|
||||
/// </value>
|
||||
public string ActType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@@ -1,24 +1,21 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Helpers;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace AIStudio.Wpf.Flowchart.Models
|
||||
namespace AIStudio.Wpf.DiagramModels
|
||||
{
|
||||
public class DiagramNodeConverter : DATACreationConverter<DiagramNode>
|
||||
{
|
||||
protected override DiagramNode Create(Type objectType, JObject jObject)
|
||||
{
|
||||
//第一种方法:判断属性值来确认是哪个派生类
|
||||
if (FieldExists("Type", jObject, out string type))
|
||||
if (FieldExists("Type", jObject, out string typename))
|
||||
{
|
||||
if (type == "FlowchartNode")
|
||||
{
|
||||
return new FlowchartNode();
|
||||
}
|
||||
else
|
||||
{
|
||||
return new DiagramNode();
|
||||
}
|
||||
var type = TypeHelper.GetType(typename);
|
||||
return type != null ? (System.Activator.CreateInstance(type) as DiagramNode) : new DiagramNode();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1,21 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using Newtonsoft.Json;
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.Flowchart.ViewModels;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramModels.ViewModels;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AIStudio.Wpf.Flowchart.Models
|
||||
|
||||
namespace AIStudio.Wpf.DiagramModels
|
||||
{
|
||||
public static class DiagramDataExtention
|
||||
{
|
||||
{
|
||||
#region ToJson
|
||||
public static string ToJson(this IDiagramViewModel diagram)
|
||||
{
|
||||
var json = JsonConvert.SerializeObject(new {
|
||||
Nodes = diagram.Items.OfType<DesignerItemViewModelBase>().Select(p => p.ToDiagramNode()).Where(p => p != null),
|
||||
Nodes = diagram.Items.OfType<DiagramItemViewModel>().Select(p => p.ToDiagramNode()).Where(p => p != null),
|
||||
Links = diagram.Items.OfType<ConnectionViewModel>().Select(p => p.ToDiagramLink()).Where(p => p != null)
|
||||
}, new JsonSerializerSettings
|
||||
{
|
||||
@@ -25,28 +25,9 @@ namespace AIStudio.Wpf.Flowchart.Models
|
||||
return json;
|
||||
}
|
||||
|
||||
public static DiagramNode ToDiagramNode(this DesignerItemViewModelBase nodeModel)
|
||||
public static DiagramNode ToDiagramNode(this DiagramItemViewModel nodeModel)
|
||||
{
|
||||
DiagramNode diagramNode;
|
||||
if (nodeModel is FlowNode flowNode)
|
||||
{
|
||||
var flowchartNode = new FlowchartNode();
|
||||
diagramNode = flowchartNode;
|
||||
|
||||
diagramNode.Name = flowNode.Name;
|
||||
flowchartNode.Color = flowNode.Color;
|
||||
flowchartNode.Kind = flowNode.Kind;
|
||||
if (nodeModel is MiddleFlowNode middleflowNode)
|
||||
{
|
||||
flowchartNode.UserIds = middleflowNode.UserIds;
|
||||
flowchartNode.RoleIds = middleflowNode.RoleIds;
|
||||
flowchartNode.ActType = middleflowNode.ActType;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
DiagramNode diagramNode = nodeModel.ToDiagram();
|
||||
|
||||
diagramNode.Id = nodeModel.Id.ToString();
|
||||
if (nodeModel.ParentId != Guid.Empty)
|
||||
@@ -114,7 +95,7 @@ namespace AIStudio.Wpf.Flowchart.Models
|
||||
{
|
||||
diagram.Items.Clear();
|
||||
|
||||
List<DesignerItemViewModelBase> nodes = new List<DesignerItemViewModelBase>();
|
||||
List<DiagramItemViewModel> nodes = new List<DiagramItemViewModel>();
|
||||
if (data.Nodes != null)
|
||||
{
|
||||
foreach (var node in data.Nodes)
|
||||
@@ -136,73 +117,73 @@ namespace AIStudio.Wpf.Flowchart.Models
|
||||
}
|
||||
}
|
||||
|
||||
private static DesignerItemViewModelBase ToNodelModel(this DiagramNode diagramNode, IDiagramViewModel diagram)
|
||||
private static DiagramItemViewModel ToNodelModel(this DiagramNode diagramNode, IDiagramViewModel diagram)
|
||||
{
|
||||
DesignerItemViewModelBase nodeModel;
|
||||
if (diagramNode is FlowchartNode flowchartNode)
|
||||
{
|
||||
FlowNode flowNode = null;
|
||||
switch (flowchartNode.Kind)
|
||||
{
|
||||
case NodeKinds.Start:
|
||||
{
|
||||
var flowchartNodelModel = new StartFlowNode();
|
||||
flowNode = flowchartNodelModel;
|
||||
break;
|
||||
}
|
||||
DiagramItemViewModel nodeModel = diagramNode.ToNodel();
|
||||
//if (diagramNode is FlowchartNode flowchartNode)
|
||||
//{
|
||||
// FlowNode flowNode = null;
|
||||
// switch (flowchartNode.Kind)
|
||||
// {
|
||||
// case NodeKinds.Start:
|
||||
// {
|
||||
// var flowchartNodelModel = new StartFlowNode();
|
||||
// flowNode = flowchartNodelModel;
|
||||
// break;
|
||||
// }
|
||||
|
||||
case NodeKinds.End:
|
||||
{
|
||||
var flowchartNodelModel = new EndFlowNode();
|
||||
flowNode = flowchartNodelModel;
|
||||
break;
|
||||
}
|
||||
case NodeKinds.Decide:
|
||||
{
|
||||
var flowchartNodelModel = new DecideFlowNode();
|
||||
flowNode = flowchartNodelModel;
|
||||
break;
|
||||
}
|
||||
case NodeKinds.COBegin:
|
||||
{
|
||||
var flowchartNodelModel = new COBeginFlowNode();
|
||||
flowNode = flowchartNodelModel;
|
||||
break;
|
||||
}
|
||||
case NodeKinds.COEnd:
|
||||
{
|
||||
var flowchartNodelModel = new COEndFlowNode();
|
||||
flowNode = flowchartNodelModel;
|
||||
break;
|
||||
}
|
||||
case NodeKinds.Middle:
|
||||
{
|
||||
var flowchartNodelModel = new MiddleFlowNode();
|
||||
flowNode = flowchartNodelModel;
|
||||
flowchartNodelModel.UserIds = flowchartNode.UserIds?.ToList();
|
||||
flowchartNodelModel.RoleIds = flowchartNode.RoleIds?.ToList();
|
||||
flowchartNodelModel.ActType = flowchartNode.ActType;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
var flowNodelModel = new FlowNode(NodeKinds.Normal);
|
||||
flowNode = flowNodelModel;
|
||||
break;
|
||||
}
|
||||
// case NodeKinds.End:
|
||||
// {
|
||||
// var flowchartNodelModel = new EndFlowNode();
|
||||
// flowNode = flowchartNodelModel;
|
||||
// break;
|
||||
// }
|
||||
// case NodeKinds.Decide:
|
||||
// {
|
||||
// var flowchartNodelModel = new DecideFlowNode();
|
||||
// flowNode = flowchartNodelModel;
|
||||
// break;
|
||||
// }
|
||||
// case NodeKinds.COBegin:
|
||||
// {
|
||||
// var flowchartNodelModel = new COBeginFlowNode();
|
||||
// flowNode = flowchartNodelModel;
|
||||
// break;
|
||||
// }
|
||||
// case NodeKinds.COEnd:
|
||||
// {
|
||||
// var flowchartNodelModel = new COEndFlowNode();
|
||||
// flowNode = flowchartNodelModel;
|
||||
// break;
|
||||
// }
|
||||
// case NodeKinds.Middle:
|
||||
// {
|
||||
// var flowchartNodelModel = new MiddleFlowNode();
|
||||
// flowNode = flowchartNodelModel;
|
||||
// flowchartNodelModel.UserIds = flowchartNode.UserIds?.ToList();
|
||||
// flowchartNodelModel.RoleIds = flowchartNode.RoleIds?.ToList();
|
||||
// flowchartNodelModel.ActType = flowchartNode.ActType;
|
||||
// break;
|
||||
// }
|
||||
// default:
|
||||
// {
|
||||
// var flowNodelModel = new FlowNode(NodeKinds.Normal);
|
||||
// flowNode = flowNodelModel;
|
||||
// break;
|
||||
// }
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
nodeModel = flowNode;
|
||||
flowNode.Name = flowchartNode.Name;
|
||||
flowNode.Color = flowchartNode.Color;
|
||||
flowNode.Kind = flowchartNode.Kind;
|
||||
// nodeModel = flowNode;
|
||||
// flowNode.Name = flowchartNode.Name;
|
||||
// flowNode.Color = flowchartNode.Color;
|
||||
// flowNode.Kind = flowchartNode.Kind;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
nodeModel = new TextDesignerItemViewModel();
|
||||
}
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// nodeModel = new TextDesignerItemViewModel();
|
||||
//}
|
||||
|
||||
nodeModel.Id = new Guid(diagramNode.Id);
|
||||
if (!string.IsNullOrEmpty(diagramNode.ParentId))
|
||||
@@ -221,7 +202,7 @@ namespace AIStudio.Wpf.Flowchart.Models
|
||||
return nodeModel;
|
||||
}
|
||||
|
||||
public static ConnectionViewModel ToLinkModel(this DiagramLink diagramLink, IDiagramViewModel diagram, DesignerItemViewModelBase sourceNode, DesignerItemViewModelBase targetNode)
|
||||
public static ConnectionViewModel ToLinkModel(this DiagramLink diagramLink, IDiagramViewModel diagram, DiagramItemViewModel sourceNode, DiagramItemViewModel targetNode)
|
||||
{
|
||||
FullyCreatedConnectorInfo sourceConnectorInfo = sourceNode.Connectors.FirstOrDefault(p => p.Orientation.ToString() == diagramLink.SourcePortAlignment);
|
||||
FullyCreatedConnectorInfo sinkConnectorInfo = targetNode.Connectors.FirstOrDefault(p => p.Orientation.ToString() == diagramLink.TargetPortAlignment);
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramModels.ViewModels
|
||||
{
|
||||
public class DiagramItemViewModel : DesignerItemViewModelBase
|
||||
{
|
||||
public DiagramItemViewModel() : this(null)
|
||||
{
|
||||
}
|
||||
|
||||
public DiagramItemViewModel(IDiagramViewModel root) : base(root)
|
||||
{
|
||||
}
|
||||
|
||||
public DiagramItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public DiagramItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public virtual DiagramNode ToDiagram()
|
||||
{
|
||||
return new DiagramNode();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,12 @@
|
||||
<Description>一个Wpf的流程图控件</Description>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="Models\DiagramData.cs" />
|
||||
<Compile Remove="Models\DiagramDataConverter.cs" />
|
||||
<Compile Remove="Models\DiagramDataExtention.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="A.png">
|
||||
<Pack>True</Pack>
|
||||
@@ -21,6 +27,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
|
||||
<ProjectReference Include="..\AIStudio.Wpf.DiagramModels\AIStudio.Wpf.DiagramModels.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
using AIStudio.Wpf.DiagramModels;
|
||||
using AIStudio.Wpf.Flowchart.Models;
|
||||
|
||||
namespace AIStudio.Wpf.Flowchart.Controls
|
||||
|
||||
118
AIStudio.Wpf.Flowchart/Models/FlowchartNode.cs
Normal file
118
AIStudio.Wpf.Flowchart/Models/FlowchartNode.cs
Normal file
@@ -0,0 +1,118 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AIStudio.Wpf.DiagramModels;
|
||||
using AIStudio.Wpf.DiagramModels.ViewModels;
|
||||
using AIStudio.Wpf.Flowchart.ViewModels;
|
||||
|
||||
namespace AIStudio.Wpf.Flowchart.Models
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <seealso cref="AIStudio.Util.DiagramEntity.DiagramNode" />
|
||||
public class FlowchartNode : DiagramNode
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the kind.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The kind.
|
||||
/// </value>
|
||||
public NodeKinds Kind
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the user ids.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The user ids.
|
||||
/// </value>
|
||||
public IEnumerable<string> UserIds
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets or sets the role ids.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The role ids.
|
||||
/// </value>
|
||||
public IEnumerable<string> RoleIds
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets or sets the type of the act.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The type of the act.
|
||||
/// </value>
|
||||
public string ActType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public override DiagramItemViewModel ToNodel()
|
||||
{
|
||||
FlowNode flowNode = null;
|
||||
switch (Kind)
|
||||
{
|
||||
case NodeKinds.Start:
|
||||
{
|
||||
flowNode = new StartFlowNode();
|
||||
break;
|
||||
}
|
||||
|
||||
case NodeKinds.End:
|
||||
{
|
||||
flowNode = new EndFlowNode();
|
||||
break;
|
||||
}
|
||||
case NodeKinds.Decide:
|
||||
{
|
||||
flowNode = new DecideFlowNode();
|
||||
break;
|
||||
}
|
||||
case NodeKinds.COBegin:
|
||||
{
|
||||
flowNode = new COBeginFlowNode();
|
||||
break;
|
||||
}
|
||||
case NodeKinds.COEnd:
|
||||
{
|
||||
flowNode = new COEndFlowNode();
|
||||
break;
|
||||
}
|
||||
case NodeKinds.Middle:
|
||||
{
|
||||
var flowchartNodelModel = new MiddleFlowNode();
|
||||
flowNode = flowchartNodelModel;
|
||||
flowchartNodelModel.UserIds = UserIds?.ToList();
|
||||
flowchartNodelModel.RoleIds = RoleIds?.ToList();
|
||||
flowchartNodelModel.ActType = ActType;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
var flowNodelModel = new FlowNode(NodeKinds.Normal);
|
||||
flowNode = flowNodelModel;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
flowNode.Name = Name;
|
||||
flowNode.Color = Color;
|
||||
flowNode.Kind = Kind;
|
||||
|
||||
return flowNode;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -4,11 +4,13 @@ using System.ComponentModel;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||
using AIStudio.Wpf.DiagramModels;
|
||||
using AIStudio.Wpf.DiagramModels.ViewModels;
|
||||
using AIStudio.Wpf.Flowchart.Models;
|
||||
|
||||
namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
{
|
||||
public class FlowNode : DesignerItemViewModelBase
|
||||
public class FlowNode : DiagramItemViewModel
|
||||
{
|
||||
protected IUIVisualizerService visualiserService;
|
||||
|
||||
@@ -68,6 +70,22 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public override DiagramNode ToDiagram()
|
||||
{
|
||||
var flowchartNode = new FlowchartNode();
|
||||
|
||||
flowchartNode.Name = Name;
|
||||
flowchartNode.Color = Color;
|
||||
flowchartNode.Kind = Kind;
|
||||
if (this is MiddleFlowNode middleflowNode)
|
||||
{
|
||||
flowchartNode.UserIds = middleflowNode.UserIds;
|
||||
flowchartNode.RoleIds = middleflowNode.RoleIds;
|
||||
flowchartNode.ActType = middleflowNode.ActType;
|
||||
}
|
||||
return flowchartNode;
|
||||
}
|
||||
|
||||
private string _color = "#1890ff";
|
||||
[Browsable(false)]
|
||||
public string Color
|
||||
|
||||
Reference in New Issue
Block a user