##// END OF EJS Templates
Removed hack from QCustomPlot, moved to QCustomPlotVect class.
Removed hack from QCustomPlot, moved to QCustomPlotVect class.

File last commit:

r7:6e23aedd1ca8 default
r7:6e23aedd1ca8 default
Show More
SocExplorerPlot.h
129 lines | 4.5 KiB | text/x-c | CLexer
/ src / SocExplorerPlot.h
First init
r0 /*------------------------------------------------------------------------------
-- This file is a part of the QLop Software
-- Copyright (C) 2015, Plasma Physics Laboratory - CNRS
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-------------------------------------------------------------------------------*/
/*-- Author : Alexis Jeandet
-- Mail : alexis.jeandet@member.fsf.org
----------------------------------------------------------------------------*/
#ifndef SOCEXPLORERPLOT_H
#define SOCEXPLORERPLOT_H
#include <QWidget>
#include <QGridLayout>
#include <qcustomplot.h>
Removed hack from QCustomPlot, moved to QCustomPlotVect class.
r7 #include <qcustomplotvect.h>
added zoom box.
r2 #include <QRubberBand>
#include <QPoint>
First init
r0
Removed hack from QCustomPlot, moved to QCustomPlotVect class.
r7 class SocExplorerPlotActions : public QAction
{
Q_OBJECT
public:
SocExplorerPlotActions(const QString &text,int PID,QObject* parent=0)
:QAction(text,parent)
{
setPID(PID);
connect(this,SIGNAL(triggered()),this,SLOT(trigger()));
}
SocExplorerPlotActions(const QIcon &icon, const QString &text,int PID, QObject* parent)
:QAction(icon,text,parent)
{
setPID(PID);
connect(this,SIGNAL(triggered()),this,SLOT(trigger()));
}
~SocExplorerPlotActions(){}
void setPID(int PID){this->m_PID=PID;}
int PID(){return m_PID;}
private slots:
void trigger(){emit triggered(m_PID);}
signals:
void triggered(int PID);
private:
int m_PID;
};
First init
r0 class SocExplorerPlot : public QWidget
{
Q_OBJECT
public:
explicit SocExplorerPlot(QWidget *parent = 0);
added zoom box.
r2 ~SocExplorerPlot();
First init
r0 void setTitle(QString title);
void setXaxisLabel(QString label);
void setXaxisRange(double lower, double upper);
void setYaxisLabel(QString label);
void setYaxisRange(double lower, double upper);
void rescaleAxis();
void setLegendFont(QFont font);
void setLegendSelectedFont(QFont font);
void setAdaptativeSampling(int graphIndex,bool enable);
Changed QCustomPlot data from QMap to QVector....
r3 void setUseFastVector(int graphIndex,bool enable);
First init
r0 int addGraph();
bool removeGraph(int graphIndex);
Removed hack from QCustomPlot, moved to QCustomPlotVect class.
r7 int graphCount();
First init
r0 void removeAllGraphs();
void setGraphName(int graphIndex,QString name);
void setGraphData(int graphIndex, QList<QVariant> x, QList<QVariant> y);
void setGraphData(int graphIndex, QCPDataMap* data,bool copy = true,bool replot=true);
Changed QCustomPlot data from QMap to QVector....
r3 void setGraphData(int graphIndex, QVector<QCPData> *data, bool replot);
First init
r0 void addGraphData(int graphIndex, QList<QVariant> x, QList<QVariant> y);
void addGraphData(int graphIndex, QVariant x, QVariant y);
void setGraphPen(int graphIndex,QPen pen);
QPen getGraphPen(int graphIndex);
void setGraphLineStyle(int graphIndex,QString lineStyle);
void setGraphScatterStyle(int graphIndex,QString scatterStyle);
void setXaxisTickLabelType(QCPAxis::LabelType type);
void setXaxisDateTimeFormat(const QString &format);
void show();
void replot();
Added Python Console and some Wrappers....
r5 void exportToSVG(const QString& fileName);
void exportToPDF(const QString& fileName);
Removed hack from QCustomPlot, moved to QCustomPlotVect class.
r7 void addAction(SocExplorerPlotActions* action);
int PID(){return m_PID;}
void setPID(int PID){m_PID = PID;}
QVector<QCPData>* getVisibleData(int graphIndex);
First init
r0 signals:
A lot of refactoring:...
r6 void titleChanged(const QString& newTitle);
First init
r0 public slots:
protected:
void keyPressEvent(QKeyEvent *);
void keyReleaseEvent(QKeyEvent *);
void wheelEvent(QWheelEvent *);
void mousePressEvent(QMouseEvent *);
void mouseMoveEvent(QMouseEvent *);
void mouseReleaseEvent(QMouseEvent *);
private:
Drag and drop implemented, improved plot interactions.
r1 void zoom(double factor, int center, Qt::Orientation orientation);
void move(double factor, Qt::Orientation orientation);
Removed hack from QCustomPlot, moved to QCustomPlotVect class.
r7 QCustomPlotVect* m_plot;
First init
r0 QGridLayout* m_mainlayout;
bool ctrl_hold;
bool shift_hold;
bool mouse_hold;
QCPRange DragStartHorzRange;
QCPRange DragStartVertRange;
QPoint mDragStart;
added zoom box.
r2 bool mZoomMode;
QRubberBand * mRubberBand;
QPoint mOrigin;
Removed hack from QCustomPlot, moved to QCustomPlotVect class.
r7 QList<SocExplorerPlotActions*> m_actions;
int m_PID;
First init
r0 };
#endif // SOCEXPLORERPLOT_H