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