#include #include "TApplication.h" #include "TGFrame.h" #include "TGMenu.h" #include "TRootEmbeddedCanvas.h" #include "TGButton.h" #include "TGButtonGroup.h" #include "TCanvas.h" #include "TString.h" #include "TH2F.h" class MainWindow : public TGMainFrame { public: MainWindow(const TGWindow *p, UInt_t w, UInt_t h); virtual ~MainWindow(); void CloseWindow(); void SelectHisto(Int_t); private: TGMenuBar *fMenuBar; TGPopupMenu *fMenuFile; TRootEmbeddedCanvas *fCanvas; TH2F *box[2]; ClassDef(MainWindow,0); }; MainWindow::MainWindow(const TGWindow *p, UInt_t w, UInt_t h) : TGMainFrame(p,w,h) { // main frame SetWMPosition(0,0); SetCleanup(kDeepCleanup); Connect("CloseWindow()", "MainWindow", this, "CloseWindow()"); // TCanvas fCanvas = new TRootEmbeddedCanvas("Canvas", this, 500, 500); AddFrame(fCanvas, new TGLayoutHints(kLHintsExpandX|kLHintsExpandY,10,10,0,1)); // horizontal frame TGHorizontalFrame *fHframe0 = new TGHorizontalFrame(this,0,0,0); AddFrame(fHframe0, new TGLayoutHints(kLHintsExpandX,10,10,10,0)); fHframe0->SetHeight(200); TGButtonGroup *hGroup = new TGButtonGroup(fHframe0, "Histo"); hGroup->SetTitlePos(TGGroupFrame::kLeft); new TGRadioButton(hGroup, "histo 0", 0); new TGRadioButton(hGroup, "histo 1", 1); hGroup->SetButton(0,kTRUE); hGroup->Connect("Pressed(Int_t)", "MainWindow", this, "SelectHisto(Int_t)"); fHframe0->AddFrame(hGroup, new TGLayoutHints(kLHintsNormal)); SetWindowName("min"); MapSubwindows(); Resize(GetDefaultSize()); MapWindow(); // create histograms box[0] = new TH2F("box0", "IBL", 20, 0.5, 20.5, 14, 0.5, 14.5); box[1] = new TH2F("box1", "B-Layer", 13, 0.5, 13.5, 22, 0.5, 22.5); box[0]->Draw(); } MainWindow::~MainWindow(){ Cleanup(); gApplication->Terminate(); } void MainWindow::CloseWindow(){ delete this; } void MainWindow::SelectHisto(Int_t id){ cout << "Selected layer = " << id << endl; cout << box[1]->GetNbinsX() << endl; //box[m_selLayer]->Draw(); //fCanvas->GetCanvas()->Modified(); //fCanvas->GetCanvas()->Update(); } void min() { new MainWindow(gClient->GetRoot(),100,100); }