Code Documentation 3.5
Social Network Visualizer
Loading...
Searching...
No Matches
graphtablewidget.h
Go to the documentation of this file.
1
13#pragma once
14
15#include <QWidget>
16
17class Graph;
18class NodeTableModel;
19class EdgeTableModel;
20class QAbstractItemModel;
21class QTabWidget;
22class QTableView;
23class QLineEdit;
24class QSortFilterProxyModel;
25
34class GraphTableWidget : public QWidget
35{
36 Q_OBJECT
37public:
38 explicit GraphTableWidget(QWidget *parent = nullptr);
39
41 QAbstractItemModel *nodeModel() const;
43 QAbstractItemModel *edgeModel() const;
44
45public slots:
51 void refresh(Graph *graph);
52
54 void exportNodesCSV();
56 void exportNodesJSON();
58 void exportEdgesCSV();
60 void exportEdgesJSON();
61
63 void importNodesCSV();
65 void importNodesJSON();
67 void importEdgesCSV();
69 void importEdgesJSON();
70
71signals:
73 void nodeSelected(int number);
74
76 void exportStatusMessage(const QString &message);
77
79 void importStatusMessage(const QString &message);
80
81private slots:
82 void onNodeRowClicked(const QModelIndex &proxyIndex);
83
84private:
85 void doExport(QAbstractItemModel *proxyModel,
86 const QString &defaultName,
87 bool csv);
88 void doImport(bool forNodes, bool csv);
89
90 Graph *m_graph = nullptr;
91 QTabWidget *m_tabs;
92 QTableView *m_nodeView;
93 QTableView *m_edgeView;
96 QSortFilterProxyModel *m_nodeProxy;
97 QSortFilterProxyModel *m_edgeProxy;
98 QLineEdit *m_nodeSearch;
99 QLineEdit *m_edgeSearch;
100};
Table model that caches edge data for the current relation from Graph and writes back via the Graph A...
Definition edgetablemodel.h:30
A QWidget containing a QTabWidget with two tabs — Nodes and Edges — each backed by a sortable,...
Definition graphtablewidget.h:35
void importStatusMessage(const QString &message)
void exportNodesJSON()
Definition graphtablewidget.cpp:252
QTableView * m_nodeView
Definition graphtablewidget.h:92
NodeTableModel * m_nodeModel
Definition graphtablewidget.h:94
QSortFilterProxyModel * m_edgeProxy
Definition graphtablewidget.h:97
Graph * m_graph
Definition graphtablewidget.h:90
QAbstractItemModel * edgeModel() const
Definition graphtablewidget.cpp:242
void doImport(bool forNodes, bool csv)
Opens DialogImportAttributes and, on acceptance, calls the appropriate Graph import method then refre...
Definition graphtablewidget.cpp:313
void importEdgesCSV()
Definition graphtablewidget.cpp:303
void refresh(Graph *graph)
Repopulates both the node and edge models from graph.
Definition graphtablewidget.cpp:212
QLineEdit * m_edgeSearch
Definition graphtablewidget.h:99
QTableView * m_edgeView
Definition graphtablewidget.h:93
QSortFilterProxyModel * m_nodeProxy
Definition graphtablewidget.h:96
EdgeTableModel * m_edgeModel
Definition graphtablewidget.h:95
void doExport(QAbstractItemModel *proxyModel, const QString &defaultName, bool csv)
Opens a save dialog and writes proxyModel via TableExport.
Definition graphtablewidget.cpp:273
void exportEdgesCSV()
Definition graphtablewidget.cpp:257
void exportStatusMessage(const QString &message)
QAbstractItemModel * nodeModel() const
Definition graphtablewidget.cpp:237
void exportNodesCSV()
Definition graphtablewidget.cpp:247
void onNodeRowClicked(const QModelIndex &proxyIndex)
Maps the proxy index to a source index and emits nodeSelected().
Definition graphtablewidget.cpp:226
QTabWidget * m_tabs
Definition graphtablewidget.h:91
void importNodesJSON()
Definition graphtablewidget.cpp:302
void exportEdgesJSON()
Definition graphtablewidget.cpp:262
void importNodesCSV()
Definition graphtablewidget.cpp:301
QLineEdit * m_nodeSearch
Definition graphtablewidget.h:98
void nodeSelected(int number)
void importEdgesJSON()
Definition graphtablewidget.cpp:304
The Graph class This is the main class for a Graph, used in conjuction with GraphVertex,...
Definition graph.h:74
Table model that caches node data from Graph and writes back via the Graph API.
Definition nodetablemodel.h:30