diff --git a/plugins/pyqgv/decorator.cc b/plugins/pyqgv/decorator.cc index 5477b9c862b5616bca31265c85f13c801fc8ec47..7e644b2c3c1281924df051ec0573a71c719ee466 100644 --- a/plugins/pyqgv/decorator.cc +++ b/plugins/pyqgv/decorator.cc @@ -18,13 +18,13 @@ #include <PythonQt.h> #include <QGVScene.h> +#include <QGVSubGraph.h> #include <QGVNode.h> #include <QGVEdge.h> namespace PyQgv { // ------- QGVScene ------------------------------------------- // -QGVScene* QGVDecorator::new_QGVScene(const QString &name) { return new QGVScene(name); } QGVScene* QGVDecorator::new_QGVScene(const QString &name, QObject *parent) { return new QGVScene(name, parent); } void QGVDecorator::delete_QGVScene(QGVScene* s) { delete s; } @@ -33,15 +33,12 @@ void QGVDecorator::setNodeAttribute (QGVScene* s, const QString &name, const QSt void QGVDecorator::setEdgeAttribute (QGVScene* s, const QString &name, const QString &value) { s->setEdgeAttribute (name, value); } QGVNode* QGVDecorator::addNode(QGVScene* s, const QString& label) { return s->addNode (label); } -QGVEdge* QGVDecorator::addEdge(QGVScene* s, QGVNode* source, QGVNode* target) { return s->addEdge (source, target); } -QGVEdge* QGVDecorator::addEdge(QGVScene* s, QGVNode* source, QGVNode* target, const QString& label) { return s->addEdge (source, target, label); } -// QGVSubGraph* QGVDecorator::addSubGraph(const QString& name, bool cluster=true); +QGVEdge* QGVDecorator::addEdge(QGVScene* s, QGVNode* source, QGVNode* target, const QString label) { return s->addEdge (source, target, label); } +QGVSubGraph* QGVDecorator::addSubGraph(QGVScene* s, const QString& name, bool cluster) { return s->addSubGraph (name, cluster); } void QGVDecorator::setRootNode(QGVScene* s, QGVNode *node) { s->setRootNode (node); } void QGVDecorator::setNodePositionAttribute(QGVScene* s) { s->setNodePositionAttribute (); } -// void QGVDecorator::setNodePositionAttribute(); - void QGVDecorator::loadLayout (QGVScene* s, const QString &text) { s->loadLayout(text); } void QGVDecorator::applyLayout(QGVScene* s, const QString &algorithm) { s->applyLayout(algorithm); } void QGVDecorator::render (QGVScene* s, const QString &algorithm) { s->render(algorithm); } @@ -50,6 +47,14 @@ void QGVDecorator::freeLayout (QGVScene* s) { s->freeLayout(); } void QGVDecorator::clear (QGVScene* s) { s->clear(); } // ------- QGVScene ------------------------------------------- // +// ------- QGVScene ------------------------------------------- // +void QGVDecorator::setAttribute (QGVSubGraph* s, const QString &name, const QString &value) { s->setAttribute (name, value); } +QString QGVDecorator::getAttribute (QGVSubGraph* s, const QString &name) { return s->getAttribute (name); } + +QGVNode* QGVDecorator::addNode(QGVSubGraph* s, const QString& label) { return s->addNode (label); } +QGVSubGraph* QGVDecorator::addSubGraph(QGVSubGraph* s, const QString& name, bool cluster) { return s->addSubGraph (name, cluster); } +// ------- QGVScene ------------------------------------------- // + // ------- QGVNode ------------------------------------------- // void QGVDecorator::setAttribute (QGVNode* n, const QString &name, const QString &value) { n->setAttribute(name,value); } QString QGVDecorator::getAttribute (QGVNode* n, const QString &name) { return n->getAttribute(name); } @@ -63,9 +68,10 @@ QString QGVDecorator::getAttribute (QGVEdge* e, const QString &name) { return e- void registerQGV () { PythonQt::self()->addDecorators (new QGVDecorator ()); - PythonQt::self()->registerCPPClass ("QGVScene", "QGraphicsScene", "qgv"); - PythonQt::self()->registerCPPClass ("QGVNode" , "QGraphicsItem" , "qgv"); - PythonQt::self()->registerCPPClass ("QGVEdge" , "QGraphicsItem" , "qgv"); + PythonQt::self()->registerCPPClass ("QGVScene" , "QGraphicsScene", "QGraphViz"); + PythonQt::self()->registerCPPClass ("QGVSubGraph", "QGraphicsItem" , "QGraphViz"); + PythonQt::self()->registerCPPClass ("QGVNode" , "QGraphicsItem" , "QGraphViz"); + PythonQt::self()->registerCPPClass ("QGVEdge" , "QGraphicsItem" , "QGraphViz"); } } // namespace PyQgv diff --git a/plugins/pyqgv/decorator.hh b/plugins/pyqgv/decorator.hh index 142614eba26402df8d6cbb2aee330e127c4e0e3c..4b7363897f8e85b4a3958bc971538ff26342e7f5 100644 --- a/plugins/pyqgv/decorator.hh +++ b/plugins/pyqgv/decorator.hh @@ -18,6 +18,7 @@ #include <QObject> class QGVScene; +class QGVSubGraph; class QGVNode; class QGVEdge; @@ -28,9 +29,8 @@ namespace PyQgv { public slots: - // ------- QGVScene ------------------------------------------- // - QGVScene* new_QGVScene(const QString &name); - QGVScene* new_QGVScene(const QString &name, QObject *parent); + // ------- QGVScene ------------------------------------------- // + QGVScene* new_QGVScene(const QString &name, QObject *parent = NULL); void delete_QGVScene(QGVScene* s); void setGraphAttribute(QGVScene* s, const QString &name, const QString &value); @@ -38,23 +38,28 @@ namespace PyQgv { void setEdgeAttribute (QGVScene* s, const QString &name, const QString &value); QGVNode* addNode(QGVScene* s, const QString& label); - QGVEdge* addEdge(QGVScene* s, QGVNode* source, QGVNode* target); - QGVEdge* addEdge(QGVScene* s, QGVNode* source, QGVNode* target, const QString& label); - // QGVSubGraph* addSubGraph(const QString& name, bool cluster=true); + QGVEdge* addEdge(QGVScene* s, QGVNode* source, QGVNode* target, const QString label = QString()); + QGVSubGraph* addSubGraph(QGVScene* s, const QString& name, bool cluster=true); void setRootNode(QGVScene* s, QGVNode *node); void setNodePositionAttribute (QGVScene* s); - // void setNodePositionAttribute(); - void loadLayout (QGVScene* s, const QString &text); - void applyLayout(QGVScene* s, const QString &algorithm); + void applyLayout(QGVScene* s, const QString &algorithm = "dot"); void render (QGVScene* s, const QString &algorithm); void render (QGVScene* s, const QString &algorithm, const QString file); void freeLayout (QGVScene* s); void clear (QGVScene* s); // ------- QGVScene ------------------------------------------- // + // ------- QGVSubGraph ---------------------------------------- // + void setAttribute (QGVSubGraph* n, const QString &name, const QString &value); + QString getAttribute (QGVSubGraph* n, const QString &name); + + QGVNode* addNode(QGVSubGraph* s, const QString& label); + QGVSubGraph* addSubGraph(QGVSubGraph* s, const QString& name, bool cluster=true); + // ------- QGVSubGraph ---------------------------------------- // + // ------- QGVNode ------------------------------------------- // void setAttribute (QGVNode* n, const QString &name, const QString &value); QString getAttribute (QGVNode* n, const QString &name);