#include #include #include namespace TestEnv { const unsigned short InitialMainWidth = 700; const unsigned short InitialMainHeight = 500; const unsigned short BoxWidth = 400; const unsigned short BoxHeight = 400; const unsigned int MyColor = 0x00FF00; class TestGraphics { private: TGMainFrame *fMain; TGMdiMainFrame *fMainFrame; TGMdiMenuBar *fMenuBar; TGPopupMenu *fMenuFile; TGMdiFrame *fMdiFrame; TGCanvas *fCanvas; TGCompositeFrame *fContainer; public: TestGraphics () : fMainFrame(0), fMdiFrame(0), fCanvas(0) { fMain = new TGMainFrame(gClient->GetRoot (), InitialMainWidth, InitialMainHeight); fMenuBar = new TGMdiMenuBar(fMain, 10, 10); fMenuFile = new TGPopupMenu(gClient->GetRoot()); fMenuFile->AddEntry(new TGHotString("E&xit"), 1001); fMenuBar->AddPopup(new TGHotString("&File"), fMenuFile, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0)); fMenuFile->Connect("Activated(Int_t)", "TestEnv::TestGraphics", this, "HandleMenu(Int_t)"); fMain->AddFrame(fMenuBar, new TGLayoutHints(kLHintsTop | kLHintsExpandX)); fMainFrame = new TGMdiMainFrame(fMain, fMenuBar, InitialMainWidth, InitialMainHeight); fMain->AddFrame(fMainFrame, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY)); fMdiFrame = new TGMdiFrame(fMainFrame, BoxWidth, BoxHeight, kVerticalFrame); fMdiFrame->DontCallClose(); fCanvas = new TGCanvas(fMdiFrame); fContainer = new TGCompositeFrame(fCanvas->GetViewPort(), 10, 10, kHorizontalFrame | kOwnBackground, MyColor); fContainer->SetLayoutManager(new TGMatrixLayout(fContainer, 0, 3)); fCanvas->SetContainer(fContainer); fMdiFrame->AddFrame(fCanvas, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY)); fMdiFrame->SetMdiHints(kMdiDefaultHints | kMdiHelp); fMdiFrame->SetWindowName("MDI Child"); fMdiFrame->MapSubwindows(); fMdiFrame->Layout(); fMain->MapSubwindows(); fMain->MapWindow(); fMain->Layout(); } void HandleMenu(Int_t id) { if (id == 1001) { delete this; gApplication->Terminate(); } } virtual ~TestGraphics() { fMdiFrame->Cleanup(); fMdiFrame->DeleteWindow(); } ClassDef(TestGraphics, 1); }; } // End of namespace ClassImp (TestEnv::TestGraphics);