Public Member Functions | |
EntryTestDlg (const TGWindow *p, const TGWindow *main) | |
virtual | ~EntryTestDlg () |
void | CloseWindow () |
void | SetLimits () |
void | DoOK () |
Private Attributes | |
TGTransientFrame * | fMain |
TGVerticalFrame * | fF1 |
TGVerticalFrame * | fF2 |
TGHorizontalFrame * | fF [13] |
TGLayoutHints * | fL1 |
TGLayoutHints * | fL2 |
TGLayoutHints * | fL3 |
TGLabel * | fLabel [13] |
TGNumberEntry * | fNumericEntries [13] |
TGCheckButton * | fLowerLimit |
TGCheckButton * | fUpperLimit |
TGNumberEntry * | fLimits [2] |
TGCheckButton * | fPositive |
TGCheckButton * | fNonNegative |
TGButton * | fSetButton |
TGButton * | fExitButton |
Definition at line 454 of file guitest.C.
EntryTestDlg::EntryTestDlg | ( | const TGWindow * | p, | |
const TGWindow * | main | |||
) |
Definition at line 2313 of file guitest.C.
02314 { 02315 // build widgets 02316 fMain = new TGTransientFrame(p, main, 10, 10, kHorizontalFrame); 02317 fMain->Connect("CloseWindow()", "EntryTestDlg", this, "CloseWindow()"); 02318 fMain->DontCallClose(); // to avoid double deletions. 02319 02320 // use hierarchical cleaning 02321 fMain->SetCleanup(kDeepCleanup); 02322 02323 TGGC myGC = *gClient->GetResourcePool()->GetFrameGC(); 02324 TGFont *myfont = gClient->GetFont("-adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-iso8859-1"); 02325 if (myfont) myGC.SetFont(myfont->GetFontHandle()); 02326 02327 fF1 = new TGVerticalFrame(fMain, 200, 300); 02328 fL1 = new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2); 02329 fMain->AddFrame(fF1, fL1); 02330 fL2 = new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2); 02331 for (int i = 0; i < 13; i++) { 02332 fF[i] = new TGHorizontalFrame(fF1, 200, 30); 02333 fF1->AddFrame(fF[i], fL2); 02334 fNumericEntries[i] = new TGNumberEntry(fF[i], numinit[i], 12, i + 20, 02335 (TGNumberFormat::EStyle) i); 02336 fF[i]->AddFrame(fNumericEntries[i], fL2); 02337 fLabel[i] = new TGLabel(fF[i], numlabel[i], myGC(), myfont->GetFontStruct()); 02338 fF[i]->AddFrame(fLabel[i], fL2); 02339 } 02340 fF2 = new TGVerticalFrame(fMain, 200, 500); 02341 fL3 = new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2); 02342 fMain->AddFrame(fF2, fL3); 02343 fLowerLimit = new TGCheckButton(fF2, "lower limit:", 4); 02344 fF2->AddFrame(fLowerLimit, fL3); 02345 fLimits[0] = new TGNumberEntry(fF2, 0, 12, 10); 02346 fLimits[0]->SetLogStep(kFALSE); 02347 fF2->AddFrame(fLimits[0], fL3); 02348 fUpperLimit = new TGCheckButton(fF2, "upper limit:", 5); 02349 fF2->AddFrame(fUpperLimit, fL3); 02350 fLimits[1] = new TGNumberEntry(fF2, 0, 12, 11); 02351 fLimits[1]->SetLogStep(kFALSE); 02352 fF2->AddFrame(fLimits[1], fL3); 02353 fPositive = new TGCheckButton(fF2, "Positive", 6); 02354 fF2->AddFrame(fPositive, fL3); 02355 fNonNegative = new TGCheckButton(fF2, "Non negative", 7); 02356 fF2->AddFrame(fNonNegative, fL3); 02357 fSetButton = new TGTextButton(fF2, " Set ", 2); 02358 fSetButton->Connect("Clicked()", "EntryTestDlg", this, "SetLimits()"); 02359 fF2->AddFrame(fSetButton, fL3); 02360 fExitButton = new TGTextButton(fF2, " Close ", 1); 02361 fExitButton->Connect("Clicked()", "EntryTestDlg", this, "DoOK()"); 02362 fF2->AddFrame(fExitButton, fL3); 02363 02364 // set dialog box title 02365 fMain->SetWindowName("Number Entry Test"); 02366 fMain->SetIconName("Number Entry Test"); 02367 fMain->SetClassHints("NumberEntryDlg", "NumberEntryDlg"); 02368 // resize & move to center 02369 fMain->MapSubwindows(); 02370 UInt_t width = fMain->GetDefaultWidth(); 02371 UInt_t height = fMain->GetDefaultHeight(); 02372 fMain->Resize(width, height); 02373 fMain->CenterOnParent(); 02374 // make the message box non-resizable 02375 fMain->SetWMSize(width, height); 02376 fMain->SetWMSizeHints(width, height, width, height, 0, 0); 02377 fMain->SetMWMHints(kMWMDecorAll | kMWMDecorResizeH | kMWMDecorMaximize | 02378 kMWMDecorMinimize | kMWMDecorMenu, 02379 kMWMFuncAll | kMWMFuncResize | kMWMFuncMaximize | 02380 kMWMFuncMinimize, kMWMInputModeless); 02381 02382 fMain->MapWindow(); 02383 gClient->WaitFor(fMain); 02384 }
EntryTestDlg::~EntryTestDlg | ( | ) | [virtual] |
void EntryTestDlg::CloseWindow | ( | ) |
void EntryTestDlg::SetLimits | ( | ) |
Definition at line 2405 of file guitest.C.
02406 { 02407 Double_t min = fLimits[0]->GetNumber(); 02408 Bool_t low = (fLowerLimit->GetState() == kButtonDown); 02409 Double_t max = fLimits[1]->GetNumber(); 02410 Bool_t high = (fUpperLimit->GetState() == kButtonDown); 02411 TGNumberFormat::ELimit lim; 02412 if (low && high) { 02413 lim = TGNumberFormat::kNELLimitMinMax; 02414 } else if (low) { 02415 lim = TGNumberFormat::kNELLimitMin; 02416 } else if (high) { 02417 lim = TGNumberFormat::kNELLimitMax; 02418 } else { 02419 lim = TGNumberFormat::kNELNoLimits; 02420 } 02421 Bool_t pos = (fPositive->GetState() == kButtonDown); 02422 Bool_t nneg = (fNonNegative->GetState() == kButtonDown); 02423 TGNumberFormat::EAttribute attr; 02424 if (pos) { 02425 attr = TGNumberFormat::kNEAPositive; 02426 } else if (nneg) { 02427 attr = TGNumberFormat::kNEANonNegative; 02428 } else { 02429 attr = TGNumberFormat::kNEAAnyNumber; 02430 } 02431 for (int i = 0; i < 13; i++) { 02432 fNumericEntries[i]->SetFormat(fNumericEntries[i]->GetNumStyle(), attr); 02433 fNumericEntries[i]->SetLimits(lim, min, max); 02434 } 02435 }
void EntryTestDlg::DoOK | ( | ) |
TGTransientFrame* EntryTestDlg::fMain [private] |
Definition at line 457 of file guitest.C.
Referenced by DoOK(), EntryTestDlg(), and ~EntryTestDlg().
TGVerticalFrame* EntryTestDlg::fF1 [private] |
TGVerticalFrame* EntryTestDlg::fF2 [private] |
TGHorizontalFrame* EntryTestDlg::fF[13] [private] |
TGLayoutHints* EntryTestDlg::fL1 [private] |
TGLayoutHints* EntryTestDlg::fL2 [private] |
TGLayoutHints* EntryTestDlg::fL3 [private] |
TGLabel* EntryTestDlg::fLabel[13] [private] |
TGNumberEntry* EntryTestDlg::fNumericEntries[13] [private] |
TGCheckButton* EntryTestDlg::fLowerLimit [private] |
TGCheckButton* EntryTestDlg::fUpperLimit [private] |
TGNumberEntry* EntryTestDlg::fLimits[2] [private] |
TGCheckButton* EntryTestDlg::fPositive [private] |
TGCheckButton* EntryTestDlg::fNonNegative [private] |
TGButton* EntryTestDlg::fSetButton [private] |
TGButton* EntryTestDlg::fExitButton [private] |