2 // Author: Matevz Tadel 2009
4 /**************************************************************************
5 * Copyright(c) 1998-2009, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
10 #include "AliEveConfigManager.h"
12 #include <TEveManager.h>
13 #include <TEveBrowser.h>
18 //______________________________________________________________________________
19 // Full description of AliEveConfigManager
22 ClassImp(AliEveConfigManager)
24 AliEveConfigManager* AliEveConfigManager::fgMaster = 0;
34 //______________________________________________________________________________
35 AliEveConfigManager* AliEveConfigManager::InitializeMaster()
39 static const TEveException kEH("AliEveConfigManager::InitializeMaster ");
42 throw kEH + "Master already initialized.";
44 fgMaster = new AliEveConfigManager;
48 //______________________________________________________________________________
49 AliEveConfigManager* AliEveConfigManager::GetMaster()
53 static const TEveException kEH("AliEveConfigManager::GetMaster ");
56 throw kEH + "Master not initialized.";
61 //______________________________________________________________________________
62 AliEveConfigManager::AliEveConfigManager() :
67 // Expected TEveManager is already initialized.
69 fAliEvePopup = new TGPopupMenu(gClient->GetRoot());
70 fAliEvePopup->AddEntry("&Test", kAEMTest);
72 fAliEvePopup->AddSeparator();
74 fAliEvePopup->Connect("Activated(Int_t)", "AliEveConfigManager",
75 this, "AliEvePopupHandler(Int_t)");
78 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,25,4) || defined XXX_LATEST_ROOT
79 mBar = gEve->GetBrowser()->GetMenuBar();
81 // Uber hack as TRootBrowser does not provede manu-bar getter.
82 TGFrameElement *xxFE = (TGFrameElement*) gEve->GetBrowser()->GetList()->First();
83 TGCompositeFrame *xxCF = (TGCompositeFrame*) xxFE->fFrame;
84 xxFE = (TGFrameElement*) xxCF->GetList()->First();
85 xxCF = (TGCompositeFrame*) xxFE->fFrame;
86 xxFE = (TGFrameElement*) xxCF->GetList()->First();
87 xxCF = (TGCompositeFrame*) xxFE->fFrame;
88 xxFE = (TGFrameElement*) xxCF->GetList()->First();
89 mBar = (TGMenuBar*) xxFE->fFrame;
91 mBar->AddPopup("&AliEve", fAliEvePopup, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
92 ((TGCompositeFrame*)mBar->GetParent()->GetParent())->Layout();
95 //==============================================================================
97 void AliEveConfigManager::AliEvePopupHandler(Int_t id)
99 // Handle user selections from AliEve popup.
101 static const TEveException kEH("AliEveConfigManager::AliEvePopupHandler ");
113 Warning(kEH, "Unknown menu entry.");