39 const std::string MemoryGrapher::defaultName =
"MemoryGrapher";
48 def->topic(graphTopic,
"MemoryGraphTopic");
105 MemoryGrapher::run(
const std::string& memoryID)
112 finished.store(
true, std::memory_order_release);
118 if (worker.joinable())
127 if (worker.joinable())
136 return MemoryGrapher::defaultName;
146 tab.memoryID.setValue(
"");
147 tab.memoryID.setName(
"Memory ID");
149 tab.createGraph.setLabel(
"Create Graph");
153 HBoxLayout root = {tab.memoryID, tab.createGraph};
160 if (tab.createGraph.wasClicked())
162 std::string memoryID = tab.memoryID.getValue();
164 if (worker.joinable())
166 if (finished.load(std::memory_order_acquire))
175 finished.store(
false, std::memory_order_release);
176 worker = std::thread([
this, memoryID]() { this->run(memoryID); });
Default component property definition container.
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
std::string getName() const
Retrieve name of object.
static MemoryID fromString(const std::string &string)
Alias for constructor from string.
MemoryNameSystem & memoryNameSystem()
void onInitComponent() override
void onDisconnectComponent() override
void RemoteGui_update() override
After calling RemoteGui_startRunningTask, this function is called periodically in a separate thread.
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
void onConnectComponent() override
void onExitComponent() override
void createRemoteGuiTab()
This function should be called once in onConnect() or when you need to re-create the Remote GUI tab.
std::string getDefaultName() const override
semrel::RelationGraph< MemoryVertex, MemoryEdge, MemoryGraphAttributes > MemoryGraph
data::Graph toIce(const semrel::AttributedGraph &input)
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
void RemoteGui_startRunningTask()
void RemoteGui_createTab(std::string const &name, RemoteGui::Client::Widget const &rootWidget, RemoteGui::Client::Tab *tab)