X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=EVE%2Fmacros%2Falieve_init.C;h=2afab1256cae5ce772759d7230b3ab1a18bb54d1;hp=c809c0edbb7007f430d0164ef3fe1559b76f3db6;hb=008138bdff32fe50df42c6758886359d8a9a1d9b;hpb=1ccf1023d58bbc8dd21b48c100150b1fb8370bfb diff --git a/EVE/macros/alieve_init.C b/EVE/macros/alieve_init.C index c809c0edbb7..2afab1256ca 100644 --- a/EVE/macros/alieve_init.C +++ b/EVE/macros/alieve_init.C @@ -1,18 +1,42 @@ // $Header$ -void alieve_init(const Text_t* path=".", Int_t event=0, - Bool_t use_runloader=kTRUE, Bool_t use_esd=kTRUE, - Bool_t avoid_exceptions_on_open=kTRUE) +#ifndef __CINT_ +#include +#include +#endif + +void alieve_init(const Text_t* path = ".", Int_t event=0, + const Text_t* cdburi = 0, + Bool_t assert_runloader=kFALSE, Bool_t assert_esd=kFALSE) { + using namespace std; // Set-up environment, load libraries. - Reve::SetupEnvironment(); - // alieve executable linked against ALICE nad EVE shared libraries. - // Reve::AssertMacro("alieve_loadlibs.C"); - // Put macros in the list of browsables, spawn a browser. + Info("alieve_init", "Adding standard macros."); + alieve_init_import_macros(); + + // Reve::AssertMacro("region_marker.C"); + + gSystem->ProcessEvents(); + + // Open event + if(path != 0) { + Alieve::Event::SetCdbUri(cdburi); + Alieve::Event::SetAssertElements(assert_runloader, assert_esd); + printf("Opening event %d from '%s' ...", event, path); fflush(stdout); + Alieve::gEvent = new Alieve::Event(path, event); + printf(" done.\n"); + gReve->AddEvent(Alieve::gEvent); + } +} + +void alieve_init_import_macros() +{ + // Put macros in the list of browsables, add a macro browser to + // top-level GUI. TString macdir("$(REVESYS)/alice-macros"); gSystem->ExpandPathName(macdir); @@ -22,18 +46,23 @@ void alieve_init(const Text_t* path=".", Int_t event=0, if(dirhandle != 0) { char* filename; TPRegexp re("\.C$"); + list names; while((filename = gSystem->GetDirEntry(dirhandle)) != 0) { if(re.Match(filename)) { - printf("Adding macro '%s'\n", filename); - //PH The line below is replaced waiting for a fix in Root - //PH which permits to use variable siza arguments in CINT - //PH on some platforms (alphalinuxgcc, solariscc5, etc.) - // f->Add(new Reve::RMacro(Form("%s/%s", macdir.Data(), filename))); - char fullName[1000]; - sprintf(fullName,"%s/%s", macdir.Data(), filename); - f->Add(new Reve::RMacro(fullName)); + names.push_back(filename); } } + names.sort(); + //PH The line below is replaced waiting for a fix in Root + //PH which permits to use variable siza arguments in CINT + //PH on some platforms (alphalinuxgcc, solariscc5, etc.) + // f->Add(new Reve::RMacro(Form("%s/%s", macdir.Data(), filename))); + char fullName[1000]; + for (list::iterator si=names.begin(); si!=names.end(); ++si) + { + sprintf(fullName,"%s/%s", macdir.Data(), si->c_str()); + f->Add(new Reve::RMacro(fullName)); + } } gSystem->FreeDirectory(dirhandle); @@ -41,17 +70,19 @@ void alieve_init(const Text_t* path=".", Int_t event=0, // (new TSystemDirectory("alice-macros", macdir.Data())); // !!!! this spits blood, but then works (new TSystemDirectory(macdir.Data(), macdir.Data())); - new TBrowser; - - Reve::AssertMacro("region_marker.C"); - - // Open event - if(path != 0) { - Alieve::Event::Initialize(use_runloader, use_esd, avoid_exceptions_on_open); - - printf("Opening event %d from '%s' ...", event, path); fflush(stdout); - Alieve::gEvent = new Alieve::Event(path, event); - printf(" done.\n"); - gReve->AddEvent(Alieve::gEvent); - } + { + Reve::RGBrowser *br = gReve->GetBrowser(); + TGFileBrowser *fb = 0; + fb = br->GetFileBrowser(); + fb->GotoDir(macdir); + { + br->StartEmbedding(0); + fb = br->MakeFileBrowser(); + fb->BrowseObj(f); + fb->Show(); + br->StopEmbedding(); + br->SetTabTitle("Macros", 0); + br->SetTab(0, 0); + } + } }