Logo ROOT   6.18/05
Reference Guide
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//////////////////////////////////////////////////////////////////////////
13// //
14// TGuiBldEditor - the property editor //
15// //
16//////////////////////////////////////////////////////////////////////////
17
18#include "TGuiBldEditor.h"
19#include "TRootGuiBuilder.h"
20#include "TGuiBldHintsEditor.h"
21#include "TGuiBldNameFrame.h"
23#include "TGResourcePool.h"
24#include "TGTab.h"
25#include "TGLabel.h"
26#include "TGButtonGroup.h"
27#include "TGNumberEntry.h"
28#include "TG3DLine.h"
29#include "TGColorSelect.h"
30#include "TGColorDialog.h"
31#include "TGCanvas.h"
32#include "TGListTree.h"
33#include "TGuiBldDragManager.h"
34#include "TMethod.h"
35#include "TGMsgBox.h"
36#include "TGIcon.h"
37#include "TGFrame.h"
38#include "TGSplitter.h"
39#include "TGTableLayout.h"
40
42
43
44////////////////////////////////////////////////////////////////////////////////
45class TGuiBldBorderFrame : public TGVerticalFrame {
46
47private:
48 enum EBldBorderFrameMode {
49 kBldBorderNone, kBldBorderSunken,
50 kBldBorderPlain, kBldBorderRaised,
51 kBldBorderDouble };
52
53private:
54 TGuiBldEditor *fEditor;
55 TGFrame *fSelected;
56 TGButtonGroup *fBtnGroup;
57 TGColorSelect *fBgndFrame;
58
59public:
60 TGuiBldBorderFrame(const TGWindow *p, TGuiBldEditor *editor);
61 virtual ~TGuiBldBorderFrame() { }
62
63 void ChangeSelected(TGFrame*);
64};
65
66////////////////////////////////////////////////////////////////////////////////
67/// Constructor.
68
69TGuiBldBorderFrame::TGuiBldBorderFrame(const TGWindow *p, TGuiBldEditor *editor) :
70 TGVerticalFrame(p, 1, 1)
71{
72 fEditor = editor;
73 fEditDisabled = 1;
74 fBgndFrame = 0;
75
76 SetCleanup(kDeepCleanup);
77
78 fBtnGroup = new TGButtonGroup(this, "Border Mode");
79
80 TGRadioButton *frame299 = new TGRadioButton(fBtnGroup," Sunken",kBldBorderSunken);
81 frame299->SetToolTipText("Set a sunken border of the frame");
82 TGRadioButton *frame302 = new TGRadioButton(fBtnGroup," None",kBldBorderPlain);
83 frame302->SetToolTipText("Set no border of the frame");
84 TGRadioButton *frame305 = new TGRadioButton(fBtnGroup," Raised",kBldBorderRaised);
85 frame305->SetToolTipText("Set a raised border of the frame");
86 frame305->SetState(kButtonDown);
87 TGCheckButton *check = new TGCheckButton(fBtnGroup," Double",kBldBorderDouble);
88 check->SetToolTipText("Set double border of the frame");
89 //TQObject::Disconnect(check);
90
91 fBtnGroup->SetRadioButtonExclusive(kTRUE);
92 AddFrame(fBtnGroup, new TGLayoutHints(kLHintsCenterX | kLHintsTop));
93 fBtnGroup->Connect("Pressed(Int_t)", "TGuiBldEditor", fEditor, "UpdateBorder(Int_t)");
94 check->Connect("Pressed()", "TGuiBldEditor", fEditor, "UpdateBorder(=4)");
95 check->Connect("Released()", "TGuiBldEditor", fEditor, "UpdateBorder(=5)");
96
97 TGCompositeFrame *f = new TGGroupFrame(this, "Palette");
98 TGHorizontalFrame *hf = new TGHorizontalFrame(f ,1, 1);
99 fBgndFrame = new TGColorSelect(hf, 0, 1);
100 fBgndFrame->SetEditDisabled();
101 fBgndFrame->SetColor(GetDefaultFrameBackground());
102 fBgndFrame->Connect("ColorSelected(Pixel_t)", "TGuiBldEditor", fEditor,
103 "UpdateBackground(Pixel_t)");
104 hf->AddFrame(fBgndFrame, new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2));
105 hf->AddFrame(new TGLabel(hf, "Backgrnd"), new TGLayoutHints(kLHintsTop |
106 kLHintsLeft, 2, 2, 2, 2));
107 f->AddFrame(hf, new TGLayoutHints(kLHintsCenterX | kLHintsTop, 2, 2, 2, 2));
108 AddFrame(f, new TGLayoutHints(kLHintsCenterX | kLHintsTop));
109}
110
111////////////////////////////////////////////////////////////////////////////////
112/// Perform actions when selected frame was changed.
113
114void TGuiBldBorderFrame::ChangeSelected(TGFrame *frame)
115{
116 fSelected = frame;
117
118 if (!frame) {
119 return;
120 }
121
122 UInt_t opt = fSelected->GetOptions();
123
124 fBtnGroup->SetButton(kBldBorderDouble, opt & kDoubleBorder);
125 fBtnGroup->SetButton(kBldBorderSunken, opt & kSunkenFrame);
126 fBtnGroup->SetButton(kBldBorderRaised, opt & kRaisedFrame);
127 fBtnGroup->SetButton(kBldBorderPlain, !(opt & kRaisedFrame) && !(opt & kSunkenFrame));
128
129 if (fBgndFrame) {
130 TQObject::Disconnect(fBgndFrame);
131 fBgndFrame->SetColor(fSelected->GetBackground());
132 fBgndFrame->Connect("ColorSelected(Pixel_t)", "TGuiBldEditor", fEditor, "UpdateBackground(Pixel_t)");
133 }
134}
135
136////////////////////////////////////////////////////////////////////////////////
137////////////////////////////////////////////////////////////////////////////////
138/// Constructor.
139
141{
143 TGVerticalFrame *vf;
144 fSelected = 0;
146
147 fNameFrame = new TGuiBldNameFrame(this, this);
149
150 TGHSplitter *splitter = new TGHSplitter(this,100,5);
152 splitter->SetFrame(fNameFrame, kTRUE);
153
154 //------------frame with layout switch
155 hf = new TGHorizontalFrame(this);
156 hf->AddFrame(new TGLabel(hf, "Composite Frame Layout"),
157 new TGLayoutHints(kLHintsLeft | kLHintsTop, 2, 2, 2, 2));
159 kLHintsExpandX, 2, 2, 2, 2));
160 AddFrame(hf, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
161
162 vf = new TGVerticalFrame(this);
163 fLayoutLabel = new TGLabel(vf, "Automatic Layout Disabled");
165 2, 2, 2, 2));
166
167 fLayoutButton = new TGTextButton(vf," Enable layout ");
170 2, 2, 2, 2));
171
172 AddFrame(vf, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
173
175 kLHintsExpandX, 2, 2, 2, 2));
176
177 fLayoutButton->Connect("Clicked()", "TGuiBldEditor", this, "SwitchLayout()");
178 fLayoutButton->SetToolTipText("If layout is on, all the frame \nelements get layouted automatically.");
179
180 //-----------------------------
181
182 fTab = new TGTab(this, 80, 40);
184 fTablay = fTab->AddTab("Layout");
185 TGCompositeFrame *tabcont = fTab->AddTab("Style");
186 fLayoutId = 1; // 2nd tab
187 fTab->Connect("Selected(Int_t)", "TGuiBldEditor", this, "TabSelected(Int_t)");
188
191 2, 2, 2, 2));
192
195 2, 2, 2, 2));
196
197 //----------------Position X,Y boxes---------------
198
199 fPositionFrame = new TGGroupFrame(fTablay, "Position");
200
202
203 vf = new TGVerticalFrame(hf);
204 vf->SetLayoutManager(new TGTableLayout(vf, 2, 2));
205
206 vf->AddFrame(new TGLabel(vf, " X "), new TGTableLayoutHints(0, 1, 0, 1,
207 kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
208 fXpos = new TGNumberEntry(vf, 0.0, 4, -1, (TGNumberFormat::EStyle)5);
209 vf->AddFrame(fXpos, new TGTableLayoutHints(1, 2, 0, 1, kLHintsCenterY |
210 kLHintsLeft, 2, 2, 2, 2));
211
212 vf->AddFrame(new TGLabel(vf, " Y "), new TGTableLayoutHints(0, 1, 1, 2,
213 kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
214 fYpos = new TGNumberEntry(vf, 0.0, 4, -1, (TGNumberFormat::EStyle)5);
215 vf->AddFrame(fYpos, new TGTableLayoutHints(1, 2, 1, 2, kLHintsCenterY |
216 kLHintsLeft, 2, 2, 2, 2));
217
219
220 vf = new TGVerticalFrame(hf);
221 vf->SetLayoutManager(new TGTableLayout(vf, 3, 3));
222
223 TGTextButton *fTextButton6366 = new TGTextButton(vf, "^", -1,
227 fTextButton6366->Resize(20,20);
228 vf->AddFrame(fTextButton6366, new TGTableLayoutHints(1, 2, 0, 1,
229 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
230
231 TGTextButton *fTextButton6367 = new TGTextButton(vf, "v", -1,
235 fTextButton6367->Resize(20,20);
236 vf->AddFrame(fTextButton6367, new TGTableLayoutHints(1, 2, 2, 3,
237 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
238
239 TGTextButton *fTextButton6364 = new TGTextButton(vf, "<", -1,
243 fTextButton6364->Resize(20,20);
244 vf->AddFrame(fTextButton6364, new TGTableLayoutHints(0, 1, 1, 2,
245 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
246
247 TGTextButton *fTextButton6365 = new TGTextButton(vf, ">", -1,
251 fTextButton6365->Resize(20,20);
252 vf->AddFrame(fTextButton6365, new TGTableLayoutHints(2, 3, 1, 2,
253 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
254
256
258
260
261 fXpos->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
262 fYpos->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
263
264 fTextButton6364->Connect("Clicked()", "TGNumberEntry", fXpos, "IncreaseNumber(TGNumberFormat::EStepSize=0,-1)");
265 fTextButton6364->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
266 fTextButton6365->Connect("Clicked()", "TGNumberEntry", fXpos, "IncreaseNumber()");
267 fTextButton6365->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
268 fTextButton6366->Connect("Clicked()", "TGNumberEntry", fYpos, "IncreaseNumber(TGNumberFormat::EStepSize=0,-1)");
269 fTextButton6366->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
270 fTextButton6367->Connect("Clicked()", "TGNumberEntry", fYpos, "IncreaseNumber()");
271 fTextButton6367->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
272
273 //----------------------------------------------------
274
275 fBorderFrame = new TGuiBldBorderFrame(tabcont, this);
276 tabcont->AddFrame(fBorderFrame, new TGLayoutHints(kLHintsExpandX, 2, 2, 2, 2));
277
279 SetWindowName("Frame Property Editor");
281
283}
284
285////////////////////////////////////////////////////////////////////////////////
286/// Destructor.
287
289{
290}
291
292////////////////////////////////////////////////////////////////////////////////
293/// Remove a frame.
294
296{
297 fNameFrame->RemoveFrame(frame);
298}
299
300////////////////////////////////////////////////////////////////////////////////
301/// Handle selected.
302
304{
305 if (id == fLayoutId) {
306 //printf("%d\n", fSelected);
307 }
308}
309
310////////////////////////////////////////////////////////////////////////////////
311/// Hide editor.
312
314{
315 UnmapWindow();
316}
317
318////////////////////////////////////////////////////////////////////////////////
319/// Change selected frame.
320
322{
324
325 if (!frame) {
327 //fTab->SetTab(0);
328 if (tab) {
329 tab->SetEnabled(kFALSE);
330 fClient->NeedRedraw(tab);
331 }
332 return;
333 }
334
335 fSelected = frame;
336 TGWindow *parent = (TGWindow*)fSelected->GetParent();
337
339
340 Bool_t enable_layout = kFALSE;
341 enable_layout |= parent && !(parent->GetEditDisabled() & kEditDisableLayout);
342 enable_layout |= !(fSelected->GetEditDisabled() & kEditDisableLayout);
343 enable_layout |= parent && (parent->InheritsFrom(TGCompositeFrame::Class()) &&
344 !((TGCompositeFrame*)parent)->IsLayoutBroken());
345 enable_layout |= (fSelected->InheritsFrom(TGCompositeFrame::Class()) &&
347
348 if (enable_layout) {
350
351 if (tab) {
352 tab->SetEnabled(kTRUE);
353 fClient->NeedRedraw(tab);
354 }
355 } else {
357
358 if (tab) {
359 fTab->SetTab(0);
360 tab->SetEnabled(kFALSE);
361 fClient->NeedRedraw(tab);
362 }
363 }
364
365 if ((frame->InheritsFrom(TGHorizontalFrame::Class())) ||
367 (frame->InheritsFrom(TGGroupFrame::Class())) ) {
368
370 if (fSelected->IsLayoutBroken()) {
371 fLayoutButton->SetText(" Enable layout ");
372 fLayoutLabel->SetText("Automatic layout disabled");
373 if (fTablay) {
377 }
378 } else {
379 fLayoutButton->SetText(" Disable layout ");
380 fLayoutLabel->SetText("Automatic layout enabled");
381 if (fTablay) {
385 }
386 }
387 }
388 else {
390 TGFrame *parentf = (TGFrame*)frame->GetParent();
391 if (parentf->IsLayoutBroken()) {
392 fLayoutButton->SetText(" Enable layout ");
393 fLayoutLabel->SetText("Automatic layout disabled");
397 } else {
398 fLayoutButton->SetText(" Disable layout ");
399 fLayoutLabel->SetText("Automatic layout enabled");
403 }
404 }
405
406 fYpos->SetIntNumber(frame->GetY());
407 fXpos->SetIntNumber(frame->GetX());
408
409 if (fBorderFrame) fBorderFrame->ChangeSelected(fSelected);
411
412 Emit("ChangeSelected(TGFrame*)", (long)fSelected);
413
414 MapRaised();
415}
416
417////////////////////////////////////////////////////////////////////////////////
418/// Update selected frame.
419
421{
422 Emit("UpdateSelected(TGFrame*)", (long)frame);
423}
424
425////////////////////////////////////////////////////////////////////////////////
426/// Update border of selected frame.
427
429{
430 if (!fSelected) return;
431
432 UInt_t opt = fSelected->GetOptions();
433
434 switch (b) {
435 case 1:
436 opt &= ~kRaisedFrame;
437 opt |= kSunkenFrame;
438 break;
439 case 2:
440 opt &= ~kSunkenFrame;
441 opt &= ~kRaisedFrame;
442 break;
443 case 3:
444 opt &= ~kSunkenFrame;
445 opt |= kRaisedFrame;
446 break;
447 case 4:
448 opt |= kDoubleBorder;
449 break;
450 case 5:
451 opt &= ~kDoubleBorder;
452 break;
453 default:
454 return;
455 }
458}
459
460////////////////////////////////////////////////////////////////////////////////
461/// Update background.
462
464{
465 if (!fSelected) return;
466
469}
470
471////////////////////////////////////////////////////////////////////////////////
472/// Update foreground.
473
475{
476 if (!fSelected) return;
477
480}
481
482////////////////////////////////////////////////////////////////////////////////
483/// Reset the editor.
484
486{
487 fSelected = 0;
488 fNameFrame->Reset();
490 if (tab) {
491 fTab->SetTab(0);
492 tab->SetEnabled(kFALSE);
493 }
494}
495
496////////////////////////////////////////////////////////////////////////////////
497/// Popup dialog to set layout of editted frame off. If layout is on, all
498/// the elements in the frame get layouted automatically.
499
501{
502 if (!fSelected) {
503 fLayoutButton->SetText(" Enable layout ");
505 fLayoutLabel->SetText("Automatic layout disabled");
506 if (fTablay) {
510 }
511 return;
512 }
513
515 TGFrame *frame = fSelected;
516 TGCompositeFrame *cf = fNameFrame->GetMdi(frame);
517 if (cf == 0)
518 return;
519 if (frame->IsLayoutBroken()) {
520 Int_t retval;
521 builder->GetManager()->SetEditable(kFALSE);
522 new TGMsgBox(gClient->GetDefaultRoot(), builder, "Layout change",
523 "Enabling layout will automatically align and resize all the icons. \n Do you really want to layout them?",
525
526 cf->SetEditable(kTRUE);
527 // hack against selecting the message box itself
528 builder->GetManager()->SelectFrame(frame);
529 frame->SetEditable(kTRUE);
530
531 if (retval == kMBOk) {
532 frame->SetLayoutBroken(kFALSE);
533 frame->Layout();
534 fLayoutButton->SetText(" Disable layout ");
535 fLayoutLabel->SetText("Automatic layout enabled");
536 if (fTablay) {
541 }
542 }
543 } else {
544 //set layout off - without dialog, because nothing "bad" can happen
545 frame->SetLayoutBroken(kTRUE);
546 fLayoutButton->SetText(" Enable layout ");
547 fLayoutLabel->SetText("Automatic layout disabled");
548 if (fTablay) {
552 }
553 }
554 fClient->NeedRedraw(frame, kTRUE);
556}
557
558
559
void Class()
Definition: Class.C:29
ULong_t Pixel_t
Definition: GuiTypes.h:39
#define b(i)
Definition: RSha256.hxx:100
#define f(i)
Definition: RSha256.hxx:104
int Int_t
Definition: RtypesCore.h:41
unsigned int UInt_t
Definition: RtypesCore.h:42
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassImp(name)
Definition: Rtypes.h:365
@ kButtonDown
Definition: TGButton.h:54
#define gClient
Definition: TGClient.h:166
@ kDeepCleanup
Definition: TGFrame.h:51
@ kRaisedFrame
Definition: TGFrame.h:62
@ kSunkenFrame
Definition: TGFrame.h:61
@ kDoubleBorder
Definition: TGFrame.h:63
@ kFixedSize
Definition: TGFrame.h:68
@ kLHintsExpandY
Definition: TGLayout.h:38
@ kLHintsLeft
Definition: TGLayout.h:31
@ kLHintsCenterY
Definition: TGLayout.h:35
@ kLHintsNormal
Definition: TGLayout.h:39
@ kLHintsCenterX
Definition: TGLayout.h:32
@ kLHintsTop
Definition: TGLayout.h:34
@ kLHintsExpandX
Definition: TGLayout.h:37
@ kMBCancel
Definition: TGMsgBox.h:48
@ kMBOk
Definition: TGMsgBox.h:44
@ kMBIconExclamation
Definition: TGMsgBox.h:35
static const TGGC & GetDefaultGC()
Return default graphics context.
Definition: TGButton.cxx:420
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition: TGButton.cxx:395
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition: TGButton.cxx:409
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
Definition: TGClient.cxx:372
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
Definition: TGFrame.cxx:982
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
Definition: TGFrame.cxx:1099
virtual void SetEditable(Bool_t on=kTRUE)
Switch ON/OFF edit mode.
Definition: TGFrame.cxx:930
virtual Bool_t IsLayoutBroken() const
Definition: TGFrame.h:416
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
Definition: TGFrame.cxx:1054
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
Definition: TGFrame.cxx:1146
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition: TGFrame.cxx:1186
virtual void SetEditDisabled(UInt_t on=1)
Set edit disable flag for this frame and subframes.
Definition: TGFrame.cxx:1004
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition: TGFrame.cxx:1172
virtual void ChangeOptions(UInt_t options)
Change frame options. Options is an OR of the EFrameTypes.
Definition: TGFrame.cxx:303
virtual Bool_t IsLayoutBroken() const
Definition: TGFrame.h:263
virtual void SetForegroundColor(Pixel_t)
Definition: TGFrame.h:243
virtual void MapRaised()
Definition: TGFrame.h:252
virtual void SetLayoutBroken(Bool_t=kTRUE)
Definition: TGFrame.h:262
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
Definition: TGFrame.cxx:294
Int_t GetX() const
Definition: TGFrame.h:278
virtual UInt_t GetOptions() const
Definition: TGFrame.h:244
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
Definition: TGFrame.cxx:587
virtual void SetEditable(Bool_t)
Definition: TGFrame.h:261
UInt_t GetHeight() const
Definition: TGFrame.h:272
Int_t GetY() const
Definition: TGFrame.h:279
virtual void Layout()
Definition: TGFrame.h:246
UInt_t GetWidth() const
Definition: TGFrame.h:271
virtual void UnmapWindow()
Definition: TGFrame.h:253
virtual void SetText(TGString *newText)
Set new text in label.
Definition: TGLabel.cxx:177
virtual void SetIntNumber(Long_t val)
TGClient * fClient
Definition: TGObject.h:37
virtual void SetState(EButtonState state, Bool_t emit=kFALSE)
Set radio button state.
Definition: TGButton.cxx:1563
virtual void SetEnabled(Bool_t on=kTRUE)
Definition: TGTab.h:162
Definition: TGTab.h:62
TGTabElement * GetTabTab(Int_t tabIndex) const
Return the tab element of tab with index tabIndex.
Definition: TGTab.cxx:612
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:507
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
Definition: TGTab.cxx:341
static FontStruct_t GetDefaultFontStruct()
Return default font structure.
Definition: TGButton.cxx:819
virtual void SetText(TGHotString *new_label)
Set new button text.
Definition: TGButton.cxx:594
TGVerticalFrame(const TGWindow *p=0, UInt_t w=1, UInt_t h=1, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Definition: TGFrame.h:436
virtual void SetWindowName(const char *name=0)
Set window name.
Definition: TGWindow.cxx:118
virtual UInt_t GetEditDisabled() const
Definition: TGWindow.h:116
@ kEditDisableLayout
Definition: TGWindow.h:62
const TGWindow * GetParent() const
Definition: TGWindow.h:85
void SelectFrame(TGFrame *frame, Bool_t add=kFALSE)
Grab/Select frame.
void SetEditable(Bool_t on=kTRUE)
Grab server.
void ChangeSelected(TGFrame *)
Change selected frame.
TGuiBldHintsEditor * fHintsFrame
Definition: TGuiBldEditor.h:46
TGuiBldNameFrame * fNameFrame
Definition: TGuiBldEditor.h:45
void RemoveFrame(TGFrame *)
Remove a frame.
void Reset()
Reset the editor.
virtual ~TGuiBldEditor()
Destructor.
TGTextButton * fLayoutButton
Definition: TGuiBldEditor.h:55
Bool_t fEmbedded
Definition: TGuiBldEditor.h:51
TGFrame * fSelected
Definition: TGuiBldEditor.h:44
TGNumberEntry * fXpos
Definition: TGuiBldEditor.h:57
TGuiBldGeometryFrame * fGeomFrame
Definition: TGuiBldEditor.h:48
TGLabel * fLayoutLabel
Definition: TGuiBldEditor.h:56
void UpdateSelected(TGFrame *=0)
Update selected frame.
void TabSelected(Int_t id)
Handle selected.
TGNumberEntry * fYpos
Definition: TGuiBldEditor.h:58
void SwitchLayout()
Popup dialog to set layout of editted frame off.
TGuiBldEditor(const TGWindow *p=0)
Constructor.
void Hide()
Hide editor.
void UpdateForeground(Pixel_t col)
Update foreground.
TGCompositeFrame * fTablay
Definition: TGuiBldEditor.h:53
TGGroupFrame * fPositionFrame
Definition: TGuiBldEditor.h:49
void UpdateBorder(Int_t)
Update border of selected frame.
void UpdateBackground(Pixel_t col)
Update background.
TGuiBldBorderFrame * fBorderFrame
Definition: TGuiBldEditor.h:47
void ChangeSelected(TGFrame *frame)
Update number entries when new frame selected.
void ChangeSelected(TGFrame *)
Change selected.
void Reset()
Reset name frame.
void RemoveFrame(TGFrame *frame)
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:443
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:867
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
Definition: TQObject.cxx:1025
TGuiBldDragManager * GetManager() const
REAL splitter
Definition: triangle.c:616