mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
67 lines
1.9 KiB
C#
67 lines
1.9 KiB
C#
using System;
|
|
using AIStudio.Wpf.DiagramDesigner;
|
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
|
using AIStudio.Wpf.DiagramDesigner.Services;
|
|
using AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.Models;
|
|
|
|
namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
|
|
{
|
|
public class PersistDesignerItemViewModel : DesignerItemViewModelBase
|
|
{
|
|
private IUIVisualizerService visualiserService;
|
|
|
|
public PersistDesignerItemViewModel() : base()
|
|
{
|
|
|
|
}
|
|
|
|
public PersistDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
|
|
{
|
|
|
|
}
|
|
|
|
public PersistDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
|
{
|
|
|
|
}
|
|
|
|
public override SelectableItemBase GetSerializableObject()
|
|
{
|
|
return new PersistDesignerItem(this);
|
|
}
|
|
|
|
protected override void Init()
|
|
{
|
|
base.Init();
|
|
|
|
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
|
|
this.ShowConnectors = false;
|
|
}
|
|
|
|
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
|
{
|
|
base.LoadDesignerItemViewModel(root, designerbase);
|
|
|
|
if (designerbase is PersistDesignerItem designer)
|
|
{
|
|
this.HostUrl = designer.HostUrl;
|
|
}
|
|
}
|
|
|
|
|
|
public string HostUrl { get; set; }
|
|
|
|
protected override void ExecuteEditCommand(object parameter)
|
|
{
|
|
PersistDesignerItemData data = new PersistDesignerItemData(HostUrl);
|
|
if (visualiserService.ShowDialog(data) == true)
|
|
{
|
|
this.HostUrl = data.HostUrl;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|