added color to collapse in actions, changed angular for number of data to be received, corrected constant size scan widget

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@48 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
l_maliakal_d 2012-09-04 10:30:18 +00:00
parent a754e419fe
commit 63fadd3633
11 changed files with 683 additions and 135 deletions

View File

@ -11,7 +11,7 @@
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -31,58 +31,16 @@
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QGroupBox" name="groupBox_3">
<property name="geometry">
<rect>
<x>25</x>
<y>20</y>
<width>726</width>
<height>58</height>
</rect>
</property>
<property name="title">
<string>Calibration Logs</string>
</property>
<widget class="QWidget" name="horizontalLayoutWidget_2">
<property name="geometry">
<rect>
<x>35</x>
<y>20</y>
<width>626</width>
<height>31</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>15</number>
</property>
<item>
<widget class="QCheckBox" name="checkBox_3">
<property name="text">
<string>Energy Calibration</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_4">
<property name="text">
<string>Angular Calibration</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_4">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>20</x>
<y>150</y>
<width>731</width>
<height>156</height>
<x>25</x>
<y>90</y>
<width>721</width>
<height>226</height>
</rect>
</property>
<property name="title">
@ -94,34 +52,24 @@
<property name="flat">
<bool>false</bool>
</property>
<widget class="QWidget" name="gridLayoutWidget_6">
<property name="checkable">
<bool>true</bool>
</property>
<widget class="QWidget" name="gridLayoutWidget_3">
<property name="geometry">
<rect>
<x>15</x>
<y>20</y>
<width>701</width>
<height>126</height>
<y>25</y>
<width>691</width>
<height>195</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="1">
<spacer name="horizontalSpacer_17">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>45</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<layout class="QGridLayout" name="gridLayout_3">
<property name="verticalSpacing">
<number>12</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<widget class="QLabel" name="label_5">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
@ -133,33 +81,8 @@
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QComboBox" name="comboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
<item>
<property name="text">
<string>Adjust to Fix Count Level</string>
</property>
</item>
<item>
<property name="text">
<string>Equalize to Median</string>
</property>
</item>
</widget>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer_18">
<item row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -168,14 +91,213 @@
</property>
<property name="sizeHint" stdset="0">
<size>
<width>75</width>
<height>10</height>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="4">
<widget class="QCheckBox" name="chkSaveAll">
<item row="3" column="0">
<widget class="QLabel" name="label_14">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Exposure Time:</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QDoubleSpinBox" name="spinExpTime">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Exposure time of each frame.
#exptime#</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="decimals">
<number>5</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>2000000000.000000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QComboBox" name="comboExpUnit">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="currentIndex">
<number>2</number>
</property>
<item>
<property name="text">
<string>hr</string>
</property>
</item>
<item>
<property name="text">
<string>min</string>
</property>
</item>
<item>
<property name="text">
<string>s</string>
</property>
</item>
<item>
<property name="text">
<string>ms</string>
</property>
</item>
<item>
<property name="text">
<string>us</string>
</property>
</item>
<item>
<property name="text">
<string>ns</string>
</property>
</item>
</widget>
</item>
<item row="3" column="6">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="4">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>50</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_16">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Output Directory:</string>
</property>
</widget>
</item>
<item row="4" column="2" colspan="6">
<widget class="QLineEdit" name="dispOutput"/>
</item>
<item row="4" column="8">
<widget class="QPushButton" name="btnBrowseOutput">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Browse</string>
</property>
</widget>
</item>
<item row="5" column="4">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="spacing">
<number>0</number>
</property>
</layout>
</item>
<item row="5" column="2">
<widget class="QPushButton" name="btnStartTrimming">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Start Trimming</string>
</property>
</widget>
</item>
<item row="3" column="7" colspan="2">
<widget class="QDoubleSpinBox" name="spinExpTime_2">
<property name="enabled">
<bool>true</bool>
</property>
@ -185,11 +307,320 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Exposure time of each frame.
#exptime#</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="decimals">
<number>5</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>2000000000.000000000000000</double>
</property>
<property name="value">
<double>560.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="5">
<widget class="QLabel" name="label_15">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Sets the Threshold DAC</string>
</property>
<property name="text">
<string>Threshold:</string>
</property>
</widget>
</item>
<item row="0" column="5">
<widget class="QCheckBox" name="chkOptimize">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Optimize Settings</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_17">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Resolution (a.u.):</string>
</property>
</widget>
</item>
<item row="2" column="2" colspan="2">
<widget class="QSpinBox" name="spinNumMeasurements">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Number of measurements (not in real time) that will be acquired.
#frames#</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="suffix">
<string/>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
<item row="0" column="2" colspan="2">
<widget class="QComboBox" name="comboMethod">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<item>
<property name="text">
<string>Adjust to Fix Count Level </string>
</property>
</item>
<item>
<property name="text">
<string>Equalize to Median</string>
</property>
</item>
</widget>
</item>
<item row="2" column="5">
<widget class="QLabel" name="label_18">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Counts/ Channel:</string>
</property>
</widget>
</item>
<item row="2" column="7" colspan="2">
<widget class="QSpinBox" name="spinNumMeasurements_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Number of measurements (not in real time) that will be acquired.
#frames#</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="suffix">
<string/>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>500</number>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
<x>25</x>
<y>10</y>
<width>341</width>
<height>61</height>
</rect>
</property>
<property name="title">
<string>Trimbits Plot Mode</string>
</property>
<widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>15</x>
<y>20</y>
<width>311</width>
<height>31</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>34</number>
</property>
<item>
<widget class="QRadioButton" name="radioButton_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>No Plot</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_5">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Data Graph</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_6">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Histogram</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_2">
<property name="geometry">
<rect>
<x>405</x>
<y>10</y>
<width>341</width>
<height>61</height>
</rect>
</property>
<property name="title">
<string>Calibration Logs</string>
</property>
<widget class="QWidget" name="horizontalLayoutWidget_2">
<property name="geometry">
<rect>
<x>15</x>
<y>20</y>
<width>311</width>
<height>31</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>42</number>
</property>
<item>
<widget class="QCheckBox" name="chkEnergyLog">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Energy Calibration</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="chkAngularLog">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Angular Calibration</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>

View File

@ -109,8 +109,11 @@
</item>
<item row="1" column="2" colspan="2">
<widget class="QSpinBox" name="spinThreshold">
<property name="keyboardTracking">
<bool>false</bool>
</property>
<property name="suffix">
<string>eV</string>
<string> eV</string>
</property>
<property name="minimum">
<number>-100000</number>

View File

@ -86,7 +86,7 @@ private:
/** Sets up the scan parameters
* returns if it was set
*/
*/
int SetScan(int mode);
private slots:

View File

@ -56,6 +56,28 @@ void EnablePositions(bool enable);
private:
/** Sets up the widget */
void SetupWidgetWindow();
/** Sets up all the slots and signals */
void Initialization();
/** creates the Num Positions object */
void CreatePositionsWidget();
/** Returns the index in each of the classes
* of actionwidget and scanwidget
* @param index the index in the list of all widgets
* returns actual index of the class
*/
int GetActualIndex(int index);
/** Updates to green color if collapsed and mode not none
*/
void UpdateCollapseColors();
/** The sls detector object */
multiSlsDetector *myDet;
@ -88,23 +110,6 @@ private:
double *positions;
QPalette normal;
/** Sets up the widget */
void SetupWidgetWindow();
/** Sets up all the slots and signals */
void Initialization();
/** creates the Num Positions object */
void CreatePositionsWidget();
/** Returns the index in each of the classes
* of actionwidget and scanwidget
* @param index the index in the list of all widgets
* returns actual index of the class
*/
int GetActualIndex(int index);
private slots:
/** To Expand the Action Widget
* */

View File

@ -12,6 +12,8 @@
#include "ui_form_tab_advanced.h"
/** Project Class Headers */
class multiSlsDetector;
/** Qt Include Header */
#include <QStackedLayout>
/**
*@short sets up the advanced parameters
@ -36,9 +38,6 @@ public:
private:
/** The sls detector object */
multiSlsDetector *myDet;
/** Sets up the widget
*/
void SetupWidgetWindow();
@ -48,9 +47,14 @@ private:
void Initialization();
/** The sls detector object */
multiSlsDetector *myDet;
private slots:
/** Enable/Disable Energy and Calibration Logs
*/
void SetLogs();
};

View File

@ -80,6 +80,7 @@ void qActionsWidget::SetMode(int mode){
if(mode) myDet->setActionScript(id,fName.toAscii().constData());
else myDet->setActionScript(id,"");
//mode is not set when fname is blank
if(!fName.isEmpty()){
//check if mode didnt get set
if(mode!=myDet->getActionMode(id)){
@ -95,6 +96,7 @@ void qActionsWidget::SetMode(int mode){
}
}
}
}
@ -189,9 +191,10 @@ void qActionsWidget::Refresh(){
string script = myDet->getActionScript(id);
string parameter = myDet->getActionParameter(id);
//settings values and checking for none
dispScript->setText(QString(script.c_str()));
SetScriptFile();
if(mode)SetScriptFile();
dispParameter->setText(QString(parameter.c_str()));
SetParameter();
//set mode which also checks everything

View File

@ -398,7 +398,7 @@ void qDetectorMain::ExecuteUtilities(QAction *action){
else if(action==actionSaveTrimbits){
#ifdef VERBOSE
cout << "Saving Trimbits" << endl;
#endif
#endif//different output directory so as not to overwrite
QString fName = QString(myDet->getSettingsDir());
fName = QFileDialog::getSaveFileName(this,
tr("Save Current Detector Trimbits"),fName,
@ -428,8 +428,8 @@ void qDetectorMain::ExecuteUtilities(QAction *action){
else if(action==actionSaveCalibration){
#ifdef VERBOSE
cout << "Saving Calibration Data" << endl;
#endif
QString fName = QString(myDet->getCalDir())+QString("/newTrims");
#endif//different output directory so as not to overwrite
QString fName = QString(myDet->getCalDir());
fName = QFileDialog::getSaveFileName(this,
tr("Save Current Detector Calibration Data"),fName,
tr("Calibration files (*.cal *.sn*) "));

View File

@ -214,11 +214,9 @@ void qDrawPlot::StartStopDaqToggle(bool stop_if_running){
number_of_exposures = number_of_frames * numScan0 * numScan1;
if(anglePlot) {
int numPos = myDet->getPositions(); //numPos = ((numPos==0) ?1:numPos);
number_of_exposures = numScan0 * numScan1;/*number_of_exposures * numPos;*/
if(anglePlot) number_of_exposures = numScan0 * numScan1;
}
cout << "\tNumber of Exposures:" << number_of_exposures << endl;
// ExposureTime

View File

@ -231,7 +231,7 @@ void qScanWidget::EnableSizeWidgets(){
#ifdef VERBOSE
cout << "Constant Range Values" << endl;
#endif
spinSteps->setMinimum(2);
radioCustom->setText("Specific Values");
radioCustom->setPalette(normal);
radioCustom->setToolTip(customTip);
@ -245,7 +245,11 @@ void qScanWidget::EnableSizeWidgets(){
stackedLayout->setCurrentIndex(RangeValues);
SetRangeSteps();
int oldNumSteps = spinSteps->value();
//if the steps change, it calls SetRangeSteps on its own.
RangeCalculateNumSteps();
if(oldNumSteps==spinSteps->value()) SetRangeSteps();
spinSteps->setMinimum(2);
}
//custom values
else if(radioCustom->isChecked()){
@ -887,6 +891,15 @@ void qScanWidget::SetFileSteps(){
}
}
}
//ERROR IN WRITING FILENAME OR READING FILE
else{
actualNumSteps=0;
positions.resize(0);
SetScan(comboScript->currentIndex());
disconnect(spinSteps, SIGNAL(valueChanged(int)), this, SLOT(SetNSteps()));
spinSteps->setValue(actualNumSteps);
connect(spinSteps, SIGNAL(valueChanged(int)), this, SLOT(SetNSteps()));
}
}
@ -997,7 +1010,7 @@ void qScanWidget::Refresh(){
//settings values and checking for none
dispScript->setText(QString(script.c_str()));
SetScriptFile();
if(mode) SetScriptFile();
dispParameter->setText(QString(parameter.c_str()));
SetParameter();
spinPrecision->setValue(precision);

View File

@ -211,14 +211,26 @@ void qTabActions::Expand(QAbstractButton *button ){
if(index==NumPositions) {
positionWidget->hide();
setFixedHeight(height()-30);//-80 if the checkboxes are included
if(myDet->getPositions()) {
palette->setColor(QPalette::WindowText,Qt::darkGreen);
lblName[index]->setPalette(*palette);
}
}
else if((index==Scan0)||(index==Scan1)) {
scanWidget[GetActualIndex(index)]->hide();
setFixedHeight(height()-130);
if(myDet->getScanMode(GetActualIndex(index))){
palette->setColor(QPalette::WindowText,Qt::darkGreen);
lblName[index]->setPalette(*palette);
}
}
else {
actionWidget[GetActualIndex(index)]->hide();
setFixedHeight(height()-30);
if(myDet->getActionMode(GetActualIndex(index))){
palette->setColor(QPalette::WindowText,Qt::darkGreen);
lblName[index]->setPalette(*palette);
}
}
}else{
// Expand
@ -349,7 +361,7 @@ void qTabActions::Refresh(){
//delete existing positions
if (positions) delete [] positions;
//get number of positions
int numPos=myDet->getPositions();cout<<"numPOs:"<<numPos<<endl;
int numPos=myDet->getPositions();
comboPos->setMaxCount(numPos);
//set the number of positions in the gui
@ -383,6 +395,8 @@ void qTabActions::Refresh(){
scanWidget[i]->Refresh();
for(int i=0;i<qActionsWidget::NUM_ACTION_WIDGETS;i++)
actionWidget[i]->Refresh();
UpdateCollapseColors();
}
@ -405,3 +419,35 @@ int qTabActions::GetActualIndex(int index){
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabActions::UpdateCollapseColors(){
#ifdef VERYVERBOSE
cout << "Updating Collapse Colors" << endl;
#endif
for(int i=0;i<NumTotalActions;i++){
//num positions
if(i==NumPositions){
//if its disabled
if(lblName[i]->isEnabled()){
if(myDet->getPositions()) palette->setColor(QPalette::WindowText,Qt::darkGreen);
else palette->setColor(QPalette::WindowText,Qt::black);
lblName[i]->setPalette(*palette);
}
}
//scans
else if((i==Scan0)||(i==Scan1)){
if(myDet->getScanMode(GetActualIndex(i))) palette->setColor(QPalette::WindowText,Qt::darkGreen);
else palette->setColor(QPalette::WindowText,Qt::black);
lblName[i]->setPalette(*palette);
}
//actions
else{
if(myDet->getActionMode(GetActualIndex(i))) palette->setColor(QPalette::WindowText,Qt::darkGreen);
else palette->setColor(QPalette::WindowText,Qt::black);
lblName[i]->setPalette(*palette);
}
}
}
//-------------------------------------------------------------------------------------------------------------------------------------------------

View File

@ -14,6 +14,7 @@
using namespace std;
//-------------------------------------------------------------------------------------------------------------------------------------------------
qTabAdvanced::qTabAdvanced(QWidget *parent,multiSlsDetector*& detector):QWidget(parent),myDet(detector){
@ -23,6 +24,8 @@ qTabAdvanced::qTabAdvanced(QWidget *parent,multiSlsDetector*& detector):QWidget(
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
qTabAdvanced::~qTabAdvanced(){
@ -30,6 +33,7 @@ qTabAdvanced::~qTabAdvanced(){
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabAdvanced::SetupWidgetWindow(){
@ -37,8 +41,41 @@ void qTabAdvanced::SetupWidgetWindow(){
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabAdvanced::Initialization(){
//energy/angular logs
connect(chkEnergyLog, SIGNAL(toggled(bool)), this, SLOT(SetLogs()));
connect(chkAngularLog, SIGNAL(toggled(bool)), this, SLOT(SetLogs()));
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabAdvanced::SetLogs(){
QCheckBox *checkedBox = qobject_cast<QCheckBox *>(sender());
int index = ((!checkedBox->text().compare("Energy Calibration"))?slsDetectorDefs::enCalLog:slsDetectorDefs::angCalLog);
bool enable = checkedBox->isChecked();
#ifdef VERBOSE
if(index==slsDetectorDefs::enCalLog)
cout << "Setting Energy Calibration Logs to " << enable << endl;
else
cout << "Setting Angular Calibration Logs to " << enable << endl;
#endif
//set/unset the log
myDet->setAction(index,(enable?"set":"none"));
//verify
if(myDet->getActionMode(index)!=(enable)){
#ifdef VERBOSE
cout << "Could not set/reset Log." << endl;
#endif
qDefs::WarningMessage("Could not set/reset Log.","Advanced");
checkedBox->setChecked(!enable);
}
}
@ -47,6 +84,14 @@ void qTabAdvanced::Initialization(){
void qTabAdvanced::Refresh(){
//energy/angular logs
chkEnergyLog->setChecked(myDet->getActionMode(slsDetectorDefs::enCalLog));
chkAngularLog->setChecked(myDet->getActionMode(slsDetectorDefs::angCalLog));
#ifdef VERBOSE
cout << "Energy Calibration Log set to " << chkEnergyLog->isChecked() << endl;
cout << "Angular Calibration Log set to " << chkAngularLog->isChecked() << endl;
#endif
}