Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FXFileDialog.h

00001 /******************************************************************************** 00002 * * 00003 * F i l e S e l e c t i o n D i a l o g * 00004 * * 00005 ********************************************************************************* 00006 * Copyright (C) 1998,2005 by Jeroen van der Zijp. All Rights Reserved. * 00007 ********************************************************************************* 00008 * This library is free software; you can redistribute it and/or * 00009 * modify it under the terms of the GNU Lesser General Public * 00010 * License as published by the Free Software Foundation; either * 00011 * version 2.1 of the License, or (at your option) any later version. * 00012 * * 00013 * This library is distributed in the hope that it will be useful, * 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00016 * Lesser General Public License for more details. * 00017 * * 00018 * You should have received a copy of the GNU Lesser General Public * 00019 * License along with this library; if not, write to the Free Software * 00020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * 00021 ********************************************************************************* 00022 * $Id: FXFileDialog.h,v 1.31 2005/02/08 03:23:28 fox Exp $ * 00023 ********************************************************************************/ 00024 #ifndef FXFILEDIALOG_H 00025 #define FXFILEDIALOG_H 00026 00027 #ifndef FXDIALOGBOX_H 00028 #include "FXDialogBox.h" 00029 #endif 00030 00031 namespace FX { 00032 00033 00034 class FXFileSelector; 00035 00036 00037 /// File selection dialog 00038 class FXAPI FXFileDialog : public FXDialogBox { 00039 FXDECLARE(FXFileDialog) 00040 protected: 00041 FXFileSelector *filebox; 00042 protected: 00043 FXFileDialog(){} 00044 void initdialog(); 00045 private: 00046 FXFileDialog(const FXFileDialog&); 00047 FXFileDialog &operator=(const FXFileDialog&); 00048 public: 00049 00050 /// Construct file dialog box 00051 FXFileDialog(FXWindow* owner,const FXString& name,FXuint opts=0,FXint x=0,FXint y=0,FXint w=500,FXint h=300); 00052 00053 /// Construct free-floating file dialog box 00054 FXFileDialog(FXApp* a,const FXString& name,FXuint opts=0,FXint x=0,FXint y=0,FXint w=500,FXint h=300); 00055 00056 /// Hide this window 00057 virtual void hide(); 00058 00059 /// Change file name 00060 void setFilename(const FXString& path); 00061 00062 /// Return file name, if any 00063 FXString getFilename() const; 00064 00065 /// Return empty-string terminated list of selected file names, or NULL if none selected 00066 FXString* getFilenames() const; 00067 00068 /// Change file pattern 00069 void setPattern(const FXString& ptrn); 00070 00071 /// Return file pattern 00072 FXString getPattern() const; 00073 00074 /** 00075 * Change the list of file patterns shown in the file dialog. 00076 * Each pattern comprises an optional name, followed by a pattern in 00077 * parentheses. The patterns are separated by newlines. 00078 * For example, 00079 * 00080 * "*\n*.cpp,*.cc\n*.hpp,*.hh,*.h" 00081 * 00082 * and 00083 * 00084 * "All Files (*)\nC++ Sources (*.cpp,*.cc)\nC++ Headers (*.hpp,*.hh,*.h)" 00085 * 00086 * will set the same three patterns, but the former shows no pattern names. 00087 */ 00088 void setPatternList(const FXString& patterns); 00089 00090 /// Return list of patterns 00091 FXString getPatternList() const; 00092 00093 /** 00094 * After setting the list of patterns, this call will 00095 * initially select pattern n as the active one. 00096 */ 00097 void setCurrentPattern(FXint n); 00098 00099 /// Return current pattern number 00100 FXint getCurrentPattern() const; 00101 00102 /// Get pattern text for given pattern number 00103 FXString getPatternText(FXint patno) const; 00104 00105 /// Change pattern text for pattern number 00106 void setPatternText(FXint patno,const FXString& text); 00107 00108 /// Allow pattern entry 00109 void allowPatternEntry(FXbool allow); 00110 00111 /// Return TRUE if pattern entry is allowed 00112 FXbool allowPatternEntry() const; 00113 00114 /// Change directory 00115 void setDirectory(const FXString& path); 00116 00117 /// Return directory 00118 FXString getDirectory() const; 00119 00120 /// Set the inter-item spacing (in pixels) 00121 void setItemSpace(FXint s); 00122 00123 /// Return the inter-item spacing (in pixels) 00124 FXint getItemSpace() const; 00125 00126 /// Change file selection mode 00127 void setSelectMode(FXuint mode); 00128 00129 /// Return file selection mode 00130 FXuint getSelectMode() const; 00131 00132 /// Change wildcard matching mode 00133 void setMatchMode(FXuint mode); 00134 00135 /// Return wildcard matching mode 00136 FXuint getMatchMode() const; 00137 00138 /// Return TRUE if showing hidden files 00139 FXbool showHiddenFiles() const; 00140 00141 /// Show or hide hidden files 00142 void showHiddenFiles(FXbool showing); 00143 00144 /// Return TRUE if image preview on 00145 FXbool showImages() const; 00146 00147 /// Show or hide preview images 00148 void showImages(FXbool showing); 00149 00150 /// Return images preview size 00151 FXint getImageSize() const; 00152 00153 /// Change images preview size 00154 void setImageSize(FXint size); 00155 00156 /// Show readonly button 00157 void showReadOnly(FXbool show); 00158 00159 /// Return TRUE if readonly is shown 00160 FXbool shownReadOnly() const; 00161 00162 /// Set initial state of readonly button 00163 void setReadOnly(FXbool state); 00164 00165 /// Get readonly state 00166 FXbool getReadOnly() const; 00167 00168 /// Change File List style 00169 void setFileBoxStyle(FXuint style); 00170 00171 /// Return File List style 00172 FXuint getFileBoxStyle() const; 00173 00174 /// Open existing filename 00175 static FXString getOpenFilename(FXWindow* owner,const FXString& caption,const FXString& path,const FXString& patterns="*",FXint initial=0); 00176 00177 /// Open multiple existing files 00178 static FXString* getOpenFilenames(FXWindow* owner,const FXString& caption,const FXString& path,const FXString& patterns="*",FXint initial=0); 00179 00180 /// Save to filename 00181 static FXString getSaveFilename(FXWindow* owner,const FXString& caption,const FXString& path,const FXString& patterns="*",FXint initial=0); 00182 00183 /// Open directory name 00184 static FXString getOpenDirectory(FXWindow* owner,const FXString& caption,const FXString& path); 00185 00186 /// Save to stream 00187 virtual void save(FXStream& store) const; 00188 00189 /// Load from stream 00190 virtual void load(FXStream& store); 00191 00192 /// Destructor 00193 virtual ~FXFileDialog(); 00194 }; 00195 00196 } 00197 00198 #endif

Copyright © 1997-2005 Jeroen van der Zijp