Logo ROOT  
Reference Guide
TGFileDialog.cxx
Go to the documentation of this file.
1 // @(#)root/gui:$Id: f3cd439bd51d763ffd53693e89c42b2eaa27c520 $
2 // Author: Fons Rademakers 20/01/98
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, 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 /** \class TGFileDialog
14  \ingroup guiwidgets
15 
16 This class creates a file selection dialog. It contains a combo box
17 to select the desired directory. A listview with the different
18 files in the current directory and a combo box with which you can
19 select a filter (on file extensions).
20 When creating a file dialog one passes a pointer to a TGFileInfo
21 object. In this object you can set the fFileTypes and fIniDir to
22 specify the list of file types for the filter combo box and the
23 initial directory. When the TGFileDialog ctor returns the selected
24 file name can be found in the TGFileInfo::fFilename field and the
25 selected directory in TGFileInfo::fIniDir. The fFilename and
26 fIniDir are deleted by the TGFileInfo dtor.
27 
28 */
29 
30 
31 #include "TGFileDialog.h"
32 #include "TGLabel.h"
33 #include "TGTextEntry.h"
34 #include "TGComboBox.h"
35 #include "TGListView.h"
36 #include "TGFSContainer.h"
37 #include "TGFSComboBox.h"
38 #include "TGMsgBox.h"
39 #include "TGInputDialog.h"
40 #include "TSystem.h"
41 #include "TObjString.h"
42 #include "strlcpy.h"
43 
44 #include <sys/stat.h>
45 
56 };
57 
58 static const char *gDefTypes[] = { "All files", "*",
59  "ROOT files", "*.root",
60  "ROOT macros", "*.C",
61  nullptr, nullptr };
62 
64 
65 
67 
68 ////////////////////////////////////////////////////////////////////////////////
69 /// TGFileInfo Destructor.
70 
72 {
73  delete [] fFilename;
74  delete [] fIniDir;
76 }
77 
78 
79 ////////////////////////////////////////////////////////////////////////////////
80 /// Delete file names list
81 
83 {
84  if (fFileNamesList) {
86  delete fFileNamesList;
87  fFileNamesList = nullptr;
88  }
89 }
90 
91 ////////////////////////////////////////////////////////////////////////////////
92 /// Turn on/off multiple selection.
93 
95 {
96  if ( fMultipleSelection != option ) {
97  fMultipleSelection = option;
100  fFileNamesList = new TList();
101  }
102 }
103 
104 ////////////////////////////////////////////////////////////////////////////////
105 /// Set file name
106 
107 void TGFileInfo::SetFilename(const char *fname)
108 {
109  delete [] fFilename;
110  fFilename = fname ? StrDup(fname) : nullptr;
111 }
112 
113 ////////////////////////////////////////////////////////////////////////////////
114 /// Set directory name
115 
116 void TGFileInfo::SetIniDir(const char *inidir)
117 {
118  delete [] fIniDir;
119  fIniDir = inidir ? StrDup(inidir) : nullptr;
120 }
121 
122 ////////////////////////////////////////////////////////////////////////////////
123 /// Create a file selection dialog. Depending on the dlg_type it can be
124 /// used for opening or saving a file.
125 /// About the first two arguments, p is the parent Window, usually the
126 /// desktop (root) window, and main is the main (TGMainFrame) application
127 /// window (the one opening the dialog), onto which the dialog is
128 /// usually centered, and which is waiting for it to close.
129 
131  EFileDialogMode dlg_type, TGFileInfo *file_info) :
132  TGTransientFrame(p, main, 10, 10, kVerticalFrame), fTbfname(0), fName(0),
133  fTypes(0), fTreeLB(0), fCdup(0), fNewf(0), fList(0), fDetails(0), fCheckB(0),
134  fPcdup(0), fPnewf(0), fPlist(0), fPdetails(0), fOk(0), fCancel(0), fFv(0),
135  fFc(0), fFileInfo(0), fDlgType(dlg_type)
136 {
138  Connect("CloseWindow()", "TGFileDialog", this, "CloseWindow()");
139  DontCallClose();
140 
141  int i;
142 
143  if (!p && !main) {
144  MakeZombie();
145  return;
146  }
147  if (!file_info) {
148  Error("TGFileDialog", "file_info argument not set");
149  fFileInfo = &gInfo;
150  fFileInfo->SetIniDir(nullptr);
151  fFileInfo->SetFilename(nullptr);
152  fFileInfo->fFileTypeIdx = 0;
153  } else
154  fFileInfo = file_info;
155 
156  if (!fFileInfo->fFileTypes)
158 
159  if (!fFileInfo->fIniDir)
160  fFileInfo->SetIniDir(".");
161 
162  TGHorizontalFrame *fHtop = new TGHorizontalFrame(this, 10, 10);
163 
164  //--- top toolbar elements
165  TGLabel *fLookin = new TGLabel(fHtop, new TGHotString((dlg_type == kFDSave || dlg_type == kDSave)
166  ? "S&ave in:" : "&Look in:"));
167  fTreeLB = new TGFSComboBox(fHtop, kIDF_FSLB);
168  fTreeLB->Associate(this);
169 
170  fPcdup = fClient->GetPicture("tb_uplevel.xpm");
171  fPnewf = fClient->GetPicture("tb_newfolder.xpm");
172  fPlist = fClient->GetPicture("tb_list.xpm");
173  fPdetails = fClient->GetPicture("tb_details.xpm");
174 
175  if (!(fPcdup && fPnewf && fPlist && fPdetails))
176  Error("TGFileDialog", "missing toolbar pixmap(s).\n");
177 
178  fCdup = new TGPictureButton(fHtop, fPcdup, kIDF_CDUP);
180  fList = new TGPictureButton(fHtop, fPlist, kIDF_LIST);
182 
183  fCdup->SetStyle(gClient->GetStyle());
184  fNewf->SetStyle(gClient->GetStyle());
185  fList->SetStyle(gClient->GetStyle());
186  fDetails->SetStyle(gClient->GetStyle());
187 
188  fCdup->SetToolTipText("Up One Level");
189  fNewf->SetToolTipText("Create New Folder");
190  fList->SetToolTipText("List");
191  fDetails->SetToolTipText("Details");
192 
193  fCdup->Associate(this);
194  fNewf->Associate(this);
195  fList->Associate(this);
196  fDetails->Associate(this);
197 
200 
202 
203  fHtop->AddFrame(fLookin, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 5, 2, 2));
204  fHtop->AddFrame(fTreeLB, new TGLayoutHints(kLHintsLeft | kLHintsExpandY, 3, 0, 2, 2));
205  fHtop->AddFrame(fCdup, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 3, 0, 2, 2));
206  fHtop->AddFrame(fNewf, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 3, 0, 2, 2));
207  fHtop->AddFrame(fList, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 3, 0, 2, 2));
208  fHtop->AddFrame(fDetails, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 0, 8, 2, 2));
209 
210  if (dlg_type == kFDSave) {
211  fCheckB = new TGCheckButton(fHtop, "&Overwrite", kIDF_CHECKB);
212  fCheckB->SetToolTipText("Overwrite a file without displaying a message if selected");
213  } else if (dlg_type == kFDOpen) {
214  fCheckB = new TGCheckButton(fHtop, "&Multiple files", kIDF_CHECKB);
215  fCheckB->SetToolTipText("Allows multiple file selection when SHIFT is pressed");
216  fCheckB->Connect("Toggled(Bool_t)","TGFileInfo",fFileInfo,"SetMultipleSelection(Bool_t)");
217  }
218  if (fCheckB) {
221  }
222  AddFrame(fHtop, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 4, 4, 3, 1));
223 
224  //--- file view
225 
226  fFv = new TGListView(this, 400, 161);
227 
229  10, 10, kHorizontalFrame, fgWhitePixel);
230  fFc->Associate(this);
231 
233  fFv->SetContainer(fFc);
235  fFv->SetIncrements(1, 19); // set vertical scroll one line height at a time
236 
237  TGTextButton** buttons = fFv->GetHeaderButtons();
238  if (buttons) {
239  buttons[0]->Connect("Clicked()", "TGFileContainer", fFc, "Sort(=kSortByName)");
240  buttons[1]->Connect("Clicked()", "TGFileContainer", fFc, "Sort(=kSortByType)");
241  buttons[2]->Connect("Clicked()", "TGFileContainer", fFc, "Sort(=kSortBySize)");
242  buttons[3]->Connect("Clicked()", "TGFileContainer", fFc, "Sort(=kSortByOwner)");
243  buttons[4]->Connect("Clicked()", "TGFileContainer", fFc, "Sort(=kSortByGroup)");
244  buttons[5]->Connect("Clicked()", "TGFileContainer", fFc, "Sort(=kSortByDate)");
245  }
246 
248  fFc->Sort(kSortByName);
252 
254 
256 
257  if (dlg_type == kFDOpen) {
258  fCheckB->Connect("Toggled(Bool_t)","TGFileContainer",fFc,"SetMultipleSelection(Bool_t)");
259  fCheckB->Connect("Toggled(Bool_t)","TGFileContainer",fFc,"UnSelectAll()");
260  }
261 
262  //--- file name and types
263 
264  TGHorizontalFrame *fHf = new TGHorizontalFrame(this, 10, 10);
265 
266  TGVerticalFrame *fVf = new TGVerticalFrame(fHf, 10, 10);
267 
268  TGHorizontalFrame *fHfname = new TGHorizontalFrame(fVf, 10, 10);
269 
270  TGLabel *fLfname = new TGLabel(fHfname, new TGHotString(
271  (dlg_type == kDOpen || dlg_type == kDSave ) ? "Folder &name:" : "File &name:"));
272  fTbfname = new TGTextBuffer(1034);
273  fName = new TGTextEntry(fHfname, fTbfname);
275  fName->Associate(this);
276 
277  fHfname->AddFrame(fLfname, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 5, 2, 2));
278  fHfname->AddFrame(fName, new TGLayoutHints(kLHintsRight | kLHintsCenterY, 0, 20, 2, 2));
279 
281 
282  TGHorizontalFrame *fHftype = new TGHorizontalFrame(fVf, 10, 10);
283 
284  TGLabel *fLftypes = new TGLabel(fHftype, new TGHotString("Files of &type:"));
285  fTypes = new TGComboBox(fHftype, kIDF_FTYPESLB);
286  fTypes->Associate(this);
288 
289  TString s;
290  for (i = 0; fFileInfo->fFileTypes[i] != 0; i += 2) {
291  s.Form("%s (%s)", fFileInfo->fFileTypes[i], fFileInfo->fFileTypes[i+1]);
292  fTypes->AddEntry(s.Data(), i);
293  }
295 
296  // Show all items in combobox without scrollbar
297  //TGDimension fw = fTypes->GetListBox()->GetContainer()->GetDefaultSize();
298  //fTypes->GetListBox()->Resize(fw.fWidth, fw.fHeight);
299 
300  if (fFileInfo->fFilename && fFileInfo->fFilename[0]) {
302  } else {
303  fTbfname->Clear();
304  if (dlg_type == kFDSave) {
305  fTbfname->AddText(0, "unnamed");
306  fName->SelectAll();
308  strstr(fFileInfo->fFileTypes[fFileInfo->fFileTypeIdx+1], "*.")) {
310  ext.ReplaceAll("*.", ".");
311  fTbfname->AddText(7, ext.Data());
312  }
313  fName->SetFocus();
314  }
315  }
316 
317  fTypes->GetListBox()->Resize(230, 120);
318  if (dlg_type == kDOpen || dlg_type == kDSave) {
320  }
321 
322  fHftype->AddFrame(fLftypes, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 5, 2, 2));
323  fHftype->AddFrame(fTypes, new TGLayoutHints(kLHintsRight | kLHintsCenterY, 0, 20, 2, 2));
324 
326 
328 
329  //--- Open/Save and Cancel buttons
330 
331  TGVerticalFrame *fVbf = new TGVerticalFrame(fHf, 10, 10, kFixedWidth);
332 
333  fOk = new TGTextButton(fVbf, new TGHotString((dlg_type == kFDSave || dlg_type == kDSave)
334  ? "&Save" : "&Open"), kIDF_OK);
335  fCancel = new TGTextButton(fVbf, new TGHotString("Cancel"), kIDF_CANCEL);
336 
337  fOk->Associate(this);
338  fCancel->Associate(this);
339 
340  fVbf->AddFrame(fOk, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0, 0, 2, 2));
341  fVbf->AddFrame(fCancel, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0, 0, 2, 2));
342 
344  fVbf->Resize(width + 20, fVbf->GetDefaultHeight());
345 
347 
348  AddFrame(fHf, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 4, 4, 3, 1));
350 
351  MapSubwindows();
352 
354 
355  Resize(size);
356 
357  //---- position relative to the parent's window
358 
359  CenterOnParent();
360 
361  //---- make the message box non-resizable
362 
363  SetWMSize(size.fWidth, size.fHeight);
364  SetWMSizeHints(size.fWidth, size.fHeight, 10000, 10000, 1, 1);
365 
366  const char *wname = (dlg_type == kFDSave || dlg_type == kDSave) ? "Save As..." : "Open";
367  SetWindowName(wname);
368  SetIconName(wname);
369  SetClassHints("ROOT", "FileDialog");
370 
376 
377  MapWindow();
379  if (dlg_type == kFDSave || dlg_type == kDSave)
380  fName->SetFocus();
381  fClient->WaitFor(this);
382 }
383 
384 ////////////////////////////////////////////////////////////////////////////////
385 /// Delete file dialog.
386 
388 {
389  if (IsZombie()) return;
390  TString str = fCheckB ? fCheckB->GetString() : "";
391  if (str.Contains("Multiple") && fCheckB)
392  fCheckB->Disconnect("Toggled(Bool_t)");
397  delete fFc;
398 }
399 
400 ////////////////////////////////////////////////////////////////////////////////
401 /// Close file dialog.
402 
404 {
405  fFileInfo->SetFilename(nullptr);
407  DeleteWindow();
408 }
409 
410 ////////////////////////////////////////////////////////////////////////////////
411 /// Small function used to prevent memory leaks with TSystem::ExpandPathName,
412 /// which returns a string created by StrDup, that has to be deleted
413 
414 namespace {
415  static inline void pExpandUnixPathName(TGFileInfo &file_info) {
416  char *tmpPath = gSystem->ExpandPathName(file_info.fFilename);
417  file_info.SetFilename(gSystem->UnixPathName(tmpPath));
418  delete[] tmpPath;
419  }
420 }
421 
422 ////////////////////////////////////////////////////////////////////////////////
423 /// Process messages generated by the user input in the file dialog.
424 
426 {
427  if (!fFc->GetDisplayStat()) return kTRUE; // Cancel button was pressed
428 
429  TGTreeLBEntry *e;
430  TGTextLBEntry *te;
431  TGFileItem *f;
432  void *p = 0;
433  TString txt;
434  TString sdir = gSystem->WorkingDirectory();
435 
436  switch (GET_MSG(msg)) {
437  case kC_COMMAND:
438  switch (GET_SUBMSG(msg)) {
439  case kCM_BUTTON:
440  switch (parm1) {
441  case kIDF_OK:
442  // same code as under kTE_ENTER
443  if (fTbfname->GetTextLength() == 0) {
444  txt = "Please provide file name or use \"Cancel\"";
446  "Missing File Name", txt, kMBIconExclamation,
447  kMBOk);
448  return kTRUE;
450  !strcmp(fOk->GetTitle(), "Save") && fCheckB &&
451  (!(fCheckB->GetState() == kButtonDown))) {
452  Int_t ret;
453  txt = TString::Format("File name %s already exists, OK to overwrite it?",
454  fTbfname->GetString());
456  "File Name Exist", txt.Data(), kMBIconExclamation,
457  kMBYes | kMBNo, &ret);
458  if (ret == kMBNo)
459  return kTRUE;
460  }
462  fFileInfo->SetFilename(nullptr);
463  } else {
464  fFileInfo->SetFilename(nullptr);
465  // FIXME: once appropriate gSystem method exists, use SetFilename here
468  else
470  fTbfname->GetString());
471  pExpandUnixPathName(*fFileInfo);
472  }
473  if (fCheckB && (fCheckB->GetState() == kButtonDown))
475  else
477  DeleteWindow();
478  break;
479 
480  case kIDF_CANCEL:
481  fFileInfo->SetFilename(nullptr);
482  if (fFc->GetDisplayStat())
485  DeleteWindow();
486  return kTRUE; //no need to redraw fFc
487  break;
488 
489  case kIDF_CDUP:
490  fFc->ChangeDirectory("..");
493  if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
494  gSystem->cd(fFc->GetDirectory());
495  }
496  break;
497 
498  case kIDF_NEW_FOLDER: {
499  char answer[128];
500  strlcpy(answer, "(empty)", sizeof(answer));
501  new TGInputDialog(gClient->GetRoot(), GetMainFrame(),
502  "Enter directory name:",
503  answer/*"(empty)"*/, answer);
504 
505  while ( strcmp(answer, "(empty)") == 0 ) {
506  new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
507  "Please enter a valid directory name.",
508  kMBIconStop, kMBOk);
509  new TGInputDialog(gClient->GetRoot(), GetMainFrame(),
510  "Enter directory name:",
511  answer, answer);
512  }
513  if ( strcmp(answer, "") == 0 ) // Cancel button was pressed
514  break;
515 
516  if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
517  gSystem->cd(fFc->GetDirectory());
518  }
519  if ( gSystem->MakeDirectory(answer) != 0 )
520  new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
521  TString::Format("Directory name \'%s\' already exists!", answer),
522  kMBIconStop, kMBOk);
523  else {
525  }
526  gSystem->ChangeDirectory(sdir.Data());
527  break;
528  }
529 
530  case kIDF_LIST:
533  break;
534 
535  case kIDF_DETAILS:
538  break;
539  }
540  break;
541 
542  case kCM_COMBOBOX:
543  switch (parm1) {
544  case kIDF_FSLB:
546  if (e) {
547  fFc->ChangeDirectory(e->GetPath()->GetString());
550  if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
551  gSystem->cd(fFc->GetDirectory());
552  }
553  }
554  break;
555 
556  case kIDF_FTYPESLB:
558  if (te) {
559  //fTbfname->Clear();
560  //fTbfname->AddText(0, fFileInfo->fFileTypes[te->EntryId()+1]);
561  fFileInfo->fFileTypeIdx = te->EntryId();
565  }
566  break;
567  }
568  break;
569 
570  default:
571  break;
572  } // switch(GET_SUBMSG(msg))
573  break;
574 
575  case kC_CONTAINER:
576  switch (GET_SUBMSG(msg)) {
577  case kCT_ITEMCLICK:
578  if (parm1 == kButton1) {
579  if (fFc->NumSelected() > 0) {
580  if ( fFileInfo->fMultipleSelection == kFALSE ) {
581  TGLVEntry *e2 = (TGLVEntry *) fFc->GetNextSelected(&p);
582  if (fDlgType == kFDOpen || fDlgType == kFDSave) {
583  if ((e2) && !R_ISDIR(((TGFileItem *)e2)->GetType())) {
584  fTbfname->Clear();
585  if (e2->GetItemName())
586  fTbfname->AddText(0, e2->GetItemName()->GetString());
588  }
589  } else {
590  if ((e2) && R_ISDIR(((TGFileItem *)e2)->GetType())) {
591  fTbfname->Clear();
592  if (e2->GetItemName())
593  fTbfname->AddText(0, e2->GetItemName()->GetString());
595  fOk->SetEnabled(kTRUE);
596  } else if ((e2)) {
598  }
599  }
600  }
601  else {
602  TString tmpString;
603  TList *tmp = fFc->GetSelectedItems();
604  TObjString *el;
605  TIter next(tmp);
606  if (fFileInfo->fFileNamesList) {
608  } else {
609  fFileInfo->fFileNamesList = new TList();
610  }
611  while ((el = (TObjString *) next())) {
613  el->GetString());
614  tmpString += "\"" + el->GetString() + "\" ";
616  delete [] s;
617  }
618  tmp->Delete();
619  delete tmp;
620  fTbfname->Clear();
621  fTbfname->AddText(0, tmpString);
623  }
624  }
625  }
626  break;
627 
628  case kCT_ITEMDBLCLICK:
629 
630  if (parm1 == kButton1) {
631  if (fFc->NumSelected() == 1) {
632  f = (TGFileItem *) fFc->GetNextSelected(&p);
633  if (f && R_ISDIR(f->GetType())) {
634  fFc->ChangeDirectory(f->GetItemName()->GetString());
637  if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
638  gSystem->cd(fFc->GetDirectory());
639  }
640  if (fDlgType == kDOpen || fDlgType == kDSave) {
641  fTbfname->Clear();
644  }
645  } else if (fDlgType == kFDOpen || fDlgType == kFDSave) {
646  if (!strcmp(fOk->GetTitle(), "Save") && fCheckB &&
647  (!(fCheckB->GetState() == kButtonDown))) {
648 
649  Int_t ret;
650  txt = TString::Format("File name %s already exists, OK to overwrite it?",
651  fTbfname->GetString());
653  "File Name Exist", txt.Data(), kMBIconExclamation,
654  kMBYes | kMBNo, &ret);
655  if (ret == kMBNo)
656  return kTRUE;
657  }
658  fFileInfo->SetFilename(nullptr);
659  // FIXME: once appropriate gSystem method exists, use SetFilename here
662  else
664  fTbfname->GetString());
665  pExpandUnixPathName(*fFileInfo);
666  if (fCheckB && (fCheckB->GetState() == kButtonDown))
668  else
670 
671  DeleteWindow();
672  }
673  }
674  }
675 
676  break;
677 
678  default:
679  break;
680 
681  } // switch(GET_SUBMSG(msg))
682  break;
683 
684  case kC_TEXTENTRY:
685  // when typing, re-enable previously disabled button after having clicked on file instead of folder
687  fOk->SetEnabled(kTRUE);
688 
689  switch (GET_SUBMSG(msg)) {
690  case kTE_ENTER:
691  // same code as under kIDF_OK
692  if (fTbfname->GetTextLength() == 0) {
693  const char *txt2 = "Please provide file name or use \"Cancel\"";
695  "Missing File Name", txt2, kMBIconExclamation,
696  kMBOk);
697  return kTRUE;
699  FileStat_t buf;
700  if (!gSystem->GetPathInfo(fTbfname->GetString(), buf) &&
701  R_ISDIR(buf.fMode)) {
704  if (strcmp(gSystem->WorkingDirectory(), fFc->GetDirectory())) {
705  gSystem->cd(fFc->GetDirectory());
706  }
707  fName->SetText("", kFALSE);
708  return kTRUE;
709  }
710  else if (!strcmp(fOk->GetTitle(), "Save") && fCheckB &&
711  (!(fCheckB->GetState() == kButtonDown))) {
712  Int_t ret;
713  txt = TString::Format("File name %s already exists, OK to overwrite it?",
714  fTbfname->GetString());
716  "File Name Exist", txt.Data(), kMBIconExclamation,
717  kMBYes | kMBNo, &ret);
718  if (ret == kMBNo)
719  return kTRUE;
720  }
721  }
722  fFileInfo->SetFilename(nullptr);
723  // FIXME: once appropriate gSystem method exists, use SetFilename here
725  fTbfname->GetString());
726  pExpandUnixPathName(*fFileInfo);
727  if (fCheckB && (fCheckB->GetState() == kButtonDown))
729  else
731  DeleteWindow();
732  break;
733 
734  default:
735  break;
736  }
737  break;
738 
739  default:
740  break;
741 
742  } // switch(GET_MSG(msg))
743 
745  return kTRUE;
746 }
TGComboBox.h
TGCompositeFrame::GetDefaultSize
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
Definition: TGFrame.h:316
TGButton::SetToolTipText
virtual void SetToolTipText(const char *text, Long_t delayms=400)
Set tool tip text associated with this button.
Definition: TGButton.cxx:445
TGFileDialog::fDlgType
EFileDialogMode fDlgType
Definition: TGFileDialog.h:87
TGListView::GetHeaderButtons
TGTextButton ** GetHeaderButtons()
Definition: TGListView.h:159
TSystem::GetPathInfo
int GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime)
Get info about a file: id, size, flags, modification time.
Definition: TSystem.cxx:1396
TGTransientFrame
Defines transient windows that typically are used for dialogs windows.
Definition: TGFrame.h:498
TGComboBox::GetSelectedEntry
virtual TGLBEntry * GetSelectedEntry() const
Definition: TGComboBox.h:115
TGButton::AllowStayDown
virtual void AllowStayDown(Bool_t a)
Definition: TGButton.h:113
GET_MSG
Int_t GET_MSG(Long_t val)
Definition: WidgetMessageTypes.h:110
kIDF_CDUP
@ kIDF_CDUP
Definition: TGFileDialog.cxx:47
TGButton::SetEnabled
virtual void SetEnabled(Bool_t e=kTRUE)
Set enabled or disabled state of button.
Definition: TGButton.cxx:459
EFileFialog
EFileFialog
Definition: TGFileDialog.cxx:46
TQObject::Disconnect
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:1027
TGContainer::Associate
virtual void Associate(const TGWindow *w)
Definition: TGCanvas.h:89
gDefTypes
static const char * gDefTypes[]
Definition: TGFileDialog.cxx:58
TGFSComboBox::Update
virtual void Update(const char *path)
Update file system combo box.
Definition: TGFSComboBox.cxx:332
TGWindow
ROOT GUI Window base class.
Definition: TGWindow.h:23
kIDF_FTYPESLB
@ kIDF_FTYPESLB
Definition: TGFileDialog.cxx:53
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:95
TGTextEntry::SetText
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line.
Definition: TGTextEntry.cxx:611
e
#define e(i)
Definition: RSha256.hxx:103
kFixedWidth
@ kFixedWidth
Definition: GuiTypes.h:387
TSystem::cd
Bool_t cd(const char *path)
Definition: TSystem.h:421
TGFileContainer
Definition: TGFSContainer.h:115
TGInputDialog.h
TGFileDialog::fCheckB
TGCheckButton * fCheckB
Definition: TGFileDialog.h:76
TGFileItem
Definition: TGFSContainer.h:42
f
#define f(i)
Definition: RSha256.hxx:104
TGDimension
Definition: TGDimension.h:18
TGFrame::SetBackgroundColor
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
Definition: TGFrame.cxx:312
TSystem::ChangeDirectory
virtual Bool_t ChangeDirectory(const char *path)
Change directory.
Definition: TSystem.cxx:861
TMath::Max
Short_t Max(Short_t a, Short_t b)
Definition: TMathBase.h:212
TGFileContainer::DisplayDirectory
virtual void DisplayDirectory()
Display the contents of the current directory in the container.
Definition: TGFSContainer.cxx:743
kIDF_OK
@ kIDF_OK
Definition: TGFileDialog.cxx:54
TGFSComboBox.h
kDOpen
@ kDOpen
Definition: TGFileDialog.h:23
TGMainFrame::SetIconName
void SetIconName(const char *name)
Set window icon name. This is typically done via the window manager.
Definition: TGFrame.cxx:1777
TGFileContainer::ChangeDirectory
virtual void ChangeDirectory(const char *path)
Change current directory.
Definition: TGFSContainer.cxx:726
kButtonDown
@ kButtonDown
Definition: TGButton.h:54
TList::Delete
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
Definition: TList.cxx:470
TString::Data
const char * Data() const
Definition: TString.h:369
kLHintsTop
@ kLHintsTop
Definition: TGLayout.h:27
TSystem::IsAbsoluteFileName
virtual Bool_t IsAbsoluteFileName(const char *dir)
Return true if dir is an absolute pathname.
Definition: TSystem.cxx:950
TGLVContainer::GetSelectedItems
TList * GetSelectedItems()
Get list of selected items in container.
Definition: TGListView.cxx:944
TGTextBuffer::GetTextLength
UInt_t GetTextLength() const
Definition: TGTextBuffer.h:32
TGTextButton::GetTitle
virtual const char * GetTitle() const
Returns title of object.
Definition: TGButton.h:190
ClassImp
#define ClassImp(name)
Definition: Rtypes.h:364
TGComboBox::AddEntry
virtual void AddEntry(TGString *s, Int_t id)
Definition: TGComboBox.h:86
TObjString.h
FileStat_t
Definition: TSystem.h:124
kVerticalFrame
@ kVerticalFrame
Definition: GuiTypes.h:381
TGMsgBox
Definition: TGMsgBox.h:52
TGHotString
TGHotString is a string with a "hot" character underlined.
Definition: TGString.h:42
kLHintsLeft
@ kLHintsLeft
Definition: TGLayout.h:24
kIDF_LIST
@ kIDF_LIST
Definition: TGFileDialog.cxx:49
TObject::Error
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition: TObject.cxx:893
TGFileDialog::fPnewf
const TGPicture * fPnewf
Definition: TGFileDialog.h:79
TGLabel
This class handles GUI labels.
Definition: TGLabel.h:24
TGFileInfo::fMultipleSelection
Bool_t fMultipleSelection
Definition: TGFileDialog.h:51
TGTreeLBEntry
Definition: TGFSComboBox.h:25
TGListBox::Resize
virtual void Resize(UInt_t w, UInt_t h)
Resize the listbox widget.
Definition: TGListBox.cxx:1404
TGContainer::NumSelected
virtual Int_t NumSelected() const
Definition: TGCanvas.h:104
TGFrame::GetDefaultHeight
virtual UInt_t GetDefaultHeight() const
Definition: TGFrame.h:191
kButtonUp
@ kButtonUp
Definition: TGButton.h:53
TGWindow::kEditDisable
@ kEditDisable
Definition: TGWindow.h:50
TGMainFrame::SetWMSizeHints
void SetWMSizeHints(UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc)
Give the window manager minimum and maximum size hints.
Definition: TGFrame.cxx:1880
TGFileDialog::fTbfname
TGTextBuffer * fTbfname
Definition: TGFileDialog.h:68
TGClient::WaitFor
void WaitFor(TGWindow *w)
Wait for window to be destroyed.
Definition: TGClient.cxx:711
width
include TDocParser_001 C image html pict1_TDocParser_001 png width
Definition: TDocParser.cxx:121
TGTextButton
Yield an action as soon as it is clicked.
Definition: TGButton.h:142
TGeant4Unit::s
static constexpr double s
Definition: TGeant4SystemOfUnits.h:162
TGMainFrame::DontCallClose
void DontCallClose()
Typically call this method in the slot connected to the CloseWindow() signal to prevent the calling o...
Definition: TGFrame.cxx:1756
TGFileContainer::GetDisplayStat
Bool_t GetDisplayStat()
Definition: TGFSContainer.h:161
TGLVEntry
Definition: TGListView.h:36
TObjString::GetString
const TString & GetString() const
Definition: TObjString.h:46
TGFileInfo::SetIniDir
void SetIniDir(const char *inidir)
Set directory name.
Definition: TGFileDialog.cxx:116
TString::Contains
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Definition: TString.h:624
kMBYes
@ kMBYes
Definition: TGMsgBox.h:31
TGComboBox::Select
virtual void Select(Int_t id, Bool_t emit=kTRUE)
Make the selected item visible in the combo box window and emit signals according to the second param...
Definition: TGComboBox.cxx:456
TGCompositeFrame::SetEditDisabled
virtual void SetEditDisabled(UInt_t on=1)
Set edit disable flag for this frame and subframes.
Definition: TGFrame.cxx:1022
TGFSContainer.h
TSystem::MakeDirectory
virtual int MakeDirectory(const char *name)
Make a directory.
Definition: TSystem.cxx:826
kIDF_FSLB
@ kIDF_FSLB
Definition: TGFileDialog.cxx:52
TGFrame::fgWhitePixel
static Pixel_t fgWhitePixel
Definition: TGFrame.h:103
kButton1
@ kButton1
Definition: GuiTypes.h:214
TGMainFrame::SetWindowName
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager.
Definition: TGFrame.cxx:1764
TGClient::FreePicture
void FreePicture(const TGPicture *pic)
Free picture resource.
Definition: TGClient.cxx:310
TGHorizontalFrame
A composite frame that layout their children in horizontal way.
Definition: TGFrame.h:386
TString::Format
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Definition: TString.cxx:2333
kDSave
@ kDSave
Definition: TGFileDialog.h:24
TString
Basic string class.
Definition: TString.h:136
kMBNo
@ kMBNo
Definition: TGMsgBox.h:32
TSystem::AccessPathName
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
Definition: TSystem.cxx:1294
kMWMFuncMinimize
@ kMWMFuncMinimize
Definition: TGFrame.h:52
TGListView
A list view is a widget that can contain a number of items arranged in a grid or list.
Definition: TGListView.h:115
kCT_ITEMDBLCLICK
@ kCT_ITEMDBLCLICK
Definition: WidgetMessageTypes.h:55
TGFrame::MapWindow
virtual void MapWindow()
map window
Definition: TGFrame.h:204
bool
TSystem::WorkingDirectory
virtual const char * WorkingDirectory()
Return working directory.
Definition: TSystem.cxx:870
TString::ReplaceAll
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition: TString.h:692
TGTextBuffer
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
Definition: TGTextBuffer.h:19
TGTextEntry::SelectAll
virtual void SelectAll()
Selects all text (i.e.
Definition: TGTextEntry.cxx:1028
TGFileInfo::fFileTypeIdx
Int_t fFileTypeIdx
Definition: TGFileDialog.h:49
TGFileDialog.h
TGFileDialog::fTypes
TGComboBox * fTypes
Definition: TGFileDialog.h:70
kMWMDecorMenu
@ kMWMDecorMenu
Definition: TGFrame.h:67
kMWMInputModeless
@ kMWMInputModeless
Definition: TGFrame.h:57
kMWMDecorResizeH
@ kMWMDecorResizeH
Definition: TGFrame.h:65
TObjString
Collectable string class.
Definition: TObjString.h:28
TGFileContainer::SetDisplayStat
virtual void SetDisplayStat(Bool_t stat=kTRUE)
Definition: TGFSContainer.h:160
gClient
#define gClient
Definition: TGClient.h:157
TGFileDialog::fPdetails
const TGPicture * fPdetails
Definition: TGFileDialog.h:81
TGFileDialog::fTreeLB
TGFSComboBox * fTreeLB
Definition: TGFileDialog.h:71
TGCheckButton
Selects different options.
Definition: TGButton.h:264
TGFileDialog::fPcdup
const TGPicture * fPcdup
Definition: TGFileDialog.h:78
TGFileDialog::fName
TGTextEntry * fName
Definition: TGFileDialog.h:69
TGFileDialog::fCancel
TGTextButton * fCancel
Definition: TGFileDialog.h:83
TGFileContainer::GetDirectory
const char * GetDirectory() const
Definition: TGFSContainer.h:163
TGFrame::DeleteWindow
virtual void DeleteWindow()
Delete window.
Definition: TGFrame.cxx:276
TGFileInfo::fOverwrite
Bool_t fOverwrite
Definition: TGFileDialog.h:50
TGMainFrame::SetClassHints
void SetClassHints(const char *className, const char *resourceName)
Set the windows class and resource name.
Definition: TGFrame.cxx:1832
TGFileInfo::SetFilename
void SetFilename(const char *fname)
Set file name.
Definition: TGFileDialog.cxx:107
TGFileContainer::SetFilter
virtual void SetFilter(const char *filter)
Set file selection filter.
Definition: TGFSContainer.cxx:606
TSystem.h
kLHintsCenterY
@ kLHintsCenterY
Definition: TGLayout.h:28
TGFileInfo::DeleteFileNamesList
void DeleteFileNamesList()
Delete file names list.
Definition: TGFileDialog.cxx:82
size
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
FileStat_t::fMode
Int_t fMode
Definition: TSystem.h:127
TGCompositeFrame::MapSubwindows
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
Definition: TGFrame.cxx:1164
TGVerticalFrame
A composite frame that layout their children in vertical way.
Definition: TGFrame.h:375
kButtonEngaged
@ kButtonEngaged
Definition: TGButton.h:55
kLVDetails
@ kLVDetails
Definition: TGListView.h:25
TGWidget::Associate
virtual void Associate(const TGWindow *w)
Definition: TGWidget.h:72
TGFileDialog::TGFileDialog
TGFileDialog(const TGFileDialog &)=delete
TGFrame::Resize
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
Definition: TGFrame.cxx:605
kSortByName
@ kSortByName
Definition: TGFSContainer.h:21
TGTextEntry
A TGTextEntry is a one line text input widget.
Definition: TGTextEntry.h:24
EFileDialogMode
EFileDialogMode
Definition: TGFileDialog.h:20
kMBIconExclamation
@ kMBIconExclamation
Definition: TGMsgBox.h:24
TGTextEntry::SetFocus
virtual void SetFocus()
Set focus to this text entry.
Definition: TGTextEntry.cxx:1663
TGFileInfo::SetMultipleSelection
void SetMultipleSelection(Bool_t option)
Turn on/off multiple selection.
Definition: TGFileDialog.cxx:94
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:96
TGFileDialog::~TGFileDialog
virtual ~TGFileDialog()
Delete file dialog.
Definition: TGFileDialog.cxx:387
kCM_BUTTON
@ kCM_BUTTON
Definition: WidgetMessageTypes.h:34
Long_t
long Long_t
Definition: RtypesCore.h:54
kLHintsRight
@ kLHintsRight
Definition: TGLayout.h:26
TGFileInfo
Definition: TGFileDialog.h:39
TGLayoutHints
This class describes layout hints used by the layout classes.
Definition: TGLayout.h:50
StrDup
char * StrDup(const char *str)
Duplicate the string str.
Definition: TString.cxx:2512
kC_CONTAINER
@ kC_CONTAINER
Definition: WidgetMessageTypes.h:53
TGClient::GetPicture
const TGPicture * GetPicture(const char *name)
Get picture from the picture pool.
Definition: TGClient.cxx:291
kTE_ENTER
@ kTE_ENTER
Definition: WidgetMessageTypes.h:50
TGListView::SetContainer
virtual void SetContainer(TGFrame *f)
Set list view container.
Definition: TGListView.cxx:1383
gInfo
static TGFileInfo gInfo
Definition: TGFileDialog.cxx:63
TGListView::SetViewMode
virtual void SetViewMode(EListViewMode viewMode)
Set list view mode.
Definition: TGListView.cxx:1366
TGFileDialog::fList
TGPictureButton * fList
Definition: TGFileDialog.h:74
TGComboBox::GetListBox
virtual TGListBox * GetListBox() const
Definition: TGComboBox.h:110
TObject::MakeZombie
void MakeZombie()
Definition: TObject.h:49
kLHintsExpandY
@ kLHintsExpandY
Definition: TGLayout.h:31
TSystem::ExpandPathName
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
Definition: TSystem.cxx:1272
kFDSave
@ kFDSave
Definition: TGFileDialog.h:22
TGFileDialog::fCdup
TGPictureButton * fCdup
Definition: TGFileDialog.h:72
TGButton::SetStyle
virtual void SetStyle(UInt_t newstyle)
Set the button style (modern or classic).
Definition: TGButton.cxx:271
TGTextBuffer::Clear
void Clear()
Definition: TGTextBuffer.h:39
unsigned int
TGCompositeFrame::GetDefaultHeight
virtual UInt_t GetDefaultHeight() const
Definition: TGFrame.h:314
kMBOk
@ kMBOk
Definition: TGMsgBox.h:33
TGFileDialog::fFv
TGListView * fFv
Definition: TGFileDialog.h:84
TGComboBox
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
Definition: TGComboBox.h:47
TGButton::SetState
virtual void SetState(EButtonState state, Bool_t emit=kFALSE)
Set button state.
Definition: TGButton.cxx:235
TGFileInfo::~TGFileInfo
~TGFileInfo()
TGFileInfo Destructor.
Definition: TGFileDialog.cxx:71
kHorizontalFrame
@ kHorizontalFrame
Definition: GuiTypes.h:382
TGLVContainer::SetMultipleSelection
void SetMultipleSelection(Bool_t multi=kTRUE)
Definition: TGListView.h:233
TObject::IsZombie
R__ALWAYS_INLINE Bool_t IsZombie() const
Definition: TObject.h:149
gSystem
R__EXTERN TSystem * gSystem
Definition: TSystem.h:559
TGFileDialog::ProcessMessage
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
Process messages generated by the user input in the file dialog.
Definition: TGFileDialog.cxx:425
TGFSComboBox
This is a combo box that is used in the File Selection dialog box.
Definition: TGFSComboBox.h:67
TGLabel.h
kIDF_CHECKB
@ kIDF_CHECKB
Definition: TGFileDialog.cxx:51
TGLVEntry::GetItemName
TGString * GetItemName() const
Definition: TGListView.h:88
TGMainFrame::SetWMSize
void SetWMSize(UInt_t w, UInt_t h)
Give the window manager a window size hint.
Definition: TGFrame.cxx:1867
TGFileInfo::fIniDir
char * fIniDir
Definition: TGFileDialog.h:47
kC_TEXTENTRY
@ kC_TEXTENTRY
Definition: WidgetMessageTypes.h:48
TGFileInfo::fFileTypes
const char ** fFileTypes
Definition: TGFileDialog.h:48
kIDF_NEW_FOLDER
@ kIDF_NEW_FOLDER
Definition: TGFileDialog.cxx:48
TGClient::NeedRedraw
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
Definition: TGClient.cxx:374
TQObject::Connect
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
TGFileDialog::CloseWindow
virtual void CloseWindow()
Close file dialog.
Definition: TGFileDialog.cxx:403
TGPictureButton
Yield an action as soon as it is clicked.
Definition: TGButton.h:228
TGFileContainer::Sort
virtual void Sort(EFSSortMode sortType)
Sort file system list view container according to sortType.
Definition: TGFSContainer.cxx:615
TSystem::UnixPathName
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
Definition: TSystem.cxx:1061
TGMsgBox.h
TGObject::fClient
TGClient * fClient
Definition: TGObject.h:27
TGWindow::GetMainFrame
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
Definition: TGWindow.cxx:152
TGTransientFrame::CenterOnParent
virtual void CenterOnParent(Bool_t croot=kTRUE, EPlacement pos=kCenter)
Position transient frame centered relative to the parent frame.
Definition: TGFrame.cxx:1931
R_ISDIR
Bool_t R_ISDIR(Int_t mode)
Definition: TSystem.h:115
kC_COMMAND
@ kC_COMMAND
Definition: WidgetMessageTypes.h:31
kIDF_CANCEL
@ kIDF_CANCEL
Definition: TGFileDialog.cxx:55
TGLBEntry::EntryId
Int_t EntryId() const
Definition: TGListBox.h:48
TGMainFrame::SetMWMHints
void SetMWMHints(UInt_t value, UInt_t funcs, UInt_t input)
Set decoration style for MWM-compatible wm (mwm, ncdwm, fvwm?).
Definition: TGFrame.cxx:1842
kMWMFuncAll
@ kMWMFuncAll
Definition: TGFrame.h:49
TList::Add
virtual void Add(TObject *obj)
Definition: TList.h:87
TGButton::GetState
virtual EButtonState GetState() const
Definition: TGButton.h:112
TGTextEntry.h
kFileExists
@ kFileExists
Definition: TSystem.h:44
kMWMDecorAll
@ kMWMDecorAll
Definition: TGFrame.h:63
TGFileDialog::fFc
TGFileContainer * fFc
Definition: TGFileDialog.h:85
GET_SUBMSG
Int_t GET_SUBMSG(Long_t val)
Definition: WidgetMessageTypes.h:111
kCM_COMBOBOX
@ kCM_COMBOBOX
Definition: WidgetMessageTypes.h:38
TGTextLBEntry
Text string listbox entries.
Definition: TGListBox.h:64
kDeepCleanup
@ kDeepCleanup
Definition: TGFrame.h:42
kMWMDecorMaximize
@ kMWMDecorMaximize
Definition: TGFrame.h:69
TGString::GetString
const char * GetString() const
Definition: TGString.h:30
TSystem::ConcatFileName
virtual char * ConcatFileName(const char *dir, const char *name)
Concatenate a directory and a file name. User must delete returned string.
Definition: TSystem.cxx:1069
TIter
Definition: TCollection.h:233
TGButton::SetOn
virtual void SetOn(Bool_t on=kTRUE, Bool_t emit=kFALSE)
Definition: TGButton.h:120
kCT_ITEMCLICK
@ kCT_ITEMCLICK
Definition: WidgetMessageTypes.h:54
TGInputDialog
Input Dialog Widget.
Definition: TGInputDialog.h:22
kLHintsExpandX
@ kLHintsExpandX
Definition: TGLayout.h:30
TGFileDialog::fOk
TGTextButton * fOk
Definition: TGFileDialog.h:82
TGCompositeFrame::SetCleanup
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
Definition: TGFrame.cxx:1072
TGFileInfo::fFileNamesList
TList * fFileNamesList
Definition: TGFileDialog.h:52
kMWMFuncResize
@ kMWMFuncResize
Definition: TGFrame.h:50
TGFileDialog::fFileInfo
TGFileInfo * fFileInfo
Definition: TGFileDialog.h:86
kIDF_DETAILS
@ kIDF_DETAILS
Definition: TGFileDialog.cxx:50
TGCanvas::GetViewPort
TGViewPort * GetViewPort() const
Definition: TGCanvas.h:217
kMWMFuncMaximize
@ kMWMFuncMaximize
Definition: TGFrame.h:53
TGListView.h
kLVList
@ kLVList
Definition: TGListView.h:24
TGClient::GetRoot
const TGWindow * GetRoot() const
Returns current root (i.e.
Definition: TGClient.cxx:226
TGFileDialog::fDetails
TGPictureButton * fDetails
Definition: TGFileDialog.h:75
TGListView::SetIncrements
virtual void SetIncrements(Int_t hInc, Int_t vInc)
Set horizontal and vertical scrollbar increments.
Definition: TGListView.cxx:1396
TGTextBuffer::AddText
void AddText(Int_t pos, const char *text)
Definition: TGTextBuffer.h:36
kMWMDecorMinimize
@ kMWMDecorMinimize
Definition: TGFrame.h:68
RooStats::HistFactory::Constraint::GetType
Type GetType(const std::string &Name)
Definition: Systematics.cxx:34
kMBIconStop
@ kMBIconStop
Definition: TGMsgBox.h:22
TGCompositeFrame::AddFrame
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
Definition: TGFrame.cxx:1117
TGFrame::GetDefaultWidth
virtual UInt_t GetDefaultWidth() const
Definition: TGFrame.h:190
TGTextButton::GetString
TString GetString() const
Definition: TGButton.h:191
kButtonDisabled
@ kButtonDisabled
Definition: TGButton.h:56
TGTextBuffer::GetString
const char * GetString() const
Definition: TGTextBuffer.h:34
TGFileDialog::fPlist
const TGPicture * fPlist
Definition: TGFileDialog.h:80
TList
A doubly linked list.
Definition: TList.h:44
main
int main(int argc, char *argv[])
Definition: cef_main.cxx:54
TGFileDialog
This class creates a file selection dialog.
Definition: TGFileDialog.h:65
kFDOpen
@ kFDOpen
Definition: TGFileDialog.h:21
int
TGFileDialog::fNewf
TGPictureButton * fNewf
Definition: TGFileDialog.h:73
TGFileInfo::fFilename
char * fFilename
Definition: TGFileDialog.h:46
TGComboBox::SetEnabled
virtual void SetEnabled(Bool_t on=kTRUE)
Set state of combo box. If kTRUE=enabled, kFALSE=disabled.
Definition: TGComboBox.cxx:646
TGContainer::GetNextSelected
virtual const TGFrame * GetNextSelected(void **current)
Return the next selected item.
Definition: TGCanvas.cxx:681