mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-05 00:37:19 +08:00
xx
This commit is contained in:
@@ -78,6 +78,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
AddLabelCommand = new SimpleCommand(Command_Enable, para => AddLabel());
|
||||
}
|
||||
|
||||
protected override void InitNew()
|
||||
{
|
||||
base.InitNew();
|
||||
ZIndex = -1;
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
@@ -1253,15 +1253,28 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
private void Add(SelectableDesignerItemViewModelBase item, bool? isSelected = true)
|
||||
{
|
||||
item.Root = this;
|
||||
item.ZIndex = Items.Any() ? Items.Max(p => p.ZIndex) + 1 : 0;
|
||||
if (item.ZIndex == 0)
|
||||
{
|
||||
item.ZIndex = Items.Any() ? Items.Max(p => p.ZIndex) + 1 : 0;
|
||||
}
|
||||
if (item.Id == Guid.Empty)
|
||||
{
|
||||
item.Id = Guid.NewGuid();
|
||||
}
|
||||
|
||||
if (item is LogicalGateItemViewModelBase logical && logical.OrderNumber == 0)
|
||||
if (item is LogicalGateItemViewModelBase logical)
|
||||
{
|
||||
logical.OrderNumber = Items.OfType<LogicalGateItemViewModelBase>().Where(p => p.OrderNumber > 0).Count() + 1;
|
||||
if (logical.OrderNumber == 0 || Items.OfType<LogicalGateItemViewModelBase>().Any(p => p.OrderNumber == logical.OrderNumber))
|
||||
{
|
||||
if (Items.OfType<LogicalGateItemViewModelBase>().Any())
|
||||
{
|
||||
logical.OrderNumber = Items.OfType<LogicalGateItemViewModelBase>().OrderByDescending(p => p.OrderNumber).FirstOrDefault().OrderNumber + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
logical.OrderNumber = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
//if (item is BlockDesignerItemViewModel block)
|
||||
//{
|
||||
|
||||
@@ -205,10 +205,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
public virtual LogicalConnectorInfo ExecuteAddToInput(LogicalConnectorInfo connector)
|
||||
{
|
||||
if (Input.Values.Count >= 2)
|
||||
{
|
||||
this.ItemHeight = this.ItemHeight * (Input.Values.Count + 1) / Input.Values.Count;
|
||||
}
|
||||
//if (Input.Values.Count >= 2)
|
||||
//{
|
||||
// this.ItemHeight = this.ItemHeight * (Input.Values.Count + 1) / Input.Values.Count;
|
||||
//}
|
||||
connector.Orientation = ConnectorOrientation.Left;
|
||||
connector.IsInnerPoint = true;
|
||||
connector.IsPortless = false;
|
||||
|
||||
@@ -84,11 +84,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
if (designerbase is DrawingDesignerItemBase designer)
|
||||
{
|
||||
this.Erasable = designer.Erasable;
|
||||
this.Geometry = PathGeometry.CreateFromGeometry(Geometry.Parse(designer.Geometry));
|
||||
if (!string.IsNullOrEmpty(designer.Matrix))
|
||||
try
|
||||
{
|
||||
this.Geometry.Transform = Transform.Parse(designer.Matrix);
|
||||
|
||||
this.Geometry = PathGeometry.CreateFromGeometry(Geometry.Parse(designer.Geometry));
|
||||
if (!string.IsNullOrEmpty(designer.Matrix))
|
||||
{
|
||||
this.Geometry.Transform = Transform.Parse(designer.Matrix);
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
this.Points = designer.Points;
|
||||
this.DrawMode = designer.DrawMode;
|
||||
this.SelectedDisable = Erasable;
|
||||
|
||||
@@ -44,7 +44,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
base.InitNewDrawing();
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
if (designerbase is DrawingDesignerItemBase designer)
|
||||
{
|
||||
IsFinish = true;
|
||||
InitNewDrawing();
|
||||
}
|
||||
}
|
||||
public override bool OnMouseMove(IInputElement sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.LeftButton == MouseButtonState.Pressed)
|
||||
|
||||
@@ -45,6 +45,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
base.InitNewDrawing();
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
if (designerbase is DrawingDesignerItemBase designer)
|
||||
{
|
||||
IsFinish = true;
|
||||
InitNewDrawing();
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnMouseMove(IInputElement sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.LeftButton == MouseButtonState.Pressed)
|
||||
|
||||
@@ -44,6 +44,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
base.InitNewDrawing();
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(designerbase);
|
||||
|
||||
if (designerbase is DrawingDesignerItemBase designer)
|
||||
{
|
||||
IsFinish = true;
|
||||
InitNewDrawing();
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnMouseMove(IInputElement sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.LeftButton == MouseButtonState.Pressed)
|
||||
|
||||
Reference in New Issue
Block a user