Logo ROOT  
Reference Guide
numberEntry.C File Reference

Detailed Description

This macro gives an example of how to create a number entry and how to update a label according to the changed value of this number entry. To run it do either:

#include <TApplication.h>
#include <TGClient.h>
#include <TGButton.h>
#include <TGFrame.h>
#include <TGLayout.h>
#include <TGWindow.h>
#include <TGLabel.h>
#include <TGNumberEntry.h>
#include <TString.h>
class MyMainFrame : public TGMainFrame {
private:
TGTextButton *fExit;
TGGroupFrame *fGframe;
TGNumberEntry *fNumber;
TGLabel *fLabel;
public:
MyMainFrame(const TGWindow *p, UInt_t w, UInt_t h);
virtual ~MyMainFrame();
void DoSetlabel();
ClassDef(MyMainFrame, 0)
};
MyMainFrame::MyMainFrame(const TGWindow *p, UInt_t w, UInt_t h)
: TGMainFrame(p, w, h)
{
fHor1 = new TGHorizontalFrame(this, 60, 20, kFixedWidth);
fExit = new TGTextButton(fHor1, "&Exit", "gApplication->Terminate(0)");
fHor1->AddFrame(fExit, new TGLayoutHints(kLHintsTop | kLHintsLeft |
kLHintsExpandX, 4, 4, 4, 4));
AddFrame(fHor1,new TGLayoutHints(kLHintsBottom | kLHintsRight, 2, 2, 5, 1));
fNumber = new TGNumberEntry(this, 0, 9,999, TGNumberFormat::kNESInteger,
0, 99999);
fNumber->Connect("ValueSet(Long_t)", "MyMainFrame", this, "DoSetlabel()");
(fNumber->GetNumberEntry())->Connect("ReturnPressed()", "MyMainFrame", this,
"DoSetlabel()");
AddFrame(fNumber, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5));
fGframe = new TGGroupFrame(this, "Value");
fLabel = new TGLabel(fGframe, "No input.");
fGframe->AddFrame(fLabel, new TGLayoutHints(kLHintsTop | kLHintsLeft,
5, 5, 5, 5));
AddFrame(fGframe, new TGLayoutHints(kLHintsExpandX, 2, 2, 1, 1));
SetCleanup(kDeepCleanup);
SetWindowName("Number Entry");
MapSubwindows();
Resize(GetDefaultSize());
MapWindow();
}
MyMainFrame::~MyMainFrame()
{
// Destructor.
Cleanup();
}
void MyMainFrame::DoSetlabel()
{
// Slot method connected to the ValueSet(Long_t) signal.
// It displays the value set in TGNumberEntry widget.
fLabel->SetText(Form("%ld",fNumber->GetNumberEntry()->GetIntNumber()));
// Parent frame Layout() method will redraw the label showing the new value.
fGframe->Layout();
}
{
new MyMainFrame(gClient->GetRoot(), 50, 50);
}
Author
Ilka Antcheva 1/12/2006

Definition in file numberEntry.C.

TGWindow
Definition: TGWindow.h:31
kFixedWidth
@ kFixedWidth
Definition: GuiTypes.h:387
TGNumberFormat::kNELLimitMinMax
@ kNELLimitMinMax
Definition: TGNumberEntry.h:65
TGMainFrame
Definition: TGFrame.h:444
kLHintsTop
@ kLHintsTop
Definition: TGLayout.h:40
TGLayout.h
Form
char * Form(const char *fmt,...)
kLHintsLeft
@ kLHintsLeft
Definition: TGLayout.h:37
TGLabel
Definition: TGLabel.h:32
TGTextButton
Definition: TGButton.h:142
TGNumberFormat::kNEANonNegative
@ kNEANonNegative
Definition: TGNumberEntry.h:57
TGHorizontalFrame
Definition: TGFrame.h:423
TString.h
TGWindow.h
gClient
#define gClient
Definition: TGClient.h:166
kLHintsBottom
@ kLHintsBottom
Definition: TGLayout.h:42
TApplication.h
h
#define h(i)
Definition: RSha256.hxx:124
TGFrame.h
kLHintsRight
@ kLHintsRight
Definition: TGLayout.h:39
TGLayoutHints
Definition: TGLayout.h:57
TGGroupFrame
Definition: TGFrame.h:587
UInt_t
unsigned int UInt_t
Definition: RtypesCore.h:46
TGClient.h
TGLabel.h
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TGButton.h
kDeepCleanup
@ kDeepCleanup
Definition: TGFrame.h:51
numberEntry
Definition: numberEntry.py:1
TGNumberEntry.h
kLHintsExpandX
@ kLHintsExpandX
Definition: TGLayout.h:43
TGNumberEntry
Definition: TGNumberEntry.h:156
TGCompositeFrame
Definition: TGFrame.h:324
TGNumberFormat::kNESInteger
@ kNESInteger
Definition: TGNumberEntry.h:46