#include "TGFrame.h" #include "TGTab.h" #include "TRootEmbeddedCanvas.h" #include "TCanvas.h" #include "TH1F.h" void embedded() { const char *histoname[] = {"hist_1","hist_2","hist_3","hist_4","hist_5",0}; TGLayoutHints *hint = new TGLayoutHints(kLHintsExpandX|kLHintsExpandY,2,2,2,2); // main frame TGMainFrame *mainFrame = new TGMainFrame(gClient->GetRoot(),500, 300); TGTab *tab = new TGTab(mainFrame, 1, 1); TGCompositeFrame *hTab[5]; TRootEmbeddedCanvas *eCanvas[5]; for (int i=0;i<5;i++) { hTab[i] = tab->AddTab(histoname[i]); eCanvas[i] = new TRootEmbeddedCanvas(histoname[i], hTab[i], 500, 300); hTab[i]->AddFrame(eCanvas[i], hint); } tab->Resize(tab->GetDefaultSize()); mainFrame->AddFrame(tab, hint); TH1F *m_h[5]; for (int i=0;i<5;i++) { m_h[i] = new TH1F(histoname[i], histoname[i], 100, -5, 5); m_h[i]->FillRandom("gaus",15000); m_h[i]->SetFillColor(i+2); m_h[i]->SetFillStyle(3004); eCanvas[i]->GetCanvas()->cd(); m_h[i]->Draw(); eCanvas[i]->GetCanvas()->Update(); } mainFrame->MapSubwindows(); mainFrame->Resize(mainFrame->GetDefaultSize()); mainFrame->MapWindow(); mainFrame->Resize(900,600); }