33 TRootEmbeddedCanvas *fCanvas;
34 TGHorizontalFrame *fHorz;
35 TGHorizontalFrame *fHorz2;
37 TGLayoutHints *fLhorz;
59 if (!fSock->IsValid())
62 TGButton *btn = (TGButton *) gTQSender;
63 switch (btn->WidgetId()) {
65 fSock->Send(
"get hpx");
68 fSock->Send(
"get hpxpy");
71 fSock->Send(
"get hprof");
75 if (fSock->Recv(mess) <= 0) {
76 Error(
"Spy::DoButton",
"error receiving message");
80 if (fHist)
delete fHist;
81 if (mess->GetClass()->InheritsFrom(TH1::Class())) {
82 fHist = (TH1*) mess->ReadObject(mess->GetClass());
83 if (mess->GetClass()->InheritsFrom(TH2::Class()))
87 fCanvas->GetCanvas()->Modified();
88 fCanvas->GetCanvas()->Update();
97 fSock =
new TSocket(
"localhost", 9090);
98 fConnect->SetState(kButtonDisabled);
99 fHpx->SetState(kButtonUp);
100 fHpxpy->SetState(kButtonUp);
101 fHprof->SetState(kButtonUp);
107 fMain =
new TGMainFrame(0, 100, 100);
108 fMain->SetCleanup(kDeepCleanup);
112 fCanvas =
new TRootEmbeddedCanvas(
"Canvas", fMain, 600, 400);
113 fLcan =
new TGLayoutHints(kLHintsCenterX|kLHintsCenterY,30,30,30,30);
114 fMain->AddFrame(fCanvas, fLcan);
117 fLhorz =
new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 30);
118 fHorz =
new TGHorizontalFrame(fMain, 100, 100);
119 fMain->AddFrame(fHorz, fLhorz);
123 fLbut =
new TGLayoutHints(kLHintsCenterX, 10, 10, 0, 0);
124 fHpx =
new TGTextButton(fHorz,
"Get hpx", 1);
125 fHpx->SetState(kButtonDisabled);
126 fHpx->Connect(
"Clicked()",
"Spy",
this,
"DoButton()");
127 fHorz->AddFrame(fHpx, fLbut);
128 fHpxpy =
new TGTextButton(fHorz,
"Get hpxpy", 2);
129 fHpxpy->SetState(kButtonDisabled);
130 fHpxpy->Connect(
"Clicked()",
"Spy",
this,
"DoButton()");
131 fHorz->AddFrame(fHpxpy, fLbut);
132 fHprof =
new TGTextButton(fHorz,
"Get hprof", 3);
133 fHprof->SetState(kButtonDisabled);
134 fHprof->Connect(
"Clicked()",
"Spy",
this,
"DoButton()");
135 fHorz->AddFrame(fHprof, fLbut);
138 fHorz2 =
new TGHorizontalFrame(fMain, 100, 100);
139 fMain->AddFrame(fHorz2, fLhorz);
143 fConnect =
new TGTextButton(fHorz2,
"Connect");
144 fConnect->Connect(
"Clicked()",
"Spy",
this,
"Connect()");
145 fHorz2->AddFrame(fConnect, fLbut);
146 fQuit =
new TGTextButton(fHorz2,
"Quit");
147 fQuit->SetCommand(
"gApplication->Terminate()");
148 fHorz2->AddFrame(fQuit, fLbut);
152 fMain->SetWindowName(
"Spy on SpyServ");
153 fMain->MapSubwindows();
154 fMain->Resize(fMain->GetDefaultSize());