40 #include <armarx/navigation/core/aron/Location.aron.generated.h>
41 #include <armarx/navigation/gui-plugins/LocationGraphEditor/ui_LocationGraphEditorWidget.h>
103 static QString GetWidgetName();
104 static QIcon GetWidgetIcon();
112 void loadSettings(QSettings* settings)
override;
114 void saveSettings(QSettings* settings)
override;
117 QPointer<QDialog> getConfigDialog(QWidget* parent =
nullptr)
override;
118 void configured()
override;
121 void onInitComponent()
override;
122 void onConnectComponent()
override;
126 virtual void loadAutomaticSettings();
127 virtual void saveAutomaticSettings();
134 void locationMemoryChanged();
135 void graphMemoryChanged();
136 void memoryChanged();
149 bool loadGraphDialog();
158 void updateGraphList();
159 void updateGraphView();
160 void updateVertexView(GuiGraph::Vertex vertex);
161 void updateEdgeView(GuiGraph::Edge edge);
166 void selectVertex(QTableWidgetItem* vertexItem);
167 void selectVertex(GuiGraph::Vertex vertex);
168 void updateVertexHighlighting();
169 void updateEdgeHighlighting();
173 void createVertexDialog();
175 void addEdges(QList<QPair<QTableWidgetItem*, QTableWidgetItem*>> vertexItems);
176 void removeEdges(QList<QTableWidgetItem*> edgeItems);
177 void removeEdgesOfVertex(QList<QTableWidgetItem*> vertexItems,
180 void createGraphDialog();
187 GuiGraph::Vertex addVertex(semrel::ShapeID vertexID,
const VertexData& defaultAttribs);
188 GuiGraph::Vertex addVertex(semrel::ShapeID vertexID,
191 GuiGraph::Edge addEdge(GuiGraph::ConstVertex
source,
192 GuiGraph::ConstVertex
target,
195 void removeVertex(GuiGraph::Vertex& vertex);
196 void removeEdge(GuiGraph::Edge& edge);
200 void clearVertices();
203 QString getGraphDisplayName(
const armem::MemoryID& entityID,
bool changed =
false)
const;
205 void exportLocationGraph();
209 Ui::LocationGraphEditorWidget widget;
210 QPointer<SimpleConfigDialog> configDialog;
214 std::string memoryNameSystemName =
"MemoryNameSystem";
223 std::unique_ptr<viz::Client> arviz;
258 QString lastSelectedSceneName;