From b67f3a83d8946a9a719fde0705b33497e7ebce0b Mon Sep 17 00:00:00 2001 From: l_maliakal_d Date: Wed, 5 Sep 2012 08:42:03 +0000 Subject: [PATCH] stop signal works, call back works, number of probes to expert mode, angular works git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@50 af1100a4-978c-4157-bff7-07162d2ba061 --- slsDetectorGui/include/qCloneWidget.h | 8 +++++-- slsDetectorGui/src/qCloneWidget.cpp | 31 +++++++++++++++++++++++++-- slsDetectorGui/src/qDrawPlot.cpp | 7 ++++++ 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/slsDetectorGui/include/qCloneWidget.h b/slsDetectorGui/include/qCloneWidget.h index adacf4d07..57bc42084 100644 --- a/slsDetectorGui/include/qCloneWidget.h +++ b/slsDetectorGui/include/qCloneWidget.h @@ -62,8 +62,10 @@ public: * @param histXAxis X Axis value in 1D * @param histYAxis Y Axis value in 1D * @param histTitle Title for all the graphs in 1D + * @param lines style of plot if lines or dots + * @param markers style of plot markers or not * */ - void SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis[],string histTitle[]); + void SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis[],string histTitle[],bool lines,bool markers); /** Get the 1D hist values to plot for angle plotting * @param nHists Number of graphs in 1D @@ -71,8 +73,10 @@ public: * @param histXAxis X Axis value in 1D * @param histYAxis Y Axis value in 1D * @param histTitle Title for all the graphs in 1D + * @param lines style of plot if lines or dots + * @param markers style of plot markers or not * */ - void SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis,string histTitle[]); + void SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis,string histTitle[],bool lines,bool markers); public slots: /** Save Plots automatically by save all clones diff --git a/slsDetectorGui/src/qCloneWidget.cpp b/slsDetectorGui/src/qCloneWidget.cpp index cef7130c1..77e5e02c4 100644 --- a/slsDetectorGui/src/qCloneWidget.cpp +++ b/slsDetectorGui/src/qCloneWidget.cpp @@ -14,6 +14,7 @@ #include #include #include +#include "qwt_symbol.h" /** C++ Include Headers */ #include using namespace std; @@ -97,7 +98,7 @@ void qCloneWidget::SetupWidgetWindow(QString title,int numDim,SlsQt1DPlot*& plot //------------------------------------------------------------------------------------------------------------------------------------------------- -void qCloneWidget::SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis[],string histTitle[]){ +void qCloneWidget::SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis[],string histTitle[],bool lines,bool markers){ /** for each plot*/cout<<"qclone nhists:"<SetData(histNBins,histXAxis,histYAxis[hist_num]); } + //style of plot + if(lines) k->setStyle(QwtPlotCurve::Lines); + else k->setStyle(QwtPlotCurve::Dots); + if(markers) { + QwtSymbol *marker = new QwtSymbol(); + marker->setStyle(QwtSymbol::Cross); + marker->setSize(5,5); + k->setSymbol(*marker); + }else { + QwtSymbol *noMarker = new QwtSymbol(); + k->setSymbol(*noMarker); + } + //set title and attach plot k->setTitle(histTitle[hist_num].c_str()); k->Attach(cloneplot1D); } @@ -119,7 +133,7 @@ void qCloneWidget::SetCloneHists(int nHists,int histNBins,double* histXAxis,doub //------------------------------------------------------------------------------------------------------------------------------------------------- -void qCloneWidget::SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis,string histTitle[]){ +void qCloneWidget::SetCloneHists(int nHists,int histNBins,double* histXAxis,double* histYAxis,string histTitle[],bool lines,bool markers){ /** for each plot*/cout<<"qclone nhists:"<SetData(histNBins,histXAxis,histYAxis); } + //style of plot + if(lines) k->setStyle(QwtPlotCurve::Lines); + else k->setStyle(QwtPlotCurve::Dots); + if(markers) { + QwtSymbol *marker = new QwtSymbol(); + marker->setStyle(QwtSymbol::Cross); + marker->setSize(5,5); + k->setSymbol(*marker); + }else { + QwtSymbol *noMarker = new QwtSymbol(); + k->setSymbol(*noMarker); + } + //set title and attach plot k->setTitle(histTitle[hist_num].c_str()); k->Attach(cloneplot1D); } diff --git a/slsDetectorGui/src/qDrawPlot.cpp b/slsDetectorGui/src/qDrawPlot.cpp index ccfb5e8a2..af133260b 100644 --- a/slsDetectorGui/src/qDrawPlot.cpp +++ b/slsDetectorGui/src/qDrawPlot.cpp @@ -808,6 +808,13 @@ void qDrawPlot::ClonePlot(){ winClone[i]->SetCloneHists((int)nHists,histNBins,histXAxis,histYAxis,histTitle); else winClone[i]->SetCloneHists((int)nHists,histNBins,histXAngleAxis,histYAngleAxis,histTitle); + // update range + if(!IsXYRange[qDefs::XMINIMUM]) XYRangeValues[qDefs::XMINIMUM]= plot1D->GetXMinimum(); + if(!IsXYRange[qDefs::XMAXIMUM]) XYRangeValues[qDefs::XMAXIMUM]= plot1D->GetXMaximum(); + if(!IsXYRange[qDefs::YMINIMUM]) XYRangeValues[qDefs::YMINIMUM]= plot1D->GetYMinimum(); + if(!IsXYRange[qDefs::YMAXIMUM]) XYRangeValues[qDefs::YMAXIMUM]= plot1D->GetYMaximum(); + plot1D->SetXMinMax(XYRangeValues[qDefs::XMINIMUM],XYRangeValues[qDefs::XMAXIMUM]); + plot1D->SetYMinMax(XYRangeValues[qDefs::YMINIMUM],XYRangeValues[qDefs::YMAXIMUM]); } } else{