18 class MyMainFrame :
public TGMainFrame {
21 TGCompositeFrame *fCframe;
22 TGTextButton *fStart, *fPause, *fExit;
26 MyMainFrame(
const TGWindow *p, UInt_t w, UInt_t h);
27 virtual ~MyMainFrame();
29 void ChangeStartLabel();
30 void ChangePauseLabel();
32 ClassDef(MyMainFrame, 0)
35 void MyMainFrame::ChangeStartLabel()
40 fStart->SetState(kButtonDown);
42 fStart->SetText(
"&Stop");
45 fStart->SetText(
"&Start");
48 fStart->SetState(kButtonUp);
51 void MyMainFrame::ChangePauseLabel()
56 fPause->SetState(kButtonDown);
58 fPause->SetText(
"&Resume");
61 fPause->SetText(
"&Pause");
64 fPause->SetState(kButtonUp);
67 MyMainFrame::MyMainFrame(
const TGWindow *p, UInt_t w, UInt_t h) :
71 fCframe =
new TGCompositeFrame(
this, 170, 20, kHorizontalFrame|kFixedWidth);
73 fStart =
new TGTextButton(fCframe,
"&Start");
74 fStart->Connect(
"Clicked()",
"MyMainFrame",
this,
"ChangeStartLabel()");
75 fCframe->AddFrame(fStart,
new TGLayoutHints(kLHintsTop | kLHintsExpandX,
77 fStart->SetToolTipText(
"Click to toggle the button label (Start/Stop)");
80 fPause =
new TGTextButton(fCframe,
"&Pause");
81 fPause->Connect(
"Clicked()",
"MyMainFrame",
this,
"ChangePauseLabel()");
82 fPause->SetToolTipText(
"Click to toggle the button label (Pause/Resume)");
83 fCframe->AddFrame(fPause,
new TGLayoutHints(kLHintsTop | kLHintsExpandX,
87 AddFrame(fCframe,
new TGLayoutHints(kLHintsCenterX, 2, 2, 5, 1));
89 fExit =
new TGTextButton(
this,
"&Exit ",
"gApplication->Terminate(0)");
90 AddFrame(fExit,
new TGLayoutHints(kLHintsTop | kLHintsExpandX,5,5,2,2));
92 SetWindowName(
"Change Labels");
95 Resize(GetDefaultSize());
100 MyMainFrame::~MyMainFrame()
108 void buttonChangelabel()
111 new MyMainFrame(gClient->GetRoot(), 350, 80);