Files
aistudio-wpf-diagram/AIStudio.Wpf.DiagramHelper/Extensions/ViewModels/PersistDesignerItemViewModel.cs

67 lines
1.8 KiB
C#
Raw Normal View History

2022-12-12 22:33:17 +08:00
using System;
2022-10-28 22:45:39 +08:00
using AIStudio.Wpf.DiagramDesigner;
2023-01-25 11:11:27 +08:00
using AIStudio.Wpf.DiagramDesigner.Models;
2022-12-12 22:33:17 +08:00
using AIStudio.Wpf.DiagramDesigner.Services;
2022-10-28 22:45:39 +08:00
using AIStudio.Wpf.DiagramHelper.Extensions.Models;
2021-07-23 09:42:22 +08:00
2022-10-28 22:45:39 +08:00
namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
2021-07-23 09:42:22 +08:00
{
public class PersistDesignerItemViewModel : DesignerItemViewModelBase
{
private IUIVisualizerService visualiserService;
public PersistDesignerItemViewModel() : base()
{
}
2023-01-24 17:53:04 +08:00
public PersistDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
2021-07-23 09:42:22 +08:00
{
}
2023-01-25 11:11:27 +08:00
public PersistDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
2021-07-23 09:42:22 +08:00
{
}
2023-01-24 23:10:57 +08:00
public override SelectableItemBase GetSerializableObject()
{
return new PersistDesignerItem(this);
}
2021-07-23 09:42:22 +08:00
protected override void Init()
{
base.Init();
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
this.ShowConnectors = false;
}
2023-01-24 16:20:39 +08:00
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
2021-07-23 09:42:22 +08:00
{
2023-01-24 16:20:39 +08:00
base.LoadDesignerItemViewModel(root, designerbase);
2021-07-23 09:42:22 +08:00
2023-01-24 17:53:04 +08:00
if (designerbase is PersistDesignerItem designer)
{
this.HostUrl = designer.HostUrl;
}
2021-07-23 09:42:22 +08:00
}
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;
}
}
}
}