Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGuiBldEditor.cxx
Go to the documentation of this file.
1// @(#)root/guibuilder:$Id$
2// Author: Valeriy Onuchin 12/09/04
3
4/*************************************************************************
5 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12/** \class TGuiBldEditor
13 \ingroup guibuilder
14
15The property editor
16
17*/
18
19
20#include "TGuiBldEditor.h"
21#include "TRootGuiBuilder.h"
22#include "TGuiBldHintsEditor.h"
23#include "TGuiBldNameFrame.h"
25#include "TGResourcePool.h"
26#include "TGTab.h"
27#include "TGLabel.h"
28#include "TGButtonGroup.h"
29#include "TGNumberEntry.h"
30#include "TG3DLine.h"
31#include "TGColorSelect.h"
32#include "TGuiBldDragManager.h"
33#include "TGMsgBox.h"
34#include "TGFrame.h"
35#include "TGSplitter.h"
36#include "TGTableLayout.h"
37
39
40
41////////////////////////////////////////////////////////////////////////////////
62
63////////////////////////////////////////////////////////////////////////////////
64/// Constructor.
65
67 TGVerticalFrame(p, 1, 1)
68{
70 fEditDisabled = 1;
71 fBgndFrame = 0;
72
74
75 fBtnGroup = new TGButtonGroup(this, "Border Mode");
76
78 frame299->SetToolTipText("Set a sunken border of the frame");
80 frame302->SetToolTipText("Set no border of the frame");
82 frame305->SetToolTipText("Set a raised border of the frame");
83 frame305->SetState(kButtonDown);
85 check->SetToolTipText("Set double border of the frame");
86 //TQObject::Disconnect(check);
87
90 fBtnGroup->Connect("Pressed(Int_t)", "TGuiBldEditor", fEditor, "UpdateBorder(Int_t)");
91 check->Connect("Pressed()", "TGuiBldEditor", fEditor, "UpdateBorder(=4)");
92 check->Connect("Released()", "TGuiBldEditor", fEditor, "UpdateBorder(=5)");
93
94 TGCompositeFrame *f = new TGGroupFrame(this, "Palette");
96 fBgndFrame = new TGColorSelect(hf, 0, 1);
99 fBgndFrame->Connect("ColorSelected(Pixel_t)", "TGuiBldEditor", fEditor,
100 "UpdateBackground(Pixel_t)");
101 hf->AddFrame(fBgndFrame, new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2));
102 hf->AddFrame(new TGLabel(hf, "Backgrnd"), new TGLayoutHints(kLHintsTop |
103 kLHintsLeft, 2, 2, 2, 2));
104 f->AddFrame(hf, new TGLayoutHints(kLHintsCenterX | kLHintsTop, 2, 2, 2, 2));
106}
107
108////////////////////////////////////////////////////////////////////////////////
109/// Perform actions when selected frame was changed.
110
112{
113 fSelected = frame;
114
115 if (!frame) {
116 return;
117 }
118
119 UInt_t opt = fSelected->GetOptions();
120
125
126 if (fBgndFrame) {
129 fBgndFrame->Connect("ColorSelected(Pixel_t)", "TGuiBldEditor", fEditor, "UpdateBackground(Pixel_t)");
130 }
131}
132
133////////////////////////////////////////////////////////////////////////////////
134////////////////////////////////////////////////////////////////////////////////
135/// Constructor.
136
138{
141 fSelected = 0;
143
144 fNameFrame = new TGuiBldNameFrame(this, this);
146
147 TGHSplitter *splitter = new TGHSplitter(this,100,5);
149 splitter->SetFrame(fNameFrame, kTRUE);
150
151 //------------frame with layout switch
152 hf = new TGHorizontalFrame(this);
153 hf->AddFrame(new TGLabel(hf, "Composite Frame Layout"),
154 new TGLayoutHints(kLHintsLeft | kLHintsTop, 2, 2, 2, 2));
155 hf->AddFrame(new TGHorizontal3DLine(hf), new TGLayoutHints(kLHintsTop |
156 kLHintsExpandX, 2, 2, 2, 2));
158
159 vf = new TGVerticalFrame(this);
160 fLayoutLabel = new TGLabel(vf, "Automatic Layout Disabled");
162 2, 2, 2, 2));
163
164 fLayoutButton = new TGTextButton(vf," Enable layout ");
167 2, 2, 2, 2));
168
170
172 kLHintsExpandX, 2, 2, 2, 2));
173
174 fLayoutButton->Connect("Clicked()", "TGuiBldEditor", this, "SwitchLayout()");
175 fLayoutButton->SetToolTipText("If layout is on, all the frame \nelements get layouted automatically.");
176
177 //-----------------------------
178
179 fTab = new TGTab(this, 80, 40);
181 fTablay = fTab->AddTab("Layout");
182 TGCompositeFrame *tabcont = fTab->AddTab("Style");
183 fLayoutId = 1; // 2nd tab
184 fTab->Connect("Selected(Int_t)", "TGuiBldEditor", this, "TabSelected(Int_t)");
185
188 2, 2, 2, 2));
189
192 2, 2, 2, 2));
193
194 //----------------Position X,Y boxes---------------
195
196 fPositionFrame = new TGGroupFrame(fTablay, "Position");
197
199
200 vf = new TGVerticalFrame(hf);
201 vf->SetLayoutManager(new TGTableLayout(vf, 2, 2));
202
203 vf->AddFrame(new TGLabel(vf, " X "), new TGTableLayoutHints(0, 1, 0, 1,
204 kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
205 fXpos = new TGNumberEntry(vf, 0.0, 4, -1, (TGNumberFormat::EStyle)5);
206 vf->AddFrame(fXpos, new TGTableLayoutHints(1, 2, 0, 1, kLHintsCenterY |
207 kLHintsLeft, 2, 2, 2, 2));
208
209 vf->AddFrame(new TGLabel(vf, " Y "), new TGTableLayoutHints(0, 1, 1, 2,
210 kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
211 fYpos = new TGNumberEntry(vf, 0.0, 4, -1, (TGNumberFormat::EStyle)5);
212 vf->AddFrame(fYpos, new TGTableLayoutHints(1, 2, 1, 2, kLHintsCenterY |
213 kLHintsLeft, 2, 2, 2, 2));
214
216
217 vf = new TGVerticalFrame(hf);
218 vf->SetLayoutManager(new TGTableLayout(vf, 3, 3));
219
224 fTextButton6366->Resize(20,20);
225 vf->AddFrame(fTextButton6366, new TGTableLayoutHints(1, 2, 0, 1,
226 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
227
232 fTextButton6367->Resize(20,20);
233 vf->AddFrame(fTextButton6367, new TGTableLayoutHints(1, 2, 2, 3,
234 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
235
240 fTextButton6364->Resize(20,20);
241 vf->AddFrame(fTextButton6364, new TGTableLayoutHints(0, 1, 1, 2,
242 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
243
248 fTextButton6365->Resize(20,20);
249 vf->AddFrame(fTextButton6365, new TGTableLayoutHints(2, 3, 1, 2,
250 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
251
253
255
257
258 fXpos->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
259 fYpos->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
260
261 fTextButton6364->Connect("Clicked()", "TGNumberEntry", fXpos, "IncreaseNumber(TGNumberFormat::EStepSize=0,-1)");
262 fTextButton6364->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
263 fTextButton6365->Connect("Clicked()", "TGNumberEntry", fXpos, "IncreaseNumber()");
264 fTextButton6365->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
265 fTextButton6366->Connect("Clicked()", "TGNumberEntry", fYpos, "IncreaseNumber(TGNumberFormat::EStepSize=0,-1)");
266 fTextButton6366->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
267 fTextButton6367->Connect("Clicked()", "TGNumberEntry", fYpos, "IncreaseNumber()");
268 fTextButton6367->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
269
270 //----------------------------------------------------
271
273 tabcont->AddFrame(fBorderFrame, new TGLayoutHints(kLHintsExpandX, 2, 2, 2, 2));
274
276 SetWindowName("Frame Property Editor");
278
280}
281
282////////////////////////////////////////////////////////////////////////////////
283/// Destructor.
284
288
289////////////////////////////////////////////////////////////////////////////////
290/// Remove a frame.
291
293{
294 fNameFrame->RemoveFrame(frame);
295}
296
297////////////////////////////////////////////////////////////////////////////////
298/// Handle selected.
299
301{
302 if (id == fLayoutId) {
303 //printf("%d\n", fSelected);
304 }
305}
306
307////////////////////////////////////////////////////////////////////////////////
308/// Hide editor.
309
311{
312 UnmapWindow();
313}
314
315////////////////////////////////////////////////////////////////////////////////
316/// Change selected frame.
317
319{
321
322 if (!frame) {
324 //fTab->SetTab(0);
325 if (tab) {
326 tab->SetEnabled(kFALSE);
328 }
329 return;
330 }
331
332 fSelected = frame;
333 TGWindow *parent = (TGWindow*)fSelected->GetParent();
334
336
338 enable_layout |= parent && !(parent->GetEditDisabled() & kEditDisableLayout);
340 enable_layout |= parent && (parent->InheritsFrom(TGCompositeFrame::Class()) &&
341 !((TGCompositeFrame*)parent)->IsLayoutBroken());
344
345 if (enable_layout) {
347
348 if (tab) {
349 tab->SetEnabled(kTRUE);
351 }
352 } else {
354
355 if (tab) {
356 fTab->SetTab(0);
357 tab->SetEnabled(kFALSE);
359 }
360 }
361
362 if ((frame->InheritsFrom(TGHorizontalFrame::Class())) ||
364 (frame->InheritsFrom(TGGroupFrame::Class())) ) {
365
367 if (fSelected->IsLayoutBroken()) {
368 fLayoutButton->SetText(" Enable layout ");
369 fLayoutLabel->SetText("Automatic layout disabled");
370 if (fTablay) {
374 }
375 } else {
376 fLayoutButton->SetText(" Disable layout ");
377 fLayoutLabel->SetText("Automatic layout enabled");
378 if (fTablay) {
382 }
383 }
384 }
385 else {
387 TGFrame *parentf = (TGFrame*)frame->GetParent();
388 if (parentf->IsLayoutBroken()) {
389 fLayoutButton->SetText(" Enable layout ");
390 fLayoutLabel->SetText("Automatic layout disabled");
394 } else {
395 fLayoutButton->SetText(" Disable layout ");
396 fLayoutLabel->SetText("Automatic layout enabled");
400 }
401 }
402
403 fYpos->SetIntNumber(frame->GetY());
404 fXpos->SetIntNumber(frame->GetX());
405
408
409 Emit("ChangeSelected(TGFrame*)", (Longptr_t)fSelected);
410
411 MapRaised();
412}
413
414////////////////////////////////////////////////////////////////////////////////
415/// Update selected frame.
416
418{
419 Emit("UpdateSelected(TGFrame*)", (Longptr_t)frame);
420}
421
422////////////////////////////////////////////////////////////////////////////////
423/// Update border of selected frame.
424
426{
427 if (!fSelected) return;
428
429 UInt_t opt = fSelected->GetOptions();
430
431 switch (b) {
432 case 1:
433 opt &= ~kRaisedFrame;
434 opt |= kSunkenFrame;
435 break;
436 case 2:
437 opt &= ~kSunkenFrame;
438 opt &= ~kRaisedFrame;
439 break;
440 case 3:
441 opt &= ~kSunkenFrame;
442 opt |= kRaisedFrame;
443 break;
444 case 4:
445 opt |= kDoubleBorder;
446 break;
447 case 5:
448 opt &= ~kDoubleBorder;
449 break;
450 default:
451 return;
452 }
455}
456
457////////////////////////////////////////////////////////////////////////////////
458/// Update background.
459
467
468////////////////////////////////////////////////////////////////////////////////
469/// Update foreground.
470
478
479////////////////////////////////////////////////////////////////////////////////
480/// Reset the editor.
481
483{
484 fSelected = 0;
485 fNameFrame->Reset();
487 if (tab) {
488 fTab->SetTab(0);
489 tab->SetEnabled(kFALSE);
490 }
491}
492
493////////////////////////////////////////////////////////////////////////////////
494/// Popup dialog to set layout of edited frame off. If layout is on, all
495/// the elements in the frame get laid out automatically.
496
498{
499 if (!fSelected) {
500 fLayoutButton->SetText(" Enable layout ");
502 fLayoutLabel->SetText("Automatic layout disabled");
503 if (fTablay) {
507 }
508 return;
509 }
510
512 TGFrame *frame = fSelected;
514 if (cf == 0)
515 return;
516 if (frame->IsLayoutBroken()) {
518 builder->GetManager()->SetEditable(kFALSE);
519 new TGMsgBox(gClient->GetDefaultRoot(), builder, "Layout change",
520 "Enabling layout will automatically align and resize all the icons. \n Do you really want to layout them?",
522
523 cf->SetEditable(kTRUE);
524 // hack against selecting the message box itself
525 builder->GetManager()->SelectFrame(frame);
526 frame->SetEditable(kTRUE);
527
528 if (retval == kMBOk) {
529 frame->SetLayoutBroken(kFALSE);
530 frame->Layout();
531 fLayoutButton->SetText(" Disable layout ");
532 fLayoutLabel->SetText("Automatic layout enabled");
533 if (fTablay) {
538 }
539 }
540 } else {
541 //set layout off - without dialog, because nothing "bad" can happen
542 frame->SetLayoutBroken(kTRUE);
543 fLayoutButton->SetText(" Enable layout ");
544 fLayoutLabel->SetText("Automatic layout disabled");
545 if (fTablay) {
549 }
550 }
551 fClient->NeedRedraw(frame, kTRUE);
553}
554
555
556
@ kRaisedFrame
Definition GuiTypes.h:384
@ kSunkenFrame
Definition GuiTypes.h:383
@ kDoubleBorder
Definition GuiTypes.h:385
@ kFixedSize
Definition GuiTypes.h:390
ULong_t Pixel_t
Pixel value.
Definition GuiTypes.h:40
#define b(i)
Definition RSha256.hxx:100
#define f(i)
Definition RSha256.hxx:104
long Longptr_t
Definition RtypesCore.h:75
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
#define ClassImp(name)
Definition Rtypes.h:374
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
@ kButtonDown
Definition TGButton.h:54
#define gClient
Definition TGClient.h:157
@ kDeepCleanup
Definition TGFrame.h:42
@ kLHintsExpandY
Definition TGLayout.h:31
@ kLHintsLeft
Definition TGLayout.h:24
@ kLHintsCenterY
Definition TGLayout.h:28
@ kLHintsNormal
Definition TGLayout.h:32
@ kLHintsCenterX
Definition TGLayout.h:25
@ kLHintsTop
Definition TGLayout.h:27
@ kLHintsExpandX
Definition TGLayout.h:30
@ kMBCancel
Definition TGMsgBox.h:37
@ kMBOk
Definition TGMsgBox.h:33
@ kMBIconExclamation
Definition TGMsgBox.h:24
winID h TVirtualViewer3D TVirtualGLPainter p
Organizes TGButton widgets in a group.
virtual void SetRadioButtonExclusive(Bool_t flag=kTRUE)
If enable is kTRUE, this button group will treat radio buttons as mutually exclusive,...
virtual void SetButton(Int_t id, Bool_t down=kTRUE)
Sets the button with id to be on/down, and if this is an exclusive group, all other button in the gro...
static const TGGC & GetDefaultGC()
Return default graphics context.
Definition TGButton.cxx:470
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition TGButton.cxx:445
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition TGButton.cxx:459
Selects different options.
Definition TGButton.h:264
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
Definition TGClient.cxx:381
Like a checkbutton but instead of the check mark there is color area with a little down arrow.
void SetColor(Pixel_t color, Bool_t emit=kTRUE)
Set color.
The base class for composite widgets (menu bars, list boxes, etc.).
Definition TGFrame.h:287
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
Definition TGFrame.cxx:1117
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
Definition TGFrame.cxx:1164
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition TGFrame.cxx:1204
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
Definition TGFrame.cxx:1072
Bool_t IsLayoutBroken() const override
Definition TGFrame.h:357
void SetEditDisabled(UInt_t on=1) override
Set edit disable flag for this frame and subframes.
Definition TGFrame.cxx:1022
static TClass * Class()
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition TGFrame.cxx:1190
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
Definition TGFrame.h:80
virtual void ChangeOptions(UInt_t options)
Change frame options. Options is an OR of the EFrameTypes.
Definition TGFrame.cxx:321
virtual Bool_t IsLayoutBroken() const
Definition TGFrame.h:216
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
Definition TGFrame.cxx:605
virtual void SetForegroundColor(Pixel_t)
Definition TGFrame.h:196
void SetBackgroundColor(Pixel_t back) override
Set background color (override from TGWindow base class).
Definition TGFrame.cxx:312
virtual void SetLayoutBroken(Bool_t=kTRUE)
Definition TGFrame.h:215
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition TGFrame.cxx:683
Int_t GetX() const
Definition TGFrame.h:231
virtual UInt_t GetOptions() const
Definition TGFrame.h:197
void UnmapWindow() override
unmap window
Definition TGFrame.h:206
UInt_t GetHeight() const
Definition TGFrame.h:225
Int_t GetY() const
Definition TGFrame.h:232
virtual void Layout()
Definition TGFrame.h:199
virtual Pixel_t GetBackground() const
Definition TGFrame.h:192
UInt_t GetWidth() const
Definition TGFrame.h:224
void SetEditable(Bool_t) override
Definition TGFrame.h:214
void MapRaised() override
map raised
Definition TGFrame.h:205
A composite frame with a border and a title.
Definition TGFrame.h:522
static TClass * Class()
A horizontal 3D line is a line that typically separates a toolbar from the menubar.
Definition TG3DLine.h:18
A composite frame that layout their children in horizontal way.
Definition TGFrame.h:385
static TClass * Class()
This class handles GUI labels.
Definition TGLabel.h:24
virtual void SetText(TGString *newText)
Set new text in label.
Definition TGLabel.cxx:180
This class describes layout hints used by the layout classes.
Definition TGLayout.h:50
TGNumberEntry is a number entry input widget with up/down buttons.
virtual void SetIntNumber(Long_t val, Bool_t emit=kTRUE)
TGClient * fClient
Connection to display server.
Definition TGObject.h:25
Selects different options.
Definition TGButton.h:321
Service classes of the tab widget.
Definition TGTab.h:117
A tab widget contains a set of composite frames each with a little tab with a name (like a set of fol...
Definition TGTab.h:46
TGTabElement * GetTabTab(Int_t tabIndex) const
Return the tab element of tab with index tabIndex.
Definition TGTab.cxx:663
virtual Bool_t SetTab(Int_t tabIndex, Bool_t emit=kTRUE)
Brings the composite frame with the index tabIndex to the front and generate the following event if t...
Definition TGTab.cxx:558
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
Definition TGTab.cxx:376
This class describes layout hints used by the TGTableLayout class.
A layout manager, which places child frames in a table arranged in rows and columns,...
Yield an action as soon as it is clicked.
Definition TGButton.h:142
static FontStruct_t GetDefaultFontStruct()
Return default font structure.
Definition TGButton.cxx:869
virtual void SetText(TGHotString *new_label)
Set new button text.
Definition TGButton.cxx:644
A composite frame that layout their children in vertical way.
Definition TGFrame.h:374
TGVerticalFrame(const TGWindow *p=nullptr, UInt_t w=1, UInt_t h=1, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Definition TGFrame.h:376
static TClass * Class()
ROOT GUI Window base class.
Definition TGWindow.h:23
virtual UInt_t GetEditDisabled() const
Definition TGWindow.h:112
virtual void SetEditDisabled(UInt_t on=kEditDisable)
Definition TGWindow.h:113
@ kEditDisableLayout
window layout cannot be edited
Definition TGWindow.h:60
virtual void SetWindowName(const char *name=nullptr)
Set window name.
Definition TGWindow.cxx:129
const TGWindow * GetParent() const
Definition TGWindow.h:83
UInt_t fEditDisabled
flags used for "guibuilding"
Definition TGWindow.h:32
TGButtonGroup * fBtnGroup
void ChangeSelected(TGFrame *)
Perform actions when selected frame was changed.
TGuiBldEditor * fEditor
TGuiBldBorderFrame(const TGWindow *p, TGuiBldEditor *editor)
Constructor.
~TGuiBldBorderFrame() override
TGColorSelect * fBgndFrame
void SelectFrame(TGFrame *frame, Bool_t add=kFALSE)
Grab/Select frame.
void SetEditable(Bool_t on=kTRUE) override
Grab server.
The property editor.
void ChangeSelected(TGFrame *)
Change selected frame.
TGuiBldHintsEditor * fHintsFrame
TGuiBldNameFrame * fNameFrame
void UpdateSelected(TGFrame *=nullptr)
Update selected frame.
void Reset()
Reset the editor.
void RemoveFrame(TGFrame *) override
Remove a frame.
TGTextButton * fLayoutButton
TGFrame * fSelected
TGNumberEntry * fXpos
TGuiBldGeometryFrame * fGeomFrame
TGLabel * fLayoutLabel
void TabSelected(Int_t id)
Handle selected.
TGNumberEntry * fYpos
TGuiBldEditor(const TGWindow *p=nullptr)
Constructor.
void SwitchLayout()
Popup dialog to set layout of edited frame off.
void Hide()
Hide editor.
void UpdateForeground(Pixel_t col)
Update foreground.
TGCompositeFrame * fTablay
TGGroupFrame * fPositionFrame
void UpdateBorder(Int_t)
Update border of selected frame.
void UpdateBackground(Pixel_t col)
Update background.
~TGuiBldEditor() override
Destructor.
TGuiBldBorderFrame * fBorderFrame
void ChangeSelected(TGFrame *frame)
Update number entries when new frame selected.
Editor of widget's layout hints used by the ROOT GUI builder.
void ChangeSelected(TGFrame *)
Change selected.
void Reset()
Reset name frame.
void RemoveFrame(TGFrame *frame) override
Remove a frame.
TGCompositeFrame * GetMdi(TGFrame *frame)
Find the parent mdi frame.
void ChangeSelected(TGFrame *frame)
Change selected frame.
static TGuiBuilder * Instance()
return an instance of TGuiBuilder object
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
Definition TObject.cxx:542
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Definition TQObject.h:164
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
Definition TQObject.cxx:869
Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
TGuiBldDragManager * GetManager() const