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 (fDlgType == kDOpen || fDlgType == kDSave)
483  fFileInfo->SetIniDir(nullptr);
484  if (fFc->GetDisplayStat())
487  DeleteWindow();
488  return kTRUE; //no need to redraw fFc
489  break;
490 
491  case kIDF_CDUP:
492  fFc->ChangeDirectory("..");
495  if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
496  gSystem->cd(fFc->GetDirectory());
497  }
498  break;
499 
500  case kIDF_NEW_FOLDER: {
501  char answer[128];
502  strlcpy(answer, "(empty)", sizeof(answer));
503  new TGInputDialog(gClient->GetRoot(), GetMainFrame(),
504  "Enter directory name:",
505  answer/*"(empty)"*/, answer);
506 
507  while ( strcmp(answer, "(empty)") == 0 ) {
508  new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
509  "Please enter a valid directory name.",
510  kMBIconStop, kMBOk);
511  new TGInputDialog(gClient->GetRoot(), GetMainFrame(),
512  "Enter directory name:",
513  answer, answer);
514  }
515  if ( strcmp(answer, "") == 0 ) // Cancel button was pressed
516  break;
517 
518  if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
519  gSystem->cd(fFc->GetDirectory());
520  }
521  if ( gSystem->MakeDirectory(answer) != 0 )
522  new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
523  TString::Format("Directory name \'%s\' already exists!", answer),
524  kMBIconStop, kMBOk);
525  else {
527  }
528  gSystem->ChangeDirectory(sdir.Data());
529  break;
530  }
531 
532  case kIDF_LIST:
535  break;
536 
537  case kIDF_DETAILS:
540  break;
541  }
542  break;
543 
544  case kCM_COMBOBOX:
545  switch (parm1) {
546  case kIDF_FSLB:
548  if (e) {
549  fFc->ChangeDirectory(e->GetPath()->GetString());
552  if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
553  gSystem->cd(fFc->GetDirectory());
554  }
555  }
556  break;
557 
558  case kIDF_FTYPESLB:
560  if (te) {
561  //fTbfname->Clear();
562  //fTbfname->AddText(0, fFileInfo->fFileTypes[te->EntryId()+1]);
563  fFileInfo->fFileTypeIdx = te->EntryId();
567  }
568  break;
569  }
570  break;
571 
572  default:
573  break;
574  } // switch(GET_SUBMSG(msg))
575  break;
576 
577  case kC_CONTAINER:
578  switch (GET_SUBMSG(msg)) {
579  case kCT_ITEMCLICK:
580  if (parm1 == kButton1) {
581  if (fFc->NumSelected() > 0) {
582  if ( fFileInfo->fMultipleSelection == kFALSE ) {
583  TGLVEntry *e2 = (TGLVEntry *) fFc->GetNextSelected(&p);
584  if (fDlgType == kFDOpen || fDlgType == kFDSave) {
585  if ((e2) && !R_ISDIR(((TGFileItem *)e2)->GetType())) {
586  fTbfname->Clear();
587  if (e2->GetItemName())
588  fTbfname->AddText(0, e2->GetItemName()->GetString());
590  }
591  } else {
592  if ((e2) && R_ISDIR(((TGFileItem *)e2)->GetType())) {
593  fTbfname->Clear();
594  if (e2->GetItemName())
595  fTbfname->AddText(0, e2->GetItemName()->GetString());
597  fOk->SetEnabled(kTRUE);
598  } else if ((e2)) {
600  }
601  }
602  }
603  else {
604  TString tmpString;
605  TList *tmp = fFc->GetSelectedItems();
606  TObjString *el;
607  TIter next(tmp);
608  if (fFileInfo->fFileNamesList) {
610  } else {
611  fFileInfo->fFileNamesList = new TList();
612  }
613  while ((el = (TObjString *) next())) {
615  el->GetString());
616  tmpString += "\"" + el->GetString() + "\" ";
618  delete [] s;
619  }
620  tmp->Delete();
621  delete tmp;
622  fTbfname->Clear();
623  fTbfname->AddText(0, tmpString);
625  }
626  }
627  }
628  break;
629 
630  case kCT_ITEMDBLCLICK:
631 
632  if (parm1 == kButton1) {
633  if (fFc->NumSelected() == 1) {
634  f = (TGFileItem *) fFc->GetNextSelected(&p);
635  if (f && R_ISDIR(f->GetType())) {
636  fFc->ChangeDirectory(f->GetItemName()->GetString());
639  if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
640  gSystem->cd(fFc->GetDirectory());
641  }
642  if (fDlgType == kDOpen || fDlgType == kDSave) {
643  fTbfname->Clear();
646  }
647  } else if (fDlgType == kFDOpen || fDlgType == kFDSave) {
648  if (!strcmp(fOk->GetTitle(), "Save") && fCheckB &&
649  (!(fCheckB->GetState() == kButtonDown))) {
650 
651  Int_t ret;
652  txt = TString::Format("File name %s already exists, OK to overwrite it?",
653  fTbfname->GetString());
655  "File Name Exist", txt.Data(), kMBIconExclamation,
656  kMBYes | kMBNo, &ret);
657  if (ret == kMBNo)
658  return kTRUE;
659  }
660  fFileInfo->SetFilename(nullptr);
661  // FIXME: once appropriate gSystem method exists, use SetFilename here
664  else
666  fTbfname->GetString());
667  pExpandUnixPathName(*fFileInfo);
668  if (fCheckB && (fCheckB->GetState() == kButtonDown))
670  else
672 
673  DeleteWindow();
674  }
675  }
676  }
677 
678  break;
679 
680  default:
681  break;
682 
683  } // switch(GET_SUBMSG(msg))
684  break;
685 
686  case kC_TEXTENTRY:
687  // when typing, re-enable previously disabled button after having clicked on file instead of folder
689  fOk->SetEnabled(kTRUE);
690 
691  switch (GET_SUBMSG(msg)) {
692  case kTE_ENTER:
693  // same code as under kIDF_OK
694  if (fTbfname->GetTextLength() == 0) {
695  const char *txt2 = "Please provide file name or use \"Cancel\"";
697  "Missing File Name", txt2, kMBIconExclamation,
698  kMBOk);
699  return kTRUE;
701  FileStat_t buf;
702  if (!gSystem->GetPathInfo(fTbfname->GetString(), buf) &&
703  R_ISDIR(buf.fMode)) {
706  if (strcmp(gSystem->WorkingDirectory(), fFc->GetDirectory())) {
707  gSystem->cd(fFc->GetDirectory());
708  }
709  fName->SetText("", kFALSE);
710  return kTRUE;
711  }
712  else if (!strcmp(fOk->GetTitle(), "Save") && fCheckB &&
713  (!(fCheckB->GetState() == kButtonDown))) {
714  Int_t ret;
715  txt = TString::Format("File name %s already exists, OK to overwrite it?",
716  fTbfname->GetString());
718  "File Name Exist", txt.Data(), kMBIconExclamation,
719  kMBYes | kMBNo, &ret);
720  if (ret == kMBNo)
721  return kTRUE;
722  }
723  }
724  fFileInfo->SetFilename(nullptr);
725  // FIXME: once appropriate gSystem method exists, use SetFilename here
727  fTbfname->GetString());
728  pExpandUnixPathName(*fFileInfo);
729  if (fCheckB && (fCheckB->GetState() == kButtonDown))
731  else
733  DeleteWindow();
734  break;
735 
736  default:
737  break;
738  }
739  break;
740 
741  default:
742  break;
743 
744  } // switch(GET_MSG(msg))
745 
747  return kTRUE;
748 }
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
the dialog type passed
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:1397
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:100
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
set on/off file overwriting for Open dialog OR set on/off multiple file selection for SaveAs dialog
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:862
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:756
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:739
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:951
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
picture for fNewf
Definition: TGFileDialog.h:79
TGLabel
This class handles GUI labels.
Definition: TGLabel.h:24
TGFileInfo::fMultipleSelection
Bool_t fMultipleSelection
if true, allow multiple file selection
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:1411
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
disable edit of this window
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
text buffer of file name
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:827
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:1295
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:871
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
selected file type, index in fFileTypes
Definition: TGFileDialog.h:49
TGFileDialog.h
TGFileDialog::fTypes
TGComboBox * fTypes
file type combo box
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
picture for fDetails
Definition: TGFileDialog.h:81
TGFileDialog::fTreeLB
TGFSComboBox * fTreeLB
file system path combo box
Definition: TGFileDialog.h:71
TGCheckButton
Selects different options.
Definition: TGButton.h:264
TGFileDialog::fPcdup
const TGPicture * fPcdup
picture for fCdup
Definition: TGFileDialog.h:78
TGFileDialog::fName
TGTextEntry * fName
file name text entry
Definition: TGFileDialog.h:69
TGFileDialog::fCancel
TGTextButton * fCancel
cancel button
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
if true overwrite the file with existing name on save
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:619
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:101
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
top toolbar button
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:1273
kFDSave
@ kFDSave
Definition: TGFileDialog.h:22
TGFileDialog::fCdup
TGPictureButton * fCdup
top toolbar button
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
file list view
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
on input: initial directory, on output: new directory
Definition: TGFileDialog.h:47
kC_TEXTENTRY
@ kC_TEXTENTRY
Definition: WidgetMessageTypes.h:48
TGFileInfo::fFileTypes
const char ** fFileTypes
file types used to filter selectable files
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:628
TSystem::UnixPathName
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
Definition: TSystem.cxx:1062
TGMsgBox.h
TGObject::fClient
TGClient * fClient
Connection to display server.
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:40
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
file list view container (containing the files)
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:48
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:1070
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
ok button
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
list of selected file names
Definition: TGFileDialog.h:52
kMWMFuncResize
@ kMWMFuncResize
Definition: TGFrame.h:50
TGFileDialog::fFileInfo
TGFileInfo * fFileInfo
file info passed to this dialog
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
top toolbar button
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
picture for fList
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
top toolbar button
Definition: TGFileDialog.h:73
TGFileInfo::fFilename
char * fFilename
selected file name
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