00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef FX_DISABLEFILEDIRDIALOGS
00025
00026 #ifndef FXDIRSELECTOR_H
00027 #define FXDIRSELECTOR_H
00028
00029 #ifndef FXPACKER_H
00030 #include "FXPacker.h"
00031 #endif
00032
00033 namespace FX {
00034
00035
00036 class FXDirList;
00037 class FXTextField;
00038 class FXButton;
00039
00040
00048 class FXAPI FXDirSelector : public FXPacker {
00049 FXDECLARE(FXDirSelector)
00050 protected:
00051 FXDirList *dirbox;
00052 FXTextField *dirname;
00053 FXButton *accept;
00054 FXButton *cancel;
00055 FXIcon *updiricon;
00056 FXIcon *homeicon;
00057 FXIcon *workicon;
00058 FXIcon *markicon;
00059 FXIcon *clearicon;
00060 FXIcon *newicon;
00061 FXIcon *deleteicon;
00062 FXIcon *moveicon;
00063 FXIcon *copyicon;
00064 FXIcon *linkicon;
00065 FXRecentFiles mrufiles;
00066 protected:
00067 FXDirSelector(){}
00068 private:
00069 FXDirSelector(const FXDirSelector&);
00070 FXDirSelector &operator=(const FXDirSelector&);
00071 public:
00072 long onCmdName(FXObject*,FXSelector,void*);
00073 long onCmdOpened(FXObject*,FXSelector,void*);
00074 long onCmdHome(FXObject*,FXSelector,void*);
00075 long onCmdWork(FXObject*,FXSelector,void*);
00076 long onCmdDirectoryUp(FXObject*,FXSelector,void*);
00077 long onPopupMenu(FXObject*,FXSelector,void*);
00078 long onCmdBookmark(FXObject*,FXSelector,void*);
00079 long onCmdVisit(FXObject*,FXSelector,void*);
00080 long onCmdNew(FXObject*,FXSelector,void*);
00081 long onUpdNew(FXObject*,FXSelector,void*);
00082 long onCmdMove(FXObject*,FXSelector,void*);
00083 long onCmdCopy(FXObject*,FXSelector,void*);
00084 long onCmdLink(FXObject*,FXSelector,void*);
00085 long onCmdDelete(FXObject*,FXSelector,void*);
00086 long onUpdSelected(FXObject*,FXSelector,void*);
00087 public:
00088 enum {
00089 ID_DIRNAME=FXPacker::ID_LAST,
00090 ID_DIRLIST,
00091 ID_HOME,
00092 ID_WORK,
00093 ID_DIRECTORY_UP,
00094 ID_BOOKMARK,
00095 ID_VISIT,
00096 ID_NEW,
00097 ID_DELETE,
00098 ID_MOVE,
00099 ID_COPY,
00100 ID_LINK,
00101 ID_LAST
00102 };
00103 public:
00104
00106 FXDirSelector(FXComposite *p,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0);
00107
00109 FXButton *acceptButton() const { return accept; }
00110
00112 FXButton *cancelButton() const { return cancel; }
00113
00115 void setDirectory(const FXString& path);
00116
00118 FXString getDirectory() const;
00119
00121 FXbool showFiles() const;
00122
00124 void showFiles(FXbool showing);
00125
00127 FXbool showHiddenFiles() const;
00128
00130 void showHiddenFiles(FXbool showing);
00131
00133 FXuint getMatchMode() const;
00134
00136 void setMatchMode(FXuint mode);
00137
00139 void setDirBoxStyle(FXuint style);
00140
00142 FXuint getDirBoxStyle() const;
00143
00145 virtual void save(FXStream& store) const;
00146
00148 virtual void load(FXStream& store);
00149
00151 virtual ~FXDirSelector();
00152 };
00153
00154 }
00155
00156 #endif
00157 #endif