#include "honlinemonclienttabwin.h"
#include "honlinemonclientmain.h"
#include "honlinemonclienttab.h"
ClassImp(HOnlineMonClientTabWin);
HOnlineMonClientTabWin::HOnlineMonClientTabWin() {
mainFrame = 0;
tabContainerFrame = 0;
tabContainer = 0;
statBar = 0;
detectorname = "";
}
HOnlineMonClientTabWin::~HOnlineMonClientTabWin() {
if (mainFrame) {
mainFrame->Cleanup();
delete tabContainer;
tabContainer = 0;
tabContainerFrame = 0;
delete mainFrame;
mainFrame = 0;
}
listTabs.Delete();
}
void HOnlineMonClientTabWin::CreateWindow(HOnlineMonClientMain* clientmain, TString detectorName) {
detectorname = detectorName;
mainFrame = new TGMainFrame(gClient->GetRoot());
tabContainerFrame = new TGCompositeFrame(mainFrame, 500, 300, kVerticalFrame);
tabContainer = new TGTab(tabContainerFrame);
for (Int_t i=0;i<listTabs.LastIndex()+1;i++) {
HOnlineMonClientTab *clienttab = (HOnlineMonClientTab*) listTabs.At(i);
clienttab->CreateTab(clientmain, this);
}
tabContainerFrame->AddFrame(tabContainer, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
mainFrame->AddFrame(tabContainerFrame, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY));
statBar = new TGStatusBar(mainFrame, 50, 10, kVerticalFrame);
statBar->SetText("", 0);
mainFrame->AddFrame(statBar, new TGLayoutHints(kLHintsExpandX, 0, 0, 10, 0));
mainFrame->SetName(this->GetName());
mainFrame->SetWindowName(this->GetTitle());
mainFrame->Connect("CloseWindow()", "HOnlineMonClientMain", clientmain, ((TString) "HandleSingleWindowClose(=\"" + this->GetName() + "\", \"" + detectorname.Data() + "\")").Data());
mainFrame->MapSubwindows();
mainFrame->MapWindow();
mainFrame->Resize(mainFrame->GetDefaultSize());
this->SetActive(kTRUE);
}
void HOnlineMonClientTabWin::DestroyWindow(HOnlineMonClientMain* clientmain) {
TThread* main = clientmain->getMainThread();
main->Lock();
this->SetActive(kFALSE);
if (mainFrame) {
for (Int_t i=0;i<listTabs.LastIndex()+1;i++) {
HOnlineMonClientTab *clienttab = (HOnlineMonClientTab*) listTabs.At(i);
clienttab->DestroyTab(clientmain);
}
mainFrame->Cleanup();
delete tabContainer;
tabContainer = 0;
delete mainFrame;
mainFrame = 0;
}
main->UnLock();
}
TString HOnlineMonClientTabWin::GetLastUpdate() {
return lastUpdate;
}
void HOnlineMonClientTabWin::SetLastUpdate() {
TTimeStamp* timestamp = new TTimeStamp();
lastUpdate = timestamp->AsString("l");
delete timestamp;
}
void HOnlineMonClientTabWin::SetStatusBarText(TString text) {
if (statBar) {
statBar->SetText(text, 0);
}
}
void HOnlineMonClientTabWin::SetActive(Bool_t state) {
for (Int_t i=0;i<listTabs.LastIndex()+1;i++) {
HOnlineMonClientTab *clienttab = (HOnlineMonClientTab*) listTabs.At(i);
clienttab->SetActive(state);
}
this->active = state;
}
Bool_t HOnlineMonClientTabWin::IsActive() {
return this->active;
}
honlinemonclienttabwin.cc:1 honlinemonclienttabwin.cc:2 honlinemonclienttabwin.cc:3 honlinemonclienttabwin.cc:4 honlinemonclienttabwin.cc:5 honlinemonclienttabwin.cc:6 honlinemonclienttabwin.cc:7 honlinemonclienttabwin.cc:8 honlinemonclienttabwin.cc:9 honlinemonclienttabwin.cc:10 honlinemonclienttabwin.cc:11 honlinemonclienttabwin.cc:12 honlinemonclienttabwin.cc:13 honlinemonclienttabwin.cc:14 honlinemonclienttabwin.cc:15 honlinemonclienttabwin.cc:16 honlinemonclienttabwin.cc:17 honlinemonclienttabwin.cc:18 honlinemonclienttabwin.cc:19 honlinemonclienttabwin.cc:20 honlinemonclienttabwin.cc:21 honlinemonclienttabwin.cc:22 honlinemonclienttabwin.cc:23 honlinemonclienttabwin.cc:24 honlinemonclienttabwin.cc:25 honlinemonclienttabwin.cc:26 honlinemonclienttabwin.cc:27 honlinemonclienttabwin.cc:28 honlinemonclienttabwin.cc:29 honlinemonclienttabwin.cc:30 honlinemonclienttabwin.cc:31 honlinemonclienttabwin.cc:32 honlinemonclienttabwin.cc:33 honlinemonclienttabwin.cc:34 honlinemonclienttabwin.cc:35 honlinemonclienttabwin.cc:36 honlinemonclienttabwin.cc:37 honlinemonclienttabwin.cc:38 honlinemonclienttabwin.cc:39 honlinemonclienttabwin.cc:40 honlinemonclienttabwin.cc:41 honlinemonclienttabwin.cc:42 honlinemonclienttabwin.cc:43 honlinemonclienttabwin.cc:44 honlinemonclienttabwin.cc:45 honlinemonclienttabwin.cc:46 honlinemonclienttabwin.cc:47 honlinemonclienttabwin.cc:48 honlinemonclienttabwin.cc:49 honlinemonclienttabwin.cc:50 honlinemonclienttabwin.cc:51 honlinemonclienttabwin.cc:52 honlinemonclienttabwin.cc:53 honlinemonclienttabwin.cc:54 honlinemonclienttabwin.cc:55 honlinemonclienttabwin.cc:56 honlinemonclienttabwin.cc:57 honlinemonclienttabwin.cc:58 honlinemonclienttabwin.cc:59 honlinemonclienttabwin.cc:60 honlinemonclienttabwin.cc:61 honlinemonclienttabwin.cc:62 honlinemonclienttabwin.cc:63 honlinemonclienttabwin.cc:64 honlinemonclienttabwin.cc:65 honlinemonclienttabwin.cc:66 honlinemonclienttabwin.cc:67 honlinemonclienttabwin.cc:68 honlinemonclienttabwin.cc:69 honlinemonclienttabwin.cc:70 honlinemonclienttabwin.cc:71 honlinemonclienttabwin.cc:72 honlinemonclienttabwin.cc:73 honlinemonclienttabwin.cc:74 honlinemonclienttabwin.cc:75 honlinemonclienttabwin.cc:76 honlinemonclienttabwin.cc:77 honlinemonclienttabwin.cc:78 honlinemonclienttabwin.cc:79 honlinemonclienttabwin.cc:80 honlinemonclienttabwin.cc:81 honlinemonclienttabwin.cc:82 honlinemonclienttabwin.cc:83 honlinemonclienttabwin.cc:84 honlinemonclienttabwin.cc:85 honlinemonclienttabwin.cc:86 honlinemonclienttabwin.cc:87 honlinemonclienttabwin.cc:88 honlinemonclienttabwin.cc:89 honlinemonclienttabwin.cc:90 honlinemonclienttabwin.cc:91 honlinemonclienttabwin.cc:92 honlinemonclienttabwin.cc:93 honlinemonclienttabwin.cc:94 honlinemonclienttabwin.cc:95 honlinemonclienttabwin.cc:96 honlinemonclienttabwin.cc:97 honlinemonclienttabwin.cc:98 honlinemonclienttabwin.cc:99 honlinemonclienttabwin.cc:100 honlinemonclienttabwin.cc:101 honlinemonclienttabwin.cc:102 honlinemonclienttabwin.cc:103 honlinemonclienttabwin.cc:104 honlinemonclienttabwin.cc:105 honlinemonclienttabwin.cc:106 honlinemonclienttabwin.cc:107 honlinemonclienttabwin.cc:108 honlinemonclienttabwin.cc:109 honlinemonclienttabwin.cc:110 honlinemonclienttabwin.cc:111 honlinemonclienttabwin.cc:112 honlinemonclienttabwin.cc:113 honlinemonclienttabwin.cc:114 honlinemonclienttabwin.cc:115