l_maliakal_d 824da9d4c4 snapshot works,id works, conversion from seconds to ms,us etc works, number of measurements works
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@14 af1100a4-978c-4157-bff7-07162d2ba061
2012-06-26 15:06:55 +00:00

120 lines
2.5 KiB
C++

/*
* qCloneWidget.h
*
* Created on: May 18, 2012
* Author: l_maliakal_d
*/
#ifndef QCLONEWIDGET_H_
#define QCLONEWIDGET_H_
/** Qt Project Class Headers */
class SlsQtH1D;
class SlsQt1DPlot;
class SlsQt2DPlotLayout;
/** Qt Include Headers */
#include <QMainWindow>
#include <QMenu>
#include <QMenuBar>
#include <QAction>
#include <QGridLayout>
#include <QCloseEvent>
#include <QGroupBox>
#include <QWidget>
#include <QHBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QComboBox>
#include <QPushButton>
#include <QCheckBox>
/** C++ Include Headers */
#include <string>
using namespace std;
/**
*@short Sets up the clone plot widget
*/
class qCloneWidget:public QMainWindow{
Q_OBJECT
public:
/** \short The constructor
*/
qCloneWidget(QWidget *parent,int id,QString title,int numDim,SlsQt1DPlot*& plot1D,SlsQt2DPlotLayout*& plot2D,string FilePath);
/** Destructor
*/
~qCloneWidget();
/** Sets up the widget window
* @param title title of the image with frame number
* @param numDim 1D or 2D
* @param plot1D plot1d object reference
* @param plot2D plot2d object reference
* */
void SetupWidgetWindow(QString title,int numDim,SlsQt1DPlot*& plot1D,SlsQt2DPlotLayout*& plot2D);
/** Get the 1D hist values to plot
* @param nHists Number of graphs in 1D
* @param histNBins Total Number of X axis values/channels in 1D
* @param histXAxis X Axis value in 1D
* @param histYAxis Y Axis value in 1D
* @param histTitle Title for all the graphs in 1D
* */
void SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis[],string histTitle[]);
private:
/** clone window id*/
int id;
/** Default Save file path */
string filePath;
/** clone 2D Plot */
SlsQt2DPlotLayout* cloneplot2D;
/** clone 1D Plot */
SlsQt1DPlot* cloneplot1D;
/** vector of 1D hist values */
QVector<SlsQtH1D*> cloneplot1D_hists;
QMenuBar *menubar;
// QMenu *menuFile;
QAction *actionSave;
QGridLayout *mainLayout;
QGroupBox *cloneBox;
QGridLayout *gridClone;
QGroupBox *boxSave;
QHBoxLayout *layoutSave;
QLabel *lblFName;
QHBoxLayout *hLayoutSave;
QLineEdit *dispFName;
QComboBox *comboFormat;
QPushButton *btnSave;
QCheckBox *chkAutoFName;
QCheckBox *chkSaveAll;
/** Gets the current time stamp for the window title*/
char* GetCurrentTimeStamp();
private slots:
/** Save Plot */
void SavePlot();
protected:
void closeEvent(QCloseEvent* event);
signals:
void CloneClosedSignal(int);
};
#endif /* QCLONEWIDGET_H_ */