27 #include <qhashfunctions.h>
30 #include <qobjectdefs.h>
33 #include <qsettings.h>
51 #include <armarx/navigation/gui-plugins/LocationGraphEditor/ui_LocationGraphEditorWidget.h>
55 #include <SemanticObjectRelations/Shapes/Shape.h>
114 static QString GetWidgetName();
115 static QIcon GetWidgetIcon();
123 void loadSettings(QSettings* settings)
override;
125 void saveSettings(QSettings* settings)
override;
128 QPointer<QDialog> getConfigDialog(QWidget* parent =
nullptr)
override;
129 void configured()
override;
132 void onInitComponent()
override;
133 void onConnectComponent()
override;
137 virtual void loadAutomaticSettings();
138 virtual void saveAutomaticSettings();
145 void locationMemoryChanged();
146 void graphMemoryChanged();
147 void memoryChanged();
160 bool loadGraphDialog();
169 void updateGraphList();
170 void updateGraphView();
171 void updateVertexView(GuiGraph::Vertex vertex);
172 void updateEdgeView(GuiGraph::Edge edge);
177 void selectVertex(QTableWidgetItem* vertexItem);
178 void selectVertex(GuiGraph::Vertex vertex);
179 void updateVertexHighlighting();
180 void updateEdgeHighlighting();
184 void createVertexDialog();
186 void addEdges(QList<QPair<QTableWidgetItem*, QTableWidgetItem*>> vertexItems);
187 void removeEdges(QList<QTableWidgetItem*> edgeItems);
188 void removeEdgesOfVertex(QList<QTableWidgetItem*> vertexItems,
191 void createGraphDialog();
198 GuiGraph::Vertex addVertex(semrel::ShapeID vertexID,
const VertexData& defaultAttribs);
199 GuiGraph::Vertex addVertex(semrel::ShapeID vertexID,
202 GuiGraph::Edge addEdge(GuiGraph::ConstVertex
source,
203 GuiGraph::ConstVertex
target,
206 void removeVertex(GuiGraph::Vertex& vertex);
207 void removeEdge(GuiGraph::Edge& edge);
211 void clearVertices();
214 QString getGraphDisplayName(
const armem::MemoryID& entityID,
bool changed =
false)
const;
216 void exportLocationGraph();
220 Ui::LocationGraphEditorWidget widget;
221 QPointer<SimpleConfigDialog> configDialog;
225 std::string memoryNameSystemName =
"MemoryNameSystem";
234 std::unique_ptr<viz::Client> arviz;
269 QString lastSelectedSceneName;