ROOT
v6-26
Reference Guide
Loading...
Searching...
No Matches
numberEntry.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_gui
3
/// 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.
4
/// To run it do either:
5
/// ~~~
6
/// .x numberEntry.C
7
/// .x numberEntry.C++
8
/// ~~~
9
///
10
/// \macro_code
11
///
12
/// \author Ilka Antcheva 1/12/2006
13
14
#include <
TApplication.h
>
15
#include <
TGClient.h
>
16
#include <
TGButton.h
>
17
#include <
TGFrame.h
>
18
#include <
TGLayout.h
>
19
#include <
TGWindow.h
>
20
#include <
TGLabel.h
>
21
#include <
TGNumberEntry.h
>
22
#include <
TString.h
>
23
24
class
MyMainFrame :
public
TGMainFrame
{
25
26
private
:
27
TGCompositeFrame
*fHor1;
28
TGTextButton
*fExit;
29
TGGroupFrame
*fGframe;
30
TGNumberEntry
*fNumber;
31
TGLabel
*fLabel;
32
33
public
:
34
MyMainFrame(
const
TGWindow
*p,
UInt_t
w,
UInt_t
h
);
35
virtual
~MyMainFrame();
36
void
DoSetlabel();
37
38
ClassDef
(MyMainFrame, 0)
39
};
40
41
MyMainFrame::MyMainFrame(
const
TGWindow
*p,
UInt_t
w,
UInt_t
h
)
42
:
TGMainFrame
(p, w,
h
)
43
{
44
45
fHor1 =
new
TGHorizontalFrame
(
this
, 60, 20,
kFixedWidth
);
46
fExit =
new
TGTextButton
(fHor1,
"&Exit"
,
"gApplication->Terminate(0)"
);
47
fHor1->AddFrame(fExit,
new
TGLayoutHints
(
kLHintsTop
|
kLHintsLeft
|
48
kLHintsExpandX
, 4, 4, 4, 4));
49
AddFrame(fHor1,
new
TGLayoutHints
(
kLHintsBottom
|
kLHintsRight
, 2, 2, 5, 1));
50
51
fNumber =
new
TGNumberEntry
(
this
, 0, 9,999,
TGNumberFormat::kNESInteger
,
52
TGNumberFormat::kNEANonNegative
,
53
TGNumberFormat::kNELLimitMinMax
,
54
0, 99999);
55
fNumber->Connect(
"ValueSet(Long_t)"
,
"MyMainFrame"
,
this
,
"DoSetlabel()"
);
56
(fNumber->GetNumberEntry())->Connect(
"ReturnPressed()"
,
"MyMainFrame"
,
this
,
57
"DoSetlabel()"
);
58
AddFrame(fNumber,
new
TGLayoutHints
(
kLHintsTop
|
kLHintsLeft
, 5, 5, 5, 5));
59
fGframe =
new
TGGroupFrame
(
this
,
"Value"
);
60
fLabel =
new
TGLabel
(fGframe,
"No input."
);
61
fGframe->AddFrame(fLabel,
new
TGLayoutHints
(
kLHintsTop
|
kLHintsLeft
,
62
5, 5, 5, 5));
63
AddFrame(fGframe,
new
TGLayoutHints
(
kLHintsExpandX
, 2, 2, 1, 1));
64
65
SetCleanup(
kDeepCleanup
);
66
SetWindowName(
"Number Entry"
);
67
MapSubwindows();
68
Resize(GetDefaultSize());
69
MapWindow();
70
}
71
72
MyMainFrame::~MyMainFrame()
73
{
74
// Destructor.
75
76
Cleanup();
77
}
78
79
void
MyMainFrame::DoSetlabel()
80
{
81
// Slot method connected to the ValueSet(Long_t) signal.
82
// It displays the value set in TGNumberEntry widget.
83
84
fLabel->SetText(
Form
(
"%ld"
,fNumber->GetNumberEntry()->GetIntNumber()));
85
86
// Parent frame Layout() method will redraw the label showing the new value.
87
fGframe->Layout();
88
}
89
90
void
numberEntry
()
91
{
92
new
MyMainFrame(
gClient
->GetRoot(), 50, 50);
93
}
kFixedWidth
@ kFixedWidth
Definition
GuiTypes.h:387
h
#define h(i)
Definition
RSha256.hxx:106
UInt_t
unsigned int UInt_t
Definition
RtypesCore.h:46
ClassDef
#define ClassDef(name, id)
Definition
Rtypes.h:325
TApplication.h
TGButton.h
TGClient.h
gClient
#define gClient
Definition
TGClient.h:157
TGFrame.h
kDeepCleanup
@ kDeepCleanup
Definition
TGFrame.h:42
TGLabel.h
TGLayout.h
kLHintsRight
@ kLHintsRight
Definition
TGLayout.h:26
kLHintsLeft
@ kLHintsLeft
Definition
TGLayout.h:24
kLHintsBottom
@ kLHintsBottom
Definition
TGLayout.h:29
kLHintsTop
@ kLHintsTop
Definition
TGLayout.h:27
kLHintsExpandX
@ kLHintsExpandX
Definition
TGLayout.h:30
TGNumberEntry.h
TGWindow.h
TString.h
Form
char * Form(const char *fmt,...)
TGCompositeFrame
The base class for composite widgets (menu bars, list boxes, etc.).
Definition
TGFrame.h:287
TGGroupFrame
A composite frame with a border and a title.
Definition
TGFrame.h:523
TGHorizontalFrame
A composite frame that layout their children in horizontal way.
Definition
TGFrame.h:386
TGLabel
This class handles GUI labels.
Definition
TGLabel.h:24
TGLayoutHints
This class describes layout hints used by the layout classes.
Definition
TGLayout.h:50
TGMainFrame
Defines top level windows that interact with the system Window Manager.
Definition
TGFrame.h:398
TGNumberEntry
TGNumberEntry is a number entry input widget with up/down buttons.
Definition
TGNumberEntry.h:148
TGNumberFormat::kNEANonNegative
@ kNEANonNegative
Non-negative number.
Definition
TGNumberEntry.h:42
TGNumberFormat::kNESInteger
@ kNESInteger
Style of number entry field.
Definition
TGNumberEntry.h:25
TGNumberFormat::kNELLimitMinMax
@ kNELLimitMinMax
Both lower and upper limits.
Definition
TGNumberEntry.h:50
TGTextButton
Yield an action as soon as it is clicked.
Definition
TGButton.h:142
TGWindow
ROOT GUI Window base class.
Definition
TGWindow.h:23
numberEntry
Definition
numberEntry.py:1
tutorials
gui
numberEntry.C
ROOT v6-26 - Reference Guide Generated on Mon Sep 11 2023 21:03:03 (GVA Time) using Doxygen 1.9.8