VertexTableWidget.h
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @author Rainer Kartmann ( rainer dot kartmann at kit dot edu )
17
* @date 2021
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <QColor>
25
#include <QList>
26
#include <QPair>
27
#include <QTableWidget>
28
#include <qhashfunctions.h>
29
#include <qlist.h>
30
#include <qobjectdefs.h>
31
#include <qpair.h>
32
#include <qpoint.h>
33
#include <qtablewidget.h>
34
35
#include <
armarx/navigation/gui-plugins/LocationGraphEditor/GuiGraph.h
>
36
#include <
armarx/navigation/gui-plugins/LocationGraphEditor/widgets/default_colors.h
>
37
38
namespace
armarx::navigation::qt_plugins::location_graph_editor::utils
39
{
40
enum class
EdgeDirection
;
41
}
42
43
namespace
armarx::navigation::qt_plugins::location_graph_editor
44
{
45
class
VertexTableWidget
:
public
QTableWidget
46
{
47
Q_OBJECT
48
using
This
=
VertexTableWidget
;
49
50
51
public
:
52
VertexTableWidget
();
53
54
55
QTableWidgetItem*
addVertex
();
56
57
void
updateVertex
(GuiGraph::Vertex vertex);
58
59
void
removeVertex
(GuiGraph::Vertex& vertex);
60
61
62
QList<QTableWidgetItem*>
selectedVertexItems
();
63
64
65
signals:
66
67
void
newVertexRequested
();
68
69
void
newEdgesRequested
(QList<QPair<QTableWidgetItem*, QTableWidgetItem*>> edges);
70
void
edgeRemovalRequested
(QList<QTableWidgetItem*> vertexItems,
71
utils::EdgeDirection
direction);
72
73
74
public
slots:
75
76
void
makeContextMenu
(QPoint pos);
77
78
79
private
:
80
static
QString _nameOf(QTableWidgetItem* item);
81
82
83
public
:
84
QColor
bgColorDefault
=
default_colors::tableBackgroundDefault
;
85
QColor
bgColorSelected
=
default_colors::tableBackgroundSelected
;
86
};
87
88
}
// namespace armarx::navigation::qt_plugins::location_graph_editor
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::updateVertex
void updateVertex(GuiGraph::Vertex vertex)
Definition:
VertexTableWidget.cpp:111
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::addVertex
QTableWidgetItem * addVertex()
Definition:
VertexTableWidget.cpp:76
armarx::navigation::qt_plugins::location_graph_editor::default_colors::tableBackgroundSelected
const QColor tableBackgroundSelected
Definition:
default_colors.cpp:30
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::newVertexRequested
void newVertexRequested()
armarx::navigation::qt_plugins::location_graph_editor::default_colors::tableBackgroundDefault
const QColor tableBackgroundDefault
Definition:
default_colors.cpp:29
armarx::navigation::qt_plugins::location_graph_editor::utils::EdgeDirection
EdgeDirection
Definition:
utils.h:43
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::newEdgesRequested
void newEdgesRequested(QList< QPair< QTableWidgetItem *, QTableWidgetItem * >> edges)
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::bgColorSelected
QColor bgColorSelected
Definition:
VertexTableWidget.h:85
armarx::navigation::qt_plugins::location_graph_editor
Definition:
GuiGraph.cpp:34
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::selectedVertexItems
QList< QTableWidgetItem * > selectedVertexItems()
Definition:
VertexTableWidget.cpp:162
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::removeVertex
void removeVertex(GuiGraph::Vertex &vertex)
Definition:
VertexTableWidget.cpp:150
default_colors.h
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::edgeRemovalRequested
void edgeRemovalRequested(QList< QTableWidgetItem * > vertexItems, utils::EdgeDirection direction)
GuiGraph.h
armarx::navigation::qt_plugins::location_graph_editor::utils
Definition:
WidgetController.h:65
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::bgColorDefault
QColor bgColorDefault
Definition:
VertexTableWidget.h:84
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget
Definition:
VertexTableWidget.h:45
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::VertexTableWidget
VertexTableWidget()
Definition:
VertexTableWidget.cpp:54
armarx::navigation::qt_plugins::location_graph_editor::VertexTableWidget::makeContextMenu
void makeContextMenu(QPoint pos)
Definition:
VertexTableWidget.cpp:174
armarx
navigation
gui-plugins
LocationGraphEditor
widgets
VertexTableWidget.h
Generated by
1.8.17