diff options
Diffstat (limited to 'core/src/Model/Workflow/Workflow.hpp')
-rw-r--r-- | core/src/Model/Workflow/Workflow.hpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/core/src/Model/Workflow/Workflow.hpp b/core/src/Model/Workflow/Workflow.hpp index 9c809bf..cba0d72 100644 --- a/core/src/Model/Workflow/Workflow.hpp +++ b/core/src/Model/Workflow/Workflow.hpp @@ -7,6 +7,7 @@ #include <imgui_node_editor.h> #include <cstddef> +#include <span> #include <cstdint> #include <filesystem> #include <functional> @@ -72,6 +73,19 @@ public: KindCount = InvalidKind, }; + enum Category + { + CG_Numeric, + CG_Text, + CG_Document, + CG_UserInput, + CG_SystemInput, + CG_Output, + + InvalidCategory, + CategoryCount = InvalidCategory, + }; + struct InputPin { uint32_t Connection = WorkflowConnection::kInvalidId; @@ -108,7 +122,10 @@ protected: public: static const char* FormatKind(Kind kind); + static const char* FormatCategory(Category category); static const char* FormatType(Type type); + static Category QueryCategory(Kind kind); + static std::span<const Kind> QueryCategoryMembers(Category category); static std::unique_ptr<WorkflowNode> CreateByKind(Kind kind); static bool IsInstance(const WorkflowNode* node); |