10 #ifndef smtk_task_json_Helper_h
11 #define smtk_task_json_Helper_h
13 #include "smtk/task/json/Configurator.h"
15 #include "smtk/task/Adaptor.h"
16 #include "smtk/task/Task.h"
18 #include "smtk/common/Managers.h"
41 using json = nlohmann::json;
61 static Helper& pushInstance(
63 const smtk::common::Managers::Ptr& otherManagers);
74 static void popInstance();
79 static std::size_t nestingDepth();
81 Manager& taskManager() {
return *m_taskManager; }
94 void setManagers(
const smtk::common::Managers::Ptr& managers);
95 smtk::common::Managers::Ptr managers();
108 void currentTasks(std::vector<Task*>& tasks);
111 void currentAdaptors(std::vector<Adaptor*>& adaptors);
128 void setAdaptorTaskIds(SwizzleId fromId, SwizzleId toId);
129 void clearAdaptorTaskIds();
131 std::pair<Task*, Task*> getAdaptorTasks();
135 void setActiveSerializedTask(
Task* task);
136 Task* activeSerializedTask()
const;
139 void updateUIState(std::shared_ptr<smtk::task::Task> task, nlohmann::json& j);
144 Manager* m_taskManager{
nullptr };
145 Configurator<Task> m_tasks;
146 Configurator<Adaptor> m_adaptors;
147 Task* m_activeSerializedTask{
nullptr };
148 smtk::common::Managers::Ptr m_managers;
149 SwizzleId m_adaptorFromId = ~static_cast<SwizzleId>(0);
150 SwizzleId m_adaptorToId = ~static_cast<SwizzleId>(0);
154 bool m_topLevel{
true };
163 #include "smtk/task/json/Configurator.txx"
165 #endif // smtk_task_json_Helper_h