Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGuiBldHintsEditor.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#include "TGuiBldHintsEditor.h"
13#include "TGuiBldHintsButton.h"
14#include "TGNumberEntry.h"
15#include "TGuiBldEditor.h"
16#include "TGLabel.h"
17#include "TG3DLine.h"
18#include "TGuiBldNameFrame.h"
20#include "TRootGuiBuilder.h"
21#include "TGTableLayout.h"
22
23
24/** \class TGuiBldHintsEditor
25 \ingroup guibuilder
26
27Editor of widget's layout hints used by the ROOT GUI builder.
28
29*/
30
31
32
33////////////////////////////////////////////////////////////////////////////////
53
54////////////////////////////////////////////////////////////////////////////////
55/// Constructor.
56
59 TGVerticalFrame(p, 1, 1), fEditor(e), fHints(hints)
60{
63 fRows = 0;
64 fColumns = 0;
65
66 //-----check button to layout subframes was moved to HintsEditor to be generalized ------
67
68 // "Matrix layout" group frame
69 TGGroupFrame *fGroupFrame4066 = new TGGroupFrame(this, "Matrix layout");
71
72 f->AddFrame(new TGLabel(f," Cols "), new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
74 f->AddFrame(fColumns, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
75
76 f->AddFrame(new TGLabel(f," Rows "), new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
78 f->AddFrame(fRows, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
79
80 fGroupFrame4066->AddFrame(f, new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 2, 2, 2, 2));
81
84
86
87 fAppButton->Connect("Clicked()", "TGuiBldHintsEditor", fHints, "MatrixLayout()");
88 //fRows->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHints, "MatrixLayout()");
89 //fColumns->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHints, "MatrixLayout()");
90 fRows->GetNumberEntry()->Connect("ReturnPressed()", "TGuiBldHintsEditor", fHints, "MatrixLayout()");
91 fColumns->GetNumberEntry()->Connect("ReturnPressed()", "TGuiBldHintsEditor", fHints, "MatrixLayout()");
94
95 fPadTop = 2;
96 fPadBottom = 2;
97 fPadLeft = 2;
98 fPadRight = 2;
99
101 Resize();
102 MapWindow();
103}
104
105////////////////////////////////////////////////////////////////////////////////
106/// action when selected/grabbed frame was changed
107
109{
110 fMatrix = 0;
111
112 if (!frame) {
113 UnmapWindow();
116 fRows->SetNumber(0);
118 return;
119 }
120
123
124 if (!enable) {
125 UnmapWindow();
128 fRows->SetNumber(0);
130 } else {
132 TGLayoutManager *lm = comp->GetLayoutManager();
133
134 if (!lm) {
135 return;
136 }
137 Int_t n = comp->GetList()->GetEntries();
138
139 MapWindow();
142
143 if (lm->IsA() == TGVerticalLayout::Class()) {
144 fRows->SetNumber(n);
146 } else if (lm->IsA() == TGHorizontalLayout::Class()) {
148 fRows->SetNumber(1);
149 } else if (lm->IsA() == TGMatrixLayout::Class()) {
151
154 }
155 }
156 DoRedraw();
157}
158
159///////////////////////////////////////////////////////////////////////////////
160////////////////////////////////////////////////////////////////////////////////
161/// ctor.
162
164 TGVerticalFrame(p, 1, 1), fEditor(e)
165{
167
169
171
172 // horizontal frame - layout subframes (token from matrix layout)
175 framez399->AddFrame(fLayButton, new TGLayoutHints(kLHintsLeft | kLHintsTop,0,1,2,2));
176 TGLabel *framez401 = new TGLabel(framez399,"Layout subframes");
178
180
181 fLayButton->Connect("Toggled(Bool_t)", "TGuiBldHintsEditor", this, "LayoutSubframes(Bool_t)");
182
183 //--------layout hints in new layout---------------------------------------
184
185 // "Padding" group frame
186 fPaddingFrame = new TGGroupFrame(frame3, "Padding");
188
190 new TGTableLayoutHints(0, 1, 0, 1,
191 kLHintsRight | kLHintsCenterY, 0, 2, 2, 2));
194 kLHintsLeft | kLHintsCenterY, 0, 0, 2, 2));
195
197 new TGTableLayoutHints(2, 3, 0, 1,
198 kLHintsRight | kLHintsCenterY, 2, 2, 2, 2));
201 kLHintsLeft | kLHintsCenterY, 0, 0, 2, 2));
202
204 new TGTableLayoutHints(0, 1, 1, 2,
205 kLHintsRight | kLHintsCenterY, 0, 2, 2, 2));
208 kLHintsLeft | kLHintsCenterY, 0, 0, 2, 2));
209
211 new TGTableLayoutHints(2, 3, 1, 2,
212 kLHintsRight | kLHintsCenterY, 2, 2, 2, 2));
215 kLHintsLeft | kLHintsCenterY, 0, 0, 2, 2));
216
217 frame3->AddFrame(fPaddingFrame, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
218
219 // "Layout" group frame
220 fHintsFrame = new TGGroupFrame(frame3,"Layout");
221
223
224 fCbTop = new TGCheckButton(fHintsFrame, "Top");
226 kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
227
228 fCbBottom = new TGCheckButton(fHintsFrame, "Bottom");
230 kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
231
232 fCbLeft = new TGCheckButton(fHintsFrame, "Left");
234 kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
235
236 fCbRight = new TGCheckButton(fHintsFrame, "Right");
238 kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
239
240 fCbCenterX = new TGCheckButton(fHintsFrame, "Center in X");
242 kLHintsLeft | kLHintsCenterY, 9, 2, 2, 2));
243
244 fCbCenterY = new TGCheckButton(fHintsFrame, "Center in Y");
246 kLHintsLeft | kLHintsCenterY, 9, 2, 2, 2));
247
248 fCbExpandX = new TGCheckButton(fHintsFrame, "Expand in X");
250 kLHintsLeft | kLHintsCenterY, 9, 2, 2, 2));
251
252 fCbExpandY = new TGCheckButton(fHintsFrame, "Expand in Y");
254 kLHintsLeft | kLHintsCenterY, 9, 2, 2, 2));
255
256 frame3->AddFrame(fHintsFrame, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
257
262
264 Resize();
266 MapWindow();
267
268 fCbTop->Connect("Clicked()", "TGButton", fCbBottom, "SetDown(=kFALSE)");
269 fCbBottom->Connect("Clicked()", "TGButton", fCbTop, "SetDown(=kFALSE)");
270 fCbRight->Connect("Clicked()", "TGButton", fCbLeft, "SetDown(=kFALSE)");
271 fCbLeft->Connect("Clicked()", "TGButton", fCbRight, "SetDown(=kFALSE)");
272
273 fCbTop->Connect("Clicked()", "TGuiBldHintsEditor", this, "UpdateState()");
274 fCbBottom->Connect("Clicked()", "TGuiBldHintsEditor", this, "UpdateState()");
275 fCbRight->Connect("Clicked()", "TGuiBldHintsEditor", this, "UpdateState()");
276 fCbLeft->Connect("Clicked()", "TGuiBldHintsEditor", this, "UpdateState()");
277 fCbExpandX->Connect("Clicked()", "TGuiBldHintsEditor", this, "UpdateState()");
278 fCbCenterX->Connect("Clicked()", "TGuiBldHintsEditor", this, "UpdateState()");
279 fCbExpandY->Connect("Clicked()", "TGuiBldHintsEditor", this, "UpdateState()");
280 fCbCenterY->Connect("Clicked()", "TGuiBldHintsEditor", this, "UpdateState()");
281
282 fPadTop->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", this, "UpdateState()");
283 fPadLeft->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", this, "UpdateState()");
284 fPadRight->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", this, "UpdateState()");
285 fPadBottom->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", this, "UpdateState()");
286
287 fPadTop->GetNumberEntry()->Connect("ReturnPressed()", "TGuiBldHintsEditor", this, "UpdateState()");
288 fPadLeft->GetNumberEntry()->Connect("ReturnPressed()", "TGuiBldHintsEditor", this, "UpdateState()");
289 fPadRight->GetNumberEntry()->Connect("ReturnPressed()", "TGuiBldHintsEditor", this, "UpdateState()");
290 fPadBottom->GetNumberEntry()->Connect("ReturnPressed()", "TGuiBldHintsEditor", this, "UpdateState()");
291}
292
293
294////////////////////////////////////////////////////////////////////////////////
295/// Change selected
296
298{
299 if (!frame) {
300 return;
301 }
303
304 if (!fe) {
305 return;
306 }
307
309
310 ULong_t lh = fe->fLayout->GetLayoutHints();
311
318
323
328
333
334 fPadTop->SetIntNumber(fe->fLayout->GetPadTop());
335 fPadLeft->SetIntNumber(fe->fLayout->GetPadLeft());
336 fPadRight->SetIntNumber(fe->fLayout->GetPadRight());
337 fPadBottom->SetIntNumber(fe->fLayout->GetPadBottom());
338}
339
340////////////////////////////////////////////////////////////////////////////////
341/// Update state
342
344{
345 TGFrame *frame = fEditor->GetSelected();
346
347 if (!frame) {
348 return;
349 }
350
352
353 if (!fe) {
354 return;
355 }
356
357 if (fLayButton->IsDown() &&
358 ((gTQSender == fPadTop) || (gTQSender == fPadBottom) ||
359 (gTQSender == fPadLeft) || (gTQSender == fPadRight))) {
360 SetMatrixSep();
361 return;
362 }
363
364 ULong_t lh = fe->fLayout->GetLayoutHints();
365
366 if (fCbCenterX->IsDown()) {
368 } else {
370 }
371
372 if (fCbCenterY->IsDown()) {
374 } else {
376 }
377
378 if (fCbExpandX->IsDown()) {
380 } else {
382 }
383
384 if (fCbExpandY->IsDown()) {
386 } else {
388 }
389
390 if (fCbTop->IsDown()) {
391 lh |= kLHintsTop;
393 } else {
394 lh &= ~kLHintsTop;
395 }
396
397 if (fCbBottom->IsDown()) {
398 lh |= kLHintsBottom;
399 lh &= ~kLHintsTop;
400 } else {
402 }
403
404 if (fCbRight->IsDown()) {
405 lh |= kLHintsRight;
406 lh &= ~kLHintsLeft;
407 } else {
408 lh &= ~kLHintsRight;
409 }
410
411 if (fCbLeft->IsDown()) {
412 lh |= kLHintsLeft;
413 lh &= ~kLHintsRight;
414 } else {
415 lh &= ~kLHintsLeft;
416 }
417
418 if (fPadLeft->GetIntNumber() >=0) {
419 fe->fLayout->SetPadLeft(fPadLeft->GetIntNumber());
420 }
421 if (fPadRight->GetIntNumber() >=0) {
422 fe->fLayout->SetPadRight(fPadRight->GetIntNumber());
423 }
424 if (fPadTop->GetIntNumber() >=0) {
425 fe->fLayout->SetPadTop(fPadTop->GetIntNumber());
426 }
427 if (fPadBottom->GetIntNumber() >=0) {
428 fe->fLayout->SetPadBottom(fPadBottom->GetIntNumber());
429 }
430
431 if (fe->fLayout->References() > 1) {
432 TGLayoutHints *lh2 = new TGLayoutHints(*fe->fLayout);
433 fe->fLayout->RemoveReference();
434 lh2->AddReference();
435 fe->fLayout = lh2;
436 } else {
437 fe->fLayout->SetLayoutHints(lh);
438 }
439
440 fEditor->UpdateSelected(frame);
441}
442
443////////////////////////////////////////////////////////////////////////////////
444/// Set the position of selected frame when adjusted by the right panel input.
445
447{
448 if (!fEditor) {
449 return;
450 }
451 TGFrame *frame = fEditor->GetSelected();
452
453 if (!frame) {
454 //fNameFrame->Reset();
455 return;
456 }
457
458 if ((fEditor->GetXPos() >= 0) && (fEditor->GetYPos() >= 0)) {
460 frame->GetWidth(), frame->GetHeight());
461 fClient->NeedRedraw(frame, kTRUE);
462 TGWindow *root = (TGWindow*)fClient->GetRoot();
463 fClient->NeedRedraw(root, kTRUE);
464 if (fBuilder) {
466 }
467 } else {
468 fEditor->SetYPos(frame->GetY());
469 fEditor->SetXPos(frame->GetX());
470 }
471}
472
473
474////////////////////////////////////////////////////////////////////////////////
475/// Layout subframes.
476
478{
479 if (!fEditor) {
480 return;
481 }
482 TGFrame *frame = fEditor->GetSelected();
483
484 if (!frame) {
485 //fNameFrame->Reset();
486 return;
487 }
488
490
491 if (!fe) {
492 //fNameFrame->Reset();
493 return;
494 }
495
498
499 if (!on) {
504
505 ChangeSelected(frame);
506 return;
507 }
508 if (!enable) {
509 return;
510 }
511
515 comp->SetLayoutBroken(kFALSE);
516
517 if (!fHintsManager->fMatrix) {
518 if (!(frame->GetParent()->GetEditDisabled() & kEditDisableLayout)) {
519 //comp->Resize();
520 comp->Layout();
521 } else {
522 if (comp->GetLayoutManager()) {
523 comp->GetLayoutManager()->Layout();
524 } else {
525 comp->Layout();
526 }
527 }
528 return;
529 }
530
531 MatrixLayout();
532
533}
534
535////////////////////////////////////////////////////////////////////////////////
536/// Set matrix layout separator.
537
539{
540 TGFrame *frame = fEditor->GetSelected();
541
542 if (!frame) {
543 //fNameFrame->Reset();
544 return;
545 }
546
548
549 if (!fe) {
550 //fNameFrame->Reset();
551 return;
552 }
553
555 !(frame->GetEditDisabled() & kEditDisableLayout) &&
556 ((TGCompositeFrame*)frame)->GetLayoutManager() &&
557 ((TGCompositeFrame*)frame)->GetLayoutManager()->InheritsFrom(TGMatrixLayout::Class());
558
559 if (!enable) {
560 return;
561 }
562
564 UInt_t sep = ne->GetIntNumber();
565
566 fPadTop->SetIntNumber(sep);
571
572 fHintsManager->fMatrix->fSep = sep;
573 frame->SetLayoutBroken(kFALSE);
574
575 if (!(frame->GetParent()->GetEditDisabled() & kEditDisableLayout)) {
576 frame->Resize();
577 } else {
579 }
580 fClient->NeedRedraw(frame, kTRUE);
581}
582
583////////////////////////////////////////////////////////////////////////////////
584/// Apply matrix layout.
585
587{
588 TGFrame *frame = fEditor->GetSelected();
589
590 if (!frame) {
591 //fNameFrame->Reset();
592 return;
593 }
594
596
597 if (!fe) {
598 //fNameFrame->Reset();
599 return;
600 }
601
604
605 if (!enable) {
606 return;
607 }
608
610
613 UInt_t sep = fPadTop->GetIntNumber();
614
619
624
629
630 fPadTop->SetIntNumber(sep);
634
637
638 comp->SetLayoutBroken(kFALSE);
639
641 comp->SetLayoutManager(fHintsManager->fMatrix);
642
643 if (!(comp->GetParent()->GetEditDisabled() & kEditDisableLayout)) {
644 comp->Layout(); //resize?
645 } else {
647 }
649}
@ kVerticalFrame
Definition GuiTypes.h:381
@ kHorizontalFrame
Definition GuiTypes.h:382
#define f(i)
Definition RSha256.hxx:104
#define e(i)
Definition RSha256.hxx:103
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
Definition RtypesCore.h:69
constexpr Bool_t kFALSE
Definition RtypesCore.h:108
constexpr Bool_t kTRUE
Definition RtypesCore.h:107
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
@ kDeepCleanup
Definition TGFrame.h:42
@ kLHintsRight
Definition TGLayout.h:26
@ kLHintsExpandY
Definition TGLayout.h:31
@ kLHintsLeft
Definition TGLayout.h:24
@ kLHintsCenterY
Definition TGLayout.h:28
@ kLHintsCenterX
Definition TGLayout.h:25
@ kLHintsBottom
Definition TGLayout.h:29
@ kLHintsTop
Definition TGLayout.h:27
@ kLHintsExpandX
Definition TGLayout.h:30
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
R__EXTERN void * gTQSender
Definition TQObject.h:46
virtual void SetDown(Bool_t on=kTRUE, Bool_t emit=kFALSE)
Definition TGButton.cxx:304
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition TGButton.cxx:453
Selects different options.
Definition TGButton.h:264
Bool_t IsDown() const override
Definition TGButton.h:311
const TGWindow * GetRoot() const
Returns current root (i.e.
Definition TGClient.cxx:223
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
Definition TGClient.cxx:380
The base class for composite widgets (menu bars, list boxes, etc.).
Definition TGFrame.h:289
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
Definition TGFrame.cxx:992
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
Definition TGFrame.cxx:1109
virtual TGLayoutManager * GetLayoutManager() const
Definition TGFrame.h:340
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
Definition TGFrame.cxx:1156
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
Definition TGFrame.cxx:1064
void SetEditDisabled(UInt_t on=1) override
Set edit disable flag for this frame and subframes.
Definition TGFrame.cxx:1014
static TClass * Class()
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
Definition TGFrame.h:80
void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0) override
Move and/or resize the frame.
Definition TGFrame.cxx:621
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
Definition TGFrame.cxx:597
void DoRedraw() override
Redraw the frame.
Definition TGFrame.cxx:422
void MapWindow() override
map window
Definition TGFrame.h:206
TGFrameElement * GetFrameElement() const
Definition TGFrame.h:237
virtual void SetLayoutBroken(Bool_t=kTRUE)
Definition TGFrame.h:217
Int_t GetX() const
Definition TGFrame.h:233
void UnmapWindow() override
unmap window
Definition TGFrame.h:208
UInt_t GetHeight() const
Definition TGFrame.h:227
Int_t GetY() const
Definition TGFrame.h:234
UInt_t GetWidth() const
Definition TGFrame.h:226
A composite frame with a border and a title.
Definition TGFrame.h:524
A composite frame that layout their children in horizontal way.
Definition TGFrame.h:387
static TClass * Class()
This class handles GUI labels.
Definition TGLabel.h:24
This class describes layout hints used by the layout classes.
Definition TGLayout.h:50
Frame layout manager.
Definition TGLayout.h:135
This layout managers does not make use of TGLayoutHints.
Definition TGLayout.h:269
UInt_t fRows
number of rows
Definition TGLayout.h:282
Int_t fSep
interval between frames
Definition TGLayout.h:280
static TClass * Class()
UInt_t fColumns
number of columns
Definition TGLayout.h:283
void Layout() override
Make a matrix layout of all frames in the list.
Definition TGLayout.cxx:625
TGNumberEntry is a number entry input widget with up/down buttons.
TGNumberEntryField * GetNumberEntry() const
Get the number entry field.
virtual void SetLimits(ELimit limits=TGNumberFormat::kNELNoLimits, Double_t min=0, Double_t max=1)
virtual void SetState(Bool_t enable=kTRUE)
Set the active state.
virtual void SetIntNumber(Long_t val, Bool_t emit=kTRUE)
virtual Long_t GetIntNumber() const
virtual void SetNumber(Double_t val, Bool_t emit=kTRUE)
@ kNELLimitMin
Lower limit only.
TGClient * fClient
Connection to display server.
Definition TGObject.h:25
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
A composite frame that layout their children in vertical way.
Definition TGFrame.h:376
TGVerticalFrame(const TGWindow *p=nullptr, UInt_t w=1, UInt_t h=1, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Definition TGFrame.h:378
static TClass * Class()
ROOT GUI Window base class.
Definition TGWindow.h:23
virtual UInt_t GetEditDisabled() const
Definition TGWindow.h:112
@ kEditDisableHeight
window height cannot be edited
Definition TGWindow.h:62
@ kEditDisableLayout
window layout cannot be edited
Definition TGWindow.h:60
@ kEditDisableWidth
window width cannot be edited
Definition TGWindow.h:63
@ kEditDisable
disable edit of this window
Definition TGWindow.h:57
const TGWindow * GetParent() const
Definition TGWindow.h:83
UInt_t fEditDisabled
flags used for "guibuilding"
Definition TGWindow.h:32
The property editor.
void SetXPos(Int_t pos)
void UpdateSelected(TGFrame *=nullptr)
Update selected frame.
void SetYPos(Int_t pos)
TGFrame * GetSelected() const
Int_t GetXPos() const
Int_t GetYPos() const
Editor of widget's layout hints used by the ROOT GUI builder.
TGCheckButton * fCbLeft
void MatrixLayout()
Apply matrix layout.
void LayoutSubframes(Bool_t on=kTRUE)
Layout subframes.
TGCheckButton * fCbTop
TGuiBldEditor * fEditor
TGCheckButton * fLayButton
TGGroupFrame * fHintsFrame
TGNumberEntry * fPadBottom
TGNumberEntry * fPadLeft
TRootGuiBuilder * fBuilder
TGuiBldHintsManager * fHintsManager
TGNumberEntry * fPadRight
void ChangeSelected(TGFrame *)
Change selected.
TGuiBldHintsEditor(const TGWindow *p, TGuiBldEditor *e)
ctor.
TGGroupFrame * fPaddingFrame
TGCheckButton * fCbExpandY
TGCheckButton * fCbRight
void SetMatrixSep()
Set matrix layout separator.
TGCheckButton * fCbCenterX
TGCheckButton * fCbExpandX
void UpdateState()
Update state.
TGCheckButton * fCbCenterY
void SetPosition()
Set the position of selected frame when adjusted by the right panel input.
TGNumberEntry * fPadTop
TGCheckButton * fCbBottom
TGuiBldHintsEditor * fHints
TGuiBldHintsManager(const TGWindow *p, TGuiBldEditor *editor, TGuiBldHintsEditor *hints)
Constructor.
void ChangeSelected(TGFrame *frame)
action when selected/grabbed frame was changed
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:543
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:865
const Int_t n
Definition legend1.C:16