#include "honlinemonclientsimplewin.h"
#include "honlinemonclientmain.h"
#include "honlinemonclientcanvas.h"
ClassImp(HOnlineMonClientSimpleWin);
HOnlineMonClientSimpleWin::HOnlineMonClientSimpleWin() {
mainFrame = 0;
statBar = 0;
active = kFALSE;
lastUpdate = "";
detectorname = "";
}
HOnlineMonClientSimpleWin::~HOnlineMonClientSimpleWin() {
if (mainFrame) {
mainFrame->Cleanup();
delete mainFrame;
mainFrame = 0;
statBar = 0;
}
listCanvases.Delete();
}
void HOnlineMonClientSimpleWin::CreateWindow(HOnlineMonClientMain* clientmain, TString detectorName) {
detectorname = detectorName;
mainFrame = new TGMainFrame(gClient->GetRoot());
for (Int_t i=0;i<listCanvases.LastIndex()+1;i++) {
HOnlineMonClientCanvas *clientcanvas = (HOnlineMonClientCanvas*) listCanvases.At(i);
clientcanvas->CreateCanvas(clientmain, (TGWindow*) mainFrame);
mainFrame->AddFrame(clientcanvas->GetRCanvas(), new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
}
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->MapSubwindows();
mainFrame->MapWindow();
mainFrame->Resize(mainFrame->GetDefaultSize());
this->SetActive(kTRUE);
}
void HOnlineMonClientSimpleWin::DestroyWindow(HOnlineMonClientMain* clientmain) {
TThread* main = clientmain->getMainThread();
main->Lock();
this->SetActive(kFALSE);
if (mainFrame) {
for (Int_t i=0;i<listCanvases.LastIndex()+1;i++) {
HOnlineMonClientCanvas* clientcanvas = (HOnlineMonClientCanvas*) listCanvases.At(i);
clientcanvas->DestroyCanvas(clientmain);
}
mainFrame->Cleanup();
delete mainFrame;
mainFrame = 0;
}
main->UnLock();
}
TString HOnlineMonClientSimpleWin::GetLastUpdate() {
return lastUpdate;
}
void HOnlineMonClientSimpleWin::SetLastUpdate() {
TTimeStamp* timestamp = new TTimeStamp();
lastUpdate = timestamp->AsString("l");
delete timestamp;
}
void HOnlineMonClientSimpleWin::SetStatusBarText(TString text) {
if (statBar) {
statBar->SetText(text, 0);
}
}
void HOnlineMonClientSimpleWin::SetActive(Bool_t state) {
for (Int_t i=0;i<listCanvases.LastIndex()+1;i++) {
HOnlineMonClientCanvas* clientcanvas = (HOnlineMonClientCanvas*) listCanvases.At(i);
clientcanvas->SetActive(state);
}
this->active = state;
}
Bool_t HOnlineMonClientSimpleWin::IsActive() {
return this->active;
}
honlinemonclientsimplewin.cc:1 honlinemonclientsimplewin.cc:2 honlinemonclientsimplewin.cc:3 honlinemonclientsimplewin.cc:4 honlinemonclientsimplewin.cc:5 honlinemonclientsimplewin.cc:6 honlinemonclientsimplewin.cc:7 honlinemonclientsimplewin.cc:8 honlinemonclientsimplewin.cc:9 honlinemonclientsimplewin.cc:10 honlinemonclientsimplewin.cc:11 honlinemonclientsimplewin.cc:12 honlinemonclientsimplewin.cc:13 honlinemonclientsimplewin.cc:14 honlinemonclientsimplewin.cc:15 honlinemonclientsimplewin.cc:16 honlinemonclientsimplewin.cc:17 honlinemonclientsimplewin.cc:18 honlinemonclientsimplewin.cc:19 honlinemonclientsimplewin.cc:20 honlinemonclientsimplewin.cc:21 honlinemonclientsimplewin.cc:22 honlinemonclientsimplewin.cc:23 honlinemonclientsimplewin.cc:24 honlinemonclientsimplewin.cc:25 honlinemonclientsimplewin.cc:26 honlinemonclientsimplewin.cc:27 honlinemonclientsimplewin.cc:28 honlinemonclientsimplewin.cc:29 honlinemonclientsimplewin.cc:30 honlinemonclientsimplewin.cc:31 honlinemonclientsimplewin.cc:32 honlinemonclientsimplewin.cc:33 honlinemonclientsimplewin.cc:34 honlinemonclientsimplewin.cc:35 honlinemonclientsimplewin.cc:36 honlinemonclientsimplewin.cc:37 honlinemonclientsimplewin.cc:38 honlinemonclientsimplewin.cc:39 honlinemonclientsimplewin.cc:40 honlinemonclientsimplewin.cc:41 honlinemonclientsimplewin.cc:42 honlinemonclientsimplewin.cc:43 honlinemonclientsimplewin.cc:44 honlinemonclientsimplewin.cc:45 honlinemonclientsimplewin.cc:46 honlinemonclientsimplewin.cc:47 honlinemonclientsimplewin.cc:48 honlinemonclientsimplewin.cc:49 honlinemonclientsimplewin.cc:50 honlinemonclientsimplewin.cc:51 honlinemonclientsimplewin.cc:52 honlinemonclientsimplewin.cc:53 honlinemonclientsimplewin.cc:54 honlinemonclientsimplewin.cc:55 honlinemonclientsimplewin.cc:56 honlinemonclientsimplewin.cc:57 honlinemonclientsimplewin.cc:58 honlinemonclientsimplewin.cc:59 honlinemonclientsimplewin.cc:60 honlinemonclientsimplewin.cc:61 honlinemonclientsimplewin.cc:62 honlinemonclientsimplewin.cc:63 honlinemonclientsimplewin.cc:64 honlinemonclientsimplewin.cc:65 honlinemonclientsimplewin.cc:66 honlinemonclientsimplewin.cc:67 honlinemonclientsimplewin.cc:68 honlinemonclientsimplewin.cc:69 honlinemonclientsimplewin.cc:70 honlinemonclientsimplewin.cc:71 honlinemonclientsimplewin.cc:72 honlinemonclientsimplewin.cc:73 honlinemonclientsimplewin.cc:74 honlinemonclientsimplewin.cc:75 honlinemonclientsimplewin.cc:76 honlinemonclientsimplewin.cc:77 honlinemonclientsimplewin.cc:78 honlinemonclientsimplewin.cc:79 honlinemonclientsimplewin.cc:80 honlinemonclientsimplewin.cc:81 honlinemonclientsimplewin.cc:82 honlinemonclientsimplewin.cc:83 honlinemonclientsimplewin.cc:84 honlinemonclientsimplewin.cc:85 honlinemonclientsimplewin.cc:86 honlinemonclientsimplewin.cc:87 honlinemonclientsimplewin.cc:88 honlinemonclientsimplewin.cc:89 honlinemonclientsimplewin.cc:90 honlinemonclientsimplewin.cc:91 honlinemonclientsimplewin.cc:92 honlinemonclientsimplewin.cc:93 honlinemonclientsimplewin.cc:94 honlinemonclientsimplewin.cc:95 honlinemonclientsimplewin.cc:96 honlinemonclientsimplewin.cc:97 honlinemonclientsimplewin.cc:98 honlinemonclientsimplewin.cc:99 honlinemonclientsimplewin.cc:100 honlinemonclientsimplewin.cc:101 honlinemonclientsimplewin.cc:102 honlinemonclientsimplewin.cc:103 honlinemonclientsimplewin.cc:104 honlinemonclientsimplewin.cc:105 honlinemonclientsimplewin.cc:106