ROOT logo
#include "honlinemonclientcanvas.h"

#include "honlinemonclientmain.h"

ClassImp(HOnlineMonClientCanvas);


/* -------------------------------------------------------------------------- */
HOnlineMonClientCanvas::HOnlineMonClientCanvas() {
	splitted = kFALSE;
	active = kFALSE;
	width = 0;
	height = 0;
	nx = 0;
	ny = 0;
	rcanvas = 0;
}
/* -------------------------------------------------------------------------- */
HOnlineMonClientCanvas::~HOnlineMonClientCanvas() {
	// canvas is deleted by window
	listHists.Delete();	// delete the hists
}
/* -------------------------------------------------------------------------- */
void HOnlineMonClientCanvas::CreateCanvas(HOnlineMonClientMain* clientmain, TGWindow* window) {
	// create RootCanvas, need a pointer to the win
	// put histos in the main list
	
	rcanvas = new TRootEmbeddedCanvas(this->GetName(), window, this->GetWidth(), this->GetHeight());
	if (this->IsSplitted()) {
		// split canvas
		rcanvas->GetCanvas()->Divide(this->GetNx(), this->GetNy());
	}
	
	
	
	for (Int_t i=0;i<listHists.LastIndex()+1;i++) {
		HOnlineMonClientHist* hist = (HOnlineMonClientHist*) listHists.At(i);
		clientmain->AddHist(this, hist);
	}
	
	this->SetActive(kTRUE);
	
}
/* -------------------------------------------------------------------------- */
void HOnlineMonClientCanvas::DestroyCanvas(HOnlineMonClientMain* clientmain) {
	// destroy (RootCanvas is destroyed by the window)
	// remove histos from the main list
	
	this->SetActive(kFALSE);
	
	for (Int_t i=0;i<listHists.LastIndex()+1;i++) {
		HOnlineMonClientHist* hist = (HOnlineMonClientHist*) listHists.At(i);
		clientmain->RemoveHist(this, hist);
		delete hist->histo;
		hist->histo = 0;
	}	
}
/* -------------------------------------------------------------------------- */
TCanvas* HOnlineMonClientCanvas::GetCanvas() {
	if (this->rcanvas) {
		return this->rcanvas->GetCanvas();
	}
	
	return 0;
}
/* -------------------------------------------------------------------------- */
TRootEmbeddedCanvas* HOnlineMonClientCanvas::GetRCanvas() {
	return this->rcanvas;
}
/* -------------------------------------------------------------------------- */
void HOnlineMonClientCanvas::SetSplitted(Bool_t split) {
	this->splitted = split;
}
/* -------------------------------------------------------------------------- */
Bool_t HOnlineMonClientCanvas::IsSplitted() {
	return this->splitted;
}
/* -------------------------------------------------------------------------- */
void HOnlineMonClientCanvas::SetWidth(Int_t width) {
	this->width = width;
}
/* -------------------------------------------------------------------------- */
Int_t HOnlineMonClientCanvas::GetWidth() {
	return this->width;
}
/* -------------------------------------------------------------------------- */
void HOnlineMonClientCanvas::SetHeight(Int_t height) {
	this->height = height;
}
/* -------------------------------------------------------------------------- */
Int_t HOnlineMonClientCanvas::GetHeight() {
	return this->height;
}
/* -------------------------------------------------------------------------- */
void HOnlineMonClientCanvas::SetNx(Int_t nx) {
	this->nx = nx;
}
/* -------------------------------------------------------------------------- */
Int_t HOnlineMonClientCanvas::GetNx() {
	return this->nx;
}
/* -------------------------------------------------------------------------- */
void HOnlineMonClientCanvas::SetNy(Int_t ny) {
	this->ny = ny;
}
/* -------------------------------------------------------------------------- */
Int_t HOnlineMonClientCanvas::GetNy() {
	return this->ny;
}
/* -------------------------------------------------------------------------- */
void HOnlineMonClientCanvas::SetActive(Bool_t state) {
	for (Int_t i=0;i<listHists.LastIndex()+1;i++) {
	  HOnlineMonClientHist* hist = (HOnlineMonClientHist*) listHists.At(i);
	  hist->SetActive(state);
	}
	
	active = state;
}
/* -------------------------------------------------------------------------- */
Bool_t HOnlineMonClientCanvas::IsActive() {
	return active;
}
/* -------------------------------------------------------------------------- */


 honlinemonclientcanvas.cc:1
 honlinemonclientcanvas.cc:2
 honlinemonclientcanvas.cc:3
 honlinemonclientcanvas.cc:4
 honlinemonclientcanvas.cc:5
 honlinemonclientcanvas.cc:6
 honlinemonclientcanvas.cc:7
 honlinemonclientcanvas.cc:8
 honlinemonclientcanvas.cc:9
 honlinemonclientcanvas.cc:10
 honlinemonclientcanvas.cc:11
 honlinemonclientcanvas.cc:12
 honlinemonclientcanvas.cc:13
 honlinemonclientcanvas.cc:14
 honlinemonclientcanvas.cc:15
 honlinemonclientcanvas.cc:16
 honlinemonclientcanvas.cc:17
 honlinemonclientcanvas.cc:18
 honlinemonclientcanvas.cc:19
 honlinemonclientcanvas.cc:20
 honlinemonclientcanvas.cc:21
 honlinemonclientcanvas.cc:22
 honlinemonclientcanvas.cc:23
 honlinemonclientcanvas.cc:24
 honlinemonclientcanvas.cc:25
 honlinemonclientcanvas.cc:26
 honlinemonclientcanvas.cc:27
 honlinemonclientcanvas.cc:28
 honlinemonclientcanvas.cc:29
 honlinemonclientcanvas.cc:30
 honlinemonclientcanvas.cc:31
 honlinemonclientcanvas.cc:32
 honlinemonclientcanvas.cc:33
 honlinemonclientcanvas.cc:34
 honlinemonclientcanvas.cc:35
 honlinemonclientcanvas.cc:36
 honlinemonclientcanvas.cc:37
 honlinemonclientcanvas.cc:38
 honlinemonclientcanvas.cc:39
 honlinemonclientcanvas.cc:40
 honlinemonclientcanvas.cc:41
 honlinemonclientcanvas.cc:42
 honlinemonclientcanvas.cc:43
 honlinemonclientcanvas.cc:44
 honlinemonclientcanvas.cc:45
 honlinemonclientcanvas.cc:46
 honlinemonclientcanvas.cc:47
 honlinemonclientcanvas.cc:48
 honlinemonclientcanvas.cc:49
 honlinemonclientcanvas.cc:50
 honlinemonclientcanvas.cc:51
 honlinemonclientcanvas.cc:52
 honlinemonclientcanvas.cc:53
 honlinemonclientcanvas.cc:54
 honlinemonclientcanvas.cc:55
 honlinemonclientcanvas.cc:56
 honlinemonclientcanvas.cc:57
 honlinemonclientcanvas.cc:58
 honlinemonclientcanvas.cc:59
 honlinemonclientcanvas.cc:60
 honlinemonclientcanvas.cc:61
 honlinemonclientcanvas.cc:62
 honlinemonclientcanvas.cc:63
 honlinemonclientcanvas.cc:64
 honlinemonclientcanvas.cc:65
 honlinemonclientcanvas.cc:66
 honlinemonclientcanvas.cc:67
 honlinemonclientcanvas.cc:68
 honlinemonclientcanvas.cc:69
 honlinemonclientcanvas.cc:70
 honlinemonclientcanvas.cc:71
 honlinemonclientcanvas.cc:72
 honlinemonclientcanvas.cc:73
 honlinemonclientcanvas.cc:74
 honlinemonclientcanvas.cc:75
 honlinemonclientcanvas.cc:76
 honlinemonclientcanvas.cc:77
 honlinemonclientcanvas.cc:78
 honlinemonclientcanvas.cc:79
 honlinemonclientcanvas.cc:80
 honlinemonclientcanvas.cc:81
 honlinemonclientcanvas.cc:82
 honlinemonclientcanvas.cc:83
 honlinemonclientcanvas.cc:84
 honlinemonclientcanvas.cc:85
 honlinemonclientcanvas.cc:86
 honlinemonclientcanvas.cc:87
 honlinemonclientcanvas.cc:88
 honlinemonclientcanvas.cc:89
 honlinemonclientcanvas.cc:90
 honlinemonclientcanvas.cc:91
 honlinemonclientcanvas.cc:92
 honlinemonclientcanvas.cc:93
 honlinemonclientcanvas.cc:94
 honlinemonclientcanvas.cc:95
 honlinemonclientcanvas.cc:96
 honlinemonclientcanvas.cc:97
 honlinemonclientcanvas.cc:98
 honlinemonclientcanvas.cc:99
 honlinemonclientcanvas.cc:100
 honlinemonclientcanvas.cc:101
 honlinemonclientcanvas.cc:102
 honlinemonclientcanvas.cc:103
 honlinemonclientcanvas.cc:104
 honlinemonclientcanvas.cc:105
 honlinemonclientcanvas.cc:106
 honlinemonclientcanvas.cc:107
 honlinemonclientcanvas.cc:108
 honlinemonclientcanvas.cc:109
 honlinemonclientcanvas.cc:110
 honlinemonclientcanvas.cc:111
 honlinemonclientcanvas.cc:112
 honlinemonclientcanvas.cc:113
 honlinemonclientcanvas.cc:114
 honlinemonclientcanvas.cc:115
 honlinemonclientcanvas.cc:116
 honlinemonclientcanvas.cc:117
 honlinemonclientcanvas.cc:118
 honlinemonclientcanvas.cc:119
 honlinemonclientcanvas.cc:120
 honlinemonclientcanvas.cc:121
 honlinemonclientcanvas.cc:122
 honlinemonclientcanvas.cc:123
 honlinemonclientcanvas.cc:124
 honlinemonclientcanvas.cc:125