diff --git a/plugins/pyqcustomplot/decorator.cc b/plugins/pyqcustomplot/decorator.cc index b29e792b10971bda03b6d8dc97796047196f01f0..1dfdcf5c6482af89b54f15086a579955234b7801 100644 --- a/plugins/pyqcustomplot/decorator.cc +++ b/plugins/pyqcustomplot/decorator.cc @@ -25,7 +25,6 @@ void registerQCustomPlot () PythonQt::self()->registerCPPClass ("QCustomPlot" , "QWidget" , "QCustomPlot"); // PythonQt::self()->registerCPPClass ("QCPLayoutElement" , "QGraphicsScene", "QCustomPlot"); // PythonQt::self()->registerCPPClass ("QCPLayout" , "QGraphicsItem" , "QCustomPlot"); - // PythonQt::self()->registerCPPClass ("QCPAxis" , "QGraphicsItem" , "QCustomPlot"); // PythonQt::self()->registerCPPClass ("QCPAxisRect" , "QGraphicsItem" , "QCustomPlot"); // PythonQt::self()->registerCPPClass ("QCPAxisPainterPrivate", "QGraphicsItem" , "QCustomPlot"); PythonQt::self()->registerCPPClass ("QCPGraph" , "QCPAbstractPlottable" , "QCustomPlot"); @@ -49,4 +48,6 @@ void registerQCustomPlot () PythonQt::self()->registerCPPClass ("QCPLayout" , "QCPLayoutElement" , "QCustomPlot"); PythonQt::self()->registerCPPClass ("QCPLayoutGrid" , "QCPLayout" , "QCustomPlot"); PythonQt::self()->registerCPPClass ("QCPLegend" , "QCPLayoutGrid" , "QCustomPlot"); + + PythonQt::self()->registerCPPClass ("QCPAxis" , "QCPLayerable" , "QCustomPlot"); } diff --git a/plugins/pyqcustomplot/decorator.hh b/plugins/pyqcustomplot/decorator.hh index 14dcd919ecbb0241e57f9f92cd7b17a2ea283fdc..afa776c37f5044ec7b8e00d7d8d644b250444ab8 100644 --- a/plugins/pyqcustomplot/decorator.hh +++ b/plugins/pyqcustomplot/decorator.hh @@ -9,15 +9,16 @@ class QCustomPlotDecorator : public QObject Q_OBJECT public Q_SLOTS: // add a constructor - QCustomPlot* new_QCustomPlot() + QCustomPlot* new_QCustomPlot(QWidget* parent = 0) { - return new QCustomPlot(); + return new QCustomPlot(parent); } - //wrapper functions void delete_QCustomPlot(QCustomPlot* o) //delete QCustomPlot object { delete o; } + /// \name QCustomPlot + /// \{ void clearGraphs(QCustomPlot* o) //add a graph inside the QCustomPlot object { o->clearGraphs(); @@ -74,161 +75,58 @@ class QCustomPlotDecorator : public QObject { return o->legend; } - //------------------------------------------------------- Axis adjustment stuff------------------------------------------------ - //xAxis stuff - void xAxis_setLabel(QCustomPlot* o, const QString text) - { - o->xAxis->setLabel(text); - } - void xAxis_setVisible(QCustomPlot* o, bool visible) - { - o->setVisible(visible); - } - void xAxis_setRange(QCustomPlot* o, double position, double size) - { - o->xAxis->setRange(position, size); - } - void xAxis_setAutoTicks(QCustomPlot* o, bool on) - { - o->xAxis->setAutoSubTicks(on); - } - void xAxis_setAutoTickLabels(QCustomPlot* o, bool on) - { - o->xAxis->setAutoTickLabels(on); - } - void xAxis_setTickVector(QCustomPlot* o, const QVector<double> &ticks) - { - o->xAxis->setTickVector(ticks); - } - void xAxis_setTickVectorLabels(QCustomPlot* o, const QVector<QString> &labels) - { - o->xAxis->setTickVectorLabels(labels); - } - void xAxis_setTickLength(QCustomPlot* o, int inside, int outside) - { - o->xAxis->setTickLength(inside,outside); - } - void xAxis_setSubTickLength(QCustomPlot* o, int inside, int outside) - { - o->xAxis->setSubTickLength(inside, outside); - } - //xAxis2 stuff - void xAxis2_setLabel(QCustomPlot* o, const QString text) - { - o->xAxis2->setLabel(text); - } - void xAxis2_setVisible(QCustomPlot* o, bool visible) - { - o->setVisible(visible); - } - void xAxis2_setRange(QCustomPlot* o, double position, double size) - { - o->xAxis2->setRange(position, size); - } - void xAxis2_setAutoTicks(QCustomPlot* o, bool on) - { - o->xAxis2->setAutoSubTicks(on); - } - void xAxis2_setAutoTickLabels(QCustomPlot* o, bool on) - { - o->xAxis2->setAutoTickLabels(on); - } - void xAxis2_setTickVector(QCustomPlot* o, const QVector<double> &ticks) - { - o->xAxis2->setTickVector(ticks); - } - void xAxis2_setTickVectorLabels(QCustomPlot* o, const QVector<QString> &labels) - { - o->xAxis2->setTickVectorLabels(labels); - } - void xAxis2_setTickLength(QCustomPlot* o, int inside, int outside) - { - o->xAxis2->setTickLength(inside,outside); - } - void xAxis2_setSubTickLength(QCustomPlot* o, int inside, int outside) - { - o->xAxis2->setSubTickLength(inside, outside); - } - //yAxis stuff - void yAxis_setLabel(QCustomPlot* o, const QString text) - { - o->yAxis->setLabel(text); - } - void yAxis_setVisible(QCustomPlot* o, bool visible) - { - o->setVisible(visible); - } - void yAxis_setRange(QCustomPlot* o, double position, double size) - { - o->yAxis->setRange(position, size); - } - void yAxis_setAutoTicks(QCustomPlot* o, bool on) - { - o->yAxis->setAutoSubTicks(on); - } - void yAxis_setAutoTickLabels(QCustomPlot* o, bool on) - { - o->yAxis->setAutoTickLabels(on); - } - void yAxis_setTickVector(QCustomPlot* o, const QVector<double> &ticks) - { - o->yAxis->setTickVector(ticks); - } - void yAxis_setTickVectorLabels(QCustomPlot* o, const QVector<QString> &labels) - { - o->yAxis->setTickVectorLabels(labels); - } - void yAxis_setTickLength(QCustomPlot* o, int inside, int outside) - { - o->yAxis->setTickLength(inside,outside); - } - void yAxis_setSubTickLength(QCustomPlot* o, int inside, int outside) - { - o->yAxis->setSubTickLength(inside, outside); - } - //yAxis2 stuff - void yAxis2_setLabel(QCustomPlot* o, const QString text) + void setInteraction(QCustomPlot* o, int interaction, bool enabled = true) { - o->yAxis2->setLabel(text); + o->setInteraction((QCP::Interaction)interaction, enabled); } - void yAxis2_setVisible(QCustomPlot* o, bool visible) + QCPAxis* xAxis (QCustomPlot* o) { return o->xAxis ; } + QCPAxis* xAxis2 (QCustomPlot* o) { return o->xAxis2; } + QCPAxis* yAxis (QCustomPlot* o) { return o->yAxis ; } + QCPAxis* yAxis2 (QCustomPlot* o) { return o->yAxis2; } + /// \} + + /// \name QCPAxis + /// \{ + void setLabel(QCPAxis* a, const QString text) { - o->setVisible(visible); + a->setLabel(text); } - void yAxis2_setRange(QCustomPlot* o, double position, double size) + void setRange(QCPAxis* a, double position, double size) { - o->yAxis2->setRange(position, size); + a->setRange(position, size); } - void yAxis2_setAutoTicks(QCustomPlot* o, bool on) + void setAutoTicks(QCPAxis* a, bool on) { - o->yAxis2->setAutoSubTicks(on); + a->setAutoSubTicks(on); } - void yAxis2_setAutoTickLabels(QCustomPlot* o, bool on) + void setAutoTickLabels(QCPAxis* a, bool on) { - o->yAxis2->setAutoTickLabels(on); + a->setAutoTickLabels(on); } - void yAxis2_setTickVector(QCustomPlot* o, const QVector<double> &ticks) + void setTickVector(QCPAxis* a, const QVector<double> &ticks) { - o->yAxis2->setTickVector(ticks); + a->setTickVector(ticks); } - void yAxis2_setTickVectorLabels(QCustomPlot* o, const QVector<QString> &labels) + void setTickVectorLabels(QCPAxis* a, const QVector<QString> &labels) { - o->yAxis2->setTickVectorLabels(labels); + a->setTickVectorLabels(labels); } - void yAxis2_setTickLength(QCustomPlot* o, int inside, int outside) + void setTickLength(QCPAxis* a, int inside, int outside) { - o->yAxis2->setTickLength(inside,outside); + a->setTickLength(inside,outside); } - void yAxis2_setSubTickLength(QCustomPlot* o, int inside, int outside) + void setSubTickLength(QCPAxis* a, int inside, int outside) { - o->yAxis2->setSubTickLength(inside, outside); + a->setSubTickLength(inside, outside); } - //Interaction - void setInteraction(QCustomPlot* o, int interaction, bool enabled = true) + double pixelToCoord(QCPAxis* a, double pixel) { - o->setInteraction((QCP::Interaction)interaction, enabled); + return a->pixelToCoord(pixel); } - //QCPGraph + /// \} + + /// \name QCPGraph + /// \{ void rescaleAxes(QCPGraph* g, bool v = true) { g->rescaleAxes(v); @@ -245,14 +143,21 @@ class QCustomPlotDecorator : public QObject { g->setPen(pen); } - //QCPAbstractPlottable + /// \} + + /// \name QCPAbstractPlottable + /// \{ void setName (QCPAbstractPlottable* ap, const QString &n) { ap->setName(n); } - //QCPLayerable + /// \} + + /// \name QCPLayerable + /// \{ void setVisible (QCPLayerable* l, const bool &v) { l->setVisible(v); } + /// \} }; diff --git a/plugins/pyqcustomplot/plugin.hh b/plugins/pyqcustomplot/plugin.hh index b0d551137f1a9357257a36d59cf6f51f66a19793..990b4286fa14b6237179fb83c60aa5dee5c022fe 100644 --- a/plugins/pyqcustomplot/plugin.hh +++ b/plugins/pyqcustomplot/plugin.hh @@ -24,6 +24,8 @@ namespace PyQCustomPlot { /// \ingroup pluginlist /// Provide bindings of QCustomPlot library in PythonQt terminal. + /// See QCustomPlotDecorator for the API available in Python. + /// /// Add the following to your settings file to activate it. /// /// [plugins]