mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@92 af1100a4-978c-4157-bff7-07162d2ba061
155 lines
2.9 KiB
C++
155 lines
2.9 KiB
C++
/*
|
|
* qTabPlot.h
|
|
*
|
|
* Created on: May 10, 2012
|
|
* Author: l_maliakal_d
|
|
*/
|
|
|
|
#ifndef QTABPLOT_H_
|
|
#define QTABPLOT_H_
|
|
|
|
/** Form Header */
|
|
#include "ui_form_tab_plot.h"
|
|
/** Project Class Headers */
|
|
class multiSlsDetector;
|
|
/** Qt Project Class Headers */
|
|
class qDrawPlot;
|
|
/** Qt Include Headers */
|
|
#include <QStackedLayout>
|
|
#include <QButtonGroup>
|
|
#include <QAbstractButton>
|
|
|
|
|
|
/**
|
|
*@short sets up the Plot parameters
|
|
*/
|
|
class qTabPlot:public QWidget, private Ui::TabPlotObject{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
/** \short The constructor
|
|
* @param parent is the parent tab widget
|
|
* @param detector is the detector returned from the detector tab
|
|
* @param plot plot object reference
|
|
*/
|
|
qTabPlot(QWidget *parent,multiSlsDetector*& detector, qDrawPlot*& plot);
|
|
|
|
/** Destructor
|
|
*/
|
|
~qTabPlot();
|
|
|
|
/** Sets the scan argument of the plot
|
|
*/
|
|
void SetScanArgument();
|
|
|
|
/** To refresh and update widgets
|
|
*/
|
|
void Refresh();
|
|
|
|
|
|
private:
|
|
/** The sls detector object */
|
|
multiSlsDetector *myDet;
|
|
|
|
/** The Plot widget */
|
|
qDrawPlot *myPlot;
|
|
|
|
/** 1d/2d plot */
|
|
bool isOneD;
|
|
bool isOriginallyOneD;
|
|
|
|
/**is set if its a possible wrong interval between plots*/
|
|
bool wrongInterval;
|
|
|
|
QStackedLayout *stackedLayout;
|
|
QSpinBox *spinNthFrame;
|
|
QDoubleSpinBox *spinTimeGap;
|
|
QComboBox *comboTimeGapUnit;
|
|
QButtonGroup *btnGroupScan;
|
|
|
|
/** some Default Values */
|
|
static QString defaultPlotTitle;
|
|
static QString defaultHistXAxisTitle;
|
|
static QString defaultHistYAxisTitle;
|
|
static QString defaultImageXAxisTitle;
|
|
static QString defaultImageYAxisTitle;
|
|
static QString defaultImageZAxisTitle;
|
|
|
|
/** scans */
|
|
static const QString modeNames[5];
|
|
|
|
/** error palette*/
|
|
QPalette *red;
|
|
QString intervalTip;
|
|
|
|
|
|
|
|
|
|
/** Sets up the widget
|
|
*/
|
|
void SetupWidgetWindow();
|
|
|
|
/** Sets up all the slots and signals
|
|
*/
|
|
void Initialization();
|
|
|
|
/** This enabled/disables the nth frame from frequency plot
|
|
* @param enable enable/disable
|
|
*/
|
|
void EnablingNthFrameFunction(bool enable);
|
|
|
|
|
|
|
|
public slots:
|
|
/** Set frequency between plots*/
|
|
void SetFrequency();
|
|
|
|
/** Enable Scan box
|
|
*/
|
|
void EnableScanBox();
|
|
|
|
|
|
|
|
private slots:
|
|
/** Selects the plot to display, enables/disables widgets
|
|
* @param b true to select plot dimension 1, else false to select 2D
|
|
*/
|
|
void Select1DPlot(bool b);
|
|
|
|
/**Enables Persistency depending on Superimpose checkbox */
|
|
void EnablePersistency(bool enable);
|
|
|
|
/**Sets the titles in plot axis */
|
|
void SetTitles();
|
|
|
|
/** Enables/Sets default Titles to default */
|
|
void EnableTitles();
|
|
|
|
/** Enables range of the axes */
|
|
void EnableRange();
|
|
|
|
/** Sets the range of the x and y axes */
|
|
void SetAxesRange();
|
|
|
|
/** Sets the range of the z axis */
|
|
void SetZRange();
|
|
|
|
/** Enables the range of the z axis */
|
|
void EnableZRange();
|
|
|
|
/** Set Plot to none, data graph, histogram*/
|
|
void SetPlot();
|
|
|
|
|
|
|
|
signals:
|
|
void DisableZoomSignal(bool);
|
|
void SetZRangeSignal(double,double);
|
|
void EnableZRangeSignal(bool);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* QTABPLOT_H_ */
|