mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
动画demo完成
This commit is contained in:
@@ -11,7 +11,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public abstract class ConnectorInfoBase : SelectableViewModelBase
|
||||
{
|
||||
public ConnectorInfoBase(ConnectorOrientation orientation)
|
||||
public ConnectorInfoBase(ConnectorOrientation orientation) : this(null, orientation)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorInfoBase(IDiagramViewModel root, ConnectorOrientation orientation) : base(root)
|
||||
{
|
||||
this.Orientation = orientation;
|
||||
}
|
||||
@@ -31,9 +36,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new ConnectorInfoItemBase(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
protected override void Init(IDiagramViewModel root)
|
||||
{
|
||||
base.Init();
|
||||
base.Init(root);
|
||||
|
||||
ColorViewModel = new ColorViewModel()
|
||||
{
|
||||
@@ -42,9 +47,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
};
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
if (designerbase is ConnectorInfoItemBase designer)
|
||||
{
|
||||
|
||||
@@ -8,12 +8,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorLabelModel : ConnectorPointModel, ISelectable
|
||||
{
|
||||
public ConnectorLabelModel(ConnectionViewModel connector, string content, double? distance = null, PointBase? offset = null)
|
||||
public ConnectorLabelModel(ConnectionViewModel connector, string content, double? distance = null, PointBase? offset = null) : this(null, connector, content, distance, offset)
|
||||
{
|
||||
}
|
||||
|
||||
public ConnectorLabelModel(IDiagramViewModel root, ConnectionViewModel connector, string content, double? distance = null, PointBase? offset = null) : base(root)
|
||||
{
|
||||
Parent = connector;
|
||||
Text = content;
|
||||
Distance = distance;
|
||||
Offset = offset ?? new PointBase();
|
||||
Offset = offset ?? new PointBase();
|
||||
}
|
||||
|
||||
public ConnectorLabelModel(IDiagramViewModel root, ConnectionViewModel connector, SelectableItemBase designer) : base(root, designer)
|
||||
@@ -31,9 +35,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new ConnectorLabelItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
protected override void Init(IDiagramViewModel root)
|
||||
{
|
||||
base.Init();
|
||||
base.Init(root);
|
||||
|
||||
ConnectorWidth = 30;
|
||||
ConnectorHeight = 30;
|
||||
@@ -41,9 +45,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
DeleteLabelCommand = new SimpleCommand(Command_Enable, DeleteLabel);
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
if (designerbase is ConnectorLabelItem designer)
|
||||
{
|
||||
|
||||
@@ -11,9 +11,24 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorPointModel : SelectableViewModelBase
|
||||
{
|
||||
public ConnectorPointModel()
|
||||
public ConnectorPointModel() : this(null)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public ConnectorPointModel(IDiagramViewModel root) : base(root)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorPointModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorPointModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorPointModel(PointBase point) : this()
|
||||
@@ -28,24 +43,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Y = y;
|
||||
}
|
||||
|
||||
public ConnectorPointModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorPointModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorPointItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
protected override void Init(IDiagramViewModel root)
|
||||
{
|
||||
base.Init();
|
||||
base.Init(root);
|
||||
ColorViewModel = new ColorViewModel()
|
||||
{
|
||||
LineColor = new ColorObject() { Color = Color.FromArgb(0xAA, 0x00, 0x00, 0x80) },
|
||||
@@ -53,9 +58,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
};
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
if (designerbase is ConnectorPointItem designer)
|
||||
{
|
||||
@@ -78,7 +83,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
set
|
||||
{
|
||||
if(SetProperty(ref _x, value))
|
||||
if (SetProperty(ref _x, value))
|
||||
{
|
||||
RaisePropertyChanged(nameof(Left));
|
||||
}
|
||||
@@ -138,15 +143,27 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
private double connectorWidth = 8;
|
||||
public double ConnectorWidth
|
||||
{
|
||||
get { return connectorWidth; }
|
||||
set { connectorWidth = value; }
|
||||
get
|
||||
{
|
||||
return connectorWidth;
|
||||
}
|
||||
set
|
||||
{
|
||||
connectorWidth = value;
|
||||
}
|
||||
}
|
||||
|
||||
private double connectorHeight = 8;
|
||||
public double ConnectorHeight
|
||||
{
|
||||
get { return connectorHeight; }
|
||||
set { connectorHeight = value; }
|
||||
get
|
||||
{
|
||||
return connectorHeight;
|
||||
}
|
||||
set
|
||||
{
|
||||
connectorHeight = value;
|
||||
}
|
||||
}
|
||||
|
||||
public static ConnectorPointModel operator -(ConnectorPointModel a, ConnectorPointModel b)
|
||||
|
||||
@@ -6,11 +6,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorVertexModel : ConnectorPointModel
|
||||
{
|
||||
public ConnectorVertexModel(ConnectionViewModel connector, PointBase? position = null)
|
||||
public ConnectorVertexModel(ConnectionViewModel connector, PointBase? position = null) : this(null, connector, position)
|
||||
{
|
||||
}
|
||||
|
||||
public ConnectorVertexModel(IDiagramViewModel root, ConnectionViewModel connector, PointBase? position = null) : base(root)
|
||||
{
|
||||
Parent = connector;
|
||||
X = position?.X ?? 0;
|
||||
Y = position?.Y ?? 0;
|
||||
Y = position?.Y ?? 0;
|
||||
}
|
||||
|
||||
public ConnectorVertexModel(IDiagramViewModel root, ConnectionViewModel connector, SelectableItemBase designer) : base(root, designer)
|
||||
@@ -28,16 +32,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new ConnectorVertexItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
protected override void Init(IDiagramViewModel root)
|
||||
{
|
||||
base.Init();
|
||||
base.Init(root);
|
||||
|
||||
DeleteVertexCommand = new SimpleCommand(Command_Enable, DeleteVertex);
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
if (designerbase is ConnectorVertexItem designer)
|
||||
{
|
||||
|
||||
@@ -11,7 +11,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
public class FullyCreatedConnectorInfo : ConnectorInfoBase
|
||||
{
|
||||
public FullyCreatedConnectorInfo(DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, ValueTypePoint valueTypePoint = 0)
|
||||
: base(orientation)
|
||||
: this(null, dataItem, orientation, isInnerPoint, valueTypePoint)
|
||||
{
|
||||
}
|
||||
|
||||
public FullyCreatedConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, ValueTypePoint valueTypePoint = 0)
|
||||
: base(root, orientation)
|
||||
{
|
||||
this.Parent = dataItem;
|
||||
this.IsInnerPoint = isInnerPoint;
|
||||
@@ -45,9 +50,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new FullyCreatedConnectorInfoItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
protected override void Init(IDiagramViewModel root)
|
||||
{
|
||||
base.Init();
|
||||
base.Init(root);
|
||||
|
||||
menuOptions = new List<CinchMenuItem>();
|
||||
MenuItemCommand = new SimpleCommand(Command_Enable, ExecuteMenuItemCommand);
|
||||
@@ -55,9 +60,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
if (designerbase is FullyCreatedConnectorInfoItem designer)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,18 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class PartCreatedConnectorInfo : ConnectorInfoBase
|
||||
{
|
||||
public PartCreatedConnectorInfo(double X, double Y) : this(null, X, Y)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public PartCreatedConnectorInfo(IDiagramViewModel root, double X, double Y) : base(root, ConnectorOrientation.None)
|
||||
{
|
||||
this.position = new PointBase(X, Y);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private PointBase position;
|
||||
public override PointBase Position
|
||||
{
|
||||
@@ -18,9 +30,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public PartCreatedConnectorInfo(double X, double Y) : base(ConnectorOrientation.None)
|
||||
{
|
||||
this.position = new PointBase(X, Y);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user