This commit is contained in:
kwai
2023-03-08 19:45:07 +08:00
parent f48838f54a
commit c80923d19c
8 changed files with 86 additions and 26 deletions

View File

@@ -106,6 +106,7 @@ namespace AIStudio.Wpf.Flowchart
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
}
public override void Dispose()
{

View File

@@ -790,6 +790,10 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
flow = new SFCViewModel(filename, diagram);
}
else if (diagram.DiagramType == DiagramType.Mind)
{
flow = new MindViewModel(filename, diagram);
}
else
{
flow = new PageViewModel(filename, diagram);

View File

@@ -12,6 +12,7 @@ using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.Mind.ViewModels;
using AIStudio.Wpf.Mind;
using AIStudio.Wpf.DiagramDesigner.Additionals;
namespace AIStudio.Wpf.Flowchart
{
@@ -22,8 +23,11 @@ namespace AIStudio.Wpf.Flowchart
}
public MindViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
{
foreach (var vm in DiagramViewModels)
{
vm.InitLayoutCommand.Execute(null);
}
}
protected override void InitDiagramViewModel()
@@ -47,7 +51,7 @@ namespace AIStudio.Wpf.Flowchart
{
DiagramViewModels = new ObservableCollection<IDiagramViewModel>()
{
new MindDiagramViewModel(){Name= "页-1", DiagramType = DiagramType},
GetDiagramViewModel("页-1", DiagramType),
};
DiagramViewModel = DiagramViewModels.FirstOrDefault();
@@ -77,6 +81,10 @@ namespace AIStudio.Wpf.Flowchart
level1node.LayoutUpdated();
}
protected override DiagramViewModel GetDiagramViewModel(string name, DiagramType diagramType)
{
return new MindDiagramViewModel() { Name = name ?? NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-"), DiagramType = diagramType };
}
public override void Dispose()
{

View File

@@ -57,7 +57,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
DiagramViewModels = new ObservableCollection<IDiagramViewModel>()
{
new DiagramViewModel(){Name= "页-1", DiagramType = DiagramType},
GetDiagramViewModel("页-1", DiagramType),
};
DiagramViewModel = DiagramViewModels.FirstOrDefault();
@@ -241,9 +241,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
List<DiagramViewModel> viewModels = new List<DiagramViewModel>();
foreach (var diagramItem in diagramDocument.DiagramItems)
{
var viewModel = new DiagramViewModel();
viewModel.Name = diagramItem.Name;
viewModel.DiagramType = diagramItem.DiagramType;
var viewModel = GetDiagramViewModel(diagramItem.Name, diagramItem.DiagramType);
viewModel.ShowGrid = diagramItem.ShowGrid;
viewModel.PhysicalGridCellSize = diagramItem.PhysicalGridCellSize;
viewModel.CellHorizontalAlignment = diagramItem.CellHorizontalAlignment;
@@ -429,12 +427,17 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
index = DiagramViewModels.Count;
}
var page = new DiagramViewModel() { Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-"), DiagramType = DiagramType };
var page = GetDiagramViewModel(null, DiagramType);
DiagramViewModels.Insert(index, page);
DiagramViewModel = page;
InitDiagramViewModel();
}
protected virtual DiagramViewModel GetDiagramViewModel(string name, DiagramType diagramType)
{
return new DiagramViewModel() { Name = name??NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-"), DiagramType = diagramType };
}
public void AddCopyPageExecuted(object para)
{
if (DiagramViewModel != null)