Hi,
I cannot test on MacOS, but could you try this (based on what you posted) and let me know if it works for you?
[code]#include “TGFrame.h”
#include “TGTab.h”
#include “TRootEmbeddedCanvas.h”
#include “TCanvas.h”
#include “TH1F.h”
void fsarazin()
{
const char *moni_histoname[] = {“moni_1”,“moni_2”,“moni_3”,“moni_4”,“moni_5”,0};
const char *offline_histoname[] = {“off_1”,“off_2”,“off_3”,“off_4”,“off_5”,0};
TGLayoutHints *hint = new TGLayoutHints(kLHintsExpandX|kLHintsExpandY,2,2,2,2);
TGLayoutHints *hint_plots = hint;
// main frame
TGMainFrame *mainFrame = new TGMainFrame(gClient->GetRoot(),500, 300);
TGTab *tab = new TGTab(mainFrame, 1, 1);
TGCompositeFrame *moniFrame = tab->AddTab(“Monitoring data”);
TGTab *monitab = new TGTab(moniFrame,1,1);
moniFrame->AddFrame(monitab,hint_plots);
TGCompositeFrame *moni_hTab[5];
TRootEmbeddedCanvas *moni_Canvas[5];
for (int i=0;i<5;i++) {
moni_hTab[i] = monitab->AddTab(moni_histoname[i]);
moni_Canvas[i] = new TRootEmbeddedCanvas(moni_histoname[i], moni_hTab[i], 500, 300);
moni_hTab[i]->AddFrame(moni_Canvas[i], hint);
}
TGCompositeFrame *offlineFrame = tab->AddTab(“Offline data”);
TGTab *offlinetab = new TGTab(offlineFrame,1,1);
offlineFrame->AddFrame(offlinetab,hint_plots);
TGCompositeFrame *offline_hTab[5];
TRootEmbeddedCanvas *offline_Canvas[5];
for (int i=0;i<5;i++) {
offline_hTab[i] = offlinetab->AddTab(offline_histoname[i]);
offline_Canvas[i] = new TRootEmbeddedCanvas(offline_histoname[i], offline_hTab[i], 500, 300);
offline_hTab[i]->AddFrame(offline_Canvas[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(moni_histoname[i], moni_histoname[i], 100, -5, 5);
m_h[i]->FillRandom(“gaus”,15000);
m_h[i]->SetFillColor(i+2);
m_h[i]->SetFillStyle(3004);
moni_Canvas[i]->GetCanvas()->cd();
m_h[i]->Draw();
moni_Canvas[i]->GetCanvas()->Update();
}
TH1F *o_h[5];
for (int i=0;i<5;i++) {
o_h[i] = new TH1F(offline_histoname[i], offline_histoname[i], 100, 0, 50);
o_h[i]->FillRandom(“landau”,15000);
o_h[i]->SetFillColor(i+2);
o_h[i]->SetFillStyle(3004);
offline_Canvas[i]->GetCanvas()->cd();
o_h[i]->Draw();
offline_Canvas[i]->GetCanvas()->Update();
}
mainFrame->MapSubwindows();
mainFrame->Resize(mainFrame->GetDefaultSize());
mainFrame->MapWindow();
mainFrame->Resize(900,600);
}
[/code]
Cheers, Bertrand.