00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef _Fl_File_Browser_H_
00036 # define _Fl_File_Browser_H_
00037
00038 # include "Fl_Browser.H"
00039 # include "Fl_File_Icon.H"
00040 # include "filename.H"
00041
00042
00043
00044
00045
00046
00048 class FL_EXPORT Fl_File_Browser : public Fl_Browser
00049 {
00050 int filetype_;
00051 const char *directory_;
00052 uchar iconsize_;
00053 const char *pattern_;
00054
00055 int full_height() const;
00056 int item_height(void *) const;
00057 int item_width(void *) const;
00058 void item_draw(void *, int, int, int, int) const;
00059 int incr_height() const { return (item_height(0)); }
00060
00061 public:
00062 enum { FILES, DIRECTORIES };
00063
00068 Fl_File_Browser(int, int, int, int, const char * = 0);
00069
00071 uchar iconsize() const { return (iconsize_); };
00073 void iconsize(uchar s) { iconsize_ = s; redraw(); };
00074
00080 void filter(const char *pattern);
00086 const char *filter() const { return (pattern_); };
00087
00095 int load(const char *directory, Fl_File_Sort_F *sort = fl_numericsort);
00096
00097 Fl_Fontsize textsize() const { return Fl_Browser::textsize(); };
00098 void textsize(Fl_Fontsize s) { Fl_Browser::textsize(s); iconsize_ = (uchar)(3 * s / 2); };
00099
00106 int filetype() const { return (filetype_); };
00113 void filetype(int t) { filetype_ = t; };
00114 };
00115
00116 #endif // !_Fl_File_Browser_H_
00117
00118
00119
00120