23 #ifndef SG_GUI_PLOTTER_H
24 #define SG_GUI_PLOTTER_H
30 #include <QtCore/QMap>
31 #include <QtCore/QList>
32 #include <QtCore/QVector>
34 #if QT_VERSION >= 0x050000
35 # include <QtWidgets/QAction>
36 # include <QtWidgets/QCheckBox>
37 # include <QtWidgets/QComboBox>
38 # include <QtWidgets/QPlainTextEdit>
39 # include <QtWidgets/QPushButton>
40 # include <QtWidgets/QScrollArea>
41 # include <QtWidgets/QScrollBar>
43 # include <QtGui/QAction>
44 # include <QtGui/QCheckBox>
45 # include <QtGui/QComboBox>
46 # include <QtGui/QPlainTextEdit>
47 # include <QtGui/QPushButton>
48 # include <QtGui/QScrollArea>
49 # include <QtGui/QScrollBar>
54 #include <QtGui/QCursor>
55 #include <QtGui/QTextCharFormat>
105 void flagExtKey(
const QString& eKey,
bool on);
176 inline void setStdVarIdx(
int columnIdx,
int sigmaColumnIdx);
177 inline void setName(
const QString& name,
int idx=-1) {
name_[idx]=name;};
182 inline QString
className()
const {
return "SgPlotCarrier";};
184 void createBranch(
unsigned int numberOfRows,
const QString& branchName,
185 bool hasExtKeys=
false);
341 inline virtual QString
className()
const {
return "SgPlotArea";};
481 void drawData(QPainter*,
const QRect&);
485 inline int calcX(
double x)
const;
486 inline int calcY(
double y)
const;
void setSets2plot(SetsOfData sod)
static QString yLabel4Unknown_
void defineAreas(QPainter *)
void setUserMode(UserMode mode)
void setRulerFromPoint(QPoint point)
const QPoint & getRulerFromPoint() const
void setBPSaturation(int)
void setIsPlotPoints(bool is)
void drawFrames(QPainter *)
void drawRangeSelector(QPainter *)
void output4Print(QPainter *, int, int, int, int, int)
void setIsPlotErrBars(bool is)
QBrush * branchSelectedBrushes_
void setIsRangeSymmetrical(bool is)
void setUserDefinedRanges(double, double, double, double)
virtual void resizeEvent(QResizeEvent *)
SetsOfData getRangeLimits() const
void drawPointInfo(QPainter *)
void drawXmjdTics(QPainter *)
void output4Files(const QString &path)
void setIsPlotImpulses(bool is)
void setXColumn(unsigned int xColumn)
double reverseCalcY(int y) const
static QString xLabel4Unknown_
void drawData(QPainter *, const QRect &)
void setHave2HasZero(bool is)
QPen * branchSelectedPens_
const QPoint & getRulerToPoint() const
void setYColumn(unsigned int yColumn)
void drawYTics(QPainter *)
unsigned int getXColumn() const
void unsetUserDefinedRanges()
void setIsPlotLines(bool is)
const QPoint & getRulerToPointPrev() const
void setVisibleWidth(int width)
UserMode getUserMode() const
void drawXTics(QPainter *)
SetsOfData getSets2plot() const
void setIsLimitsOnVisible(bool is)
void drawRuler(QPainter *)
void queryPoint(const QPoint &, SgPlotBranch *&, int &)
int calcY(double y) const
unsigned int getYColumn() const
SgPlotCarrier * plotCarrier_
virtual QString className() const
void setRulerToPoint(QPoint point)
void drawPointSelector(QPainter *)
int calcX(double x) const
bool useUserDefinedRanges_
virtual void paintEvent(QPaintEvent *)
void setRangeLimits(SetsOfData rl)
void drawWholePlot(QPainter *, const QRect &)
void setIsStdVar(bool is)
SgPlotArea(SgPlotCarrier *, QWidget *parent=0, Qt::WindowFlags f=0)
void setVisibleHeight(int height)
double reverseCalcX(int x) const
const QString & getName() const
QVector< QString > extKeys_
void flagExtKey(const QString &eKey, bool on)
unsigned int getDataAttr(unsigned int) const
bool isPointInRanges(int idx, unsigned int limits) const
const QString & getExtKey(int idx)
QVector< bool > extKeysVisible_
QMap< int, QString > alternativeTitleName_
unsigned int numOfRows() const
void xorDataAttr(unsigned int, unsigned int)
void addDataAttr(unsigned int, unsigned int)
void setExtKey(int idx, const QString &key)
void setAlternativeTitleName(const QString &aName, int idx=-1)
bool getIsBrowsable() const
void setIsBrowsable(bool is)
void setName(const QString &name)
void setDataAttr(unsigned int, unsigned int)
void delDataAttr(unsigned int, unsigned int)
SgPlotBranch(unsigned int, unsigned int, unsigned int, const QString &, bool hasExtKeys=false)
QString & getAlternativeTitleName(int idx=-1)
bool isPointVisible(int idx, unsigned int limits) const
QVector< QString * > * columnNames()
void createBranch(unsigned int numberOfRows, const QString &branchName, bool hasExtKeys=false)
int getStdVarIdx(int columnIdx) const
QList< SgPlotBranch * > * listOfBranches()
void setFile2SaveBaseName(const QString &name)
QList< SgPlotBranch * > listOfBranches_
unsigned int numOfValuesColumns() const
void setNameOfColumn(unsigned int, const QString &)
void setAxisType(int columnIdx, AxisType axisType)
SgPlotCarrier(unsigned int, unsigned int, const QString &)
AxisType getAxisType(int columnIdx) const
void setStdVarIdx(int columnIdx, int sigmaColumnIdx)
QVector< QString * > columnNames_
QString & getName(int idx=-1)
unsigned int numOfSigmasColumns_
QString file2SaveBaseName_
QMap< int, QString > name_
const QString & getFile2SaveBaseName() const
unsigned int numOfValuesColumns_
unsigned int numOfSigmasColumns() const
QString className() const
void setName(const QString &name, int idx=-1)
void startInquire(const QPoint &)
QAction * normalSizeAction_
void setPath2Outputs(const QString &pth)
QButtonGroup * bgSets2plot_
void doInquire(const QPoint &)
virtual void resizeEvent(QResizeEvent *)
void dataStructureChanged()
QWidget * branchesWidget()
void pointInfoRequested(SgPlot *, SgPlotBranch *, int, int, int)
void startMeasuring(const QPoint &)
void rescaleArea(double, double, int=-1, int=-1)
void processKeyReleaseEvent(QKeyEvent *)
void oUserDefinedChanged(bool)
void setOutputFormat(OutputFormat fmt)
void processMouseReleaseEvent(QMouseEvent *)
virtual void keyReleaseEvent(QKeyEvent *e)
int getNumOfYColumn() const
void dmPointsChanged(bool)
void setFilterNames(const QList< QString > &)
void modifyRangeLimits(int)
QList< QAction * > filterAuxActions_
QAction * zoomYOutAction_
void adjustScrollBar(QScrollBar *, double, double, double)
int getNumOfXColumn() const
OutputFormat getOutputFormat() const
virtual QString className() const
void processMouseDoubleClickEvent(QMouseEvent *)
void markAllExtKeysAsSelected()
QList< QAction * > filterActions_
SgPlot(SgPlotCarrier *, const QString &, QWidget *=0, unsigned int=0)
void dataContentChanged()
void processWheelEvent(QWheelEvent *)
virtual void keyPressEvent(QKeyEvent *e)
QPoint oldCursorPosition_
OutputFormat outputFormat_
void startReRanging(const QPoint &)
QAction * zoomXOutAction_
void changeXaxisTemp2(int)
void markAllBranchesAsDeselected()
QPushButton * pbZommXOut_
void queryData(const QPoint &)
void stopScrollViewport()
static const double scaleFactor_
void doMeasuring(const QPoint &)
void startSelecting(const QPoint &, bool=false)
void modifySets2plot(int)
SgPlotCarrier * carrier()
void changeXaxisTemp(int)
SgPlotScroller * plotScroller_
void setFilterExtNames(const QList< QString > &)
void dmLinesChanged(bool)
void stopSelecting(const QPoint &, bool=false)
QPushButton * pbZommYOut_
void doReRanging(const QPoint &)
void processFilterExtMinus()
void processFilterAuxMinus(const QPoint &)
void doScrollViewport(const QPoint &)
bool isExtKeyViewInSpecialMode_
const QString & getPath2Outputs() const
void processFilterMinus()
void changeYaxisTemp2(int)
void processMousePressEvent(QMouseEvent *)
void setFilterAuxNames(const QList< QString > &)
void markAllExtKeysAsDeselected()
void dmImpulsesChanged(bool)
void processFilterAuxPlus(const QPoint &)
void doSelecting(const QPoint &, bool=false)
void processKeyPressEvent(QKeyEvent *)
QCheckBox * cbRangeVisible_
QCheckBox * cbSymmetrical_
void changeYaxisTemp(int)
void processFilterExtPlus()
unsigned int currentKeyModifier_
QButtonGroup * bgRangeLimits_
void userPressedAKey(SgPlot *, Qt::KeyboardModifiers, int)
QList< QAction * > filterExtActions_
bool isBranchViewInSpecialMode_
void dmErrBarsChanged(bool)
void startScrollViewport(const QPoint &)
QCheckBox * cbUserDefined_
void markAllBranchesAsSelected()
SgPlotCarrier * plotCarrier_
QList< QString > extKeys_
void processMouseMoveEvent(QMouseEvent *)
void setRangeSymmetrical(bool)