From 9f0a8a275b61eda1e04bfdbfd01bcf187b6672ba Mon Sep 17 00:00:00 2001 From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at> Date: Fri, 31 Mar 2023 12:36:29 +0200 Subject: [PATCH] updated views after architecture change, restore selected component --- .../InterimStageBusVehicleViewModel.cs | 1 + .../Implementation/StageInputViewModel.cs | 24 +++++++++++++------ .../ViewModelTests/StepViewModelTests.cs | 4 ++-- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel.cs index 0a0987c415..cdb42f0413 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel.cs @@ -228,6 +228,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation } CreateParameterViewModels(); + ShowConsolidatedData = false; } private void InitConsolidated(IVehicleDeclarationInputData consolidatedVehicleData) diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/StageInputViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/StageInputViewModel.cs index 57ffc5248f..a72db4c74f 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/StageInputViewModel.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/StageInputViewModel.cs @@ -66,7 +66,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation var newVm = _viewModelFactory.GetInterimStageVehicleViewModel(Architecture); newVm.SetVehicleInputData(oldVm,false); VehicleViewModel = newVm; - } + UpdateViewModelsAndTitle(); + } private StageInputViewModel(IMultiStageViewModelFactory multistageViewModelFactory, @@ -93,7 +94,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation _documentName = $"New {(exemptedVehicle ? "exempted " : "")}step input {++_newDocumentCounter}"; - Init(); + UpdateViewModelsAndTitle(); return; } @@ -109,7 +110,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation VehicleInputDataFilePath = _dataSource.SourceFile; Title = $"{GUILabels.Edit_step_input} - {Path.GetFileName(_dataSource.SourceFile)}"; - Init(); + UpdateViewModelsAndTitle(); return; } @@ -130,18 +131,27 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation private void UpdateTitle() { - Title = GUILabels.Edit_step_input + " - " + ((_dataSource?.SourceFile != null) + Title = GUILabels.Edit_step_input + $" - {Architecture} - " + ((_dataSource?.SourceFile != null) ? Path.GetFileName(_dataSource.SourceFile) - : "New file"); + : $"New file"); } - private void Init() + private void UpdateViewModelsAndTitle() { UpdateTitle(); + var prevKey = Components.FirstOrDefault(kv => kv.Value == CurrentView).Key; Components["vehicle"] = VehicleViewModel as IViewModelBase; Components["auxiliaries"] = VehicleViewModel.MultistageAuxiliariesViewModel as IViewModelBase; Components["airdrag"] = VehicleViewModel.MultistageAirdragViewModel as IViewModelBase; - CurrentView = VehicleViewModel as IViewModelBase; + + + if (prevKey != null) { + CurrentView = Components[prevKey]; + } else { + CurrentView = VehicleViewModel as IViewModelBase; + } + + ShowSaveAndCloseButtons = true; } diff --git a/Vecto3GUI2020Test/ViewModelTests/StepViewModelTests.cs b/Vecto3GUI2020Test/ViewModelTests/StepViewModelTests.cs index 537cd4b8e0..64fc411655 100644 --- a/Vecto3GUI2020Test/ViewModelTests/StepViewModelTests.cs +++ b/Vecto3GUI2020Test/ViewModelTests/StepViewModelTests.cs @@ -150,13 +150,13 @@ namespace Vecto3GUI2020Test.ViewModelTests Assert.NotNull(stepInput.VehicleViewModel); var oldVm = stepInput.VehicleViewModel; - if (arch == stepInput.Architecture) { Assert.Pass("Nothing to see here ..."); } stepInput.Architecture = arch; Assert.NotNull(stepInput.VehicleViewModel); Assert.AreNotSame(oldVm, stepInput.VehicleViewModel); + Assert.That(stepInput.Title.Contains(arch.ToString())); } [Test] @@ -180,7 +180,7 @@ namespace Vecto3GUI2020Test.ViewModelTests var newVm = stepInput.VehicleViewModel; Assert.NotNull(newVm); Assert.AreNotSame(oldVm, newVm); - + Assert.That(stepInput.Title.Contains(to.ToString())); } -- GitLab