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//////////////////////////////////////////////////////////////////////////
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 "TGuiBldDragManager.h"
31#include "TGMsgBox.h"
32#include "TGFrame.h"
33#include "TGSplitter.h"
34#include "TGTableLayout.h"
35
37
38
39////////////////////////////////////////////////////////////////////////////////
40class TGuiBldBorderFrame : public TGVerticalFrame {
41
42private:
43 enum EBldBorderFrameMode {
44 kBldBorderNone, kBldBorderSunken,
45 kBldBorderPlain, kBldBorderRaised,
46 kBldBorderDouble };
47
48private:
49 TGuiBldEditor *fEditor;
50 TGFrame *fSelected;
51 TGButtonGroup *fBtnGroup;
52 TGColorSelect *fBgndFrame;
53
54public:
55 TGuiBldBorderFrame(const TGWindow *p, TGuiBldEditor *editor);
56 virtual ~TGuiBldBorderFrame() { }
57
58 void ChangeSelected(TGFrame*);
59};
60
61////////////////////////////////////////////////////////////////////////////////
62/// Constructor.
63
64TGuiBldBorderFrame::TGuiBldBorderFrame(const TGWindow *p, TGuiBldEditor *editor) :
65 TGVerticalFrame(p, 1, 1)
66{
67 fEditor = editor;
68 fEditDisabled = 1;
69 fBgndFrame = 0;
70
71 SetCleanup(kDeepCleanup);
72
73 fBtnGroup = new TGButtonGroup(this, "Border Mode");
74
75 TGRadioButton *frame299 = new TGRadioButton(fBtnGroup," Sunken",kBldBorderSunken);
76 frame299->SetToolTipText("Set a sunken border of the frame");
77 TGRadioButton *frame302 = new TGRadioButton(fBtnGroup," None",kBldBorderPlain);
78 frame302->SetToolTipText("Set no border of the frame");
79 TGRadioButton *frame305 = new TGRadioButton(fBtnGroup," Raised",kBldBorderRaised);
80 frame305->SetToolTipText("Set a raised border of the frame");
81 frame305->SetState(kButtonDown);
82 TGCheckButton *check = new TGCheckButton(fBtnGroup," Double",kBldBorderDouble);
83 check->SetToolTipText("Set double border of the frame");
84 //TQObject::Disconnect(check);
85
86 fBtnGroup->SetRadioButtonExclusive(kTRUE);
87 AddFrame(fBtnGroup, new TGLayoutHints(kLHintsCenterX | kLHintsTop));
88 fBtnGroup->Connect("Pressed(Int_t)", "TGuiBldEditor", fEditor, "UpdateBorder(Int_t)");
89 check->Connect("Pressed()", "TGuiBldEditor", fEditor, "UpdateBorder(=4)");
90 check->Connect("Released()", "TGuiBldEditor", fEditor, "UpdateBorder(=5)");
91
92 TGCompositeFrame *f = new TGGroupFrame(this, "Palette");
93 TGHorizontalFrame *hf = new TGHorizontalFrame(f ,1, 1);
94 fBgndFrame = new TGColorSelect(hf, 0, 1);
95 fBgndFrame->SetEditDisabled();
96 fBgndFrame->SetColor(GetDefaultFrameBackground());
97 fBgndFrame->Connect("ColorSelected(Pixel_t)", "TGuiBldEditor", fEditor,
98 "UpdateBackground(Pixel_t)");
99 hf->AddFrame(fBgndFrame, new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2));
100 hf->AddFrame(new TGLabel(hf, "Backgrnd"), new TGLayoutHints(kLHintsTop |
101 kLHintsLeft, 2, 2, 2, 2));
102 f->AddFrame(hf, new TGLayoutHints(kLHintsCenterX | kLHintsTop, 2, 2, 2, 2));
103 AddFrame(f, new TGLayoutHints(kLHintsCenterX | kLHintsTop));
104}
105
106////////////////////////////////////////////////////////////////////////////////
107/// Perform actions when selected frame was changed.
108
109void TGuiBldBorderFrame::ChangeSelected(TGFrame *frame)
110{
111 fSelected = frame;
112
113 if (!frame) {
114 return;
115 }
116
117 UInt_t opt = fSelected->GetOptions();
118
119 fBtnGroup->SetButton(kBldBorderDouble, opt & kDoubleBorder);
120 fBtnGroup->SetButton(kBldBorderSunken, opt & kSunkenFrame);
121 fBtnGroup->SetButton(kBldBorderRaised, opt & kRaisedFrame);
122 fBtnGroup->SetButton(kBldBorderPlain, !(opt & kRaisedFrame) && !(opt & kSunkenFrame));
123
124 if (fBgndFrame) {
125 TQObject::Disconnect(fBgndFrame);
126 fBgndFrame->SetColor(fSelected->GetBackground());
127 fBgndFrame->Connect("ColorSelected(Pixel_t)", "TGuiBldEditor", fEditor, "UpdateBackground(Pixel_t)");
128 }
129}
130
131////////////////////////////////////////////////////////////////////////////////
132////////////////////////////////////////////////////////////////////////////////
133/// Constructor.
134
136{
138 TGVerticalFrame *vf;
139 fSelected = 0;
141
142 fNameFrame = new TGuiBldNameFrame(this, this);
144
145 TGHSplitter *splitter = new TGHSplitter(this,100,5);
147 splitter->SetFrame(fNameFrame, kTRUE);
148
149 //------------frame with layout switch
150 hf = new TGHorizontalFrame(this);
151 hf->AddFrame(new TGLabel(hf, "Composite Frame Layout"),
152 new TGLayoutHints(kLHintsLeft | kLHintsTop, 2, 2, 2, 2));
154 kLHintsExpandX, 2, 2, 2, 2));
155 AddFrame(hf, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
156
157 vf = new TGVerticalFrame(this);
158 fLayoutLabel = new TGLabel(vf, "Automatic Layout Disabled");
160 2, 2, 2, 2));
161
162 fLayoutButton = new TGTextButton(vf," Enable layout ");
165 2, 2, 2, 2));
166
167 AddFrame(vf, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
168
170 kLHintsExpandX, 2, 2, 2, 2));
171
172 fLayoutButton->Connect("Clicked()", "TGuiBldEditor", this, "SwitchLayout()");
173 fLayoutButton->SetToolTipText("If layout is on, all the frame \nelements get layouted automatically.");
174
175 //-----------------------------
176
177 fTab = new TGTab(this, 80, 40);
179 fTablay = fTab->AddTab("Layout");
180 TGCompositeFrame *tabcont = fTab->AddTab("Style");
181 fLayoutId = 1; // 2nd tab
182 fTab->Connect("Selected(Int_t)", "TGuiBldEditor", this, "TabSelected(Int_t)");
183
186 2, 2, 2, 2));
187
190 2, 2, 2, 2));
191
192 //----------------Position X,Y boxes---------------
193
194 fPositionFrame = new TGGroupFrame(fTablay, "Position");
195
197
198 vf = new TGVerticalFrame(hf);
199 vf->SetLayoutManager(new TGTableLayout(vf, 2, 2));
200
201 vf->AddFrame(new TGLabel(vf, " X "), new TGTableLayoutHints(0, 1, 0, 1,
202 kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
203 fXpos = new TGNumberEntry(vf, 0.0, 4, -1, (TGNumberFormat::EStyle)5);
204 vf->AddFrame(fXpos, new TGTableLayoutHints(1, 2, 0, 1, kLHintsCenterY |
205 kLHintsLeft, 2, 2, 2, 2));
206
207 vf->AddFrame(new TGLabel(vf, " Y "), new TGTableLayoutHints(0, 1, 1, 2,
208 kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
209 fYpos = new TGNumberEntry(vf, 0.0, 4, -1, (TGNumberFormat::EStyle)5);
210 vf->AddFrame(fYpos, new TGTableLayoutHints(1, 2, 1, 2, kLHintsCenterY |
211 kLHintsLeft, 2, 2, 2, 2));
212
214
215 vf = new TGVerticalFrame(hf);
216 vf->SetLayoutManager(new TGTableLayout(vf, 3, 3));
217
218 TGTextButton *fTextButton6366 = new TGTextButton(vf, "^", -1,
222 fTextButton6366->Resize(20,20);
223 vf->AddFrame(fTextButton6366, new TGTableLayoutHints(1, 2, 0, 1,
224 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
225
226 TGTextButton *fTextButton6367 = new TGTextButton(vf, "v", -1,
230 fTextButton6367->Resize(20,20);
231 vf->AddFrame(fTextButton6367, new TGTableLayoutHints(1, 2, 2, 3,
232 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
233
234 TGTextButton *fTextButton6364 = new TGTextButton(vf, "<", -1,
238 fTextButton6364->Resize(20,20);
239 vf->AddFrame(fTextButton6364, new TGTableLayoutHints(0, 1, 1, 2,
240 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
241
242 TGTextButton *fTextButton6365 = new TGTextButton(vf, ">", -1,
246 fTextButton6365->Resize(20,20);
247 vf->AddFrame(fTextButton6365, new TGTableLayoutHints(2, 3, 1, 2,
248 kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
249
251
253
255
256 fXpos->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
257 fYpos->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
258
259 fTextButton6364->Connect("Clicked()", "TGNumberEntry", fXpos, "IncreaseNumber(TGNumberFormat::EStepSize=0,-1)");
260 fTextButton6364->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
261 fTextButton6365->Connect("Clicked()", "TGNumberEntry", fXpos, "IncreaseNumber()");
262 fTextButton6365->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
263 fTextButton6366->Connect("Clicked()", "TGNumberEntry", fYpos, "IncreaseNumber(TGNumberFormat::EStepSize=0,-1)");
264 fTextButton6366->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
265 fTextButton6367->Connect("Clicked()", "TGNumberEntry", fYpos, "IncreaseNumber()");
266 fTextButton6367->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
267
268 //----------------------------------------------------
269
270 fBorderFrame = new TGuiBldBorderFrame(tabcont, this);
271 tabcont->AddFrame(fBorderFrame, new TGLayoutHints(kLHintsExpandX, 2, 2, 2, 2));
272
274 SetWindowName("Frame Property Editor");
276
278}
279
280////////////////////////////////////////////////////////////////////////////////
281/// Destructor.
282
284{
285}
286
287////////////////////////////////////////////////////////////////////////////////
288/// Remove a frame.
289
291{
292 fNameFrame->RemoveFrame(frame);
293}
294
295////////////////////////////////////////////////////////////////////////////////
296/// Handle selected.
297
299{
300 if (id == fLayoutId) {
301 //printf("%d\n", fSelected);
302 }
303}
304
305////////////////////////////////////////////////////////////////////////////////
306/// Hide editor.
307
309{
310 UnmapWindow();
311}
312
313////////////////////////////////////////////////////////////////////////////////
314/// Change selected frame.
315
317{
319
320 if (!frame) {
322 //fTab->SetTab(0);
323 if (tab) {
324 tab->SetEnabled(kFALSE);
325 fClient->NeedRedraw(tab);
326 }
327 return;
328 }
329
330 fSelected = frame;
331 TGWindow *parent = (TGWindow*)fSelected->GetParent();
332
334
335 Bool_t enable_layout = kFALSE;
336 enable_layout |= parent && !(parent->GetEditDisabled() & kEditDisableLayout);
337 enable_layout |= !(fSelected->GetEditDisabled() & kEditDisableLayout);
338 enable_layout |= parent && (parent->InheritsFrom(TGCompositeFrame::Class()) &&
339 !((TGCompositeFrame*)parent)->IsLayoutBroken());
340 enable_layout |= (fSelected->InheritsFrom(TGCompositeFrame::Class()) &&
342
343 if (enable_layout) {
345
346 if (tab) {
347 tab->SetEnabled(kTRUE);
348 fClient->NeedRedraw(tab);
349 }
350 } else {
352
353 if (tab) {
354 fTab->SetTab(0);
355 tab->SetEnabled(kFALSE);
356 fClient->NeedRedraw(tab);
357 }
358 }
359
360 if ((frame->InheritsFrom(TGHorizontalFrame::Class())) ||
361 (frame->InheritsFrom(TGVerticalFrame::Class())) ||
362 (frame->InheritsFrom(TGGroupFrame::Class())) ) {
363
365 if (fSelected->IsLayoutBroken()) {
366 fLayoutButton->SetText(" Enable layout ");
367 fLayoutLabel->SetText("Automatic layout disabled");
368 if (fTablay) {
372 }
373 } else {
374 fLayoutButton->SetText(" Disable layout ");
375 fLayoutLabel->SetText("Automatic layout enabled");
376 if (fTablay) {
380 }
381 }
382 }
383 else {
385 TGFrame *parentf = (TGFrame*)frame->GetParent();
386 if (parentf->IsLayoutBroken()) {
387 fLayoutButton->SetText(" Enable layout ");
388 fLayoutLabel->SetText("Automatic layout disabled");
392 } else {
393 fLayoutButton->SetText(" Disable layout ");
394 fLayoutLabel->SetText("Automatic layout enabled");
398 }
399 }
400
401 fYpos->SetIntNumber(frame->GetY());
402 fXpos->SetIntNumber(frame->GetX());
403
404 if (fBorderFrame) fBorderFrame->ChangeSelected(fSelected);
406
407 Emit("ChangeSelected(TGFrame*)", (long)fSelected);
408
409 MapRaised();
410}
411
412////////////////////////////////////////////////////////////////////////////////
413/// Update selected frame.
414
416{
417 Emit("UpdateSelected(TGFrame*)", (long)frame);
418}
419
420////////////////////////////////////////////////////////////////////////////////
421/// Update border of selected frame.
422
424{
425 if (!fSelected) return;
426
427 UInt_t opt = fSelected->GetOptions();
428
429 switch (b) {
430 case 1:
431 opt &= ~kRaisedFrame;
432 opt |= kSunkenFrame;
433 break;
434 case 2:
435 opt &= ~kSunkenFrame;
436 opt &= ~kRaisedFrame;
437 break;
438 case 3:
439 opt &= ~kSunkenFrame;
440 opt |= kRaisedFrame;
441 break;
442 case 4:
443 opt |= kDoubleBorder;
444 break;
445 case 5:
446 opt &= ~kDoubleBorder;
447 break;
448 default:
449 return;
450 }
453}
454
455////////////////////////////////////////////////////////////////////////////////
456/// Update background.
457
459{
460 if (!fSelected) return;
461
464}
465
466////////////////////////////////////////////////////////////////////////////////
467/// Update foreground.
468
470{
471 if (!fSelected) return;
472
475}
476
477////////////////////////////////////////////////////////////////////////////////
478/// Reset the editor.
479
481{
482 fSelected = 0;
483 fNameFrame->Reset();
485 if (tab) {
486 fTab->SetTab(0);
487 tab->SetEnabled(kFALSE);
488 }
489}
490
491////////////////////////////////////////////////////////////////////////////////
492/// Popup dialog to set layout of editted frame off. If layout is on, all
493/// the elements in the frame get layouted automatically.
494
496{
497 if (!fSelected) {
498 fLayoutButton->SetText(" Enable layout ");
500 fLayoutLabel->SetText("Automatic layout disabled");
501 if (fTablay) {
505 }
506 return;
507 }
508
510 TGFrame *frame = fSelected;
511 TGCompositeFrame *cf = fNameFrame->GetMdi(frame);
512 if (cf == 0)
513 return;
514 if (frame->IsLayoutBroken()) {
515 Int_t retval;
516 builder->GetManager()->SetEditable(kFALSE);
517 new TGMsgBox(gClient->GetDefaultRoot(), builder, "Layout change",
518 "Enabling layout will automatically align and resize all the icons. \n Do you really want to layout them?",
520
521 cf->SetEditable(kTRUE);
522 // hack against selecting the message box itself
523 builder->GetManager()->SelectFrame(frame);
524 frame->SetEditable(kTRUE);
525
526 if (retval == kMBOk) {
527 frame->SetLayoutBroken(kFALSE);
528 frame->Layout();
529 fLayoutButton->SetText(" Disable layout ");
530 fLayoutLabel->SetText("Automatic layout enabled");
531 if (fTablay) {
536 }
537 }
538 } else {
539 //set layout off - without dialog, because nothing "bad" can happen
540 frame->SetLayoutBroken(kTRUE);
541 fLayoutButton->SetText(" Enable layout ");
542 fLayoutLabel->SetText("Automatic layout disabled");
543 if (fTablay) {
547 }
548 }
549 fClient->NeedRedraw(frame, kTRUE);
551}
552
553
554
@ 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
unsigned int UInt_t
Definition RtypesCore.h:46
const Bool_t kFALSE
Definition RtypesCore.h:92
const Bool_t kTRUE
Definition RtypesCore.h:91
#define ClassImp(name)
Definition Rtypes.h:364
@ kButtonDown
Definition TGButton.h:54
#define gClient
Definition TGClient.h:166
@ kDeepCleanup
Definition TGFrame.h:50
@ 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:44
@ kMBOk
Definition TGMsgBox.h:40
@ kMBIconExclamation
Definition TGMsgBox.h:31
static const TGGC & GetDefaultGC()
Return default graphics context.
Definition TGButton.cxx:423
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition TGButton.cxx:398
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition TGButton.cxx:412
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
Definition TGClient.cxx:371
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
Definition TGFrame.cxx:985
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
Definition TGFrame.cxx:1102
virtual void SetEditable(Bool_t on=kTRUE)
Switch ON/OFF edit mode.
Definition TGFrame.cxx:933
virtual Bool_t IsLayoutBroken() const
Definition TGFrame.h:393
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
Definition TGFrame.cxx:1057
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
Definition TGFrame.cxx:1149
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition TGFrame.cxx:1189
virtual void SetEditDisabled(UInt_t on=1)
Set edit disable flag for this frame and subframes.
Definition TGFrame.cxx:1007
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition TGFrame.cxx:1175
virtual void ChangeOptions(UInt_t options)
Change frame options. Options is an OR of the EFrameTypes.
Definition TGFrame.cxx:306
virtual Bool_t IsLayoutBroken() const
Definition TGFrame.h:240
virtual void SetForegroundColor(Pixel_t)
Definition TGFrame.h:220
virtual void MapRaised()
map raised
Definition TGFrame.h:229
virtual void SetLayoutBroken(Bool_t=kTRUE)
Definition TGFrame.h:239
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
Definition TGFrame.cxx:297
Int_t GetX() const
Definition TGFrame.h:255
virtual UInt_t GetOptions() const
Definition TGFrame.h:221
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
Definition TGFrame.cxx:590
virtual void SetEditable(Bool_t)
Definition TGFrame.h:238
UInt_t GetHeight() const
Definition TGFrame.h:249
Int_t GetY() const
Definition TGFrame.h:256
virtual void Layout()
Definition TGFrame.h:223
UInt_t GetWidth() const
Definition TGFrame.h:248
virtual void UnmapWindow()
unmap window
Definition TGFrame.h:230
virtual void SetText(TGString *newText)
Set new text in label.
Definition TGLabel.cxx:179
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.
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:614
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:509
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
Definition TGTab.cxx:343
static FontStruct_t GetDefaultFontStruct()
Return default font structure.
Definition TGButton.cxx:822
virtual void SetText(TGHotString *new_label)
Set new button text.
Definition TGButton.cxx:597
virtual void SetWindowName(const char *name=0)
Set window name.
Definition TGWindow.cxx:128
virtual UInt_t GetEditDisabled() const
Definition TGWindow.h:113
@ kEditDisableLayout
Definition TGWindow.h:61
const TGWindow * GetParent() const
Definition TGWindow.h:84
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
TGuiBldNameFrame * fNameFrame
void RemoveFrame(TGFrame *)
Remove a frame.
void Reset()
Reset the editor.
virtual ~TGuiBldEditor()
Destructor.
TGTextButton * fLayoutButton
TGFrame * fSelected
TGNumberEntry * fXpos
TGuiBldGeometryFrame * fGeomFrame
TGLabel * fLayoutLabel
void UpdateSelected(TGFrame *=0)
Update selected frame.
void TabSelected(Int_t id)
Handle selected.
TGNumberEntry * fYpos
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
TGGroupFrame * fPositionFrame
void UpdateBorder(Int_t)
Update border of selected frame.
void UpdateBackground(Pixel_t col)
Update background.
TGuiBldBorderFrame * fBorderFrame
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:445
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:866
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
TGuiBldDragManager * GetManager() const
REAL splitter
Definition triangle.c:616