#include "hconversion.h"
#include "hindextransform.h"
#include "TGLabel.h"
#include <stdlib.h>
ClassImp(HConversion)
HConversion::HConversion(const TGWindow *p, UInt_t w, UInt_t h) :
TGMainFrame(p, w, h) {
fFrame = new TGCompositeFrame(this, 500, 400, kVerticalFrame);
AddFrame(fFrame, new TGLayoutHints(kLHintsNormal));
fF1 = new TGCompositeFrame(fFrame, 500, 100, kHorizontalFrame);
fFrame->AddFrame(fF1, new TGLayoutHints(kLHintsNormal,0,0,5,2));
fF2 = new TGCompositeFrame(fFrame, 500, 100, kHorizontalFrame);
fFrame->AddFrame(fF2, new TGLayoutHints(kLHintsNormal,0,0,10,5));
fF1->AddFrame(new TGLabel(fF1, new TGHotString("strip number (1-384)")),
new TGLayoutHints(kLHintsNormal, 2,2,4,2));
fNumber = new TGTextEntry(fF1, fNumberBuf = new TGTextBuffer(100), -1);
fNumberBuf->AddText(0,"0");
fNumber->Associate(this);
fF1->AddFrame(fNumber, new TGLayoutHints(kLHintsNormal,5,5,3,3));
fNumber->Resize(40,fNumber->GetDefaultHeight());
fConvert = new TGTextButton(fF1,"Convert",100);
fConvert->Associate(this);
fConvert->SetToolTipText("Convert the index");
fF1->AddFrame(fConvert, new TGLayoutHints(kLHintsNormal,10,2,3,3));
fF2->AddFrame(new TGLabel(fF2, new TGHotString("sector")),
new TGLayoutHints(kLHintsNormal, 2,2,3,2));
fSecList = new TGListBox(fF2,-1);
fSecList->Associate(this);
fSecList->AddEntry("0",1);
fF2->AddFrame(fSecList, new TGLayoutHints(kLHintsNormal,2,2,2,2));
fSecList->Resize(35,20);
fF2->AddFrame(new TGLabel(fF2, new TGHotString("module")),
new TGLayoutHints(kLHintsNormal, 6,2,3,2));
fModList = new TGListBox(fF2,-1);
fModList->Associate(this);
fModList->AddEntry("0",1);
fF2->AddFrame(fModList, new TGLayoutHints(kLHintsNormal,2,2,2,2));
fModList->Resize(35,20);
fF2->AddFrame(new TGLabel(fF2, new TGHotString("strip")),
new TGLayoutHints(kLHintsNormal, 6,2,3,2));
fRodList = new TGListBox(fF2,-1);
fRodList->Associate(this);
fRodList->AddEntry("0",1);
fF2->AddFrame(fRodList, new TGLayoutHints(kLHintsNormal,2,2,2,2));
fRodList->Resize(35,20);
countConvert++;
MapSubwindows();
SetWindowName("TOF Index Conversion");
Resize(GetDefaultSize());
MapWindow();
}
HConversion::~HConversion() {
delete fRodList;
delete fModList;
delete fSecList;
delete fNumber;
delete fF2;
delete fF1;
delete fFrame;
countConvert--;
}
void HConversion::CloseWindow() {
delete this;
}
Bool_t HConversion::ProcessMessage(Long_t msg,Long_t parm1,Long_t parm2) {
Int_t index;
Int_t maxind[3] = {6,8,8};
Int_t idx[3];
Char_t tmp[10];
switch(GET_MSG(msg)) {
case kC_COMMAND:
switch(GET_SUBMSG(msg)) {
case kCM_BUTTON:
switch(parm1) {
case 100:
index = atoi(fNumber->GetText());
index--;
if(index>=0 && index<384) {
HIndexTransform::lin2mult(3,maxind,index,idx);
sprintf(tmp,"%d",idx[0]+1);
fSecList->RemoveEntry(1);
fSecList->AddEntry(tmp,1);
fSecList->MapSubwindows();
fSecList->Layout();
sprintf(tmp,"%d",idx[1]+1);
fModList->RemoveEntry(1);
fModList->AddEntry(tmp,1);
fModList->MapSubwindows();
fModList->Layout();
sprintf(tmp,"%d",idx[2]+1);
fRodList->RemoveEntry(1);
fRodList->AddEntry(tmp,1);
fRodList->MapSubwindows();
fRodList->Layout();
}
break;
default:
break;
}
default:
break;
}
default:
break;
}
return kTRUE;
}
Last change: Sat May 22 12:54:11 2010
Last generated: 2010-05-22 12:54
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.