21 #ifndef GRAPHELEMENTMODEL_H 22 #define GRAPHELEMENTMODEL_H 24 #include <tulip/TulipModel.h> 25 #include <tulip/GraphModel.h> 29 class TLP_QT_SCOPE GraphElementModel:
public TulipModel {
33 GraphElementModel(Graph *graph,
unsigned int id, QObject *parent=NULL,
bool displayvisual=
true);
35 void setShowVisualProp(
bool show);
37 int rowCount(
const QModelIndex &parent = QModelIndex())
const;
38 int columnCount(
const QModelIndex &parent = QModelIndex())
const;
39 QModelIndex parent(
const QModelIndex &child)
const;
41 QVariant headerData(
int section, Qt::Orientation orientation,
int role)
const;
42 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex())
const;
43 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const;
45 virtual QString headerText(
unsigned int id)
const = 0;
46 virtual QVariant value(
unsigned int id,PropertyInterface *prop)
const = 0;
48 Qt::ItemFlags flags(
const QModelIndex &index)
const;
54 bool _displayvisualprop;
59 class TLP_QT_SCOPE GraphNodeElementModel :
public GraphElementModel {
63 GraphNodeElementModel(Graph *graph,
unsigned int id, QObject *parent=NULL,
bool displayvisual=
true):GraphElementModel(graph,id,parent,displayvisual) {}
65 QString headerText(
unsigned int id)
const {
66 return QString(
"node: ") + QString::number(
id);
69 QVariant value(
unsigned int id, PropertyInterface *prop)
const {
70 return GraphModel::nodeValue(
id,prop);
73 bool setData(
const QModelIndex &index,
const QVariant &value,
int role);
77 class TLP_QT_SCOPE GraphEdgeElementModel :
public GraphElementModel {
81 GraphEdgeElementModel(Graph *graph,
unsigned int id, QObject *parent=NULL,
bool displayvisual=
true):GraphElementModel(graph,id,parent,displayvisual) {}
83 QString headerText(
unsigned int id)
const {
84 return QString(
"edge: ") + QString::number(
id);
87 QVariant value(
unsigned int id, PropertyInterface *prop)
const {
88 return GraphModel::edgeValue(
id,prop);
91 bool setData(
const QModelIndex &index,
const QVariant &value,
int role);
97 #endif // GRAPHELEMENTMODEL_H