FEDRA emulsion software from the OPERA Collaboration
EdbIDDialog Class Reference

#include <EdbEDAUtil.h>

Inheritance diagram for EdbIDDialog:
Collaboration diagram for EdbIDDialog:

Public Member Functions

virtual void CloseWindow ()
 
 EdbIDDialog (const char *message, EdbID &id, int *retval=NULL)
 
virtual Bool_t ProcessMessage (Long_t msg, Long_t parm1, Long_t)
 
virtual ~EdbIDDialog ()
 

Private Attributes

EdbIDeID
 
TGNumberEntryField * eNumberEntry1
 
TGNumberEntryField * eNumberEntry2
 
TGNumberEntryField * eNumberEntry3
 
TGNumberEntryField * eNumberEntry4
 
int * eRetVal
 

Constructor & Destructor Documentation

◆ EdbIDDialog()

EdbIDDialog::EdbIDDialog ( const char *  message,
EdbID id,
int *  retval = NULL 
)
inline
171  :
172  TGTransientFrame(gClient->GetRoot(), gEve?gEve->GetMainWindow():0,200,100,kMainFrame | kVerticalFrame), eID(id), eRetVal(retval){
173  SetLayoutBroken(kTRUE);
174  SetWindowName("EdbIDDialog");
175  SetCleanup(kDeepCleanup);
176 
177  CenterOnParent();
178 
179  unsigned int wsize = 250;
180  if(strlen(message)*6>wsize) wsize=strlen(message)*6;
181 
182  int posy=10;
183 
184  TGLabel *fLabel = new TGLabel(this, message);
185  fLabel->MoveResize(20,posy,wsize-40,20);
186  AddFrame(fLabel, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5));
187  posy+=30;
188  int posx=10;
189  int dx = 50;
190  eNumberEntry1 = new TGNumberEntryField(this, -1, eID.eBrick, TGNumberFormat::kNESInteger);
191  AddFrame(eNumberEntry1, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5));
192  eNumberEntry1->MoveResize(posx,posy,dx,20);
193  eNumberEntry2 = new TGNumberEntryField(this, -1, eID.ePlate, TGNumberFormat::kNESInteger);
194  AddFrame(eNumberEntry2, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5));
195  eNumberEntry2->MoveResize(posx+=dx+5,posy,dx,20);
196  eNumberEntry3 = new TGNumberEntryField(this, -1, eID.eMajor, TGNumberFormat::kNESInteger);
197  AddFrame(eNumberEntry3, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5));
198  eNumberEntry3->MoveResize(posx+=dx+5,posy,dx,20);
199  eNumberEntry4 = new TGNumberEntryField(this, -1, eID.eMinor, TGNumberFormat::kNESInteger);
200  AddFrame(eNumberEntry4, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5));
201  eNumberEntry4->MoveResize(posx+=dx+5,posy,dx,20);
202 
203  posy+=30;
204  TGTextButton *fb = new TGTextButton(this,"OK");
205  AddFrame(fb, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5));
206  fb->MoveResize((wsize-50)/2,posy,50,20);
207 
208  SetMWMHints(kMWMDecorAll, kMWMFuncAll, kMWMInputModeless);
209  MapSubwindows();
210  MapWindow();
211  Resize(wsize,100);
212  eNumberEntry4->RequestFocus();
213  gClient->WaitFor(this);
214  }
TGNumberEntryField * eNumberEntry1
Definition: EdbEDAUtil.h:163
int * eRetVal
Definition: EdbEDAUtil.h:168
TGNumberEntryField * eNumberEntry2
Definition: EdbEDAUtil.h:164
EdbID & eID
Definition: EdbEDAUtil.h:167
TGNumberEntryField * eNumberEntry4
Definition: EdbEDAUtil.h:166
TGNumberEntryField * eNumberEntry3
Definition: EdbEDAUtil.h:165
Int_t eBrick
Definition: EdbID.h:10
Int_t eMinor
Definition: EdbID.h:13
Int_t ePlate
Definition: EdbID.h:11
Int_t eMajor
Definition: EdbID.h:12

◆ ~EdbIDDialog()

virtual EdbIDDialog::~EdbIDDialog ( )
inlinevirtual
215  {
216  Cleanup();
217  }

Member Function Documentation

◆ CloseWindow()

virtual void EdbIDDialog::CloseWindow ( )
inlinevirtual
244  {
245  if(eRetVal) *eRetVal = kFALSE;
246  delete this;
247  }

◆ ProcessMessage()

virtual Bool_t EdbIDDialog::ProcessMessage ( Long_t  msg,
Long_t  parm1,
Long_t   
)
inlinevirtual
219  {
220  // Process message dialog box event.
221  switch (GET_MSG(msg)) {
222  case kC_COMMAND:
223  switch (GET_SUBMSG(msg)) {
224  case kCM_BUTTON:
225  //printf("%d\n", msg);
226  //if (fRetCode) *fRetCode = (Int_t) parm1;
227  eID.eBrick = eNumberEntry1->GetIntNumber();
228  eID.ePlate = eNumberEntry2->GetIntNumber();
229  eID.eMajor = eNumberEntry3->GetIntNumber();
230  eID.eMinor = eNumberEntry4->GetIntNumber();
231  if(eRetVal) *eRetVal = kTRUE;
232  delete this;
233  break;
234  default:
235  break;
236  }
237  break;
238  default:
239  break;
240  }
241  return kTRUE;
242  }

Member Data Documentation

◆ eID

EdbID& EdbIDDialog::eID
private

◆ eNumberEntry1

TGNumberEntryField* EdbIDDialog::eNumberEntry1
private

◆ eNumberEntry2

TGNumberEntryField* EdbIDDialog::eNumberEntry2
private

◆ eNumberEntry3

TGNumberEntryField* EdbIDDialog::eNumberEntry3
private

◆ eNumberEntry4

TGNumberEntryField* EdbIDDialog::eNumberEntry4
private

◆ eRetVal

int* EdbIDDialog::eRetVal
private

The documentation for this class was generated from the following file: