mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 07:20:01 +02:00
117 lines
2.2 KiB
C++
117 lines
2.2 KiB
C++
/*
|
|
* qTabSettings.h
|
|
*
|
|
* Created on: May 10, 2012
|
|
* Author: l_maliakal_d
|
|
*/
|
|
|
|
#ifndef QTABSETTINGS_H_
|
|
#define QTABSETTINGS_H_
|
|
|
|
#include "qDefs.h"
|
|
|
|
|
|
/** Form Header */
|
|
#include "ui_form_tab_settings.h"
|
|
/** Project Class Headers */
|
|
class multiSlsDetector;
|
|
/** Qt Include Headers */
|
|
#include <QStandardItemModel>
|
|
|
|
/**
|
|
*@short sets up the Settings parameters
|
|
*/
|
|
class qTabSettings:public QWidget, private Ui::TabSettingsObject{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
/** \short The constructor
|
|
* @param parent is the parent tab widget
|
|
* @param detector is the detector returned from the detector tab
|
|
*/
|
|
qTabSettings(QWidget *parent,multiSlsDetector*& detector);
|
|
|
|
/** Destructor
|
|
*/
|
|
~qTabSettings();
|
|
|
|
/** To refresh and update widgets
|
|
*/
|
|
void Refresh();
|
|
|
|
/** To enable expert mode
|
|
* @param enable to enable if true
|
|
*/
|
|
void SetExpertMode(bool enable){expertMode = enable;};
|
|
|
|
|
|
|
|
|
|
private:
|
|
/** The sls detector object */
|
|
multiSlsDetector *myDet;
|
|
|
|
/** detector type */
|
|
slsDetectorDefs::detectorType detType;
|
|
|
|
/** expert mode */
|
|
bool expertMode;
|
|
|
|
enum{Standard,Fast,HighGain,DynamicGain,LowGain,MediumGain,VeryHighGain,LowNoise,
|
|
DynamicHG0,FixGain1,FixGain2,ForceSwitchG1,ForceSwitchG2, VeryLowGain,
|
|
Undefined,Uninitialized,NumSettings};
|
|
|
|
/** To be able to index items on a combo box */
|
|
QStandardItemModel* model;
|
|
QModelIndex index[NumSettings];
|
|
QStandardItem* item[NumSettings];
|
|
|
|
/** Sets up the widget
|
|
*/
|
|
void SetupWidgetWindow();
|
|
|
|
/** Sets up the detector settings
|
|
*/
|
|
void SetupDetectorSettings();
|
|
|
|
/** Sets up all the slots and signals
|
|
*/
|
|
void Initialization();
|
|
|
|
/** Gets the dynamic range and sets it on the gui
|
|
* @param setvalue the value set by the gui when used as a check
|
|
*/
|
|
void GetDynamicRange(int setvalue = -1);
|
|
|
|
|
|
|
|
private slots:
|
|
/** Set settings according to selection
|
|
* @param index index of selection
|
|
*/
|
|
void setSettings(int index);
|
|
|
|
/** Set number of modules if possible
|
|
* @param index number of modules
|
|
*/
|
|
void SetNumberOfModules(int index);
|
|
|
|
/** Set dynamic range if possible
|
|
* @param index selection
|
|
*/
|
|
void SetDynamicRange(int index);
|
|
|
|
/** Set threshold energy
|
|
*/
|
|
void SetEnergy();
|
|
|
|
|
|
signals:
|
|
/**Update Trimbits after Set Settings */
|
|
void UpdateTrimbitSignal(int);
|
|
};
|
|
|
|
|
|
|
|
#endif /* QTABSETTINGS_H_ */
|