Loading [MathJax]/extensions/tex2jax.js
Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
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);
}
@ kFixedWidth
Definition GuiTypes.h:387
#define h(i)
Definition RSha256.hxx:106
unsigned int UInt_t
Definition RtypesCore.h:46
#define ClassDef(name, id)
Definition Rtypes.h:325
#define gClient
Definition TGClient.h:166
@ kDeepCleanup
Definition TGFrame.h:50
@ kLHintsRight
Definition TGLayout.h:33
@ kLHintsLeft
Definition TGLayout.h:31
@ kLHintsBottom
Definition TGLayout.h:36
@ kLHintsTop
Definition TGLayout.h:34
@ kLHintsExpandX
Definition TGLayout.h:37
char * Form(const char *fmt,...)
Author
Ilka Antcheva 1/12/2006

Definition in file numberEntry.C.