add on last window closed handling
This commit is contained in:
parent
e04a34ad72
commit
8910a8295f
@ -79,9 +79,6 @@ intermediate term:
|
||||
describe new features with examples!
|
||||
* introduce error numbers with corresponding docu/explanation in the latex-docu.
|
||||
* implement RRF stuff
|
||||
* think about if it is worth to modify wkm in order to read
|
||||
the new msr-files, so that wkmview can be used for an intermediate
|
||||
time.
|
||||
|
||||
---------------------
|
||||
long term:
|
||||
@ -90,7 +87,7 @@ long term:
|
||||
* implement ROOT based wkmview, i.e. all the graphical stuff needed
|
||||
including event handler, etc.
|
||||
* implement FFT with msr-interface
|
||||
* switch from qmake to cmake
|
||||
* switch from make to cmake
|
||||
|
||||
---------------------
|
||||
bugs:
|
||||
|
@ -34,6 +34,7 @@ using namespace std;
|
||||
|
||||
#include <TColor.h>
|
||||
#include <TRandom.h>
|
||||
#include <TROOT.h>
|
||||
|
||||
#include "PMusrCanvas.h"
|
||||
|
||||
@ -274,12 +275,33 @@ void PMusrCanvas::HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected)
|
||||
TString str((Char_t)x);
|
||||
if (x == 'q') {
|
||||
Done(0);
|
||||
} else if (x == 'd') {
|
||||
cout << endl << ">> will show the difference between the theory and the signal, to be implemented yet. fMainCanvas name = " << fMainCanvas->GetName() << endl;
|
||||
} else if (x == 'f') {
|
||||
cout << endl << ">> will show the Fourier transform, to be implemented yet." << endl;
|
||||
} else if (x == 'S') {
|
||||
cout << endl << ">> will save the shown data into a file, to be implemented yet." << endl;
|
||||
} else {
|
||||
// do all the necessary stuff **TO BE DONE**
|
||||
fMainCanvas->Update();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// LastCanvasClosed (SLOT)
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
*/
|
||||
void PMusrCanvas::LastCanvasClosed()
|
||||
{
|
||||
// cout << endl << ">> in last canvas closed check ...";
|
||||
if (gROOT->GetListOfCanvases()->IsEmpty()) {
|
||||
Done(0);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// UpdateParamTheoryPad
|
||||
//--------------------------------------------------------------------------
|
||||
|
@ -137,6 +137,7 @@ class PMusrCanvas : public TObject, public TQObject
|
||||
|
||||
virtual void Done(Int_t status=0); // *SIGNAL*
|
||||
virtual void HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected); // SLOT
|
||||
virtual void LastCanvasClosed(); // SLOT
|
||||
|
||||
private:
|
||||
Bool_t fValid;
|
||||
|
@ -240,6 +240,9 @@ cout << endl;
|
||||
ok = false;
|
||||
break;
|
||||
}
|
||||
// connect signal/slot
|
||||
TQObject::Connect("TCanvas", "Closed()", "PMusrCanvas", musrCanvas, "LastCanvasClosed()");
|
||||
|
||||
// ugly but rootcint cannot handle the spirit-parser framework
|
||||
musrCanvas->SetMsrHandler(msrHandler);
|
||||
musrCanvas->SetRunListCollection(runListCollection);
|
||||
@ -269,11 +272,14 @@ cout << endl << "clean up canvas vector ...";
|
||||
for (unsigned int i=0; i<canvasVector.size(); i++) {
|
||||
// check if canvas is still there before calling the destructor **TO BE DONE**
|
||||
sprintf(canvasName, "fMainCanvas%d", i);
|
||||
cout << endl << ">> canvasName=" << canvasName;
|
||||
cout << endl << ">> canvasName=" << canvasName << ", canvasVector[" << i << "]=" << canvasVector[i];
|
||||
if (gROOT->GetListOfCanvases()->FindObject(canvasName) != 0) {
|
||||
cout << endl << ">> canvasName=" << canvasName << ", found ...";
|
||||
cout << endl;
|
||||
canvasVector[i]->~PMusrCanvas();
|
||||
} else {
|
||||
cout << endl << ">> canvasName=" << canvasName << ", NOT found ...";
|
||||
cout << endl;
|
||||
}
|
||||
}
|
||||
canvasVector.empty();
|
||||
|
Loading…
x
Reference in New Issue
Block a user