diff options
Diffstat (limited to 'core/src/Model/WorkflowNodes.hpp')
-rw-r--r-- | core/src/Model/WorkflowNodes.hpp | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/core/src/Model/WorkflowNodes.hpp b/core/src/Model/WorkflowNodes.hpp deleted file mode 100644 index 677158c..0000000 --- a/core/src/Model/WorkflowNodes.hpp +++ /dev/null @@ -1,101 +0,0 @@ -#pragma once - -#include "Model/Workflow.hpp" - -#include <cstddef> -#include <memory> -#include <variant> -#include <vector> - -class NumericOperationNode : public WorkflowNode { -public: - enum OperationType { - Addition, - Subtraction, - Multiplication, - Division, - - InvalidType, - TypeCount = InvalidType, - }; - -private: - OperationType mType; - -public: - static Kind OperationTypeToNodeKind(OperationType type); - static OperationType NodeKindToOperationType(Kind kind); - static bool IsInstance(const WorkflowNode* node); - NumericOperationNode(OperationType type); - - virtual void Evaluate(WorkflowEvaluationContext& ctx) override; -}; - -class NumericExpressionNode : public WorkflowNode { -public: - static bool IsInstance(const WorkflowNode* node); - NumericExpressionNode(); - - // TODO -}; - -class TextFormatterNode : public WorkflowNode { -public: - enum ArgumentType { - NumericArgument, - TextArgument, - DateTimeArgument, - }; - -private: - struct Argument; - using Element = std::variant<std::string, Argument>; - - std::vector<Element> mElements; - int mMinOutputChars; - -public: - static BaseValue::Kind ArgumentTypeToValueKind(ArgumentType arg); - static bool IsInstance(const WorkflowNode* node); - TextFormatterNode(); - - int GetElementCount() const; - const Element& GetElement(int idx) const; - - void SetElement(int idx, std::string text); - void SetElement(int idx, ArgumentType argument); - void InsertElement(int idx, std::string text); - void InsertElement(int idx, ArgumentType argument); - void AppendElement(std::string text); - void AppendElement(ArgumentType argument); - void RemoveElement(int idx); - - virtual void Evaluate(WorkflowEvaluationContext& ctx) override; - -private: - void PreRemoveElement(int idx); -}; - -class DocumentTemplateExpansionNode : public WorkflowNode { -public: - static bool IsInstance(const WorkflowNode* node); - DocumentTemplateExpansionNode(); - - // TODO -}; - -class FormInputNode : public WorkflowNode { -public: - static bool IsInstance(const WorkflowNode* node); - FormInputNode(); - - // TODO -}; - -class DatabaseRowsInputNode : public WorkflowNode { -public: - static bool IsInstance(const WorkflowNode* node); - DatabaseRowsInputNode(); - - // TODO -}; |