diff --git a/slsDetectorGui/forms/form_tab_dataoutput.ui b/slsDetectorGui/forms/form_tab_dataoutput.ui
index 104a296ee..853b53cb8 100644
--- a/slsDetectorGui/forms/form_tab_dataoutput.ui
+++ b/slsDetectorGui/forms/form_tab_dataoutput.ui
@@ -300,8 +300,14 @@
-
+
+
+ 0
+ 0
+
+
- Output Directory:
+ Output Directory :
diff --git a/slsDetectorGui/include/qDrawPlot.h b/slsDetectorGui/include/qDrawPlot.h
index 69b7ffa5f..5d8c31b96 100644
--- a/slsDetectorGui/include/qDrawPlot.h
+++ b/slsDetectorGui/include/qDrawPlot.h
@@ -53,8 +53,8 @@ public:
/** gets the file index to the measurement tab*/
int GetFileIndex(){return currentFileIndex;};
- /** sets plot Title */
- void SetPlotTitle(QString title) {plotTitle = title;}
+ /** sets plot Title prefix*/
+ void SetPlotTitlePrefix(QString title) {plotTitle_prefix = title;}
/** sets 1D X Axis Title */
void SetHistXAxisTitle(QString title) {histXAxisTitle = title;}
/** sets 1D Y Axis Title */
@@ -338,6 +338,8 @@ std::string histTitle[MAX_1DPLOTS];
std::string imageTitle;
/** plot Title */
QString plotTitle;
+/** plot Title prefix */
+QString plotTitle_prefix;
/** 1D or 2D */
unsigned int plot_in_scope;
/** Number of Pixels in X Axis */
diff --git a/slsDetectorGui/src/qDetectorMain.cpp b/slsDetectorGui/src/qDetectorMain.cpp
index 99adef4ea..0e8f4ac00 100644
--- a/slsDetectorGui/src/qDetectorMain.cpp
+++ b/slsDetectorGui/src/qDetectorMain.cpp
@@ -91,7 +91,7 @@ void qDetectorMain::SetUpWidgetWindow(){
centralwidget->setLayout(layoutTabs);
// plot setup
- myPlot = new qDrawPlot(dockWidgetPlot,myDet);
+ myPlot = new qDrawPlot(dockWidgetPlot,myDet);cout<<"DockPlot ready"<setWidget(myPlot);
//tabs setup
diff --git a/slsDetectorGui/src/qDrawPlot.cpp b/slsDetectorGui/src/qDrawPlot.cpp
index 2f5f161d7..febd7a493 100644
--- a/slsDetectorGui/src/qDrawPlot.cpp
+++ b/slsDetectorGui/src/qDrawPlot.cpp
@@ -119,7 +119,7 @@ void qDrawPlot::SetupWidgetWindow(){
setFont(QFont("Sans Serif",9));
layout = new QGridLayout;
this->setLayout(layout);
- boxPlot = new QGroupBox("Measurement");
+ boxPlot = new QGroupBox("");
layout->addWidget(boxPlot,1,1);
boxPlot->setAlignment(Qt::AlignHCenter);
boxPlot->setFont(QFont("Sans Serif",11,QFont::Normal));
@@ -131,8 +131,8 @@ void qDrawPlot::SetupWidgetWindow(){
// Default titles- only for the initial picture
histXAxisTitle="Channel Number";
histYAxisTitle="Counts";
- plotTitle = "Measurement";
-
+ plotTitle = "";
+ plotTitle_prefix = "";
for(int i=0;ifileName).section('/',-1));
+ while(1){
+ if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
+ //set title
+ plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
- cout<<"angle plot"<angles==NULL){
- cout<<"\n\nWARNING:RETURNED NULL instead of angles."<values,nAnglePixelsX*sizeof(double));
- SetHistXAxisTitle("Channel Number");
+ cout<angles==NULL){
+ cout<<"\n\nWARNING:RETURNED NULL instead of angles."<values,nAnglePixelsX*sizeof(double));
+ SetHistXAxisTitle("Channel Number");
+ }
+ else{
+
+ lastImageNumber= currentFrame+1;
+ nAnglePixelsX = data->npoints;
+ histNBins = nAnglePixelsX;
+ nHists=1;
+ if(histXAngleAxis) delete [] histXAngleAxis; histXAngleAxis = new double[nAnglePixelsX];
+ if(histYAngleAxis) delete [] histYAngleAxis; histYAngleAxis = new double[nAnglePixelsX];
+ memcpy(histXAngleAxis,data->angles,nAnglePixelsX*sizeof(double));
+ memcpy(histYAngleAxis,data->values,nAnglePixelsX*sizeof(double));
+ SetHistXAxisTitle("Angles");
+ }
+ pthread_mutex_unlock(&(last_image_complete_mutex));
+ break;
}
- else{
-
- lastImageNumber= currentFrame+1;
- nAnglePixelsX = data->npoints;
- histNBins = nAnglePixelsX;
- nHists=1;
- if(histXAngleAxis) delete [] histXAngleAxis; histXAngleAxis = new double[nAnglePixelsX];
- if(histYAngleAxis) delete [] histYAngleAxis; histYAngleAxis = new double[nAnglePixelsX];
- memcpy(histXAngleAxis,data->angles,nAnglePixelsX*sizeof(double));
- memcpy(histYAngleAxis,data->values,nAnglePixelsX*sizeof(double));
- SetHistXAxisTitle("Angles");
- }
- pthread_mutex_unlock(&(last_image_complete_mutex));
}
currentFrame++;
return 0;
@@ -616,7 +619,7 @@ int qDrawPlot::GetData(detectorData *data){
while(1){
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
//set title
- SetPlotTitle(QString(data->fileName).section('/',-1));
+ plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
//variables
lastImageNumber= currentFrame+1;
//title
@@ -638,7 +641,7 @@ int qDrawPlot::GetData(detectorData *data){
while(1){
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
//set title
- SetPlotTitle(QString(data->fileName).section('/',-1));
+ plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
//variables
if(currentFileIndex == minPixelsY) currentScanDivLevel = 0;
lastImageNumber= currentFrame+1;
@@ -661,7 +664,7 @@ int qDrawPlot::GetData(detectorData *data){
while(1){
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
//set title
- SetPlotTitle(QString(data->fileName).section('/',-1));
+ plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
//get scanvariable0
int ci = 0, p = 0; double cs0 = 0 , cs1 = 0;
fileIOStatic::getVariablesFromFileName(string(data->fileName), ci, p, cs0, cs1);
@@ -691,7 +694,7 @@ int qDrawPlot::GetData(detectorData *data){
while(1){
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
//set title
- SetPlotTitle(QString(data->fileName).section('/',-1));
+ plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
//get scanvariable1
int ci = 0, p = 0; double cs0 = 0 , cs1 = 0;
fileIOStatic::getVariablesFromFileName(string(data->fileName), ci, p, cs0, cs1);
@@ -720,7 +723,7 @@ int qDrawPlot::GetData(detectorData *data){
//normal measurement or 1d scans
if(!pthread_mutex_trylock(&(last_image_complete_mutex))){
//set title
- SetPlotTitle(QString(data->fileName).section('/',-1));
+ plotTitle=QString(plotTitle_prefix)+QString(data->fileName).section('/',-1);
char temp_title[2000];
// only if you got the lock, do u need to remember lastimagenumber to plot
lastImageNumber= currentFrame+1;
@@ -1285,7 +1288,7 @@ int qDrawPlot::UpdateTrimbitPlot(bool fromDetector,bool Histogram){
//data
memcpy(histYAxis[0],histTrimbits,nPixelsX*sizeof(double));
//title
- boxPlot->setTitle("Trimbits Plot - Data Graph");
+ boxPlot->setTitle("Trimbits_Plot_Data Graph");
plot1D->SetXTitle("Channel Number");
plot1D->SetYTitle("Trimbits");
//set plot parameters
@@ -1314,7 +1317,7 @@ int qDrawPlot::UpdateTrimbitPlot(bool fromDetector,bool Histogram){
//delete [] histTrimbits;
//title
- boxPlot->setTitle("Trimbits Plot - Histogram");
+ boxPlot->setTitle("Trimbits_Plot_Histogram");
plot1D->SetXTitle("Trimbits");
plot1D->SetYTitle("Frequency");
//set plot parameters
diff --git a/slsDetectorGui/src/qTabDataOutput.cpp b/slsDetectorGui/src/qTabDataOutput.cpp
index 82cb45366..d5887033d 100644
--- a/slsDetectorGui/src/qTabDataOutput.cpp
+++ b/slsDetectorGui/src/qTabDataOutput.cpp
@@ -119,7 +119,7 @@ void qTabDataOutput::SetupWidgetWindow(){
void qTabDataOutput::Initialization(){
//output dir
connect(dispOutputDir, SIGNAL(editingFinished()), this, SLOT(setOutputDir()));
- connect(btnOutputBrowse, SIGNAL(clicked()), this, SLOT(browseOutputDir()));
+ connect(btnOutputBrowse, SIGNAL(clicked()), this, SLOT(browseOutputDir()));
//flat field correction
connect(chkFlatField, SIGNAL(toggled(bool)), this, SLOT(SetFlatField()));
connect(btnFlatField, SIGNAL(clicked()), this, SLOT(BrowseFlatFieldPath()));
@@ -138,19 +138,22 @@ void qTabDataOutput::Initialization(){
void qTabDataOutput::setOutputDir(){
+ disconnect(dispOutputDir, SIGNAL(editingFinished()), this, SLOT(setOutputDir()));
+
QString path = dispOutputDir->text();
//gets rid of the end '/'s
- disconnect(dispOutputDir, SIGNAL(editingFinished()), this, SLOT(setOutputDir()));
while(path.endsWith('/')) path.chop(1);
dispOutputDir->setText(path);
- connect(dispOutputDir, SIGNAL(editingFinished()), this, SLOT(setOutputDir()));
+
+ //if(QFile::exists(path))
+
myDet->setFilePath(string(path.toAscii().constData()));
#ifdef VERBOSE
cout << "Output Directory changed to :"<getFilePath() << endl;
#endif
-
+ connect(dispOutputDir, SIGNAL(editingFinished()), this, SLOT(setOutputDir()));
}
diff --git a/slsDetectorGui/src/qTabMeasurement.cpp b/slsDetectorGui/src/qTabMeasurement.cpp
index 595251712..f5c2ae8da 100644
--- a/slsDetectorGui/src/qTabMeasurement.cpp
+++ b/slsDetectorGui/src/qTabMeasurement.cpp
@@ -81,6 +81,7 @@ void qTabMeasurement::SetupWidgetWindow(){
//file write enabled/disabled
chkFile->setChecked(myDet->enableWriteToFile());
+ dispFileName->setEnabled(myDet->enableWriteToFile());
//creating the icons for the buttons
iconStart = new QIcon(":/icons/images/start.png");
diff --git a/slsDetectorGui/src/qTabPlot.cpp b/slsDetectorGui/src/qTabPlot.cpp
index 2ac8319c7..4adce2b2f 100644
--- a/slsDetectorGui/src/qTabPlot.cpp
+++ b/slsDetectorGui/src/qTabPlot.cpp
@@ -23,7 +23,7 @@ using namespace std;
const QString qTabPlot::modeNames[5]={"None","Energy Scan","Threshold Scan","Trimbits Scan","Custom Script Scan"};
-QString qTabPlot::defaultPlotTitle("Measurement");
+QString qTabPlot::defaultPlotTitle("");
QString qTabPlot::defaultHistXAxisTitle("Channel Number");
QString qTabPlot::defaultHistYAxisTitle("Counts");
QString qTabPlot::defaultImageXAxisTitle("Pixel");
@@ -95,8 +95,8 @@ void qTabPlot::SetupWidgetWindow(){
dispZMax->setValidator(new QDoubleValidator(dispZMax));
//default titles
- dispTitle->setText(defaultPlotTitle);
- myPlot->SetPlotTitle(defaultPlotTitle);
+ dispTitle->setText("");
+ myPlot->SetPlotTitlePrefix("");
dispXAxis->setText(defaultHistXAxisTitle);
dispYAxis->setText(defaultHistYAxisTitle);
myPlot->SetHistXAxisTitle(defaultHistXAxisTitle);
@@ -261,7 +261,7 @@ void qTabPlot::EnablePersistency(bool enable){
void qTabPlot::SetTitles(){
// Plot Title
if(dispTitle->isEnabled())
- myPlot->SetPlotTitle(dispTitle->text());
+ myPlot->SetPlotTitlePrefix(dispTitle->text());
// X Axis
if(dispXAxis->isEnabled()){
if(isOneD) myPlot->SetHistXAxisTitle(dispXAxis->text());
@@ -285,8 +285,8 @@ void qTabPlot::EnableTitles(){
// Plot Title
dispTitle->setEnabled(chkTitle->isChecked());
if(!chkTitle->isChecked()){
- myPlot->SetPlotTitle(defaultPlotTitle);
- dispTitle->setText(defaultPlotTitle);
+ myPlot->SetPlotTitlePrefix("");
+ dispTitle->setText("");
}
// X Axis
dispXAxis->setEnabled(chkXAxis->isChecked());
@@ -588,8 +588,6 @@ void qTabPlot::EnablingNthFrameFunction(bool enable){
void qTabPlot::SetScanArgument(){
//as default from histogram and default titles are set here if scanbox is disabled
- dispTitle->setText(defaultPlotTitle);
- myPlot->SetPlotTitle(defaultPlotTitle);
if(isOrginallyOneD){
dispXAxis->setText(defaultHistXAxisTitle);
dispYAxis->setText(defaultHistYAxisTitle);
@@ -611,10 +609,6 @@ void qTabPlot::SetScanArgument(){
//if scans(1D or 2D)
if(boxScan->isEnabled()){
//setting the title according to the scans
- QString mainTitle = QString(" Level 0 : ") + modeNames[myDet->getScanMode(0)] +
- QString(" | Level 1 : ") + modeNames[myDet->getScanMode(1)] + QString("");
- dispTitle->setText(mainTitle);
- myPlot->SetPlotTitle(mainTitle);
Select1DPlot(isOrginallyOneD);
if(isOrginallyOneD) myPlot->Select1DPlot();
else myPlot->Select2DPlot();
@@ -624,10 +618,6 @@ void qTabPlot::SetScanArgument(){
//else if(myDet->getPositions()){
//if scan, change title
if((myDet->getScanMode(0))||(myDet->getScanMode(1))){
- QString mainTitle = QString(" Level 0 : ") + modeNames[myDet->getScanMode(0)] +
- QString(" | Level 1 : ") + modeNames[myDet->getScanMode(1)] + QString("");
- dispTitle->setText(mainTitle);
- myPlot->SetPlotTitle(mainTitle);
}
dispXAxis->setText("Angles");
myPlot->SetHistXAxisTitle("Angles");