修改几个名字

This commit is contained in:
艾竹
2023-01-22 22:10:39 +08:00
parent 4c37fb9772
commit bb2882c618
25 changed files with 115 additions and 118 deletions

View File

@@ -161,7 +161,7 @@ DesignerItems.OfType<DesignerItemBase>()
[XmlArray] [XmlArray]
public List<ConnectionItem> Connections { get; set; } public List<ConnectionItem> Connections { get; set; }
public void AddItems(IEnumerable<SelectableDesignerItemViewModelBase> selectedDesignerItems) public void AddItems(IEnumerable<SelectableViewModelBase> selectedDesignerItems)
{ {
var items = selectedDesignerItems.OfType<DesignerItemViewModelBase>().Select(p => p.ToXmlObject()); var items = selectedDesignerItems.OfType<DesignerItemViewModelBase>().Select(p => p.ToXmlObject());
foreach (var item in items) foreach (var item in items)

View File

@@ -177,7 +177,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
#endregion #endregion
protected virtual bool AddVerify(SelectableDesignerItemViewModelBase arg) protected virtual bool AddVerify(SelectableViewModelBase arg)
{ {
return true; return true;
} }
@@ -402,7 +402,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
return null; return null;
} }
private bool ItemsToDeleteHasConnector(List<SelectableDesignerItemViewModelBase> itemsToRemove, ConnectorInfoBase connector) private bool ItemsToDeleteHasConnector(List<SelectableViewModelBase> itemsToRemove, ConnectorInfoBase connector)
{ {
if (connector is FullyCreatedConnectorInfo fully) if (connector is FullyCreatedConnectorInfo fully)
{ {
@@ -413,7 +413,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
} }
#region #region
public void SetPropertyValue(SelectableDesignerItemViewModelBase selectable, string propertyName) public void SetPropertyValue(SelectableViewModelBase selectable, string propertyName)
{ {
foreach (var item in DiagramViewModel.SelectedItems) foreach (var item in DiagramViewModel.SelectedItems)
{ {

View File

@@ -119,7 +119,7 @@ namespace AIStudio.Wpf.Logical
RaisePropertyChanged("Items"); RaisePropertyChanged("Items");
} }
protected override bool AddVerify(SelectableDesignerItemViewModelBase arg) protected override bool AddVerify(SelectableViewModelBase arg)
{ {
if (base.AddVerify(arg) == false) if (base.AddVerify(arg) == false)
return false; return false;

View File

@@ -155,7 +155,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
} }
} }
public SelectableDesignerItemViewModelBase SelectedItem public SelectableViewModelBase SelectedItem
{ {
get get
{ {

View File

@@ -21,7 +21,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Test.ViewModels
} }
public SelectableDesignerItemViewModelBase SelectedItem public SelectableViewModelBase SelectedItem
{ {
get get
{ {

View File

@@ -227,9 +227,9 @@ namespace AIStudio.Wpf.DiagramDesigner
Rect rubberBand = new Rect(startPoint.Value, endPoint.Value); Rect rubberBand = new Rect(startPoint.Value, endPoint.Value);
ItemsControl itemsControl = GetParent<ItemsControl>(typeof(ItemsControl), _designerCanvas); ItemsControl itemsControl = GetParent<ItemsControl>(typeof(ItemsControl), _designerCanvas);
foreach (SelectableDesignerItemViewModelBase item in vm.Items) foreach (SelectableViewModelBase item in vm.Items)
{ {
if (item is SelectableDesignerItemViewModelBase) if (item is SelectableViewModelBase)
{ {
DependencyObject container = itemsControl.ItemContainerGenerator.ContainerFromItem(item); DependencyObject container = itemsControl.ItemContainerGenerator.ContainerFromItem(item);

View File

@@ -169,7 +169,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{ {
StreamResourceInfo sri = Application.GetResourceStream(new Uri("pack://application:,,,/AIStudio.Wpf.DiagramDesigner;component/Images/FormatPainter.cur", UriKind.RelativeOrAbsolute)); StreamResourceInfo sri = Application.GetResourceStream(new Uri("pack://application:,,,/AIStudio.Wpf.DiagramDesigner;component/Images/FormatPainter.cur", UriKind.RelativeOrAbsolute));
this.Cursor = new Cursor(sri.Stream); this.Cursor = new Cursor(sri.Stream);
foreach (SelectableDesignerItemViewModelBase item in _viewModel.Items) foreach (SelectableViewModelBase item in _viewModel.Items)
{ {
item.IsHitTestVisible = false; item.IsHitTestVisible = false;
} }
@@ -178,7 +178,7 @@ namespace AIStudio.Wpf.DiagramDesigner
private void EnterMove() private void EnterMove()
{ {
this.Cursor = Cursors.SizeAll; this.Cursor = Cursors.SizeAll;
foreach (SelectableDesignerItemViewModelBase item in _viewModel.Items) foreach (SelectableViewModelBase item in _viewModel.Items)
{ {
item.IsHitTestVisible = false; item.IsHitTestVisible = false;
} }
@@ -187,7 +187,7 @@ namespace AIStudio.Wpf.DiagramDesigner
private void ExitCursor() private void ExitCursor()
{ {
this.Cursor = Cursors.Arrow; this.Cursor = Cursors.Arrow;
foreach (SelectableDesignerItemViewModelBase item in _viewModel.Items) foreach (SelectableViewModelBase item in _viewModel.Items)
{ {
item.IsHitTestVisible = true; item.IsHitTestVisible = true;
} }
@@ -195,7 +195,7 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
#endregion #endregion
private void Format(SelectableDesignerItemViewModelBase source, SelectableDesignerItemViewModelBase target) private void Format(SelectableViewModelBase source, SelectableViewModelBase target)
{ {
CopyHelper.CopyPropertyValue(source.ColorViewModel, target.ColorViewModel); CopyHelper.CopyPropertyValue(source.ColorViewModel, target.ColorViewModel);
CopyHelper.CopyPropertyValue(source.FontViewModel, target.FontViewModel); CopyHelper.CopyPropertyValue(source.FontViewModel, target.FontViewModel);
@@ -253,7 +253,7 @@ namespace AIStudio.Wpf.DiagramDesigner
if (_service.DrawModeViewModel.CursorMode == CursorMode.Format) if (_service.DrawModeViewModel.CursorMode == CursorMode.Format)
{ {
var element = (e.OriginalSource as FrameworkElement); var element = (e.OriginalSource as FrameworkElement);
if (element.DataContext is SelectableDesignerItemViewModelBase target) if (element.DataContext is SelectableViewModelBase target)
{ {
Format(_viewModel.SelectedItems.FirstOrDefault(), target); Format(_viewModel.SelectedItems.FirstOrDefault(), target);
return; return;

View File

@@ -18,11 +18,11 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
base.DragCompleted += DragThumb_DragCompleted; base.DragCompleted += DragThumb_DragCompleted;
} }
private List<SelectableDesignerItemViewModelBase> designerItems; private List<SelectableViewModelBase> designerItems;
private void DragThumb_DragStarted(object sender, DragStartedEventArgs e) private void DragThumb_DragStarted(object sender, DragStartedEventArgs e)
{ {
SelectableDesignerItemViewModelBase designerItem = this.DataContext as SelectableDesignerItemViewModelBase; SelectableViewModelBase designerItem = this.DataContext as SelectableViewModelBase;
if (designerItem != null && designerItem.IsSelected) if (designerItem != null && designerItem.IsSelected)
{ {
@@ -43,7 +43,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
if (designerItem is PointDesignerItemViewModel) if (designerItem is PointDesignerItemViewModel)
{ {
designerItems = new List<SelectableDesignerItemViewModelBase> { designerItem }; designerItems = new List<SelectableViewModelBase> { designerItem };
} }
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>()) foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())

View File

@@ -17,7 +17,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
base.DragCompleted += ResizeThumb_DragCompleted; base.DragCompleted += ResizeThumb_DragCompleted;
} }
private List<SelectableDesignerItemViewModelBase> designerItems; private List<SelectableViewModelBase> designerItems;
IDiagramViewModel diagarmViewModel; IDiagramViewModel diagarmViewModel;
private void ResizeThumb_DragStarted(object sender, DragStartedEventArgs e) private void ResizeThumb_DragStarted(object sender, DragStartedEventArgs e)

View File

@@ -25,7 +25,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
DragCompleted += RotateThumb_DragCompleted; DragCompleted += RotateThumb_DragCompleted;
} }
private List<SelectableDesignerItemViewModelBase> designerItems; private List<SelectableViewModelBase> designerItems;
private void RotateThumb_DragStarted(object sender, DragStartedEventArgs e) private void RotateThumb_DragStarted(object sender, DragStartedEventArgs e)
{ {

View File

@@ -118,7 +118,7 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
[XmlArray] [XmlArray]
public List<ConnectorItem> Connectors public List<ConnectorLabelItem> Connectors
{ {
get; set; get; set;
} }

View File

@@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace AIStudio.Wpf.DiagramDesigner
{
public class ConnectorLabelItem
{
}
}

View File

@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace AIStudio.Wpf.DiagramDesigner
{
class ConnectorVertexItem
{
}
}

View File

@@ -1,10 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace AIStudio.Wpf.DiagramDesigner.Models.Serializables
{
public class LinkLabelItem
{
}
}

View File

@@ -33,7 +33,7 @@ namespace AIStudio.Wpf.DiagramDesigner
// FontItem = CopyHelper.Mapper<FontItem, IFontViewModel>(fontViewModel); // FontItem = CopyHelper.Mapper<FontItem, IFontViewModel>(fontViewModel);
//} //}
public SelectableDesignerItemBase(SelectableDesignerItemViewModelBase viewmodel) public SelectableDesignerItemBase(SelectableViewModelBase viewmodel)
{ {
this.Id = viewmodel.Id; this.Id = viewmodel.Id;
this.ZIndex = viewmodel.ZIndex; this.ZIndex = viewmodel.ZIndex;

View File

@@ -530,6 +530,7 @@
<Grid.ContextMenu> <Grid.ContextMenu>
<ContextMenu> <ContextMenu>
<MenuItem Header="删除" Command="{Binding DeleteConnectionCommand}" CommandParameter="{Binding}"/> <MenuItem Header="删除" Command="{Binding DeleteConnectionCommand}" CommandParameter="{Binding}"/>
<MenuItem Header="添加文本" Command="{Binding AddTextCommand}" CommandParameter="{Binding}"/>
<MenuItem Header="插入点(按住ctrl可一直插入)" IsCheckable="True" IsChecked="{Binding ShouldInsertAnchor}" /> <MenuItem Header="插入点(按住ctrl可一直插入)" IsCheckable="True" IsChecked="{Binding ShouldInsertAnchor}" />
</ContextMenu> </ContextMenu>
</Grid.ContextMenu> </Grid.ContextMenu>

View File

@@ -13,7 +13,7 @@ namespace AIStudio.Wpf.DiagramDesigner
IDrawModeViewModel DrawModeViewModel { get; } IDrawModeViewModel DrawModeViewModel { get; }
IQuickThemeViewModel QuickThemeViewModel { get; } IQuickThemeViewModel QuickThemeViewModel { get; }
ILockObjectViewModel LockObjectViewModel { get; } ILockObjectViewModel LockObjectViewModel { get; }
SelectableDesignerItemViewModelBase SelectedItem { get; set; } SelectableViewModelBase SelectedItem { get; set; }
IColorViewModel CopyDefaultColorViewModel(); IColorViewModel CopyDefaultColorViewModel();
IFontViewModel CopyDefaultFontViewModel(); IFontViewModel CopyDefaultFontViewModel();
} }
@@ -132,8 +132,8 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
} }
private SelectableDesignerItemViewModelBase _selectedItem; private SelectableViewModelBase _selectedItem;
public SelectableDesignerItemViewModelBase SelectedItem public SelectableViewModelBase SelectedItem
{ {
get get
{ {

View File

@@ -4,9 +4,9 @@ using SvgPathProperties;
namespace AIStudio.Wpf.DiagramDesigner namespace AIStudio.Wpf.DiagramDesigner
{ {
public class LinkLabelModel : ConnectorPoint, ISelectable public class ConnectorLabelModel : ConnectorPoint, ISelectable
{ {
public LinkLabelModel(ConnectorViewModel parent, string content, double? distance = null, PointBase? offset = null) public ConnectorLabelModel(ConnectorViewModel parent, string content, double? distance = null, PointBase? offset = null)
{ {
Parent = parent; Parent = parent;
Text = content; Text = content;
@@ -158,7 +158,7 @@ namespace AIStudio.Wpf.DiagramDesigner
public void AddToSelection(bool selected) public void AddToSelection(bool selected)
{ {
foreach (var item in Parent.Labels) foreach (var item in Parent.Labels.ToList())
item.IsSelected = false; item.IsSelected = false;
if (selected == true) if (selected == true)

View File

@@ -2,9 +2,9 @@
namespace AIStudio.Wpf.DiagramDesigner namespace AIStudio.Wpf.DiagramDesigner
{ {
public class LinkVertexModel : ConnectorPoint public class ConnectorVertexModel : ConnectorPoint
{ {
public LinkVertexModel(ConnectorViewModel parent, PointBase? position = null) public ConnectorVertexModel(ConnectorViewModel parent, PointBase? position = null)
{ {
Parent = parent; Parent = parent;
X = position?.X ?? 0; X = position?.X ?? 0;

View File

@@ -12,7 +12,7 @@ using SvgPathProperties;
namespace AIStudio.Wpf.DiagramDesigner namespace AIStudio.Wpf.DiagramDesigner
{ {
public class ConnectorViewModel : SelectableDesignerItemViewModelBase public class ConnectorViewModel : SelectableViewModelBase
{ {
public ConnectorViewModel(IDiagramViewModel parent, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode, RouterMode routerMode) public ConnectorViewModel(IDiagramViewModel parent, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode, RouterMode routerMode)
{ {
@@ -61,12 +61,13 @@ namespace AIStudio.Wpf.DiagramDesigner
this.SinkConnectorInfo = sinkConnectorInfo; this.SinkConnectorInfo = sinkConnectorInfo;
DeleteConnectionCommand = new SimpleCommand(DeleteConnection); DeleteConnectionCommand = new SimpleCommand(DeleteConnection);
AddVertexCommand = new SimpleCommand(AddVertex); AddVertexCommand = new SimpleCommand(AddVertex);
AddTextCommand = new SimpleCommand(AddText);
} }
protected void LoadDesignerItemViewModel(SelectableDesignerItemBase designerbase) protected void LoadDesignerItemViewModel(SelectableDesignerItemBase designerbase)
{ {
ConnectionItem designer = designerbase as ConnectionItem; 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>(); private ObservableCollection<ConnectorVertexModel> _vertices = new ObservableCollection<ConnectorVertexModel>();
public ObservableCollection<LinkVertexModel> Vertices public ObservableCollection<ConnectorVertexModel> Vertices
{ {
get get
{ {
@@ -241,8 +242,8 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
} }
private ObservableCollection<LinkLabelModel> _labels = new ObservableCollection<LinkLabelModel>(); private ObservableCollection<ConnectorLabelModel> _labels = new ObservableCollection<ConnectorLabelModel>();
public ObservableCollection<LinkLabelModel> Labels public ObservableCollection<ConnectorLabelModel> Labels
{ {
get get
{ {
@@ -337,6 +338,11 @@ namespace AIStudio.Wpf.DiagramDesigner
{ {
get; set; get; set;
} }
public SimpleCommand AddTextCommand
{
get; set;
}
#endregion #endregion
private void ConnectorViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e) private void ConnectorViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
@@ -351,10 +357,6 @@ namespace AIStudio.Wpf.DiagramDesigner
break; break;
case nameof(Area): case nameof(Area):
UpdatePathGeneratorResult(); UpdatePathGeneratorResult();
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
{
OutTextItemLocation((RectangleBase)valuePropertyChangedEventArgs.OldValue, (RectangleBase)valuePropertyChangedEventArgs.NewValue);
}
break; break;
case nameof(Vertices): case nameof(Vertices):
foreach (var vertice in Vertices) foreach (var vertice in Vertices)
@@ -414,7 +416,7 @@ namespace AIStudio.Wpf.DiagramDesigner
break; break;
} }
} }
else if (sender is LinkVertexModel) else if (sender is ConnectorVertexModel)
{ {
switch (e.PropertyName) 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) switch (e.PropertyName)
{ {
@@ -628,7 +630,7 @@ namespace AIStudio.Wpf.DiagramDesigner
MouseButtonEventArgs mosueArg = ((EventToCommandArgs)parameter).EventArgs as MouseButtonEventArgs; MouseButtonEventArgs mosueArg = ((EventToCommandArgs)parameter).EventArgs as MouseButtonEventArgs;
var position = mosueArg.GetPosition(((EventToCommandArgs)parameter).Sender as IInputElement); 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; vertice.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
Vertices.Add(vertice); Vertices.Add(vertice);
UpdatePathGeneratorResult(); UpdatePathGeneratorResult();
@@ -641,13 +643,12 @@ namespace AIStudio.Wpf.DiagramDesigner
protected override void ExecuteEditCommand(object param) 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.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
label.IsSelected = true; label.IsSelected = true;
Labels.Add(label); 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>(); var paths = Labels.Count > 0 ? PathGeneratorResult.Paths.Select(p => new SvgPath(p)).ToArray() : Array.Empty<SvgPath>();
label.UpdatePosition(paths); 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 #endregion
} }
} }

View File

@@ -11,7 +11,7 @@ using AIStudio.Wpf.DiagramDesigner.Geometrys;
namespace AIStudio.Wpf.DiagramDesigner namespace AIStudio.Wpf.DiagramDesigner
{ {
public abstract class DesignerItemViewModelBase : SelectableDesignerItemViewModelBase public abstract class DesignerItemViewModelBase : SelectableViewModelBase
{ {
public DesignerItemViewModelBase() : base() public DesignerItemViewModelBase() : base()
{ {

View File

@@ -452,7 +452,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{ {
if (e.OldItems != null) if (e.OldItems != null)
{ {
foreach (var item in e.OldItems.OfType<SelectableDesignerItemViewModelBase>()) foreach (var item in e.OldItems.OfType<SelectableViewModelBase>())
{ {
item.PropertyChanged -= Item_PropertyChanged; item.PropertyChanged -= Item_PropertyChanged;
item.Dispose(); item.Dispose();
@@ -460,7 +460,7 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
if (e.NewItems != null) if (e.NewItems != null)
{ {
foreach (var item in e.NewItems.OfType<SelectableDesignerItemViewModelBase>()) foreach (var item in e.NewItems.OfType<SelectableViewModelBase>())
{ {
item.PropertyChanged += Item_PropertyChanged; item.PropertyChanged += Item_PropertyChanged;
} }
@@ -675,9 +675,9 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
public ObservableCollection<SelectableDesignerItemViewModelBase> Items { get; set; } = new ObservableCollection<SelectableDesignerItemViewModelBase>(); public ObservableCollection<SelectableViewModelBase> Items { get; set; } = new ObservableCollection<SelectableViewModelBase>();
public List<SelectableDesignerItemViewModelBase> SelectedItems public List<SelectableViewModelBase> SelectedItems
{ {
get get
{ {
@@ -698,13 +698,13 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
} }
public Func<SelectableDesignerItemViewModelBase, bool> OutAddVerify public Func<SelectableViewModelBase, bool> OutAddVerify
{ {
get; set; get; set;
} }
public bool AddVerify(SelectableDesignerItemViewModelBase item) public bool AddVerify(SelectableViewModelBase item)
{ {
if (item.InitData() == false) if (item.InitData() == false)
return false; return false;
@@ -722,14 +722,14 @@ namespace AIStudio.Wpf.DiagramDesigner
private void ExecuteDirectAddItemCommand(object parameter) private void ExecuteDirectAddItemCommand(object parameter)
{ {
if (parameter is SelectableDesignerItemViewModelBase ite) if (parameter is SelectableViewModelBase ite)
{ {
if (AddVerify(ite) != true) return; if (AddVerify(ite) != true) return;
ClearSelectedItems(); ClearSelectedItems();
Add(ite); Add(ite);
} }
else if (parameter is List<SelectableDesignerItemViewModelBase> items) else if (parameter is List<SelectableViewModelBase> items)
{ {
if (items.Select(p => AddVerify(p)).Any() != true) return; if (items.Select(p => AddVerify(p)).Any() != true) return;
@@ -741,7 +741,7 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
} }
private void Add(SelectableDesignerItemViewModelBase item) private void Add(SelectableViewModelBase item)
{ {
item.Parent = this; item.Parent = this;
item.ZIndex = Items.Count; item.ZIndex = Items.Count;
@@ -768,7 +768,7 @@ namespace AIStudio.Wpf.DiagramDesigner
private void ExecuteAddItemCommand(object parameter) private void ExecuteAddItemCommand(object parameter)
{ {
if (parameter is SelectableDesignerItemViewModelBase ite) if (parameter is SelectableViewModelBase ite)
{ {
if (AddVerify(ite) != true) return; if (AddVerify(ite) != true) return;
@@ -781,7 +781,7 @@ namespace AIStudio.Wpf.DiagramDesigner
Items.Remove(ite); Items.Remove(ite);
}); });
} }
else if (parameter is List<SelectableDesignerItemViewModelBase> items) else if (parameter is List<SelectableViewModelBase> items)
{ {
if (items.Select(p => AddVerify(p)).Any() != true) return; if (items.Select(p => AddVerify(p)).Any() != true) return;
@@ -801,7 +801,7 @@ namespace AIStudio.Wpf.DiagramDesigner
private void ExecuteDirectRemoveItemCommand(object parameter) private void ExecuteDirectRemoveItemCommand(object parameter)
{ {
if (parameter is SelectableDesignerItemViewModelBase ite) if (parameter is SelectableViewModelBase ite)
{ {
ite.IsSelected = false; ite.IsSelected = false;
Items.Remove(ite); Items.Remove(ite);
@@ -810,7 +810,7 @@ namespace AIStudio.Wpf.DiagramDesigner
Items.Remove(ite.OutTextItem); Items.Remove(ite.OutTextItem);
} }
} }
else if (parameter is List<SelectableDesignerItemViewModelBase> items) else if (parameter is List<SelectableViewModelBase> items)
{ {
foreach (var item in items) foreach (var item in items)
{ {
@@ -825,7 +825,7 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
private void ExecuteRemoveItemCommand(object parameter) private void ExecuteRemoveItemCommand(object parameter)
{ {
if (parameter is SelectableDesignerItemViewModelBase ite) if (parameter is SelectableViewModelBase ite)
{ {
DoCommandManager.DoNewCommand(this.ToString(), DoCommandManager.DoNewCommand(this.ToString(),
() => { () => {
@@ -841,7 +841,7 @@ namespace AIStudio.Wpf.DiagramDesigner
Items.Add(ite); Items.Add(ite);
}); });
} }
else if (parameter is List<SelectableDesignerItemViewModelBase> items) else if (parameter is List<SelectableViewModelBase> items)
{ {
DoCommandManager.DoNewCommand(this.ToString(), DoCommandManager.DoNewCommand(this.ToString(),
() => { () => {
@@ -1078,9 +1078,9 @@ namespace AIStudio.Wpf.DiagramDesigner
private void ExecuteBringForwardCommand(object parameter) private void ExecuteBringForwardCommand(object parameter)
{ {
List<SelectableDesignerItemViewModelBase> ordered = SelectedItems.OrderByDescending(p => p.ZIndex).ToList(); List<SelectableViewModelBase> ordered = SelectedItems.OrderByDescending(p => p.ZIndex).ToList();
List<SelectableDesignerItemViewModelBase> changeditems = new List<SelectableDesignerItemViewModelBase>(); List<SelectableViewModelBase> changeditems = new List<SelectableViewModelBase>();
var guid = Guid.NewGuid(); var guid = Guid.NewGuid();
DoCommandManager.DoNewCommand(this.ToString(), DoCommandManager.DoNewCommand(this.ToString(),
@@ -1097,7 +1097,7 @@ namespace AIStudio.Wpf.DiagramDesigner
item.ZIndex = newIndex; item.ZIndex = newIndex;
changeditems.Add(item); changeditems.Add(item);
IEnumerable<SelectableDesignerItemViewModelBase> it = this.Items.Where(p => p.ZIndex == newIndex); IEnumerable<SelectableViewModelBase> it = this.Items.Where(p => p.ZIndex == newIndex);
foreach (var elm in it) foreach (var elm in it)
{ {
@@ -1127,10 +1127,10 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
private void ExecuteBringToFrontCommand(object parameter) private void ExecuteBringToFrontCommand(object parameter)
{ {
List<SelectableDesignerItemViewModelBase> selectionSorted = SelectedItems.OrderByDescending(p => p.ZIndex).ToList(); List<SelectableViewModelBase> selectionSorted = SelectedItems.OrderByDescending(p => p.ZIndex).ToList();
List<SelectableDesignerItemViewModelBase> childrenSorted = Items.OrderByDescending(p => p.ZIndex).ToList(); List<SelectableViewModelBase> childrenSorted = Items.OrderByDescending(p => p.ZIndex).ToList();
List<SelectableDesignerItemViewModelBase> changeditems = new List<SelectableDesignerItemViewModelBase>(); List<SelectableViewModelBase> changeditems = new List<SelectableViewModelBase>();
var guid = Guid.NewGuid(); var guid = Guid.NewGuid();
DoCommandManager.DoNewCommand(this.ToString(), DoCommandManager.DoNewCommand(this.ToString(),
@@ -1138,7 +1138,7 @@ namespace AIStudio.Wpf.DiagramDesigner
int i = childrenSorted.Count - 1; int i = childrenSorted.Count - 1;
int j = childrenSorted.Count - selectionSorted.Count - 1; int j = childrenSorted.Count - selectionSorted.Count - 1;
foreach (SelectableDesignerItemViewModelBase item in childrenSorted) foreach (SelectableViewModelBase item in childrenSorted)
{ {
item.SetOldValue<int>(item.ZIndex, nameof(item.ZIndex), guid.ToString()); item.SetOldValue<int>(item.ZIndex, nameof(item.ZIndex), guid.ToString());
if (selectionSorted.Contains(item)) if (selectionSorted.Contains(item))
@@ -1167,10 +1167,10 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
private void ExecuteSendBackwardCommand(object parameter) private void ExecuteSendBackwardCommand(object parameter)
{ {
List<SelectableDesignerItemViewModelBase> ordered = this.SelectedItems.OrderBy(p => p.ZIndex).ToList(); List<SelectableViewModelBase> ordered = this.SelectedItems.OrderBy(p => p.ZIndex).ToList();
int count = this.Items.Count; int count = this.Items.Count;
List<SelectableDesignerItemViewModelBase> changeditems = new List<SelectableDesignerItemViewModelBase>(); List<SelectableViewModelBase> changeditems = new List<SelectableViewModelBase>();
var guid = Guid.NewGuid(); var guid = Guid.NewGuid();
DoCommandManager.DoNewCommand(this.ToString(), DoCommandManager.DoNewCommand(this.ToString(),
@@ -1185,7 +1185,7 @@ namespace AIStudio.Wpf.DiagramDesigner
item.SetOldValue<int>(item.ZIndex, nameof(item.ZIndex), guid.ToString()); item.SetOldValue<int>(item.ZIndex, nameof(item.ZIndex), guid.ToString());
item.ZIndex = newIndex; item.ZIndex = newIndex;
changeditems.Add(item); changeditems.Add(item);
IEnumerable<SelectableDesignerItemViewModelBase> it = this.Items.Where(p => p.ZIndex == newIndex); IEnumerable<SelectableViewModelBase> it = this.Items.Where(p => p.ZIndex == newIndex);
foreach (var elm in it) foreach (var elm in it)
{ {
@@ -1216,10 +1216,10 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
private void ExecuteSendToBackCommand(object parameter) private void ExecuteSendToBackCommand(object parameter)
{ {
List<SelectableDesignerItemViewModelBase> selectionSorted = SelectedItems.OrderByDescending(p => p.ZIndex).ToList(); List<SelectableViewModelBase> selectionSorted = SelectedItems.OrderByDescending(p => p.ZIndex).ToList();
List<SelectableDesignerItemViewModelBase> childrenSorted = Items.OrderByDescending(p => p.ZIndex).ToList(); List<SelectableViewModelBase> childrenSorted = Items.OrderByDescending(p => p.ZIndex).ToList();
List<SelectableDesignerItemViewModelBase> changeditems = new List<SelectableDesignerItemViewModelBase>(); List<SelectableViewModelBase> changeditems = new List<SelectableViewModelBase>();
var guid = Guid.NewGuid(); var guid = Guid.NewGuid();
DoCommandManager.DoNewCommand(this.ToString(), DoCommandManager.DoNewCommand(this.ToString(),
@@ -1227,7 +1227,7 @@ namespace AIStudio.Wpf.DiagramDesigner
int i = childrenSorted.Count - 1; int i = childrenSorted.Count - 1;
int j = selectionSorted.Count - 1; int j = selectionSorted.Count - 1;
foreach (SelectableDesignerItemViewModelBase item in childrenSorted) foreach (SelectableViewModelBase item in childrenSorted)
{ {
item.SetOldValue<int>(item.ZIndex, nameof(item.ZIndex), guid.ToString()); item.SetOldValue<int>(item.ZIndex, nameof(item.ZIndex), guid.ToString());
if (selectionSorted.Contains(item)) if (selectionSorted.Contains(item))
@@ -1438,7 +1438,7 @@ namespace AIStudio.Wpf.DiagramDesigner
return; return;
try try
{ {
List<SelectableDesignerItemViewModelBase> items = new List<SelectableDesignerItemViewModelBase>(); List<SelectableViewModelBase> items = new List<SelectableViewModelBase>();
SerializableObject copyitem = JsonConvert.DeserializeObject<SerializableObject>(clipboardData); SerializableObject copyitem = JsonConvert.DeserializeObject<SerializableObject>(clipboardData);
@@ -1469,7 +1469,7 @@ namespace AIStudio.Wpf.DiagramDesigner
OffsetX += 10; OffsetX += 10;
OffsetY += 10; OffsetY += 10;
List<SelectableDesignerItemViewModelBase> connectors = new List<SelectableDesignerItemViewModelBase>(); List<SelectableViewModelBase> connectors = new List<SelectableViewModelBase>();
foreach (var connection in copyitem.Connections) foreach (var connection in copyitem.Connections)
{ {
var connectionItem = JsonConvert.DeserializeObject<ConnectionItem>(connection.ObjectJson); var connectionItem = JsonConvert.DeserializeObject<ConnectionItem>(connection.ObjectJson);
@@ -1550,7 +1550,7 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
} }
private bool ItemsToDeleteHasConnector(List<SelectableDesignerItemViewModelBase> itemsToRemove, ConnectorInfoBase connector) private bool ItemsToDeleteHasConnector(List<SelectableViewModelBase> itemsToRemove, ConnectorInfoBase connector)
{ {
if (connector is FullyCreatedConnectorInfo fully) if (connector is FullyCreatedConnectorInfo fully)
{ {
@@ -1571,8 +1571,8 @@ namespace AIStudio.Wpf.DiagramDesigner
private void ExecuteDeleteCommand(object parameter) private void ExecuteDeleteCommand(object parameter)
{ {
List<SelectableDesignerItemViewModelBase> itemsToRemove = SelectedItems.OfType<SelectableDesignerItemViewModelBase>().ToList(); List<SelectableViewModelBase> itemsToRemove = SelectedItems.OfType<SelectableViewModelBase>().ToList();
List<SelectableDesignerItemViewModelBase> connectionsToAlsoRemove = new List<SelectableDesignerItemViewModelBase>(); List<SelectableViewModelBase> connectionsToAlsoRemove = new List<SelectableViewModelBase>();
foreach (var connector in Items.OfType<ConnectorViewModel>()) foreach (var connector in Items.OfType<ConnectorViewModel>())
{ {
@@ -1744,7 +1744,7 @@ namespace AIStudio.Wpf.DiagramDesigner
public void UpdateZIndex() public void UpdateZIndex()
{ {
List<SelectableDesignerItemViewModelBase> ordered = Items.OrderBy(p => p.ZIndex).ToList(); List<SelectableViewModelBase> ordered = Items.OrderBy(p => p.ZIndex).ToList();
for (int i = 0; i < ordered.Count; i++) for (int i = 0; i < ordered.Count; i++)

View File

@@ -20,7 +20,7 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
public abstract class SelectableDesignerItemViewModelBase : BindableBase, ISelectItems, ISelectable, IGroupable public abstract class SelectableViewModelBase : BindableBase, ISelectItems, ISelectable, IGroupable
{ {
private IDiagramServiceProvider _service private IDiagramServiceProvider _service
{ {
@@ -30,20 +30,20 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
} }
public SelectableDesignerItemViewModelBase() public SelectableViewModelBase()
{ {
Init(); Init();
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged; (FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
} }
public SelectableDesignerItemViewModelBase(IDiagramViewModel parent, SelectableDesignerItemBase designer) public SelectableViewModelBase(IDiagramViewModel parent, SelectableDesignerItemBase designer)
{ {
Init(); Init();
LoadDesignerItemViewModel(parent, designer); LoadDesignerItemViewModel(parent, designer);
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged; (FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
} }
public SelectableDesignerItemViewModelBase(IDiagramViewModel parent, string json) public SelectableViewModelBase(IDiagramViewModel parent, string json)
{ {
Init(); Init();
LoadDesignerItemViewModel(parent, JsonConvert.DeserializeObject(json, ToXmlType()) as SelectableDesignerItemBase); LoadDesignerItemViewModel(parent, JsonConvert.DeserializeObject(json, ToXmlType()) as SelectableDesignerItemBase);
@@ -107,7 +107,7 @@ namespace AIStudio.Wpf.DiagramDesigner
return true; return true;
} }
public List<SelectableDesignerItemViewModelBase> SelectedItems public List<SelectableViewModelBase> SelectedItems
{ {
//todo //todo
get get
@@ -145,7 +145,7 @@ namespace AIStudio.Wpf.DiagramDesigner
SetProperty(ref _parentId, value); SetProperty(ref _parentId, value);
} }
} }
public SelectableDesignerItemViewModelBase ParentItem public SelectableViewModelBase ParentItem
{ {
get; set; get; set;
} }
@@ -366,7 +366,7 @@ namespace AIStudio.Wpf.DiagramDesigner
public void AddToSelection(bool selected) public void AddToSelection(bool selected)
{ {
foreach (SelectableDesignerItemViewModelBase item in Parent.SelectedItems) foreach (SelectableViewModelBase item in Parent.SelectedItems.ToList())
item.IsSelected = false; item.IsSelected = false;
Parent.SelectedItems.Clear(); Parent.SelectedItems.Clear();

View File

@@ -71,10 +71,6 @@ namespace AIStudio.Wpf.DiagramDesigner
return false; return false;
} }
if (propertyName == "Area")
{
}
var old = storage; var old = storage;
storage = value; storage = value;
RaisePropertyChanged(propertyName, old, value); RaisePropertyChanged(propertyName, old, value);

View File

@@ -15,11 +15,11 @@ namespace AIStudio.Wpf.DiagramDesigner
{ {
get; set; get; set;
} }
List<SelectableDesignerItemViewModelBase> SelectedItems List<SelectableViewModelBase> SelectedItems
{ {
get; get;
} }
ObservableCollection<SelectableDesignerItemViewModelBase> Items ObservableCollection<SelectableViewModelBase> Items
{ {
get; get;
} }
@@ -183,7 +183,7 @@ namespace AIStudio.Wpf.DiagramDesigner
get; get;
} }
Func<SelectableDesignerItemViewModelBase, bool> OutAddVerify Func<SelectableViewModelBase, bool> OutAddVerify
{ {
get; set; get; set;
} }