Logo ROOT   master
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"
22 #include "TGuiBldGeometryFrame.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 "TGMsgBox.h"
35 #include "TGIcon.h"
36 #include "TGFrame.h"
37 #include "TGSplitter.h"
38 #include "TGTableLayout.h"
39 
41 
42 
43 ////////////////////////////////////////////////////////////////////////////////
44 class TGuiBldBorderFrame : public TGVerticalFrame {
45 
46 private:
47  enum EBldBorderFrameMode {
48  kBldBorderNone, kBldBorderSunken,
49  kBldBorderPlain, kBldBorderRaised,
50  kBldBorderDouble };
51 
52 private:
53  TGuiBldEditor *fEditor;
54  TGFrame *fSelected;
55  TGButtonGroup *fBtnGroup;
56  TGColorSelect *fBgndFrame;
57 
58 public:
59  TGuiBldBorderFrame(const TGWindow *p, TGuiBldEditor *editor);
60  virtual ~TGuiBldBorderFrame() { }
61 
62  void ChangeSelected(TGFrame*);
63 };
64 
65 ////////////////////////////////////////////////////////////////////////////////
66 /// Constructor.
67 
68 TGuiBldBorderFrame::TGuiBldBorderFrame(const TGWindow *p, TGuiBldEditor *editor) :
69  TGVerticalFrame(p, 1, 1)
70 {
71  fEditor = editor;
72  fEditDisabled = 1;
73  fBgndFrame = 0;
74 
76 
77  fBtnGroup = new TGButtonGroup(this, "Border Mode");
78 
79  TGRadioButton *frame299 = new TGRadioButton(fBtnGroup," Sunken",kBldBorderSunken);
80  frame299->SetToolTipText("Set a sunken border of the frame");
81  TGRadioButton *frame302 = new TGRadioButton(fBtnGroup," None",kBldBorderPlain);
82  frame302->SetToolTipText("Set no border of the frame");
83  TGRadioButton *frame305 = new TGRadioButton(fBtnGroup," Raised",kBldBorderRaised);
84  frame305->SetToolTipText("Set a raised border of the frame");
85  frame305->SetState(kButtonDown);
86  TGCheckButton *check = new TGCheckButton(fBtnGroup," Double",kBldBorderDouble);
87  check->SetToolTipText("Set double border of the frame");
88  //TQObject::Disconnect(check);
89 
90  fBtnGroup->SetRadioButtonExclusive(kTRUE);
91  AddFrame(fBtnGroup, new TGLayoutHints(kLHintsCenterX | kLHintsTop));
92  fBtnGroup->Connect("Pressed(Int_t)", "TGuiBldEditor", fEditor, "UpdateBorder(Int_t)");
93  check->Connect("Pressed()", "TGuiBldEditor", fEditor, "UpdateBorder(=4)");
94  check->Connect("Released()", "TGuiBldEditor", fEditor, "UpdateBorder(=5)");
95 
96  TGCompositeFrame *f = new TGGroupFrame(this, "Palette");
97  TGHorizontalFrame *hf = new TGHorizontalFrame(f ,1, 1);
98  fBgndFrame = new TGColorSelect(hf, 0, 1);
99  fBgndFrame->SetEditDisabled();
100  fBgndFrame->SetColor(GetDefaultFrameBackground());
101  fBgndFrame->Connect("ColorSelected(Pixel_t)", "TGuiBldEditor", fEditor,
102  "UpdateBackground(Pixel_t)");
103  hf->AddFrame(fBgndFrame, new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2));
104  hf->AddFrame(new TGLabel(hf, "Backgrnd"), new TGLayoutHints(kLHintsTop |
105  kLHintsLeft, 2, 2, 2, 2));
106  f->AddFrame(hf, new TGLayoutHints(kLHintsCenterX | kLHintsTop, 2, 2, 2, 2));
107  AddFrame(f, new TGLayoutHints(kLHintsCenterX | kLHintsTop));
108 }
109 
110 ////////////////////////////////////////////////////////////////////////////////
111 /// Perform actions when selected frame was changed.
112 
113 void TGuiBldBorderFrame::ChangeSelected(TGFrame *frame)
114 {
115  fSelected = frame;
116 
117  if (!frame) {
118  return;
119  }
120 
121  UInt_t opt = fSelected->GetOptions();
122 
123  fBtnGroup->SetButton(kBldBorderDouble, opt & kDoubleBorder);
124  fBtnGroup->SetButton(kBldBorderSunken, opt & kSunkenFrame);
125  fBtnGroup->SetButton(kBldBorderRaised, opt & kRaisedFrame);
126  fBtnGroup->SetButton(kBldBorderPlain, !(opt & kRaisedFrame) && !(opt & kSunkenFrame));
127 
128  if (fBgndFrame) {
129  TQObject::Disconnect(fBgndFrame);
130  fBgndFrame->SetColor(fSelected->GetBackground());
131  fBgndFrame->Connect("ColorSelected(Pixel_t)", "TGuiBldEditor", fEditor, "UpdateBackground(Pixel_t)");
132  }
133 }
134 
135 ////////////////////////////////////////////////////////////////////////////////
136 ////////////////////////////////////////////////////////////////////////////////
137 /// Constructor.
138 
140 {
141  TGHorizontalFrame *hf;
142  TGVerticalFrame *vf;
143  fSelected = 0;
145 
146  fNameFrame = new TGuiBldNameFrame(this, this);
148 
149  TGHSplitter *splitter = new TGHSplitter(this,100,5);
151  splitter->SetFrame(fNameFrame, kTRUE);
152 
153  //------------frame with layout switch
154  hf = new TGHorizontalFrame(this);
155  hf->AddFrame(new TGLabel(hf, "Composite Frame Layout"),
156  new TGLayoutHints(kLHintsLeft | kLHintsTop, 2, 2, 2, 2));
158  kLHintsExpandX, 2, 2, 2, 2));
159  AddFrame(hf, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
160 
161  vf = new TGVerticalFrame(this);
162  fLayoutLabel = new TGLabel(vf, "Automatic Layout Disabled");
164  2, 2, 2, 2));
165 
166  fLayoutButton = new TGTextButton(vf," Enable layout ");
169  2, 2, 2, 2));
170 
171  AddFrame(vf, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
172 
174  kLHintsExpandX, 2, 2, 2, 2));
175 
176  fLayoutButton->Connect("Clicked()", "TGuiBldEditor", this, "SwitchLayout()");
177  fLayoutButton->SetToolTipText("If layout is on, all the frame \nelements get layouted automatically.");
178 
179  //-----------------------------
180 
181  fTab = new TGTab(this, 80, 40);
183  fTablay = fTab->AddTab("Layout");
184  TGCompositeFrame *tabcont = fTab->AddTab("Style");
185  fLayoutId = 1; // 2nd tab
186  fTab->Connect("Selected(Int_t)", "TGuiBldEditor", this, "TabSelected(Int_t)");
187 
190  2, 2, 2, 2));
191 
194  2, 2, 2, 2));
195 
196  //----------------Position X,Y boxes---------------
197 
198  fPositionFrame = new TGGroupFrame(fTablay, "Position");
199 
201 
202  vf = new TGVerticalFrame(hf);
203  vf->SetLayoutManager(new TGTableLayout(vf, 2, 2));
204 
205  vf->AddFrame(new TGLabel(vf, " X "), new TGTableLayoutHints(0, 1, 0, 1,
206  kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
207  fXpos = new TGNumberEntry(vf, 0.0, 4, -1, (TGNumberFormat::EStyle)5);
208  vf->AddFrame(fXpos, new TGTableLayoutHints(1, 2, 0, 1, kLHintsCenterY |
209  kLHintsLeft, 2, 2, 2, 2));
210 
211  vf->AddFrame(new TGLabel(vf, " Y "), new TGTableLayoutHints(0, 1, 1, 2,
212  kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
213  fYpos = new TGNumberEntry(vf, 0.0, 4, -1, (TGNumberFormat::EStyle)5);
214  vf->AddFrame(fYpos, new TGTableLayoutHints(1, 2, 1, 2, kLHintsCenterY |
215  kLHintsLeft, 2, 2, 2, 2));
216 
218 
219  vf = new TGVerticalFrame(hf);
220  vf->SetLayoutManager(new TGTableLayout(vf, 3, 3));
221 
222  TGTextButton *fTextButton6366 = new TGTextButton(vf, "^", -1,
226  fTextButton6366->Resize(20,20);
227  vf->AddFrame(fTextButton6366, new TGTableLayoutHints(1, 2, 0, 1,
228  kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
229 
230  TGTextButton *fTextButton6367 = new TGTextButton(vf, "v", -1,
234  fTextButton6367->Resize(20,20);
235  vf->AddFrame(fTextButton6367, new TGTableLayoutHints(1, 2, 2, 3,
236  kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
237 
238  TGTextButton *fTextButton6364 = new TGTextButton(vf, "<", -1,
242  fTextButton6364->Resize(20,20);
243  vf->AddFrame(fTextButton6364, new TGTableLayoutHints(0, 1, 1, 2,
244  kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
245 
246  TGTextButton *fTextButton6365 = new TGTextButton(vf, ">", -1,
250  fTextButton6365->Resize(20,20);
251  vf->AddFrame(fTextButton6365, new TGTableLayoutHints(2, 3, 1, 2,
252  kLHintsLeft | kLHintsTop, 1, 1, 1, 1));
253 
255 
257 
259 
260  fXpos->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
261  fYpos->Connect("ValueSet(Long_t)", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
262 
263  fTextButton6364->Connect("Clicked()", "TGNumberEntry", fXpos, "IncreaseNumber(TGNumberFormat::EStepSize=0,-1)");
264  fTextButton6364->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
265  fTextButton6365->Connect("Clicked()", "TGNumberEntry", fXpos, "IncreaseNumber()");
266  fTextButton6365->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
267  fTextButton6366->Connect("Clicked()", "TGNumberEntry", fYpos, "IncreaseNumber(TGNumberFormat::EStepSize=0,-1)");
268  fTextButton6366->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
269  fTextButton6367->Connect("Clicked()", "TGNumberEntry", fYpos, "IncreaseNumber()");
270  fTextButton6367->Connect("Clicked()", "TGuiBldHintsEditor", fHintsFrame, "SetPosition()");
271 
272  //----------------------------------------------------
273 
274  fBorderFrame = new TGuiBldBorderFrame(tabcont, this);
275  tabcont->AddFrame(fBorderFrame, new TGLayoutHints(kLHintsExpandX, 2, 2, 2, 2));
276 
277  MapSubwindows();
278  SetWindowName("Frame Property Editor");
279  SetEditDisabled(1);
280 
281  fEmbedded = kFALSE;
282 }
283 
284 ////////////////////////////////////////////////////////////////////////////////
285 /// Destructor.
286 
288 {
289 }
290 
291 ////////////////////////////////////////////////////////////////////////////////
292 /// Remove a frame.
293 
295 {
296  fNameFrame->RemoveFrame(frame);
297 }
298 
299 ////////////////////////////////////////////////////////////////////////////////
300 /// Handle selected.
301 
303 {
304  if (id == fLayoutId) {
305  //printf("%d\n", fSelected);
306  }
307 }
308 
309 ////////////////////////////////////////////////////////////////////////////////
310 /// Hide editor.
311 
313 {
314  UnmapWindow();
315 }
316 
317 ////////////////////////////////////////////////////////////////////////////////
318 /// Change selected frame.
319 
321 {
323 
324  if (!frame) {
326  //fTab->SetTab(0);
327  if (tab) {
328  tab->SetEnabled(kFALSE);
329  fClient->NeedRedraw(tab);
330  }
331  return;
332  }
333 
334  fSelected = frame;
335  TGWindow *parent = (TGWindow*)fSelected->GetParent();
336 
338 
339  Bool_t enable_layout = kFALSE;
340  enable_layout |= parent && !(parent->GetEditDisabled() & kEditDisableLayout);
341  enable_layout |= !(fSelected->GetEditDisabled() & kEditDisableLayout);
342  enable_layout |= parent && (parent->InheritsFrom(TGCompositeFrame::Class()) &&
343  !((TGCompositeFrame*)parent)->IsLayoutBroken());
344  enable_layout |= (fSelected->InheritsFrom(TGCompositeFrame::Class()) &&
345  !((TGCompositeFrame*)fSelected)->IsLayoutBroken());
346 
347  if (enable_layout) {
349 
350  if (tab) {
351  tab->SetEnabled(kTRUE);
352  fClient->NeedRedraw(tab);
353  }
354  } else {
356 
357  if (tab) {
358  fTab->SetTab(0);
359  tab->SetEnabled(kFALSE);
360  fClient->NeedRedraw(tab);
361  }
362  }
363 
364  if ((frame->InheritsFrom(TGHorizontalFrame::Class())) ||
365  (frame->InheritsFrom(TGVerticalFrame::Class())) ||
366  (frame->InheritsFrom(TGGroupFrame::Class())) ) {
367 
369  if (fSelected->IsLayoutBroken()) {
370  fLayoutButton->SetText(" Enable layout ");
371  fLayoutLabel->SetText("Automatic layout disabled");
372  if (fTablay) {
376  }
377  } else {
378  fLayoutButton->SetText(" Disable layout ");
379  fLayoutLabel->SetText("Automatic layout enabled");
380  if (fTablay) {
384  }
385  }
386  }
387  else {
389  TGFrame *parentf = (TGFrame*)frame->GetParent();
390  if (parentf->IsLayoutBroken()) {
391  fLayoutButton->SetText(" Enable layout ");
392  fLayoutLabel->SetText("Automatic layout disabled");
396  } else {
397  fLayoutButton->SetText(" Disable layout ");
398  fLayoutLabel->SetText("Automatic layout enabled");
402  }
403  }
404 
405  fYpos->SetIntNumber(frame->GetY());
406  fXpos->SetIntNumber(frame->GetX());
407 
408  if (fBorderFrame) fBorderFrame->ChangeSelected(fSelected);
410 
411  Emit("ChangeSelected(TGFrame*)", (long)fSelected);
412 
413  MapRaised();
414 }
415 
416 ////////////////////////////////////////////////////////////////////////////////
417 /// Update selected frame.
418 
420 {
421  Emit("UpdateSelected(TGFrame*)", (long)frame);
422 }
423 
424 ////////////////////////////////////////////////////////////////////////////////
425 /// Update border of selected frame.
426 
428 {
429  if (!fSelected) return;
430 
431  UInt_t opt = fSelected->GetOptions();
432 
433  switch (b) {
434  case 1:
435  opt &= ~kRaisedFrame;
436  opt |= kSunkenFrame;
437  break;
438  case 2:
439  opt &= ~kSunkenFrame;
440  opt &= ~kRaisedFrame;
441  break;
442  case 3:
443  opt &= ~kSunkenFrame;
444  opt |= kRaisedFrame;
445  break;
446  case 4:
447  opt |= kDoubleBorder;
448  break;
449  case 5:
450  opt &= ~kDoubleBorder;
451  break;
452  default:
453  return;
454  }
455  fSelected->ChangeOptions(opt);
457 }
458 
459 ////////////////////////////////////////////////////////////////////////////////
460 /// Update background.
461 
463 {
464  if (!fSelected) return;
465 
468 }
469 
470 ////////////////////////////////////////////////////////////////////////////////
471 /// Update foreground.
472 
474 {
475  if (!fSelected) return;
476 
479 }
480 
481 ////////////////////////////////////////////////////////////////////////////////
482 /// Reset the editor.
483 
485 {
486  fSelected = 0;
487  fNameFrame->Reset();
489  if (tab) {
490  fTab->SetTab(0);
491  tab->SetEnabled(kFALSE);
492  }
493 }
494 
495 ////////////////////////////////////////////////////////////////////////////////
496 /// Popup dialog to set layout of editted frame off. If layout is on, all
497 /// the elements in the frame get layouted automatically.
498 
500 {
501  if (!fSelected) {
502  fLayoutButton->SetText(" Enable layout ");
504  fLayoutLabel->SetText("Automatic layout disabled");
505  if (fTablay) {
509  }
510  return;
511  }
512 
514  TGFrame *frame = fSelected;
515  TGCompositeFrame *cf = fNameFrame->GetMdi(frame);
516  if (cf == 0)
517  return;
518  if (frame->IsLayoutBroken()) {
519  Int_t retval;
520  builder->GetManager()->SetEditable(kFALSE);
521  new TGMsgBox(gClient->GetDefaultRoot(), builder, "Layout change",
522  "Enabling layout will automatically align and resize all the icons. \n Do you really want to layout them?",
523  kMBIconExclamation, kMBOk | kMBCancel, &retval);
524 
525  cf->SetEditable(kTRUE);
526  // hack against selecting the message box itself
527  builder->GetManager()->SelectFrame(frame);
528  frame->SetEditable(kTRUE);
529 
530  if (retval == kMBOk) {
531  frame->SetLayoutBroken(kFALSE);
532  frame->Layout();
533  fLayoutButton->SetText(" Disable layout ");
534  fLayoutLabel->SetText("Automatic layout enabled");
535  if (fTablay) {
540  }
541  }
542  } else {
543  //set layout off - without dialog, because nothing "bad" can happen
544  frame->SetLayoutBroken(kTRUE);
545  fLayoutButton->SetText(" Enable layout ");
546  fLayoutLabel->SetText("Automatic layout disabled");
547  if (fTablay) {
551  }
552  }
553  fClient->NeedRedraw(frame, kTRUE);
555 }
556 
557 
558 
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition: TGFrame.cxx:1173
TGTextButton * fLayoutButton
Definition: TGuiBldEditor.h:55
TGNumberEntry * fXpos
Definition: TGuiBldEditor.h:57
TGuiBldDragManager * GetManager() const
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
Definition: TGFrame.cxx:588
static FontStruct_t GetDefaultFontStruct()
Return default font structure.
Definition: TGButton.cxx:821
virtual UInt_t GetEditDisabled() const
Definition: TGWindow.h:113
void SelectFrame(TGFrame *frame, Bool_t add=kFALSE)
Grab/Select frame.
virtual UInt_t GetOptions() const
Definition: TGFrame.h:222
void UpdateBorder(Int_t)
Update border of selected frame.
void TabSelected(Int_t id)
Handle selected.
Definition: TGTab.h:62
void Reset()
Reset name frame.
void ChangeSelected(TGFrame *)
Change selected.
Int_t GetY() const
Definition: TGFrame.h:257
REAL splitter
Definition: triangle.c:616
UInt_t GetHeight() const
Definition: TGFrame.h:250
virtual void SetForegroundColor(Pixel_t)
Definition: TGFrame.h:221
#define gClient
Definition: TGClient.h:166
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
Definition: TGFrame.cxx:983
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition: TGFrame.cxx:1187
#define f(i)
Definition: RSha256.hxx:104
static const TGGC & GetDefaultGC()
Return default graphics context.
Definition: TGButton.cxx:422
UInt_t GetWidth() const
Definition: TGFrame.h:249
void UpdateForeground(Pixel_t col)
Update foreground.
virtual void MapRaised()
map raised
Definition: TGFrame.h:230
TGLabel * fLayoutLabel
Definition: TGuiBldEditor.h:56
TGCompositeFrame * GetMdi(TGFrame *frame)
Find the parent mdi frame.
virtual void SetState(EButtonState state, Bool_t emit=kFALSE)
Set radio button state.
Definition: TGButton.cxx:1565
TGGroupFrame * fPositionFrame
Definition: TGuiBldEditor.h:49
void ChangeSelected(TGFrame *frame)
Update number entries when new frame selected.
void ChangeSelected(TGFrame *)
Change selected frame.
void RemoveFrame(TGFrame *)
Remove a frame.
TGNumberEntry * fYpos
Definition: TGuiBldEditor.h:58
ULong_t Pixel_t
Definition: GuiTypes.h:39
TGuiBldBorderFrame * fBorderFrame
Definition: TGuiBldEditor.h:47
void Class()
Definition: Class.C:29
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition: TGFrame.cxx:666
virtual void SetText(TGString *newText)
Set new text in label.
Definition: TGLabel.cxx:178
virtual void Layout()
Definition: TGFrame.h:224
void RemoveFrame(TGFrame *frame)
Remove a frame.
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
Definition: TGFrame.cxx:295
virtual ~TGuiBldEditor()
Destructor.
TGuiBldHintsEditor * fHintsFrame
Definition: TGuiBldEditor.h:46
void Reset()
Reset the editor.
void Hide()
Hide editor.
Bool_t fEmbedded
Definition: TGuiBldEditor.h:51
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
Int_t GetX() const
Definition: TGFrame.h:256
TGuiBldEditor(const TGWindow *p=0)
Constructor.
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
Definition: TGTab.cxx:342
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
Definition: TObject.cxx:442
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:508
unsigned int UInt_t
Definition: RtypesCore.h:42
void SetEditable(Bool_t on=kTRUE)
Grab server.
virtual Bool_t IsLayoutBroken() const
Definition: TGFrame.h:241
TGVerticalFrame(const TGWindow *p=0, UInt_t w=1, UInt_t h=1, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Definition: TGFrame.h:414
virtual void SetIntNumber(Long_t val)
const Bool_t kFALSE
Definition: RtypesCore.h:88
virtual void SetText(TGHotString *new_label)
Set new button text.
Definition: TGButton.cxx:596
#define ClassImp(name)
Definition: Rtypes.h:365
virtual void SetEditDisabled(UInt_t on=1)
Set edit disable flag for this frame and subframes.
Definition: TGFrame.cxx:1005
void SwitchLayout()
Popup dialog to set layout of editted frame off.
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
Definition: TGFrame.cxx:1055
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition: TGButton.cxx:411
virtual void SetEditable(Bool_t)
Definition: TGFrame.h:239
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
virtual void SetCleanup(Int_t=kLocalCleanup)
Definition: TGFrame.h:242
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
Definition: TGFrame.cxx:1100
TGuiBldGeometryFrame * fGeomFrame
Definition: TGuiBldEditor.h:48
const TGWindow * GetParent() const
Definition: TGWindow.h:84
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
Definition: TGFrame.cxx:1147
TGCompositeFrame * fTablay
Definition: TGuiBldEditor.h:53
void UpdateSelected(TGFrame *=0)
Update selected frame.
virtual void UnmapWindow()
unmap window
Definition: TGFrame.h:231
static TGuiBuilder * Instance()
return an instance of TGuiBuilder object
virtual void SetLayoutBroken(Bool_t=kTRUE)
Definition: TGFrame.h:240
TGClient * fClient
Definition: TGObject.h:37
TGTabElement * GetTabTab(Int_t tabIndex) const
Return the tab element of tab with index tabIndex.
Definition: TGTab.cxx:613
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Definition: TRolke.cxx:630
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
Definition: TGClient.cxx:372
UInt_t fEditDisabled
Definition: TGWindow.h:40
TGuiBldNameFrame * fNameFrame
Definition: TGuiBldEditor.h:45
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Definition: TQObject.h:164
void ChangeSelected(TGFrame *frame)
Change selected frame.
void UpdateBackground(Pixel_t col)
Update background.
virtual void SetEditable(Bool_t on=kTRUE)
Switch ON/OFF edit mode.
Definition: TGFrame.cxx:931
virtual void SetEnabled(Bool_t on=kTRUE)
Definition: TGTab.h:162
const Bool_t kTRUE
Definition: RtypesCore.h:87
virtual void ChangeOptions(UInt_t options)
Change frame options. Options is an OR of the EFrameTypes.
Definition: TGFrame.cxx:304
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition: TGButton.cxx:397
virtual void SetWindowName(const char *name=0)
Set window name.
Definition: TGWindow.cxx:119
TGuiBldEditor * fEditor
Definition: TGMsgBox.h:44
TGFrame * fSelected
Definition: TGuiBldEditor.h:44