#ifndef Fl_File_Btn_h #define Fl_File_Btn_h class Fl_Button; class Fl_Output; class Fl_File_Btn : public Fl_Group { public: enum { kFile_Type_Id, kDir_Type_Id }; Fl_File_Btn( int x, int y, int w, int h, const char* l = 0 ); Fl_File_Btn( unsigned typeId, const char* patStr, int x, int y, int w, int h, const char* l = 0 ); virtual ~Fl_File_Btn(); unsigned type(); void type( unsigned typeId ); const char* pattern_string(); void pattern_string( const char* pat); void btn_width( int w ); int btn_width(); void filename( const char* fn ); const char* filename() const; private: char* _patStr; unsigned _typeId; Fl_Button* _btn; Fl_Output* _out; static void _s_btn_cb(Fl_Widget* w, void* data); void _btn_cb(); void _init(); }; #endif