// generated by Fast Light User Interface Designer (fluid) version 1.0106

#ifndef Fl_Simple_File_Chooser_h
#define Fl_Simple_File_Chooser_h
#include <FL/Fl.H>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_File_Browser.H>
#include <FL/Fl_Return_Button.H>
#include <FL/fl_ask.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_File_Input.H>

class Fl_Simple_File_Chooser {
  int type_;
  void *data_;
  char directory_[1024];
  void (*callback_)(void *p,const char* str);
public:
  enum { SINGLE = 0, MULTI = 1, CREATE = 2, DIRECTORY = 4 };
private:
  Fl_File_Sort_F *sort;
public:
  Fl_Simple_File_Chooser(const char *p, int t, const char *title);
private:
  Fl_Double_Window *window;
  inline void cb_window_i(Fl_Double_Window*, void*);
  static void cb_window(Fl_Double_Window*, void*);
  Fl_File_Browser *fileList;
  inline void cb_fileList_i(Fl_File_Browser*, void*);
  static void cb_fileList(Fl_File_Browser*, void*);
  Fl_Return_Button *okButton;
  inline void cb_okButton_i(Fl_Return_Button*, void*);
  static void cb_okButton(Fl_Return_Button*, void*);
  inline void cb_Cancel_i(Fl_Button*, void*);
  static void cb_Cancel(Fl_Button*, void*);
  Fl_File_Input *fileName;
  inline void cb_fileName_i(Fl_File_Input*, void*);
  static void cb_fileName(Fl_File_Input*, void*);
public:
  Fl_Button *newButton;
private:
  inline void cb_newButton_i(Fl_Button*, void*);
  static void cb_newButton(Fl_Button*, void*);
  void fileNameCB();
  void fileListCB();
  void type(int t);
  void newdir();
  const char* value(int f);
  void value(const char *filename);
  void directory(const char *d);
  void rescan();
public:
  void show();
  void callback(void (*cb)(void *,const char*),void *p);
  void setdir(const char* d);
};
#endif
