Merged muonspin/musrfit/root6 into master

This commit is contained in:
Zaher Salman 2017-12-06 16:08:26 +01:00
commit c9bceb7527
3 changed files with 18 additions and 3 deletions

View File

@ -1502,12 +1502,25 @@ void PMusrCanvas::HandleMenuPopup(Int_t id)
*/ */
void PMusrCanvas::LastCanvasClosed() void PMusrCanvas::LastCanvasClosed()
{ {
// cout << endl << ">> in last canvas closed check ..."; // cerr << ">> in last canvas closed check. gROOT->GetListOfCanvases()->GetEntries()=" << gROOT->GetListOfCanvases()->GetEntries() << endl;
if (gROOT->GetListOfCanvases()->IsEmpty()) { if (gROOT->GetListOfCanvases()->IsEmpty()) {
Done(0); Done(0);
} }
} }
//--------------------------------------------------------------------------
// WindowClosed (SLOT)
//--------------------------------------------------------------------------
/**
* <p>Slot called when the canvas is closed. Seems to be necessary on some systems.
*/
void PMusrCanvas::WindowClosed()
{
// cerr << ">> fMainCanvas->GetName()=" << fMainCanvas->GetName() << endl;
gROOT->GetListOfCanvases()->Remove(fMainCanvas);
LastCanvasClosed();
}
//-------------------------------------------------------------------------- //--------------------------------------------------------------------------
// SaveGraphicsAndQuit // SaveGraphicsAndQuit
//-------------------------------------------------------------------------- //--------------------------------------------------------------------------
@ -2374,9 +2387,12 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
return; return;
} }
fMainCanvas->Connect("Closed()", "PMusrCanvas", this, "LastCanvasClosed()");
// add canvas menu if not in batch mode // add canvas menu if not in batch mode
if (!fBatchMode) { if (!fBatchMode) {
fImp = (TRootCanvas*)fMainCanvas->GetCanvasImp(); fImp = (TRootCanvas*)fMainCanvas->GetCanvasImp();
fImp->Connect("CloseWindow()", "PMusrCanvas", this, "WindowClosed()");
fBar = fImp->GetMenuBar(); fBar = fImp->GetMenuBar();
fPopupMain = fBar->AddPopup("&Musrfit"); fPopupMain = fBar->AddPopup("&Musrfit");

View File

@ -230,6 +230,7 @@ class PMusrCanvas : public TObject, public TQObject
virtual void HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected); // SLOT virtual void HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected); // SLOT
virtual void HandleMenuPopup(Int_t id); // SLOT virtual void HandleMenuPopup(Int_t id); // SLOT
virtual void LastCanvasClosed(); // SLOT virtual void LastCanvasClosed(); // SLOT
virtual void WindowClosed(); // SLOT
virtual void SaveGraphicsAndQuit(Char_t *fileName, Char_t *graphicsFormat); virtual void SaveGraphicsAndQuit(Char_t *fileName, Char_t *graphicsFormat);
virtual void ExportData(const Char_t *fileName); virtual void ExportData(const Char_t *fileName);

View File

@ -325,8 +325,6 @@ int main(int argc, char *argv[])
ok = false; ok = false;
break; break;
} }
// connect signal/slot
TQObject::Connect("TCanvas", "Closed()", "PMusrCanvas", musrCanvas, "LastCanvasClosed()");
musrCanvas->SetTimeout(timeout); musrCanvas->SetTimeout(timeout);