#include "UI.hpp" #include "Model/Workflow.hpp" #include "Model/WorkflowNodes.hpp" #include "UI/Localization.hpp" #include #include #include namespace { class WorkflowCreationMenu { private: using WorkflowNodeConstructor = std::unique_ptr (*)(); struct Candidate { WorkflowNodeConstructor Constructor; }; std::vector mCandidates; public: WorkflowCreationMenu() { SetupCandidates(); } private: void SetupCandidates() { mCandidates.push_back(Candidate{ .Constructor = []() -> std::unique_ptr { return std::make_unique(NumericOperationNode::Addition); }, }); mCandidates.push_back(Candidate{ .Constructor = []() -> std::unique_ptr { return std::make_unique(NumericOperationNode::Subtraction); }, }); mCandidates.push_back(Candidate{ .Constructor = []() -> std::unique_ptr { return std::make_unique(NumericOperationNode::Multiplication); }, }); mCandidates.push_back(Candidate{ .Constructor = []() -> std::unique_ptr { return std::make_unique(NumericOperationNode::Division); }, }); // mCandidates.push_back(Candidate{ // .Constructor = []() -> std::unique_ptr { return std::make_unique(); }, // }); mCandidates.push_back(Candidate{ .Constructor = []() -> std::unique_ptr { return std::make_unique(); }, }); // mCandidates.push_back(Candidate{ // .Constructor = []() -> std::unique_ptr { return std::make_unique(); }, // }); // mCandidates.push_back(Candidate{ // .Constructor = []() -> std::unique_ptr { return std::make_unique(); }, // }); // mCandidates.push_back(Candidate{ // .Constructor = []() -> std::unique_ptr { return std::make_unique(); }, // }); } }; class WorkflowUI { private: Workflow* mWorkflow; public: void Draw() { } }; } // namespace void UI::WorkflowsTab() { // TODO }