Code Documentation 3.6
Social Network Visualizer
Loading...
Searching...
No Matches
EdgeTableModel Class Reference

Table model that caches edge data for the current relation from Graph and writes back via the Graph API. More...

#include <widgets/edgetablemodel.h>

Inheritance diagram for EdgeTableModel:
Collaboration diagram for EdgeTableModel:

Classes

struct  EdgeRow

Public Member Functions

 EdgeTableModel (QObject *parent=nullptr)
void populate (Graph *graph)
 Rebuilds the internal cache from graph (current relation only).
QStringList attrKeys () const
int rowCount (const QModelIndex &parent=QModelIndex()) const override
int columnCount (const QModelIndex &parent=QModelIndex()) const override
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Qt::ItemFlags flags (const QModelIndex &index) const override
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override

Private Attributes

Graphm_graph = nullptr
QList< EdgeRowm_rows
QStringList m_attrKeys

Static Private Attributes

static constexpr int FIXED_COLS = 6
static constexpr int COL_SOURCE = 0
static constexpr int COL_TARGET = 1
static constexpr int COL_RELATION = 2
static constexpr int COL_WEIGHT = 3
static constexpr int COL_LABEL = 4
static constexpr int COL_COLOR = 5

Detailed Description

Table model that caches edge data for the current relation from Graph and writes back via the Graph API.

Fixed columns: Source, Target, Relation, Weight, Label, Color. Dynamic columns: one per custom attribute key reported by the graph.

Constructor & Destructor Documentation

◆ EdgeTableModel()

EdgeTableModel::EdgeTableModel ( QObject * parent = nullptr)
explicit

Member Function Documentation

◆ attrKeys()

QStringList EdgeTableModel::attrKeys ( ) const
inline

Custom attribute keys present in the current graph (dynamic columns).

◆ columnCount()

int EdgeTableModel::columnCount ( const QModelIndex & parent = QModelIndex()) const
override

◆ data()

QVariant EdgeTableModel::data ( const QModelIndex & index,
int role = Qt::DisplayRole ) const
override

◆ flags()

Qt::ItemFlags EdgeTableModel::flags ( const QModelIndex & index) const
override

◆ headerData()

QVariant EdgeTableModel::headerData ( int section,
Qt::Orientation orientation,
int role = Qt::DisplayRole ) const
override

◆ populate()

void EdgeTableModel::populate ( Graph * graph)

Rebuilds the internal cache from graph (current relation only).

Rebuilds the internal row cache from the current relation of graph.

Calls beginResetModel() / endResetModel() so connected views repaint.

Only enabled edges belonging to the current relation are included. Custom attribute keys are taken from Graph::graphHasEdgeCustomAttributes().

◆ rowCount()

int EdgeTableModel::rowCount ( const QModelIndex & parent = QModelIndex()) const
override

◆ setData()

bool EdgeTableModel::setData ( const QModelIndex & index,
const QVariant & value,
int role = Qt::EditRole )
override

Member Data Documentation

◆ COL_COLOR

int EdgeTableModel::COL_COLOR = 5
staticconstexprprivate

◆ COL_LABEL

int EdgeTableModel::COL_LABEL = 4
staticconstexprprivate

◆ COL_RELATION

int EdgeTableModel::COL_RELATION = 2
staticconstexprprivate

◆ COL_SOURCE

int EdgeTableModel::COL_SOURCE = 0
staticconstexprprivate

◆ COL_TARGET

int EdgeTableModel::COL_TARGET = 1
staticconstexprprivate

◆ COL_WEIGHT

int EdgeTableModel::COL_WEIGHT = 3
staticconstexprprivate

◆ FIXED_COLS

int EdgeTableModel::FIXED_COLS = 6
staticconstexprprivate

◆ m_attrKeys

QStringList EdgeTableModel::m_attrKeys
private

◆ m_graph

Graph* EdgeTableModel::m_graph = nullptr
private

◆ m_rows

QList<EdgeRow> EdgeTableModel::m_rows
private

The documentation for this class was generated from the following files: