public static IStandardVTActionEditView CreateControl(IStandardValueAction action, IAction masterAction = null) { IStandardVTActionEditView vtAction = null; if (action.ValueType is FloatValueType) { vtAction = new FloatInitializationView(action, masterAction); } else if (action.ValueType is ToggleValueType) { vtAction = new ToggleInitializationView(action, masterAction); } else if (action.ValueType is DateTimeValueType) { vtAction = new DateTimeInitializationView(action, masterAction); } else if (action.ValueType is StateValueType) { vtAction = new StatusInitializationView(action, masterAction); } else if (action.ValueType is InfoValueType) { vtAction = new InfoInitializationView(action, masterAction); } return(vtAction); }
public static void UserInitialize(Action <bool> callback, IAction action, ValueTypeBase valueType, bool inheritsSupportedValues, IAction masterAction) { if (action is IStandardValueAction standardVTAction) { IStandardVTActionEditView vtAction = CreateControl(standardVTAction, masterAction); if (vtAction == null) { callback?.Invoke(true); } var dialog = new DialogView((FrameworkElement)vtAction); vtAction.ApplyClicked += () => { callback(true); dialog.Close(); }; dialog.Show(); } else if (action is RunExistingScenarioAction runExistingScenAction) { var runExistingScenarioAction = runExistingScenAction; SelectScenarioAndRunModeView.Show( (selectedScenario, selectedMode) => { var id = selectedScenario.Id; runExistingScenarioAction.Mode = selectedMode; runExistingScenarioAction.TargetScenarioId = id; runExistingScenarioAction.SetTargetScenario(selectedScenario); callback(true); }, valueType?.GetType(), Lazurite.Windows.Modules.ActionInstanceSide.OnlyLeft, runExistingScenarioAction.TargetScenarioId, runExistingScenarioAction.Mode); } else if (action is GetExistingScenarioValueAction getScenarioValueAction) { SelectScenarioView.Show( (selectedScenario) => { var id = selectedScenario.Id; getScenarioValueAction.TargetScenarioId = id; getScenarioValueAction.SetTargetScenario(selectedScenario); callback(true); }, valueType?.GetType(), Lazurite.Windows.Modules.ActionInstanceSide.OnlyRight, getScenarioValueAction.TargetScenarioId); } else { callback(action.UserInitializeWith(valueType, inheritsSupportedValues)); } }