most files - check if this is all we need
This commit is contained in:
97
seaplot.h
Normal file
97
seaplot.h
Normal file
@ -0,0 +1,97 @@
|
||||
#ifndef SEAPLOT_H
|
||||
#define SEAPLOT_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include <qwt_plot.h>
|
||||
#include <qlayout.h>
|
||||
#include <qbitarray.h>
|
||||
#include "seaset.h"
|
||||
|
||||
class SeaSet;
|
||||
class SeaData;
|
||||
class SeaZoomer;
|
||||
class SeaCurve;
|
||||
class LegendButton;
|
||||
class QGrid;
|
||||
class QLineEdit;
|
||||
|
||||
class SeaPlot : public QwtPlot
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SeaPlot(QWidget *p, SeaSet *set, const QString &name);
|
||||
void removeAll();
|
||||
LegendButton *putCurve(SeaData *d, QWidget *parent, LegendButton *legButton = NULL);
|
||||
int replotRange(double from, double to, double tick);
|
||||
int replotRange();
|
||||
void refresh();
|
||||
void switchBold(SeaCurve *crv);
|
||||
void setOneBold(SeaCurve *crv);
|
||||
void showAgain();
|
||||
SeaSet *set;
|
||||
QString tag;
|
||||
void autoZoom(bool on);
|
||||
QwtDoubleRect undoRect;
|
||||
void zoomTo(QwtDoubleRect old, QwtDoubleRect &r);
|
||||
void undoZoom(QwtDoubleRect &r);
|
||||
bool toggleLinLog();
|
||||
void autoColors();
|
||||
long marker;
|
||||
void setMarker(double x);
|
||||
bool logarithmic;
|
||||
QBitArray usedColors;
|
||||
signals:
|
||||
void setAutoOff(bool off);
|
||||
private slots:
|
||||
void zoomOut();
|
||||
void zoomMax();
|
||||
void shiftUp();
|
||||
void shiftDown();
|
||||
private:
|
||||
SeaZoomer *zoom;
|
||||
double y1, y2;
|
||||
};
|
||||
|
||||
class FlatButton;
|
||||
|
||||
class LegendButton : public QwtLegendButton {
|
||||
Q_OBJECT
|
||||
public:
|
||||
LegendButton(QWidget *parent, SeaPlot *plot, SeaCurve *crv);
|
||||
void init(SeaPlot *plot, SeaCurve *crv);
|
||||
void setTitle(const QString &title);
|
||||
FlatButton *label;
|
||||
QLabel *valueLabel;
|
||||
SeaPlot *plot;
|
||||
QTimer clickTimer;
|
||||
protected:
|
||||
void mousePressEvent(QMouseEvent *e);
|
||||
public slots:
|
||||
void legendClicked();
|
||||
void longClick();
|
||||
void handleClickTimer();
|
||||
void mousePressed();
|
||||
private:
|
||||
SeaCurve *crv;
|
||||
bool clickDone;
|
||||
};
|
||||
|
||||
|
||||
class SeaCurve : public QwtPlotCurve {
|
||||
public:
|
||||
SeaCurve(QwtPlot *parent, const QString &title);
|
||||
void draw(QPainter *p, const QwtDiMap &xMap, const QwtDiMap &yMap, int from, int to);
|
||||
void setPen(const QPen &p);
|
||||
void setTitle(const QString &t);
|
||||
void yBounds(double from, double to, double &ymin, double &ymax);
|
||||
void changeBold();
|
||||
|
||||
SeaData *data;
|
||||
bool bold;
|
||||
int iColor;
|
||||
bool autoColor;
|
||||
LegendButton *leg;
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user