mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-04 00:35:46 +08:00
修改几个名字
This commit is contained in:
@@ -12,7 +12,7 @@ using SvgPathProperties;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorViewModel : SelectableDesignerItemViewModelBase
|
||||
public class ConnectorViewModel : SelectableViewModelBase
|
||||
{
|
||||
public ConnectorViewModel(IDiagramViewModel parent, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode, RouterMode routerMode)
|
||||
{
|
||||
@@ -61,12 +61,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
this.SinkConnectorInfo = sinkConnectorInfo;
|
||||
DeleteConnectionCommand = new SimpleCommand(DeleteConnection);
|
||||
AddVertexCommand = new SimpleCommand(AddVertex);
|
||||
AddTextCommand = new SimpleCommand(AddText);
|
||||
}
|
||||
|
||||
protected void LoadDesignerItemViewModel(SelectableDesignerItemBase designerbase)
|
||||
{
|
||||
ConnectionItem designer = designerbase as ConnectionItem;
|
||||
Vertices = new ObservableCollection<LinkVertexModel>(designer.Vertices.Select(p => new LinkVertexModel(this, new PointBase(p.X, p.Y))));
|
||||
Vertices = new ObservableCollection<ConnectorVertexModel>(designer.Vertices.Select(p => new ConnectorVertexModel(this, new PointBase(p.X, p.Y))));
|
||||
|
||||
}
|
||||
|
||||
@@ -228,8 +229,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
//待完善这两处
|
||||
private ObservableCollection<LinkVertexModel> _vertices = new ObservableCollection<LinkVertexModel>();
|
||||
public ObservableCollection<LinkVertexModel> Vertices
|
||||
private ObservableCollection<ConnectorVertexModel> _vertices = new ObservableCollection<ConnectorVertexModel>();
|
||||
public ObservableCollection<ConnectorVertexModel> Vertices
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -241,8 +242,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
private ObservableCollection<LinkLabelModel> _labels = new ObservableCollection<LinkLabelModel>();
|
||||
public ObservableCollection<LinkLabelModel> Labels
|
||||
private ObservableCollection<ConnectorLabelModel> _labels = new ObservableCollection<ConnectorLabelModel>();
|
||||
public ObservableCollection<ConnectorLabelModel> Labels
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -337,6 +338,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public SimpleCommand AddTextCommand
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void ConnectorViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
@@ -351,10 +357,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
break;
|
||||
case nameof(Area):
|
||||
UpdatePathGeneratorResult();
|
||||
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
|
||||
{
|
||||
OutTextItemLocation((RectangleBase)valuePropertyChangedEventArgs.OldValue, (RectangleBase)valuePropertyChangedEventArgs.NewValue);
|
||||
}
|
||||
break;
|
||||
case nameof(Vertices):
|
||||
foreach (var vertice in Vertices)
|
||||
@@ -414,7 +416,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (sender is LinkVertexModel)
|
||||
else if (sender is ConnectorVertexModel)
|
||||
{
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
@@ -425,7 +427,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
}
|
||||
else if (sender is LinkLabelModel linkLabelModel)
|
||||
else if (sender is ConnectorLabelModel linkLabelModel)
|
||||
{
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
@@ -628,7 +630,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
MouseButtonEventArgs mosueArg = ((EventToCommandArgs)parameter).EventArgs as MouseButtonEventArgs;
|
||||
var position = mosueArg.GetPosition(((EventToCommandArgs)parameter).Sender as IInputElement);
|
||||
|
||||
var vertice = new LinkVertexModel(this, new PointBase(position.X, position.Y));
|
||||
var vertice = new ConnectorVertexModel(this, new PointBase(position.X, position.Y));
|
||||
vertice.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
|
||||
Vertices.Add(vertice);
|
||||
UpdatePathGeneratorResult();
|
||||
@@ -641,13 +643,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
protected override void ExecuteEditCommand(object param)
|
||||
{
|
||||
if (this.OutTextItem != null) return;
|
||||
AddText("");
|
||||
AddText();
|
||||
}
|
||||
|
||||
public void AddText(string text)
|
||||
public void AddText(object text = null)
|
||||
{
|
||||
var label = new LinkLabelModel(this, "");
|
||||
var label = new ConnectorLabelModel(this, text?.ToString());
|
||||
label.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
|
||||
label.IsSelected = true;
|
||||
Labels.Add(label);
|
||||
@@ -655,18 +656,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
var paths = Labels.Count > 0 ? PathGeneratorResult.Paths.Select(p => new SvgPath(p)).ToArray() : Array.Empty<SvgPath>();
|
||||
label.UpdatePosition(paths);
|
||||
}
|
||||
|
||||
public void OutTextItemLocation(RectangleBase oldArea, RectangleBase newArea)
|
||||
{
|
||||
//if (this.OutTextItem is TextDesignerItemViewModel text)
|
||||
//{
|
||||
// var oldpoint = new PointBase(oldArea.Left + oldArea.Width / 2, oldArea.Top + oldArea.Height / 2);
|
||||
// var newpoint = new PointBase(newArea.Left + newArea.Width / 2, newArea.Top + newArea.Height / 2);
|
||||
|
||||
// text.Left = text.Left + newpoint.X - oldpoint.X;
|
||||
// text.Top = text.Top + newpoint.Y - oldpoint.Y;
|
||||
//}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user