Ejemplo n.º 1
0
 public Dictionary <string, object> PrepareExecution(ProjectState project, List <ActionParameter> parameters)
 {
     OutputParameters = parameters.ToDictionary(ActionParametersDefinition);
     if (OutputParameters.ContainsKey("help"))
     {
         OutputParameters.Remove("help");
     }
     Execute(project, parameters);
     return(OutputParameters);
 }
Ejemplo n.º 2
0
        private void AddOutput(CKlaxVariable parameter, bool bIsNewParameter)
        {
            var newViewmodel  = new CEntityVariableViewModel(parameter);
            var functionGraph = m_functionGraph;

            void Redo()
            {
                newViewmodel.PropertyChanged += OnParameterPropertyChanged;
                functionGraph.OutputParameters.Add(parameter);
                OutputParameters.Add(newViewmodel);
                functionGraph.RebuildFunctionNodes();
            }

            void Undo()
            {
                newViewmodel.PropertyChanged -= OnParameterPropertyChanged;
                OutputParameters.Remove(newViewmodel);
                functionGraph.OutputParameters.Remove(parameter);
                functionGraph.RebuildFunctionNodes();
            }

            newViewmodel.DeleteCommand = new CRelayCommand(arg =>
            {
                Undo();
                UndoRedoUtility.Record(new CRelayUndoItem(Redo, Undo));
            });

            if (bIsNewParameter)
            {
                Redo();
            }
            else
            {
                newViewmodel.PropertyChanged += OnParameterPropertyChanged;
                OutputParameters.Add(newViewmodel);
            }

            if (bIsNewParameter)
            {
                UndoRedoUtility.Record(new CRelayUndoItem(Undo, Redo));
            }
        }
Ejemplo n.º 3
0
        private void AddOutput(CKlaxVariable parameter, bool bIsNewParameter)
        {
            var newViewmodel = new CEntityVariableViewModel(parameter);

            void Redo()
            {
                m_interfaceFunction.OutputParameters.Add(parameter);
                OutputParameters.Add(newViewmodel);
            }

            void Undo()
            {
                OutputParameters.Remove(newViewmodel);
                m_interfaceFunction.OutputParameters.Remove(parameter);
            }

            newViewmodel.DeleteCommand = new CRelayCommand(arg =>
            {
                Undo();
                UndoRedoUtility.Record(new CRelayUndoItem(Redo, Undo));
            });

            if (bIsNewParameter)
            {
                Redo();
            }
            else
            {
                OutputParameters.Add(newViewmodel);
            }

            if (bIsNewParameter)
            {
                UndoRedoUtility.Record(new CRelayUndoItem(Undo, Redo));
            }
        }