00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _FL_FILEBROWSER_H_
00023 #define _FL_FILEBROWSER_H_
00024
00025 #include "Fl_Util.h"
00026 #include "Fl_ListView.h"
00027 #include "Fl_ListView_Item.h"
00028 #include "Fl_Directory_DS.h"
00029
00031 class FL_API Fl_File_Browser : public Fl_ListView
00032 {
00033 public:
00035 Fl_File_Browser(int x, int y, int w, int h, const char *label = 0);
00036
00038 Fl_File_Browser(const char* l = 0,int layout_size=30,Fl_Align layout_al=FL_ALIGN_TOP,int label_w=100);
00039
00040
00041 void pattern(const char *pattern) { m_dir_ds.pattern(pattern); load(directory()); }
00042 void pattern(const Fl_String &pattern) { m_dir_ds.pattern(pattern); load(directory()); }
00043 const Fl_String &pattern() const { return m_dir_ds.pattern(); }
00044
00045
00046 char showpolicy() const { return m_dir_ds.showpolicy(); }
00047 void showpolicy(char type) { m_dir_ds.showpolicy(type); }
00048
00049
00050 int load(const Fl_String &directory);
00051 int load(const char *directory) { Fl_String dir(directory); return load(dir); }
00052
00053
00054 void directory(const char *directory) { load(directory); }
00055 void directory(const Fl_String &directory) { load(directory); }
00056 const Fl_String &directory() const { return m_dir_ds.directory(); }
00057
00058
00059 const Fl_String &filename() const;
00060
00061 Fl_String filename_full() const;
00062
00063
00064 void up();
00065
00066
00067 Fl_ListView_ItemExt *up_item() const { return m_up_item; }
00068
00069 bool add_up_item() const { return m_add_up_item; }
00070 void add_up_item(bool val) { m_add_up_item = val; }
00071
00072
00073 void filter(const char *pattern) { m_dir_ds.pattern(pattern); load(directory()); }
00074 const char *filter() const { return m_dir_ds.pattern(); };
00075
00076
00077 static void default_callback(Fl_Widget *, void *);
00078
00079 private:
00080 bool m_add_up_item;
00081 Fl_ListView_ItemExt *m_up_item;
00082 Fl_Directory_DS m_dir_ds;
00083 };
00084
00085
00086 typedef Fl_File_Browser Fl_FileBrowser;
00087
00088 #endif // !_FL_FILEBROWSER_H_
00089
00090
00091
00092