调整了一下各种命令的位置,便于其他应用调用

This commit is contained in:
艾竹
2022-12-08 20:54:45 +08:00
parent 9a8d4c95f0
commit 9f91fbcdd3
41 changed files with 1363 additions and 769 deletions

View File

@@ -163,132 +163,50 @@ DesignerItems.OfType<DesignerItemBase>()
public void AddItems(IEnumerable<SelectableDesignerItemViewModelBase> selectedDesignerItems)
{
foreach (var item in selectedDesignerItems.OfType<DesignerItemViewModelBase>())
var items = selectedDesignerItems.OfType<DesignerItemViewModelBase>().Select(p => p.ToXmlObject());
foreach (var item in items)
{
if (item is PersistDesignerItemViewModel)
if (item is PersistDesignerItem persistDesignerItem)
{
PersistDesignerItems.Add(new PersistDesignerItem(item as PersistDesignerItemViewModel));
PersistDesignerItems.Add(persistDesignerItem);
}
else if (item is SettingsDesignerItemViewModel)
else if (item is SettingsDesignerItem settingsDesignerItem)
{
SettingsDesignerItems.Add(new SettingsDesignerItem(item as SettingsDesignerItemViewModel));
SettingsDesignerItems.Add(settingsDesignerItem);
}
else if (item is PathItemViewModel)
else if (item is PathDesignerItem pathDesignerItem)
{
PathDesignerItems.Add(new PathDesignerItem(item));
PathDesignerItems.Add(pathDesignerItem);
}
else if (item is GifImageItemViewModel)
else if (item is MediaDesignerItem mediaDesignerItem)
{
MediaDesignerItems.Add(new MediaDesignerItem(item as GifImageItemViewModel));
MediaDesignerItems.Add(mediaDesignerItem);
}
else if (item is MediaItemViewModel)
else if (item is ImageDesignerItem imageDesignerItem)
{
MediaDesignerItems.Add(new MediaDesignerItem(item as MediaItemViewModel));
ImageDesignerItems.Add(imageDesignerItem);
}
else if (item is ImageItemViewModel)
else if (item is TextDesignerItem textDesignerItem)
{
ImageDesignerItems.Add(new ImageDesignerItem(item as ImageItemViewModel));
TextDesignerItems.Add(textDesignerItem);
}
else if (item is TextDesignerItemViewModel)
else if (item is LogicalGateDesignerItemBase logicalGateDesignerItemBase)
{
TextDesignerItems.Add(new TextDesignerItem(item as TextDesignerItemViewModel));
LogicalGateItems.Add(logicalGateDesignerItemBase);
}
else if (item is LogicalGateItemViewModelBase)
else if (item is FlowNodeDesignerItem flowNodeDesignerItem)
{
LogicalGateItems.Add(new LogicalGateDesignerItemBase(item as LogicalGateItemViewModelBase));
FlowNodeDesignerItems.Add(flowNodeDesignerItem);
}
else if (item is FlowNode)
else if (item is SFCNodeDesignerItem sFCNodeDesignerItem)
{
FlowNodeDesignerItems.Add(new FlowNodeDesignerItem(item as FlowNode));
SFCNodeDesignerItems.Add(sFCNodeDesignerItem);
}
else if (item is SFCNode)
else if (item is DesignerItemBase designerItemBase)
{
SFCNodeDesignerItems.Add(new SFCNodeDesignerItem(item as SFCNode));
}
else if (item is BarcodeDesignerItemViewModel)
{
DesignerItems.Add(new DesignerItemBase(item, (item as BarcodeDesignerItemViewModel).Format.ToString()));
}
else
{
DesignerItems.Add(new DesignerItemBase(item));
DesignerItems.Add(designerItemBase);
}
}
}
public static DesignerItemBase ToXmlObject(SelectableDesignerItemViewModelBase item)
{
if (item is PersistDesignerItemViewModel)
{
return new PersistDesignerItem(item as PersistDesignerItemViewModel);
}
else if (item is SettingsDesignerItemViewModel)
{
return new SettingsDesignerItem(item as SettingsDesignerItemViewModel);
}
else if (item is PathItemViewModel)
{
return new PathDesignerItem(item as PathItemViewModel);
}
else if (item is GifImageItemViewModel)
{
return new MediaDesignerItem(item as GifImageItemViewModel);
}
else if (item is MediaItemViewModel)
{
return new MediaDesignerItem(item as MediaItemViewModel);
}
else if (item is ImageItemViewModel)
{
return new ImageDesignerItem(item as ImageItemViewModel);
}
else if (item is TextDesignerItemViewModel)
{
return new TextDesignerItem(item as TextDesignerItemViewModel);
}
else if (item is LogicalGateItemViewModelBase)
{
return new LogicalGateDesignerItemBase(item as LogicalGateItemViewModelBase);
}
else if (item is FlowNode)
{
return new FlowNodeDesignerItem(item as FlowNode);
}
else if (item is SFCNode)
{
return new SFCNodeDesignerItem(item as SFCNode);
}
else
{
return new DesignerItemBase(item as DesignerItemViewModelBase);
}
}
public static Type GetTypeOfDiagramItem(DesignerItemViewModelBase vmType)
{
if (vmType is PersistDesignerItemViewModel)
return typeof(PersistDesignerItem);
if (vmType is SettingsDesignerItemViewModel)
return typeof(SettingsDesignerItem);
if (vmType is PathItemViewModel)
return typeof(PathToolBoxData);
if (vmType is GifImageItemViewModel)
return typeof(MediaDesignerItem);
if (vmType is MediaItemViewModel)
return typeof(MediaDesignerItem);
if (vmType is ImageItemViewModel)
return typeof(ImageDesignerItem);
if (vmType is LogicalGateItemViewModelBase)
return typeof(LogicalGateDesignerItemBase);
if (vmType is FlowNode)
return typeof(FlowNodeDesignerItem);
if (vmType is SFCNode)
return typeof(SFCNodeDesignerItem);
throw new InvalidOperationException(string.Format("Unknown diagram type. Currently only {0} and {1} are supported",
typeof(PersistDesignerItem).AssemblyQualifiedName,
typeof(SettingsDesignerItemViewModel).AssemblyQualifiedName
));
}
}
}
}