mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-11 03:36:38 +08:00
调整了一下各种命令的位置,便于其他应用调用
This commit is contained in:
@@ -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
|
||||
));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user