123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- using Caliburn.Micro;
- using Caliburn.Micro.Core;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using FurnaceUI.Models;
- using FurnaceUI.Views.Jobs;
- namespace FurnaceUI.Views.Editors
- {
- public class ParameterCommandViewModel : FurnaceUIViewModelBase
- {
- public ObservableCollection<ShowStep> LoopStepNames { get; set; }
- public ObservableCollection<ShowStep> JumpStepNames { get; set; }
- private string selectCommand;
- public string SelectCommand
- {
- get { return selectCommand; }
- set { selectCommand = value; this.NotifyOfPropertyChange(nameof(SelectCommand)); }
- }
- public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式
- private Visibility _rdoSubRecipeVisibility = Visibility.Visible;
- public Visibility RdoSubRecipeVisibility
- {
- get => _rdoSubRecipeVisibility;
- set
- {
- _rdoSubRecipeVisibility = value;
- NotifyOfPropertyChange(nameof(RdoSubRecipeVisibility));
- }
- }
- private Visibility _rdoLoopVisibility=Visibility.Visible;
- public Visibility RdoLoopVisibility
- {
- get => _rdoLoopVisibility;
- set
- {
- _rdoLoopVisibility = value;
- NotifyOfPropertyChange(nameof(RdoLoopVisibility));
- }
- }
- public void SetCommand(string commandContent)
- {
- var windowManager = IoC.Get<IWindowManager>();
- switch (commandContent)
- {
- //case "Call→System recipe":
- // RecipeCommandCallRecipeViewModel selectedSubRecipeViewModel = new RecipeCommandCallRecipeViewModel();
- // selectedSubRecipeViewModel.SelectButtonContent = "System Recipe Select";
- // selectedSubRecipeViewModel.SelectedSupportedProcessType = "SupportedProcessType";
- // selectedSubRecipeViewModel.SelectedProcessType = "Process";
- // (windowManager as WindowManager)?.ShowDialogWithTitle(selectedSubRecipeViewModel, null, "System Recipe");
- // SelectRecipeCommand = $"CallSystemRecipe:{selectedSubRecipeViewModel.SelectedProcessRecipe}";
- // break;
- case "Call Sub Recipe":
- RecipeCommandCallRecipeViewModel selectedSubRecipeViewModel = new RecipeCommandCallRecipeViewModel();
- selectedSubRecipeViewModel.SelectButtonContent = "Sub Recipe Select";
- selectedSubRecipeViewModel.SelectedSupportedProcessType = "SupportedSubType";
- selectedSubRecipeViewModel.SelectedProcessType = "Sub";
- (windowManager as WindowManager)?.ShowDialogWithTitle(selectedSubRecipeViewModel, null, "Sub Recipe");
- SelectCommand = $"CallSubRecipe:{selectedSubRecipeViewModel.SelectedProcessRecipe}";
- break;
- case "JumpStep":
- RecipeLoopSetViewModel recipeLoopSetViewModel = new RecipeLoopSetViewModel();
- recipeLoopSetViewModel.StepNames = JumpStepNames;
- if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(recipeLoopSetViewModel, null, "Jump"))
- {
- SelectCommand = "Jump:" + recipeLoopSetViewModel.SelectedText;
- }
- else
- {
- ((Window)GetView()).DialogResult = false;
- return;
- }
- break;
- case "Loop":
- recipeLoopSetViewModel = new RecipeLoopSetViewModel();
- recipeLoopSetViewModel.StepNames = LoopStepNames;
- recipeLoopSetViewModel.LoopCountVisibility = Visibility.Visible;
- if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(recipeLoopSetViewModel, null, "Loop"))
- {
- SelectCommand = "Loop:" + recipeLoopSetViewModel.SelectedText;
- }
- else
- {
- ((Window)GetView()).DialogResult = false;
- return;
- }
- break;
- default:
- SelectCommand = commandContent;
- break;
- }
- if (SelectCommand.Contains("CallSubRecipe"))
- {
- RdoSubRecipeVisibility = Visibility.Visible;
- RdoLoopVisibility = Visibility.Hidden;
- }
- else if (SelectCommand.Contains("Loop"))
- {
- RdoSubRecipeVisibility = Visibility.Hidden;
- RdoLoopVisibility = Visibility.Visible;
- }
- else
- {
- RdoSubRecipeVisibility = Visibility.Visible;
- RdoLoopVisibility = Visibility.Visible;
- }
- }
- public void CloseCommand()
- {
- ((Window)GetView()).DialogResult = false;
- }
- public void OKCommand()
- {
- ((Window)GetView()).DialogResult = true;
- }
- }
- }
|