resize works

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@2 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
l_maliakal_d 2012-05-23 16:00:35 +00:00
parent 9f851d6156
commit 934bbbd0c8
21 changed files with 1858 additions and 619 deletions

View File

@ -9,12 +9,12 @@
<rect>
<x>0</x>
<y>0</y>
<width>1000</width>
<height>956</height>
<width>800</width>
<height>822</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -44,7 +44,7 @@
</property>
<widget class="QWidget" name="centralwidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -52,13 +52,13 @@
<property name="minimumSize">
<size>
<width>0</width>
<height>470</height>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1000</width>
<height>470</height>
<height>1000</height>
</size>
</property>
<widget class="QWidget" name="gridLayoutWidget">
@ -66,8 +66,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>953</width>
<height>470</height>
<width>754</width>
<height>368</height>
</rect>
</property>
<layout class="QGridLayout" name="layoutTabs"/>
@ -78,7 +78,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>1000</width>
<width>800</width>
<height>25</height>
</rect>
</property>
@ -135,23 +135,60 @@
</widget>
<widget class="QDockWidget" name="dockWidgetTerminal">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>54</height>
<width>38</width>
<height>369</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>524287</width>
<height>470</height>
<height>524287</height>
</size>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>119</red>
<green>119</green>
<blue>119</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
@ -166,7 +203,7 @@
<bool>false</bool>
</property>
<property name="features">
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetVerticalTitleBar</set>
<set>QDockWidget::DockWidgetVerticalTitleBar</set>
</property>
<property name="allowedAreas">
<set>Qt::BottomDockWidgetArea|Qt::RightDockWidgetArea</set>
@ -178,6 +215,43 @@
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContentsTerminal">
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>119</red>
<green>119</green>
<blue>119</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="font">
<font>
<pointsize>9</pointsize>
@ -189,15 +263,15 @@
</widget>
<widget class="QDockWidget" name="dockWidgetPlot">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>58</width>
<height>455</height>
<width>36</width>
<height>422</height>
</size>
</property>
<property name="maximumSize">
@ -206,16 +280,53 @@
<height>524287</height>
</size>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>119</red>
<green>119</green>
<blue>119</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="font">
<font>
<family>Sans Serif</family>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="features">
<set>QDockWidget::DockWidgetMovable</set>
<set>QDockWidget::NoDockWidgetFeatures</set>
</property>
<property name="allowedAreas">
<set>Qt::BottomDockWidgetArea</set>
@ -228,7 +339,7 @@
</attribute>
<widget class="QWidget" name="dockWidgetContentsPlot">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -236,7 +347,7 @@
<property name="minimumSize">
<size>
<width>0</width>
<height>429</height>
<height>400</height>
</size>
</property>
<property name="maximumSize">
@ -245,49 +356,50 @@
<height>16777215</height>
</size>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>119</red>
<green>119</green>
<blue>119</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="font">
<font>
<pointsize>9</pointsize>
<weight>50</weight>
<bold>false</bold>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<widget class="QFrame" name="framePlot">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1000</width>
<height>431</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<pointsize>9</pointsize>
</font>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>1</number>
</property>
</widget>
</widget>
</widget>
<action name="actionOpenSetup">
@ -390,7 +502,7 @@
<bool>true</bool>
</property>
<property name="text">
<string>&amp;Dockable Plot</string>
<string>&amp;Dockable Windows</string>
</property>
</action>
</widget>

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1000</width>
<height>435</height>
<width>800</width>
<height>400</height>
</rect>
</property>
<property name="sizePolicy">
@ -16,16 +16,22 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QGroupBox" name="boxPlot">
<property name="geometry">
<rect>
<x>3</x>
<x>0</x>
<y>-2</y>
<width>1000</width>
<height>435</height>
<width>795</width>
<height>400</height>
</rect>
</property>
<property name="sizePolicy">
@ -54,8 +60,8 @@
<rect>
<x>-3</x>
<y>16</y>
<width>1001</width>
<height>421</height>
<width>788</width>
<height>383</height>
</rect>
</property>
<layout class="QGridLayout" name="plotLayout">

View File

@ -6,20 +6,26 @@
<rect>
<x>0</x>
<y>0</y>
<width>952</width>
<height>445</height>
<width>748</width>
<height>339</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>952</width>
<height>445</height>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>952</width>
<height>445</height>
<width>1000</width>
<height>1000</height>
</size>
</property>
<property name="windowTitle">

View File

@ -6,20 +6,26 @@
<rect>
<x>0</x>
<y>0</y>
<width>952</width>
<height>445</height>
<width>748</width>
<height>339</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>952</width>
<height>445</height>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>952</width>
<height>445</height>
<width>1000</width>
<height>1000</height>
</size>
</property>
<property name="windowTitle">
@ -28,8 +34,8 @@
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>3</x>
<y>412</y>
<x>69</x>
<y>229</y>
<width>75</width>
<height>25</height>
</rect>
@ -41,8 +47,8 @@
<widget class="QPushButton" name="btnTemp">
<property name="geometry">
<rect>
<x>626</x>
<y>8</y>
<x>52</x>
<y>106</y>
<width>91</width>
<height>41</height>
</rect>
@ -61,8 +67,8 @@ Temperature</string>
<widget class="QLineEdit" name="dispTempFpga">
<property name="geometry">
<rect>
<x>796</x>
<y>34</y>
<x>222</x>
<y>132</y>
<width>151</width>
<height>21</height>
</rect>
@ -84,8 +90,8 @@ Temperature</string>
<widget class="QLabel" name="label_10">
<property name="geometry">
<rect>
<x>736</x>
<y>4</y>
<x>162</x>
<y>102</y>
<width>41</width>
<height>20</height>
</rect>
@ -97,8 +103,8 @@ Temperature</string>
<widget class="QLabel" name="label_11">
<property name="geometry">
<rect>
<x>736</x>
<y>34</y>
<x>162</x>
<y>132</y>
<width>41</width>
<height>20</height>
</rect>
@ -110,8 +116,8 @@ Temperature</string>
<widget class="QLineEdit" name="dispTempAdc">
<property name="geometry">
<rect>
<x>796</x>
<y>4</y>
<x>222</x>
<y>102</y>
<width>151</width>
<height>21</height>
</rect>

View File

@ -6,10 +6,16 @@
<rect>
<x>0</x>
<y>0</y>
<width>900</width>
<height>400</height>
<width>748</width>
<height>339</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
@ -18,7 +24,7 @@
</property>
<property name="maximumSize">
<size>
<width>952</width>
<width>1000</width>
<height>1000</height>
</size>
</property>

View File

@ -6,20 +6,26 @@
<rect>
<x>0</x>
<y>0</y>
<width>952</width>
<height>445</height>
<width>748</width>
<height>350</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>952</width>
<height>445</height>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>952</width>
<height>445</height>
<width>1000</width>
<height>1000</height>
</size>
</property>
<property name="windowTitle">

View File

@ -6,20 +6,26 @@
<rect>
<x>0</x>
<y>0</y>
<width>952</width>
<height>445</height>
<width>748</width>
<height>339</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>952</width>
<height>445</height>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>952</width>
<height>445</height>
<width>1000</width>
<height>1000</height>
</size>
</property>
<property name="windowTitle">

View File

@ -6,10 +6,16 @@
<rect>
<x>0</x>
<y>0</y>
<width>900</width>
<height>400</height>
<width>734</width>
<height>339</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
@ -18,105 +24,153 @@
</property>
<property name="maximumSize">
<size>
<width>952</width>
<height>500</height>
<width>1000</width>
<height>1000</height>
</size>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>193</red>
<green>193</green>
<blue>193</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>188</red>
<green>188</green>
<blue>188</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>192</red>
<green>192</green>
<blue>192</blue>
</color>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>189</red>
<green>189</green>
<blue>189</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QWidget" name="gridLayoutWidget">
<widget class="QWidget" name="gridLayoutWidget_3">
<property name="geometry">
<rect>
<x>9</x>
<y>30</y>
<width>420</width>
<height>355</height>
<x>20</x>
<y>20</y>
<width>321</width>
<height>117</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1" colspan="2">
<widget class="QComboBox" name="comboSettings">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Settings of the detector.
#settings#</string>
</property>
<item>
<property name="text">
<string>Standard</string>
</property>
</item>
<item>
<property name="text">
<string>Fast</string>
</property>
</item>
<item>
<property name="text">
<string>High Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Dynamic Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Low Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Medium Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Very High Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Undefined</string>
</property>
</item>
<item>
<property name="text">
<string>Uninitialized</string>
</property>
</item>
</widget>
</item>
<property name="verticalSpacing">
<number>-1</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Settings:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Number of measurements:</string>
<string>Number of Measurements:</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Acquisition Time:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="spinExpTime">
<item row="0" column="1">
<widget class="QSpinBox" name="spinNumMeasurements">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -124,21 +178,189 @@
</sizepolicy>
</property>
<property name="toolTip">
<string>Exposure time of each frame.
#exptime#</string>
<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="suffix">
<string/>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>File Name:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="dispFileName">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Root of the file name - please check that the output directory is correctly set and select the file name format.
#fname#</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Run Index:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="spinIndex">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Run index (automatically incremented)
#index#</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="suffix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="gridLayoutWidget">
<property name="geometry">
<rect>
<x>390</x>
<y>20</y>
<width>322</width>
<height>312</height>
</rect>
</property>
<layout class="QGridLayout" name="gridTimeResolved">
<item row="4" column="0">
<widget class="QLabel" name="lblNumTriggers">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Number of Triggers:</string>
</property>
</widget>
</item>
<item row="4" column="2" colspan="2">
<widget class="QSpinBox" name="spinNumTriggers">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Run index (automatically incremented)
#index#</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="suffix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="lblDelay">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Delay After Trigger:</string>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QDoubleSpinBox" name="spinDelay">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Frame period between exposures.
#period#</string>
</property>
<property name="maximum">
<double>2000000000.000000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
<double>0.000000000000000</double>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QComboBox" name="comboExpUnit">
<item row="5" column="3">
<widget class="QComboBox" name="comboDelayUnit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -178,8 +400,27 @@
</item>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="spinPeriod">
<item row="6" column="0">
<widget class="QLabel" name="lblNumGates">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Number of Gates:</string>
</property>
</widget>
</item>
<item row="6" column="2" colspan="2">
<widget class="QSpinBox" name="spinNumGates">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -187,19 +428,230 @@
</sizepolicy>
</property>
<property name="toolTip">
<string>Frame period between exposures.
#period#</string>
<string>Run index (automatically incremented)
#index#</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="suffix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="lblNumProbes">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Number of Probes:</string>
</property>
</widget>
</item>
<item row="7" column="2" colspan="2">
<widget class="QSpinBox" name="spinNumProbes">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Run index (automatically incremented)
#index#</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="suffix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Timing Mode:</string>
</property>
</widget>
</item>
<item row="0" column="2" colspan="2">
<widget class="QComboBox" name="comboTimingMode">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Settings of the detector.
#settings#</string>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
<item>
<property name="text">
<string>Auto</string>
</property>
</item>
<item>
<property name="text">
<string>Gated</string>
</property>
</item>
<item>
<property name="text">
<string>Trigger Exposure</string>
</property>
</item>
<item>
<property name="text">
<string>Trigger Frame</string>
</property>
</item>
<item>
<property name="text">
<string>Trigger Readout</string>
</property>
</item>
<item>
<property name="text">
<string>Gated with Start Trigger</string>
</property>
</item>
<item>
<property name="text">
<string>External Trigger Window</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="lblNumFrames">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Number of Frames:</string>
</property>
</widget>
</item>
<item row="1" column="2" colspan="2">
<widget class="QSpinBox" name="spinNumFrames">
<property name="enabled">
<bool>false</bool>
</property>
<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="suffix">
<string/>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="lblExpTime">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Exposure Time:</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QDoubleSpinBox" name="spinExpTime">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Exposure time of each frame.
#exptime#</string>
</property>
<property name="maximum">
<double>2000000000.000000000000000</double>
</property>
<property name="value">
<double>2.000000000000000</double>
<double>0.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QComboBox" name="comboPeriodUnit">
<item row="2" column="3">
<widget class="QComboBox" name="comboExpUnit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>2</number>
</property>
@ -236,110 +688,188 @@
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Frame Period:</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>File Name:</string>
</property>
</widget>
</item>
<item row="4" column="1" colspan="2">
<widget class="QLineEdit" name="dispFileName">
<property name="toolTip">
<string>Root of the file name - please check that the output directory is correctly set and select the file name format.
#fname#</string>
<widget class="QLabel" name="lblPeriod">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>run</string>
<string>Acquisition Period:</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Run Index:</string>
<item row="3" column="2">
<widget class="QDoubleSpinBox" name="spinPeriod">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</item>
<item row="5" column="1" colspan="2">
<widget class="QSpinBox" name="spinIndex">
<property name="toolTip">
<string>Run index (automatically incremented)
#index#</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="suffix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item row="6" column="0" colspan="3">
<widget class="QPushButton" name="btnStartStop">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>Starts Acquisition</string>
</property>
<property name="text">
<string>Start</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QSpinBox" name="spinNumMeasurements">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<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="suffix">
<string/>
</property>
<property name="minimum">
<number>1</number>
<string>Frame period between exposures.
#period#</string>
</property>
<property name="maximum">
<number>2000000000</number>
<double>2000000000.000000000000000</double>
</property>
<property name="value">
<number>2000</number>
<double>0.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QComboBox" name="comboPeriodUnit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</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="1" column="1">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QGroupBox" name="boxProgress">
<property name="geometry">
<rect>
<x>20</x>
<y>150</y>
<width>319</width>
<height>90</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Progress Monitor</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<widget class="QProgressBar" name="progressBar">
<property name="geometry">
<rect>
<x>10</x>
<y>50</y>
<width>300</width>
<height>23</height>
</rect>
</property>
<property name="value">
<number>24</number>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Current Index: </string>
</property>
</widget>
<widget class="QLabel" name="lblProgressIndex">
<property name="geometry">
<rect>
<x>100</x>
<y>31</y>
<width>101</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>0</string>
</property>
</widget>
</widget>
<widget class="QPushButton" name="btnStartStop">
<property name="geometry">
<rect>
<x>20</x>
<y>280</y>
<width>319</width>
<height>31</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>Starts Acquisition</string>
</property>
<property name="text">
<string>Start</string>
</property>
</widget>
</widget>
<resources/>
<connections/>

View File

@ -6,20 +6,20 @@
<rect>
<x>0</x>
<y>0</y>
<width>952</width>
<height>445</height>
<width>748</width>
<height>339</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>952</width>
<height>445</height>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>952</width>
<height>445</height>
<width>1000</width>
<height>1000</height>
</size>
</property>
<property name="windowTitle">
@ -29,24 +29,30 @@
<property name="geometry">
<rect>
<x>10</x>
<y>250</y>
<width>571</width>
<y>180</y>
<width>731</width>
<height>151</height>
</rect>
</property>
<property name="title">
<string>Plot Axis</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
<widget class="QWidget" name="gridLayoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>551</width>
<width>712</width>
<height>121</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gridLayout" columnstretch="0,0,0,0,0,0,0,0">
<property name="sizeConstraint">
<enum>QLayout::SetNoConstraint</enum>
</property>
<item row="1" column="0">
<widget class="QCheckBox" name="chkXAxis">
<property name="text">
@ -54,18 +60,44 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="dispXAxis"/>
<item row="1" column="1" colspan="2">
<widget class="QLineEdit" name="dispXAxis">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QCheckBox" name="chkXMin">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>X min:</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QLineEdit" name="dispXMin"/>
<widget class="QLineEdit" name="dispXMin">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="1" column="6">
<widget class="QCheckBox" name="chkXMax">
@ -75,7 +107,14 @@
</widget>
</item>
<item row="1" column="7">
<widget class="QLineEdit" name="dispXMax"/>
<widget class="QLineEdit" name="dispXMax">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="chkYAxis">
@ -84,18 +123,44 @@
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="dispYAxis"/>
<item row="2" column="1" colspan="2">
<widget class="QLineEdit" name="dispYAxis">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QCheckBox" name="chkYMin">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Y min:</string>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QLineEdit" name="dispYMin"/>
<widget class="QLineEdit" name="dispYMin">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="2" column="6">
<widget class="QCheckBox" name="chkYMax">
@ -105,7 +170,14 @@
</widget>
</item>
<item row="2" column="7">
<widget class="QLineEdit" name="dispYMax"/>
<widget class="QLineEdit" name="dispYMax">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="chkZAxis">
@ -114,18 +186,37 @@
</property>
</widget>
</item>
<item row="3" column="1">
<item row="3" column="1" colspan="2">
<widget class="QLineEdit" name="dispZAxis"/>
</item>
<item row="3" column="3">
<widget class="QCheckBox" name="chkZMin">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Z min:</string>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QLineEdit" name="dispZMin"/>
<widget class="QLineEdit" name="dispZMin">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="3" column="6">
<widget class="QCheckBox" name="chkZMax">
@ -135,20 +226,20 @@
</widget>
</item>
<item row="3" column="7">
<widget class="QLineEdit" name="dispZMax"/>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<widget class="QLineEdit" name="dispZMax">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="sizeHint" stdset="0">
<property name="minimumSize">
<size>
<width>60</width>
<height>20</height>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</widget>
</item>
<item row="1" column="5">
<spacer name="horizontalSpacer_2">
@ -157,7 +248,7 @@
</property>
<property name="sizeHint" stdset="0">
<size>
<width>60</width>
<width>20</width>
<height>20</height>
</size>
</property>
@ -180,7 +271,7 @@
<property name="geometry">
<rect>
<x>10</x>
<y>170</y>
<y>100</y>
<width>571</width>
<height>61</height>
</rect>
@ -188,48 +279,19 @@
<property name="title">
<string>2D Plot Options</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
<widget class="QWidget" name="gridLayoutWidget_2">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>551</width>
<width>585</width>
<height>31</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1">
<spacer name="horizontalSpacer_4">
<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="0" column="3">
<spacer name="horizontalSpacer_5">
<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="0" column="0">
<widget class="QCheckBox" name="chkInterpolate">
<property name="text">
@ -237,20 +299,36 @@
</property>
</widget>
</item>
<item row="0" column="2">
<item row="0" column="1">
<widget class="QCheckBox" name="chkContour">
<property name="text">
<string>Contour</string>
</property>
</widget>
</item>
<item row="0" column="4">
<item row="0" column="2">
<widget class="QCheckBox" name="chkLogz">
<property name="text">
<string>Log Scale (Z)</string>
</property>
</widget>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>250</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
@ -258,7 +336,7 @@
<property name="geometry">
<rect>
<x>10</x>
<y>90</y>
<y>20</y>
<width>571</width>
<height>61</height>
</rect>
@ -266,17 +344,40 @@
<property name="title">
<string>1D Plot Options</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
<widget class="QWidget" name="gridLayoutWidget_3">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>551</width>
<height>31</height>
<width>658</width>
<height>30</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QCheckBox" name="chkLogz_2">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Log Scale (Z)</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="chkLogz_3">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Superimpose</string>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@ -286,7 +387,7 @@
</property>
<property name="sizeHint" stdset="0">
<size>
<width>430</width>
<width>295</width>
<height>20</height>
</size>
</property>
@ -295,76 +396,43 @@
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="boxPlot">
<widget class="QWidget" name="gridLayoutWidget_4">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>571</width>
<height>61</height>
<x>610</x>
<y>22</y>
<width>121</width>
<height>71</height>
</rect>
</property>
<property name="title">
<string>Plot Options</string>
</property>
<widget class="QWidget" name="gridLayoutWidget_4">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>551</width>
<height>31</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="1">
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>300</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="btnClone">
<property name="text">
<string>Clone</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="btnCloseClones">
<property name="text">
<string>Close All Clones</string>
</property>
</widget>
</item>
</layout>
</widget>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QPushButton" name="btnClone">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Clone</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="btnCloseClones">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Close All Clones</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>

View File

@ -6,37 +6,108 @@
<rect>
<x>0</x>
<y>0</y>
<width>952</width>
<height>445</height>
<width>748</width>
<height>339</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>952</width>
<height>445</height>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>952</width>
<height>445</height>
<width>1000</width>
<height>1000</height>
</size>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QPushButton" name="pushButton">
<widget class="QWidget" name="gridLayoutWidget">
<property name="geometry">
<rect>
<x>333</x>
<y>161</y>
<width>75</width>
<height>25</height>
<x>13</x>
<y>16</y>
<width>227</width>
<height>47</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Settings:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboSettings">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Settings of the detector.
#settings#</string>
</property>
<item>
<property name="text">
<string>Standard</string>
</property>
</item>
<item>
<property name="text">
<string>Fast</string>
</property>
</item>
<item>
<property name="text">
<string>High Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Dynamic Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Low Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Medium Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Very High Gain</string>
</property>
</item>
<item>
<property name="text">
<string>Undefined</string>
</property>
</item>
<item>
<property name="text">
<string>Uninitialized</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>

View File

@ -60,10 +60,14 @@ private:
/**Tab Widget */
QTabWidget *tabs;
static const int NUMBER_OF_TABS = 8;
/** height of Plot Window when undocked */
int heightPlotWindow;
/** enumeration of the tabs */
enum {Measurement, DataOutput, Plot, Actions, Settings, Advanced, Debugging, Developer, NumberOfTabs };
/* Scroll Area for the tabs**/
QScrollArea *scroll[NUMBER_OF_TABS];
QScrollArea *scroll[NumberOfTabs];
QScrollArea *scrollMain;
/**Measurement tab */
qTabMeasurement *tab_measurement;
@ -73,18 +77,15 @@ private:
qTabPlot *tab_plot;
/**Actions tab */
qTabActions *tab_actions;
/**Settings tab */
qTabSettings *tab_settings;
/**Advanced tab */
qTabAdvanced *tab_advanced;
/**Settings tab */
qTabSettings *tab_Settings;
/**Debugging tab */
qTabDebugging *tab_debugging;
/**Developer tab */
qTabDeveloper *tab_developer;
/** enumeration of the tabs */
enum {Measurement, DataOutput, Plot, Actions, Advanced, Settings, Debugging, Developer };
/**Sets up the layout of the widget
*/
@ -153,6 +154,16 @@ void Version();
/** Executing About */
void About();
/** Resizes the main window if the plot is docked/undocked
* @param b bool TRUE if undocked(outside main window), FALSE docked
*/
void ResizeMainWindow(bool b);
/** Sets the Size of the undocked/docked terminal window
* @param b bool TRUE if undocked(outside main window), FALSE docked
*/
void SetTerminalWindowSize(bool b);
signals:

View File

@ -7,8 +7,7 @@
#ifndef QDRAWPLOT_H
#define QDRAWPLOT_H
/** Form Header */
#include "ui_form_drawplot.h"
/** Project Class Headers */
class slsDetectorUtils;
/** Qt Project Class Headers */
@ -17,13 +16,17 @@ class SlsQt1DPlot;
class SlsQt2DPlotLayout;
class qCloneWidget;
/** Qt Include Headers */
class QTimer;
class QGridLayout;
#include <QWidget>
#include <QGridLayout>
#include <QGroupBox>
#include <QTimer>
/**
*@short Sets up the plot widget
*/
class qDrawPlot:public QWidget, private Ui::DrawPlotObject{
class qDrawPlot:public QWidget{
Q_OBJECT
public:
@ -41,36 +44,12 @@ public:
*/
void StartStopDaqToggle(bool stop_if_running=0);
public slots:
/** To select 1D or 2D plot
* @param i is 1 for 1D, else 2D plot
*/
void SelectPlot(int i=2);
/** To select 1D plot
*/
void Select1DPlot() {SelectPlot(1);}
/** To select 2D plot
*/
void Select2DPlot() {SelectPlot(2);}
/** To clear plot
*/
void Clear1DPlot();
/** Creates a clone of the plot
* */
void ClonePlot();
/** Closes all the clone plots
* */
void CloseClones();
private:
/** The sls detector object */
slsDetectorUtils *myDet;
/** Number of Measurements */
int numberOfMeasurements;
/** Number of Exposures */
int number_of_exposures;
/** Duration between Exposures */
@ -79,16 +58,22 @@ private:
double acquisitionTime;
/** Widgets needed to plot the clone */
/** Max Number of Clone Windows */
static const int MAXCloneWindows = 50;
/** */
/** Array of clone window widget pointers */
qCloneWidget *winClone[MAXCloneWindows];
/** */
/** Widgets needed to set up plot*/
QGroupBox *boxPlot;
QGridLayout *layout;
QGridLayout *plotLayout;
/** Timer to update plot */
QTimer* plot_update_timer;
/** */
/** 1D object */
SlsQt1DPlot* plot1D;
/** */
/** 2D object */
SlsQt2DPlotLayout* plot2D;
/** */
/** 1D hist values */
QVector<SlsQtH1D*> plot1D_hists;
@ -99,37 +84,37 @@ private:
pthread_mutex_t last_image_complete_mutex;
/**variables for histograms */
/** */
/** 1D or 2D */
unsigned int plot_in_scope;
/** */
/** Current Image Number */
unsigned int lastImageNumber;
/** */
/** Title in 2D */
std::string imageTitle;
/** */
/** X Axis Title in 2D */
std::string imageXAxisTitle;
/** */
/** Y Axis Title in 2D */
std::string imageYAxisTitle;
/** */
/** Z Axis Title in 2D */
std::string imageZAxisTitle;
/** */
/** Number of Pixels in X Axis */
unsigned int nPixelsX;
/** */
/** Number of Pixels in Y Axis */
unsigned int nPixelsY;
/** */
/** Current Image Values in 1D */
double* lastImageArray;
/** */
/** Number of graphs in 1D */
unsigned int nHists;
/** */
/** Title for all the graphs in 1D */
std::string histTitle[10];
/** */
/** X Axis Title in 1D */
std::string histXAxisTitle;
/** */
/** Y Axis Title in 1D */
std::string histYAxisTitle;
/** */
/** Total Number of X axis values/channels in 1D */
int histNBins;
/** */
/** X Axis value in 1D */
double* histXAxis;
/** */
/** Y Axis value in 1D */
double* histYAxis[10];
@ -196,6 +181,40 @@ private:
void* AcquireImages();
public slots:
/** Set number of measurements
* @param num number of measurements to be set
*/
void setNumMeasurements(int num);
/** To select 1D or 2D plot
* @param i is 1 for 1D, else 2D plot
*/
void SelectPlot(int i=2);
/** To select 1D plot
*/
void Select1DPlot() {SelectPlot(1);}
/** To select 2D plot
*/
void Select2DPlot() {SelectPlot(2);}
/** To clear plot
*/
void Clear1DPlot();
/** Creates a clone of the plot
* */
void ClonePlot();
/** Closes all the clone plots
* */
void CloseClones();
private slots:
/** To update plot
*/

View File

@ -44,6 +44,8 @@ private:
/** The Plot widget */
qDrawPlot *myPlot;
enum{None, Auto, Gated, Trigger_Exp_Series, Trigger_Frame, Trigger_Readout, Gated_Start, Trigger_Window, NumTimingModes};
/** methods */
/** Sets up the widget
@ -51,8 +53,16 @@ private:
void SetupWidgetWindow();
/** Sets up all the slots and signals
* @param timingChange only some of the signals are disconnected when timing mode is changed
* This method is to reconnect them again.
*/
void Initialization();
void Initialization(int timingChange=0);
/** Disconnects all the slots and signals (which depend on timing mode)
* to retrieve all the parameters from client.
* This is done only when Timing mode is changed
*/
void DeInitialization();
/** Enables/Disables all the widgets
*/
@ -66,24 +76,9 @@ public slots:
void UpdateFinished();
private slots:
/** Set settings according to selection
* @param index index of selection
*/
void setSettings(int index);
/** Set number of frames
* @param val number of frames to be set
*/
void setNumFrames(int val);
/** Set acquisition time
*/
void setAcquisitionTime();
/** Set frame period between exposures
*/
void setFramePeriod();
/** Set file name
* @param fName name of file
*/
@ -98,6 +93,44 @@ void setRunIndex(int index);
*/
void startStopAcquisition();
/** Sets the timing mode
* @ param mode cane be None, Auto, Gated, Trigger Exposure Series,
* Trigger Frame, Trigger Readout, External Trigger Window
*/
void setTimingMode(int mode);
/** Set number of frames
* @param val number of frames to be set
*/
void setNumFrames(int val);
/** Set acquisition time
*/
void setExposureTime();
/** Set frame period between exposures
*/
void setAcquisitionPeriod();
/** Set number of triggers
* @param val number of triggers to be set
*/
void setNumTriggers(int val);
/** Set delay
*/
void setDelay();
/** Set number of gates
* @param val number of gates to be set
*/
void setNumGates(int val);
/** Set number of probes
* @param val number of probes to be set
*/
void setNumProbes(int val);
signals:

View File

@ -41,7 +41,6 @@ private:
/** The Plot widget */
qDrawPlot *myPlot;
/** methods */
/** Sets up the widget
*/

View File

@ -47,6 +47,13 @@ private:
*/
void Enable(bool enable);
private slots:
/** Set settings according to selection
* @param index index of selection
*/
void setSettings(int index);
};

View File

@ -81,7 +81,6 @@ HEADERS = \
FORMS = \
forms/form_detectormain.ui\
forms/form_drawplot.ui\
forms/form_tab_measurement.ui\
forms/form_tab_dataoutput.ui\
forms/form_tab_plot.ui\

View File

@ -14,6 +14,7 @@
#include "multiSlsDetector.h"
#include "sls_detector_defs.h"
/** Qt Include Headers */
#include <QSizePolicy>
/** C++ Include Headers */
#include<iostream>
#include <string>
@ -34,13 +35,22 @@ int main (int argc, char **argv) {
qDetectorMain::qDetectorMain(int argc, char **argv, QApplication *app, QWidget *parent) : QMainWindow(parent), theApp(app),myPlot(NULL),tabs(NULL){
qDetectorMain::qDetectorMain(int argc, char **argv, QApplication *app, QWidget *parent) :
QMainWindow(parent), theApp(app),myPlot(NULL),tabs(NULL){
myDet = 0;
setupUi(this);
SetUpWidgetWindow();
Initialization();
SetDeveloperMode();
/**need to use argc and argv to determine which slsdet or multidet to use.*/
if(argc>1){
if(!strcasecmp(argv[1],"-developer"))
tabs->setTabEnabled(Developer,true);
else
tabs->setTabEnabled(Developer,false);
}
}
@ -68,7 +78,8 @@ void qDetectorMain::SetUpWidgetWindow(){
SetUpDetector();
/** plot setup*/
myPlot = new qDrawPlot(framePlot,myDet);
myPlot = new qDrawPlot(dockWidgetPlot,myDet);
dockWidgetPlot->setWidget(myPlot);
/**tabs setup*/
tabs = new QTabWidget(this);
@ -78,12 +89,12 @@ void qDetectorMain::SetUpWidgetWindow(){
tab_dataoutput = new qTabDataOutput (this, myDet);
tab_plot = new qTabPlot (this, myDet,myPlot);
tab_actions = new qTabActions (this, myDet);
tab_settings = new qTabSettings (this, myDet);
tab_advanced = new qTabAdvanced (this, myDet);
tab_Settings = new qTabSettings (this, myDet);
tab_debugging = new qTabDebugging (this, myDet);
tab_developer = new qTabDeveloper (this, myDet);
/** creating the scroll area widgets for the tabs */
for(int i=0;i<NUMBER_OF_TABS;i++){
for(int i=0;i<NumberOfTabs;i++){
scroll[i] = new QScrollArea;
scroll[i]->setFrameShape(QFrame::NoFrame);
}
@ -92,8 +103,8 @@ void qDetectorMain::SetUpWidgetWindow(){
scroll[DataOutput] ->setWidget(tab_dataoutput);
scroll[Plot] ->setWidget(tab_plot);
scroll[Actions] ->setWidget(tab_actions);
scroll[Settings] ->setWidget(tab_settings);
scroll[Advanced] ->setWidget(tab_advanced);
scroll[Settings] ->setWidget(tab_Settings);
scroll[Debugging] ->setWidget(tab_debugging);
scroll[Developer] ->setWidget(tab_developer);
/** inserting all the tabs*/
@ -101,8 +112,8 @@ void qDetectorMain::SetUpWidgetWindow(){
tabs->insertTab(DataOutput, scroll[DataOutput], "Data Output");
tabs->insertTab(Plot, scroll[Plot], "Plot");
tabs->insertTab(Actions, scroll[Actions], "Actions");
tabs->insertTab(Advanced, scroll[Advanced], "Advanced");
tabs->insertTab(Settings, scroll[Settings], "Settings");
tabs->insertTab(Advanced, scroll[Advanced], "Advanced");
tabs->insertTab(Debugging, scroll[Debugging], "Debugging");
tabs->insertTab(Developer, scroll[Developer], "Developer");
@ -117,6 +128,8 @@ void qDetectorMain::SetUpWidgetWindow(){
void qDetectorMain::SetUpDetector(){
/**instantiate detector and set window title*/
myDet = new multiSlsDetector(Detector_Index);
if(!myDet->getHostname(Detector_Index).length()){
@ -138,7 +151,9 @@ void qDetectorMain::SetUpDetector(){
void qDetectorMain::Initialization(){
/** Dockable Plot*/
connect(dockWidgetPlot,SIGNAL(topLevelChanged(bool)),this,SLOT(ResizeMainWindow(bool)));
connect(dockWidgetTerminal,SIGNAL(topLevelChanged(bool)),this,SLOT(SetTerminalWindowSize(bool)));
/** tabs */
connect(tabs,SIGNAL(currentChanged(int)),this, SLOT(refresh(int)));//( QWidget*)));
@ -170,6 +185,8 @@ void qDetectorMain::Initialization(){
connect(actionAbout,SIGNAL(triggered()),this,SLOT(About()));
connect(actionVersion,SIGNAL(triggered()),this,SLOT(Version()));
heightPlotWindow = dockWidgetPlot->size().height();
}
@ -200,7 +217,6 @@ void qDetectorMain::SetExpertMode(bool b){
#endif
//threshold part in measu is enabled
tabs->setTabEnabled(Advanced,b);
tabs->setTabEnabled(Settings,b);
tab_advanced->setEnabled(b);
}
@ -217,12 +233,16 @@ void qDetectorMain::refresh(int index){
void qDetectorMain::SetDockableMode(bool b){
#ifdef VERBOSE
cout<<"Setting Dockable Plot Mode to "<<b<<endl;
cout<<"Setting Dockable Mode to "<<b<<endl;
#endif
if(b)
dockWidgetPlot->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable);
else
if(b){
dockWidgetPlot->setFeatures(QDockWidget::DockWidgetFloatable);
dockWidgetTerminal->setFeatures(QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetVerticalTitleBar);
}else{
dockWidgetPlot->setFeatures(QDockWidget::NoDockWidgetFeatures);
dockWidgetTerminal->setFeatures(QDockWidget::DockWidgetVerticalTitleBar);
}
}
@ -289,3 +309,36 @@ void qDetectorMain::About(){
#endif
}
void qDetectorMain::ResizeMainWindow(bool b){
#ifdef VERBOSE
cout<<"Resizing Main Window: height:"<<height()<<endl;
#endif
if(b)/** sets the main window height to a smaller maximum to get rid of space*/
setMaximumHeight(height()-heightPlotWindow-9);
else
setMaximumHeight(QWIDGETSIZE_MAX);
cout<<"size hint ht:"<<sizeHint().height()<<endl;
}
void qDetectorMain::SetTerminalWindowSize(bool b){
#ifdef VERBOSE
cout<<"Resizing Terminal Window"<<endl;
#endif
cout<<"min width:"<<dockWidgetTerminal->minimumWidth()<<endl;
cout<<"min height:"<<dockWidgetTerminal->minimumHeight()<<endl;
if(b){
dockWidgetTerminal->setMinimumWidth(width()/2);
}
//dockWidgetTerminal->setFixedSize(width()/2,dockWidgetTerminal->minimumHeight());
else{
dockWidgetTerminal->setMinimumWidth(38);
QSizePolicy sizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
dockWidgetTerminal->setSizePolicy(sizePolicy);
//dockWidgetTerminal->setSizePolicy(new QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding));
//dockWidgetTerminal->setFixedSize(dockWidgetTerminal->minimumWidth(),dockWidgetTerminal->minimumHeight());
}
}

View File

@ -13,7 +13,7 @@
#include "slsDetector.h"
#include "multiSlsDetector.h"
/** Qt Include Headers */
#include <QTimer>
#include <QFont>
/** C++ Include Headers */
#include <iostream>
#include <string>
@ -23,9 +23,8 @@ using namespace std;
#define Detector_Index 0
qDrawPlot::qDrawPlot(QWidget *parent,slsDetectorUtils*& detector):QWidget(parent),myDet(detector){
qDrawPlot::qDrawPlot(QWidget *parent,slsDetectorUtils*& detector):QWidget(parent),myDet(detector),numberOfMeasurements(1){
if(myDet) {
setupUi(this);
Initialization();
SetupWidgetWindow();
StartStopDaqToggle(); //as default
@ -36,15 +35,11 @@ qDrawPlot::qDrawPlot(QWidget *parent,slsDetectorUtils*& detector):QWidget(parent
qDrawPlot::~qDrawPlot(){
/** Clear plot*/
Clear1DPlot();
for(QVector<SlsQtH1D*>::iterator h = plot1D_hists.begin();h!=plot1D_hists.end();h++){
for(QVector<SlsQtH1D*>::iterator h = plot1D_hists.begin();h!=plot1D_hists.end();h++)
delete *h;
}
plot1D_hists.clear();
delete[] lastImageArray; lastImageArray=0;
StartOrStopThread(0);
/** delete detector object pointer*/
delete myDet;
}
@ -77,6 +72,13 @@ void qDrawPlot::Initialization(){
void qDrawPlot::SetupWidgetWindow(){
/** Setting up window*/
setFont(QFont("Sans Serif",9));
layout = new QGridLayout;
boxPlot = new QGroupBox("Start Image");
layout->addWidget(boxPlot,1,1);
this->setLayout(layout);
plot_update_timer = new QTimer(this);
connect(plot_update_timer, SIGNAL(timeout()), this, SLOT(UpdatePlot()));
@ -224,6 +226,7 @@ void* qDrawPlot::AcquireImages(){
//cout<<"filePath:"<<filePath<<endl;
//string fileName;
//numberOfMeasurements
for(int i=0;i<number_of_exposures;i++){
/////
@ -301,6 +304,9 @@ void* qDrawPlot::AcquireImages(){
void qDrawPlot::setNumMeasurements(int num){
numberOfMeasurements = num;
}

View File

@ -12,6 +12,9 @@
/** Project Class Headers */
#include "slsDetector.h"
#include "multiSlsDetector.h"
#include <QStandardItemModel>
/** C++ Include Headers */
#include<iostream>
using namespace std;
@ -22,7 +25,8 @@ using namespace std;
qTabMeasurement::qTabMeasurement(QWidget *parent,slsDetectorUtils*& detector, qDrawPlot*& plot):QWidget(parent),myDet(detector),myPlot(plot){
qTabMeasurement::qTabMeasurement(QWidget *parent,slsDetectorUtils*& detector, qDrawPlot*& plot):
QWidget(parent),myDet(detector),myPlot(plot){
setupUi(this);
if(myDet)
{
@ -43,63 +47,169 @@ qTabMeasurement::~qTabMeasurement(){
void qTabMeasurement::SetupWidgetWindow(){
/** all set initially to reflect the detector's actual parameter values*/
/** Settings */
comboSettings->setCurrentIndex(myDet->getSettings(Detector_Index)); //set it to default acc to detector???
/** Number of Measurements/Frames*/
setNumFrames(2000);
/** Acquisition Time */
setAcquisitionTime();
/** Frame Period between exposures*/
setFramePeriod();
/** File Name*/
setFileName("run");
/** File Index*/
setRunIndex(0);
/** File Name **/
dispFileName->setText(QString(myDet->getFileName().c_str()));
/** File Index **/
spinIndex->setValue(myDet->getFileIndex());
/** only initially **/
lblProgressIndex->setText(QString::number(myDet->getFileIndex()));
/** Enabling/Disabling depending on the detector type*/
QStandardItemModel* model = qobject_cast<QStandardItemModel*>(comboTimingMode->model());
QModelIndex index[NumTimingModes];
QStandardItem* item[NumTimingModes];
if (model) {
for(int i=0;i<NumTimingModes;i++){
index[i] = model->index(i, comboTimingMode->modelColumn(), comboTimingMode->rootModelIndex());
item[i] = model->itemFromIndex(index[i]);
}
switch(myDet->getDetectorsType()){
case slsDetectorDefs::MYTHEN:
item[(int)Gated]->setEnabled(true);
item[(int)Trigger_Exp_Series]->setEnabled(true);
item[(int)Trigger_Frame]->setEnabled(false);
item[(int)Trigger_Readout]->setEnabled(true);
item[(int)Gated_Start]->setEnabled(true);
item[(int)Trigger_Window]->setEnabled(false);
break;
case slsDetectorDefs::EIGER:
item[(int)Gated]->setEnabled(false);
item[(int)Trigger_Exp_Series]->setEnabled(true);
item[(int)Trigger_Frame]->setEnabled(true);
item[(int)Trigger_Readout]->setEnabled(false);
item[(int)Gated_Start]->setEnabled(false);
item[(int)Trigger_Window]->setEnabled(true);
break;
case slsDetectorDefs::GOTTHARD:
item[(int)Gated]->setEnabled(false);
item[(int)Trigger_Exp_Series]->setEnabled(true);
item[(int)Trigger_Frame]->setEnabled(false);
item[(int)Trigger_Readout]->setEnabled(false);
item[(int)Gated_Start]->setEnabled(false);
item[(int)Trigger_Window]->setEnabled(false);
break;
/* case slsDetectorDefs::PICASSO:
case slsDetectorDefs::PILATUS:
case slsDetectorDefs::AGIPD:*/
default:
cout<<"ERROR: Detector Type is Generic"<<endl;
exit(-1);
}
}
//get timing mode from client
}
void qTabMeasurement::Initialization(){
/** Settings */
connect(comboSettings,SIGNAL(currentIndexChanged(int)),this,SLOT(setSettings(int)));
/** Number of Measurements/Frames*/
connect(spinNumMeasurements,SIGNAL(valueChanged(int)),this,SLOT(setNumFrames(int)));
/** Acquisition Time */
connect(spinExpTime,SIGNAL(valueChanged(double)),this,SLOT(setAcquisitionTime()));
connect(comboExpUnit,SIGNAL(currentIndexChanged(int)),this,SLOT(setAcquisitionTime()));
/** Frame Period between exposures*/
connect(spinPeriod,SIGNAL(valueChanged(double)),this,SLOT(setFramePeriod()));
connect(comboPeriodUnit,SIGNAL(currentIndexChanged(int)),this,SLOT(setFramePeriod()));
/** File Name*/
connect(dispFileName,SIGNAL(textChanged(const QString&)),this,SLOT(setFileName(const QString&)));
/** File Index*/
connect(spinIndex,SIGNAL(valueChanged(int)),this,SLOT(setRunIndex(int)));
/** Start/Stop Acquisition*/
void qTabMeasurement::Initialization(int timingChange){
/** These signals are connected only at start up*/
if(!timingChange){
/** Number of Measurements**/
connect(spinNumMeasurements,SIGNAL(valueChanged(int)), myPlot, SLOT(setNumMeasurements(int)));
/** File Name**/
connect(dispFileName,SIGNAL(textChanged(const QString&)), this, SLOT(setFileName(const QString&)));
/** File Index**/
connect(spinIndex,SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
/** Start/Stop Acquisition**/
connect(btnStartStop,SIGNAL(clicked()), this, SLOT(startStopAcquisition()));
/** Timing Mode **/
connect(comboTimingMode,SIGNAL(currentIndexChanged(int)), this, SLOT(setTimingMode(int)));//
}
/** Number of Frames**/
connect(spinNumFrames,SIGNAL(valueChanged(int)), this, SLOT(setNumFrames(int)));
/** Exposure Time **/
connect(spinExpTime,SIGNAL(valueChanged(double)), this, SLOT(setExposureTime()));//..myplot
connect(comboExpUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setExposureTime()));
/** Frame Period between exposures**/
connect(spinPeriod,SIGNAL(valueChanged(double)), this, SLOT(setAcquisitionPeriod()));//..myplot
connect(comboPeriodUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setAcquisitionPeriod()));
/** Number of Triggers**/
connect(spinNumTriggers,SIGNAL(valueChanged(int)), this, SLOT(setNumTriggers(int)));//
/** Delay After Trigger **/
connect(spinDelay,SIGNAL(valueChanged(double)), this, SLOT(setDelay()));//
connect(comboDelayUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay()));
/** Number of Gates**/
connect(spinNumGates,SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int)));//
/** Number of Probes**/
connect(spinNumProbes,SIGNAL(valueChanged(int)), this, SLOT(setNumProbes(int)));//
}
void qTabMeasurement::DeInitialization(){
/** Number of Frames**/
disconnect(spinNumFrames,SIGNAL(valueChanged(int)), this, SLOT(setNumFrames(int)));
/** Exposure Time **/
disconnect(spinExpTime,SIGNAL(valueChanged(double)), this, SLOT(setExposureTime()));//..myplot
disconnect(comboExpUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setExposureTime()));
/** Frame Period between exposures**/
disconnect(spinPeriod,SIGNAL(valueChanged(double)), this, SLOT(setAcquisitionPeriod()));//..myplot
disconnect(comboPeriodUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setAcquisitionPeriod()));
/** Number of Triggers**/
disconnect(spinNumTriggers,SIGNAL(valueChanged(int)), this, SLOT(setNumTriggers(int)));
/** Delay After Trigger **/
disconnect(spinDelay,SIGNAL(valueChanged(double)), this, SLOT(setDelay()));
disconnect(comboDelayUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay()));
/** Number of Gates**/
disconnect(spinNumGates,SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int)));
/** Number of Probes**/
disconnect(spinNumProbes,SIGNAL(valueChanged(int)), this, SLOT(setNumProbes(int)));
}
void qTabMeasurement::Enable(bool enable){
gridTimeResolved->setEnabled(enable);
gridLayout->setEnabled(enable);
boxProgress->setEnabled(enable);
/** Enable this always **/
if(!enable) btnStartStop->setEnabled(true);
}
void qTabMeasurement::UpdateFinished(){
disconnect(btnStartStop,SIGNAL(clicked()),this,SLOT(startStopAcquisition()));
btnStartStop->setText("Start");
Enable(1);
connect(btnStartStop,SIGNAL(clicked()),this,SLOT(startStopAcquisition()));
}
//enabled other tabs as well??
void qTabMeasurement::Enable(bool enable){
//this->setEnabled(enable);
comboSettings->setEnabled(enable);
spinNumMeasurements->setEnabled(enable);
spinExpTime->setEnabled(enable);
comboExpUnit->setEnabled(enable);
spinPeriod->setEnabled(enable);
comboPeriodUnit->setEnabled(enable);
dispFileName->setEnabled(enable);
spinIndex->setEnabled(enable);
if(!enable) btnStartStop->setEnabled(true);
void qTabMeasurement::setFileName(const QString& fName){
// emit fileNameChanged(fName);
// thred-->fileName=s;myDet->setFileName(fName.ascii());
myDet->setFileName(fName.toAscii().data());
#ifdef VERBOSE
cout<<"Setting File name to " << myDet->getFileName()<<endl;
#endif
}
void qTabMeasurement::setRunIndex(int index){
myDet->setFileIndex(index);
#ifdef VERBOSE
cout<<"Setting File Index to " << myDet->getFileIndex()<<endl;
#endif
}
void qTabMeasurement::startStopAcquisition(){
if(!btnStartStop->text().compare("Start")){
#ifdef VERBOSE
@ -118,33 +228,20 @@ void qTabMeasurement::startStopAcquisition(){
}
void qTabMeasurement::UpdateFinished(){
disconnect(btnStartStop,SIGNAL(clicked()),this,SLOT(startStopAcquisition()));
btnStartStop->setText("Start");
Enable(1);
connect(btnStartStop,SIGNAL(clicked()),this,SLOT(startStopAcquisition()));
}
void qTabMeasurement::setSettings(int index){
slsDetectorDefs::detectorSettings sett = myDet->setSettings((slsDetectorDefs::detectorSettings)index,Detector_Index);
#ifdef VERBOSE
cout<<"Settings have been set to "<<myDet->slsDetectorBase::getDetectorSettings(sett)<<endl;
#endif
}
void qTabMeasurement::setNumFrames(int val){
myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,val);
#ifdef VERBOSE
cout<<"Setting Frame number to " << (int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1)<<endl;
cout<<"Setting number of frames to " << (int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1)<<endl;
#endif
}
void qTabMeasurement::setAcquisitionTime(){
void qTabMeasurement::setExposureTime(){
int64_t exptime64;
/** Get the 64 bit value of timer*/
/** Get the 64 bit value of timer**/
exptime64 = qDefs::get64bTime((qDefs::timeUnit)comboExpUnit->currentIndex(),spinExpTime->value());
#ifdef VERBOSE
cout<<"Setting acquisition time to " << exptime64 << " clocks" << endl;
@ -157,9 +254,9 @@ void qTabMeasurement::setAcquisitionTime(){
void qTabMeasurement::setFramePeriod(){
void qTabMeasurement::setAcquisitionPeriod(){
int64_t exptime64;
/** Get the 64 bit value of timer*/
/** Get the 64 bit value of timer**/
exptime64 = qDefs::get64bTime((qDefs::timeUnit)comboPeriodUnit->currentIndex(),spinPeriod->value());
#ifdef VERBOSE
cout<<"Setting frame period between exposures to " << exptime64 << " clocks" << endl;
@ -172,24 +269,210 @@ void qTabMeasurement::setFramePeriod(){
void qTabMeasurement::setFileName(const QString& fName){
// emit fileNameChanged(fName);
// thred-->fileName=s;myDet->setFileName(fName.ascii());
void qTabMeasurement::setNumTriggers(int val){
myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,val);
#ifdef VERBOSE
cout<<"Setting File name to " << myDet->getFileName()<<endl;
#endif
myDet->setFileName(fName.toAscii().data());
}
void qTabMeasurement::setRunIndex(int index){
myDet->setFileIndex(index);
#ifdef VERBOSE
cout<<"Setting File Index to " << myDet->getFileIndex()<<endl;
cout<<"Setting number of triggers to " << (int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1)<<endl;
#endif
}
void qTabMeasurement::setDelay(){
int64_t exptime64;
/** Get the 64 bit value of timer**/
exptime64 = qDefs::get64bTime((qDefs::timeUnit)comboDelayUnit->currentIndex(),spinDelay->value());
#ifdef VERBOSE
cout<<"Setting delay after trigger to " << exptime64 << " clocks" << endl;
#endif
myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,exptime64);
}
void qTabMeasurement::setNumGates(int val){
myDet->setTimer(slsDetectorDefs::GATES_NUMBER,val);
#ifdef VERBOSE
cout<<"Setting number of gates to " << (int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1)<<endl;
#endif
}
void qTabMeasurement::setNumProbes(int val){
myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,val);
#ifdef VERBOSE
cout<<"Setting number of frames to " << (int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1)<<endl;
#endif
}
void qTabMeasurement::setTimingMode(int mode){
#ifdef VERBOSE
cout<<"Setting Timing mode to " << comboTimingMode->currentText().toAscii().data()<<endl;
#endif
//need to send to client to set the timing mode
switch(mode){
case None:
lblNumFrames->setEnabled(false); spinNumFrames->setEnabled(false);
lblExpTime->setEnabled(false); spinExpTime->setEnabled(false); comboExpUnit->setEnabled(false);
lblPeriod->setEnabled(false); spinPeriod->setEnabled(false); comboPeriodUnit->setEnabled(false);
lblNumTriggers->setEnabled(false); spinNumTriggers->setEnabled(false);
lblDelay->setEnabled(false); spinDelay->setEnabled(false); comboDelayUnit->setEnabled(false);
lblNumGates->setEnabled(false); spinNumGates->setEnabled(false);
lblNumProbes->setEnabled(false); spinNumProbes->setEnabled(false);
break;
case Auto:
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true);
lblNumTriggers->setEnabled(false); spinNumTriggers->setEnabled(false);
lblDelay->setEnabled(false); spinDelay->setEnabled(false); comboDelayUnit->setEnabled(false);
lblNumGates->setEnabled(false); spinNumGates->setEnabled(false);
break;
case Gated:
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
lblExpTime->setEnabled(false); spinExpTime->setEnabled(false); comboExpUnit->setEnabled(false);
lblPeriod->setEnabled(false); spinPeriod->setEnabled(false); comboPeriodUnit->setEnabled(false);
lblNumTriggers->setEnabled(false); spinNumTriggers->setEnabled(false);
lblDelay->setEnabled(false); spinDelay->setEnabled(false); comboDelayUnit->setEnabled(false);
lblNumGates->setEnabled(true); spinNumGates->setEnabled(true);
break;
case Trigger_Exp_Series:
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true);
lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true);
lblDelay->setEnabled(true); spinDelay->setEnabled(true); comboDelayUnit->setEnabled(true);
lblNumGates->setEnabled(false); spinNumGates->setEnabled(false);
break;
case Trigger_Readout:
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true);
lblNumTriggers->setEnabled(false); spinNumTriggers->setEnabled(false);
lblDelay->setEnabled(true); spinDelay->setEnabled(true); comboDelayUnit->setEnabled(true);
lblNumGates->setEnabled(false); spinNumGates->setEnabled(false);
break;
case Gated_Start:
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true);
lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true);
lblDelay->setEnabled(false); spinDelay->setEnabled(false); comboDelayUnit->setEnabled(false);
lblNumGates->setEnabled(true); spinNumGates->setEnabled(true);
break;
case Trigger_Frame:
lblNumFrames->setEnabled(false); spinNumFrames->setEnabled(false);
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
lblPeriod->setEnabled(false); spinPeriod->setEnabled(false); comboPeriodUnit->setEnabled(false);
lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true);
lblDelay->setEnabled(false); spinDelay->setEnabled(false); comboDelayUnit->setEnabled(false);
lblNumGates->setEnabled(false); spinNumGates->setEnabled(false);
break;
case Trigger_Window:
lblNumFrames->setEnabled(false); spinNumFrames->setEnabled(false);
lblExpTime->setEnabled(false); spinExpTime->setEnabled(false); comboExpUnit->setEnabled(false);
lblPeriod->setEnabled(false); spinPeriod->setEnabled(false); comboPeriodUnit->setEnabled(false);
lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true);
lblDelay->setEnabled(false); spinDelay->setEnabled(false); comboDelayUnit->setEnabled(false);
lblNumGates->setEnabled(false); spinNumGates->setEnabled(false);
break;
default:
cout<<"ERROR: Timing mode being set to other should never happen"<<endl;
exit(-1);
}
if(mode!=None){
if(myDet->getDetectorsType()==slsDetectorDefs::MYTHEN){
lblNumProbes->setEnabled(true); spinNumProbes->setEnabled(true);
}else{
lblNumProbes->setEnabled(false); spinNumProbes->setEnabled(false);
}
}
/** To disconnect all the signals before changing their values*/
DeInitialization();
float time;
int val;
/**Number of Frames */
if(lblNumFrames->isEnabled()){
val = (int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1);
spinNumFrames->setValue(val);
#ifdef VERBOSE
cout<<"Getting number of frames : " << val <<endl;
#endif
}
/**Exposure Time */
if(lblExpTime->isEnabled()){
time = (float)(myDet->setTimer(slsDetectorDefs::ACQUISITION_TIME,-1)*(1E-9));
#ifdef VERBOSE
cout<<"Getting acquisition time : " << time << "s" << endl;
#endif
spinExpTime->setValue(time);
comboExpUnit->setCurrentIndex(qDefs::SECONDS);
}
/**Frame Period between exposures */
if(lblPeriod->isEnabled()){
time = (float)(myDet->setTimer(slsDetectorDefs::FRAME_PERIOD,-1)*(1E-9));
#ifdef VERBOSE
cout<<"Getting frame period between exposures : " << time << "s" << endl;
#endif
spinPeriod->setValue(time);
comboPeriodUnit->setCurrentIndex(qDefs::SECONDS);
}
/**Number of Triggers */
if(lblNumTriggers->isEnabled()){
val = (int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1);
spinNumTriggers->setValue(val);
#ifdef VERBOSE
cout<<"Getting number of triggers : " << val <<endl;
#endif
}
/**Delay After Trigger */
if(lblDelay->isEnabled()){
time = (float)(myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,-1)*(1E-9));
#ifdef VERBOSE
cout<<"Getting delay after trigger : " << time << "s" << endl;
#endif
spinDelay->setValue(time);
comboDelayUnit->setCurrentIndex(qDefs::SECONDS);
}
/**Number of Gates */
if(lblNumGates->isEnabled()){
val = (int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1);
spinNumGates->setValue(val);
#ifdef VERBOSE
cout<<"Getting number of gates : " << val <<endl;
#endif
}
/**Number of Probes */
if(lblNumProbes->isEnabled()){
val = (int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1);
spinNumProbes->setValue(val);
#ifdef VERBOSE
cout<<"Getting number of probes : " << val <<endl;
#endif
}
/** To reconnect all the signals after changing their values*/
Initialization(1);
}

View File

@ -59,7 +59,8 @@ void qTabPlot::Initialization(){
void qTabPlot::Enable(bool enable){
boxPlot->setEnabled(enable);
btnClone->setEnabled(enable);
btnCloseClones->setEnabled(enable);
box1D->setEnabled(enable);
box2D->setEnabled(enable);
boxPlotAxis->setEnabled(enable);

View File

@ -39,18 +39,29 @@ qTabSettings::~qTabSettings(){
void qTabSettings::SetupWidgetWindow(){
/** Settings */
comboSettings->setCurrentIndex(myDet->getSettings(Detector_Index));
}
void qTabSettings::Initialization(){
/** Settings */
connect(comboSettings,SIGNAL(currentIndexChanged(int)),this,SLOT(setSettings(int)));
}
void qTabSettings::Enable(bool enable){
//this->setEnabled(enable);
comboSettings->setEnabled(enable);
}
void qTabSettings::setSettings(int index){
slsDetectorDefs::detectorSettings sett = myDet->setSettings((slsDetectorDefs::detectorSettings)index,Detector_Index);
#ifdef VERBOSE
cout<<"Settings have been set to "<<myDet->slsDetectorBase::getDetectorSettings(sett)<<endl;
#endif
}