diff --git a/plugins/pyqgv/decorator.cc b/plugins/pyqgv/decorator.cc index 540c6770f18d6709f18760418c518c393e9b8f95..3f562c21a6484f51360c8c3dd0b56eda77d6bef8 100644 --- a/plugins/pyqgv/decorator.cc +++ b/plugins/pyqgv/decorator.cc @@ -18,6 +18,10 @@ #include <PythonQt/PythonQt.h> #include <QGVScene.h> +#include <QGVNode.h> +#include <QGVEdge.h> + +namespace PyQgv { // ------- QGVScene ------------------------------------------- // QGVScene* QGVDecorator::new_QGVScene(const QString &name) { return new QGVScene(name); } @@ -45,6 +49,16 @@ void QGVDecorator::freeLayout (QGVScene* s) { s->freeLayout(); } void QGVDecorator::clear (QGVScene* s) { s->clear(); } // ------- 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); } +// ------- QGVNode ------------------------------------------- // + +// ------- QGVEdge ------------------------------------------- // +void QGVDecorator::setAttribute (QGVEdge* e, const QString &name, const QString &value) { e->setAttribute(name,value); } +QString QGVDecorator::getAttribute (QGVEdge* e, const QString &name) { return e->getAttribute(name); } +// ------- QGVEdge ------------------------------------------- // + void registerQGV () { PythonQt::self()->addDecorators (new QGVDecorator ()); @@ -52,3 +66,5 @@ void registerQGV () PythonQt::self()->registerCPPClass ("QGVNode" , "QGraphicsItem" , "qgv"); PythonQt::self()->registerCPPClass ("QGVEdge" , "QGraphicsItem" , "qgv"); } + +} // namespace PyQgv diff --git a/plugins/pyqgv/decorator.hh b/plugins/pyqgv/decorator.hh index 78e741dfc25ef15f72a29740ee5e57678f7ed1da..41df4277b2a7382f13b543097c6b15ab5d6600fb 100644 --- a/plugins/pyqgv/decorator.hh +++ b/plugins/pyqgv/decorator.hh @@ -21,14 +21,15 @@ class QGVScene; class QGVNode; class QGVEdge; -class QGVCORE_EXPORT QGVDecorator : public QObject -{ +namespace PyQgv { + class QGVCORE_EXPORT QGVDecorator : public QObject + { Q_OBJECT -public slots: + public slots: -// ------- QGVScene ------------------------------------------- // - QGVScene* new_QGVScene(const QString &name); + // ------- QGVScene ------------------------------------------- // + QGVScene* new_QGVScene(const QString &name); QGVScene* new_QGVScene(const QString &name, QObject *parent); void delete_QGVScene(QGVScene* s); @@ -51,8 +52,19 @@ public slots: void render (QGVScene* s, const QString &algorithm, const QString file); void freeLayout (QGVScene* s); void clear (QGVScene* s); -// ------- QGVScene ------------------------------------------- // + // ------- QGVScene ------------------------------------------- // -}; + // ------- QGVNode ------------------------------------------- // + void setAttribute (QGVNode* n, const QString &name, const QString &value); + QString getAttribute (QGVNode* n, const QString &name); + // ------- QGVNode ------------------------------------------- // -void registerQGV (); + // ------- QGVEdge ------------------------------------------- // + void setAttribute (QGVEdge* e, const QString &name, const QString &value); + QString getAttribute (QGVEdge* e, const QString &name); + // ------- QGVEdge ------------------------------------------- // + }; + + /// Register QGV to PythonQt + void registerQGV (); +} // namespace PyQgv diff --git a/plugins/pyqgv/plugin.cc b/plugins/pyqgv/plugin.cc index 5dd343675d1d72438237a8d605122fc2a51cb595..adef98eba8041f4d2902a1d397ab158b9fcca3c7 100644 --- a/plugins/pyqgv/plugin.cc +++ b/plugins/pyqgv/plugin.cc @@ -20,8 +20,10 @@ #include <decorator.hh> -void PyQGV::init() { - registerQGV(); -} +namespace PyQgv { + void Plugin::init() { + registerQGV(); + } -Q_EXPORT_PLUGIN2 (pyqgv, PyQGV) + Q_EXPORT_PLUGIN2 (pyqgv, Plugin) +} // namespace PyQgv diff --git a/plugins/pyqgv/plugin.hh b/plugins/pyqgv/plugin.hh index 21587601d1a6d6152403ce980c743d4e0f808399..4229e8292e24ae739898aa013c29c5d4da2a7867 100644 --- a/plugins/pyqgv/plugin.hh +++ b/plugins/pyqgv/plugin.hh @@ -20,12 +20,16 @@ #include <gepetto/gui/plugin-interface.hh> -class PyQGV : public QObject, public gepetto::gui::PluginInterface { - Q_OBJECT - Q_INTERFACES (gepetto::gui::PluginInterface) +namespace PyQgv { + /// Provide bindings of QGV library in PythonQt terminal. + class Plugin : public QObject, public gepetto::gui::PluginInterface { + Q_OBJECT + Q_INTERFACES (gepetto::gui::PluginInterface) - public: - QString name () const { return QString("PyQGV"); } + public: + QString name () const { return QString("PyQGV"); } - void init(); -}; + /// Calls \ref registerQGV + void init(); + }; +} // namespace PyQgv