// @(#)root/gui:$Name: $:$Id: TGFileDialog.h,v 1.6 2005/02/18 09:26:54 rdm Exp $
// Author: Fons Rademakers 20/01/98
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGFileDialog
#define ROOT_TGFileDialog
//////////////////////////////////////////////////////////////////////////
// //
// TGFileDialog //
// //
// This class creates a file selection dialog. It contains a combo box //
// to select the desired directory. A listview with the different //
// files in the current directory and a combo box with which you can //
// select a filter (on file extensions). //
// When creating a file dialog one passes a pointer to a TGFileInfo //
// object. In this object you can set the fFileTypes and fIniDir to //
// specify the list of file types for the filter combo box and the //
// initial directory. When the TGFileDialog ctor returns the selected //
// file name can be found in the TGFileInfo::fFilename field and the //
// selected directory in TGFileInfo::fIniDir. The fFilename and //
// fIniDir are deleted by the TGFileInfo dtor. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
enum EFileDialogMode {
kFDOpen,
kFDSave
};
class TGTextBuffer;
class TGTextEntry;
class TGComboBox;
class TGPictureButton;
class TGTextButton;
class TGCheckButton;
class TGListView;
class TGFileContainer;
class TGFSComboBox;
class TGFileInfo {
public:
char *fFilename; // selected file name
char *fIniDir; // on input: initial directory, on output: new directory
const char **fFileTypes; // file types used to filter selectable files
Int_t fFileTypeIdx; // selected file type, index in fFileTypes
Bool_t fOverwrite; // if true overwrite the file with existing name on save
TGFileInfo() : fFilename(0), fIniDir(0), fFileTypes(0), fFileTypeIdx(0), fOverwrite(kFALSE) { }
~TGFileInfo() { delete [] fFilename; delete [] fIniDir; }
};
class TGFileDialog : public TGTransientFrame {
protected:
TGTextBuffer *fTbfname; // text buffer of file name
TGTextEntry *fName; // file name text entry
TGComboBox *fTypes; // file type combo box
TGFSComboBox *fTreeLB; // file system path combo box
TGPictureButton *fCdup; // top toolbar button
TGPictureButton *fNewf; // top toolbar button
TGPictureButton *fList; // top toolbar button
TGPictureButton *fDetails; // top toolbar button
TGCheckButton *fOverWR; // set on/off file overwriting
const TGPicture *fPcdup; // picture for fCdup
const TGPicture *fPnewf; // picture for fNewf
const TGPicture *fPlist; // picture for fList
const TGPicture *fPdetails; // picture for fDetails
TGTextButton *fOk; // ok button
TGTextButton *fCancel; // cancel button
TGListView *fFv; // file list view
TGFileContainer *fFc; // file list view container (containing the files)
TGFileInfo *fFileInfo; // file info passed to this dialog
public:
TGFileDialog(const TGWindow *p = 0, const TGWindow *main = 0,
EFileDialogMode dlg_type = kFDOpen, TGFileInfo *file_info = 0);
virtual ~TGFileDialog();
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
virtual void CloseWindow();
ClassDef(TGFileDialog,0) //File selection dialog
};
#endif
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.