# data file for the Fltk User Interface Designer (fluid) version 1.0100 header_name {../FL/Fl_File_Chooser.H} code_name {.cxx} class Fl_File_Chooser {open } { decl {enum { SINGLE = 0, MULTI = 1, CREATE = 2, DIRECTORY = 4 };} {public } decl {static Fl_Preferences prefs_;} {} decl {void (*callback_)(Fl_File_Chooser*, void *);} {} decl {void *data_;} {} decl {char directory_[1024];} {} decl {char pattern_[1024];} {} decl {char preview_text_[2048];} {} decl {int type_;} {} decl {void favoritesButtonCB();} {} decl {void favoritesCB(Fl_Widget *w);} {} decl {void fileListCB();} {} decl {void fileNameCB();} {} decl {void newdir();} {} decl {static void previewCB(Fl_File_Chooser *fc);} {} decl {void showChoiceCB();} {} decl {void update_favorites();} {} decl {void update_preview();} {} Function {Fl_File_Chooser(const char *d, const char *p, int t, const char *title)} {open } { Fl_Window window { label {Choose File} callback {fileName->value(directory_); fileList->deselect(); Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this); window->hide();} open private xywh {153 80 490 380} resizable code0 {if (title) window->label(title);} code1 {\#include } code2 {\#include } code3 {\#include } modal visible } { Fl_Group {} {open private xywh {65 10 415 25} } { Fl_Choice showChoice { label {Show:} callback {showChoiceCB();} open private xywh {65 10 215 25} down_box BORDER_BOX resizable code0 {showChoice->label(show_label);} } {} Fl_Menu_Button favoritesButton { label Favorites callback {favoritesButtonCB();} open private xywh {290 10 155 25} down_box BORDER_BOX align 20 code0 {favoritesButton->label(favorites_label);} } {} Fl_Button newButton { callback {newdir();} selected tooltip {Create a new directory.} image {new.xbm} xywh {455 10 25 25} labelsize 8 code0 {\#include } } } Fl_Tile {} { callback {update_preview();} open private xywh {10 45 470 225} resizable } { Fl_File_Browser fileList { callback {fileListCB();} private xywh {10 45 295 225} type Hold hotspot code0 {\#include } } Fl_Box previewBox { label {?} private xywh {305 45 175 225} box DOWN_BOX labelsize 100 align 80 } } Fl_Group {} {open private xywh {0 275 480 95} } { Fl_Group {} {open private xywh {10 275 470 20} } { Fl_Check_Button previewButton { label Preview callback {preview(previewButton->value());} xywh {405 275 75 20} down_box DOWN_BOX shortcut 0x80070 value 1 code0 {previewButton->label(preview_label);} } Fl_Box {} { private xywh {10 275 395 20} resizable } } Fl_File_Input fileName { callback {fileNameCB();} private xywh {85 300 395 35} when 8 resizable code0 {fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS);} } Fl_Box {} { label {Filename:} private xywh {0 310 85 25} align 24 code0 {o->label(filename_label);} } Fl_Group {} {open private xywh {10 345 470 25} } { Fl_Return_Button okButton { label OK callback {// Do any callback that is registered... if (callback_) (*callback_)(this, data_); window->hide();} private xywh {320 345 75 25} code0 {\#include } code1 {okButton->label(fl_ok);} } Fl_Button {} { label Cancel callback {fileName->value(directory_); fileList->deselect(); Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this); window->hide();} private xywh {405 345 75 25} code0 {o->label(fl_cancel);} } Fl_Box {} { private xywh {10 345 300 25} resizable } } } } Fl_Window favWindow { label {Manage Favorites} open private xywh {580 44 355 150} code0 {favWindow->label(manage_favorites_label);} modal visible } { Fl_File_Browser favList { callback {favoritesCB(favList);} private xywh {10 10 300 95} type Hold } Fl_Button favUpButton { label {@8>} callback {favoritesCB(favUpButton);} private xywh {320 10 25 25} } Fl_Button favDeleteButton { label X callback {favoritesCB(favDeleteButton);} private xywh {320 45 25 25} labelfont 1 } Fl_Button favDownButton { label {@2>} callback {favoritesCB(favDownButton);} private xywh {320 80 25 25} } Fl_Button favCancelButton { label Cancel callback {favWindow->hide();} private xywh {270 115 75 25} code0 {favCancelButton->label(fl_cancel);} } Fl_Return_Button favOkButton { label OK callback {favoritesCB(favOkButton);} private xywh {185 115 75 25} code0 {\#include } code1 {favOkButton->label(fl_ok);} } } code {callback_ = 0; data_ = 0; directory_[0] = '\0'; window->size_range(window->w(), window->h(), Fl::w(), Fl::h()); type(t); filter(p); update_favorites(); value(d); type(t); int e; prefs_.get("preview", e, 1); preview(e);} {} } Function {~Fl_File_Chooser()} {open } { code {Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this); delete window; delete favWindow;} {} } Function {callback(void (*cb)(Fl_File_Chooser *, void *), void *d = 0)} {return_type void } { code {callback_ = cb; data_ = d;} {} } Function {color(Fl_Color c)} {} { code {fileList->color(c);} {} } Function {color()} {return_type Fl_Color } { code {return (fileList->color());} {} } decl {int count();} {public } decl {void directory(const char *d);} {public } Function {directory()} {return_type {char *} } { code {return directory_;} {} } decl {void filter(const char *p);} {public } Function {filter()} {return_type {const char *} } { code {return (fileList->filter());} {} } Function {filter_value()} {return_type int } { code {return showChoice->value();} {} } Function {filter_value(int f)} {return_type void } { code {showChoice->value(f); showChoiceCB();} {} } Function {hide()} {return_type void } { code {window->hide();} {} } Function {iconsize(uchar s)} {return_type void } { code {fileList->iconsize(s);} {} } Function {iconsize()} {return_type uchar } { code {return (fileList->iconsize());} {} } Function {label(const char *l)} {return_type void } { code {window->label(l);} {} } Function {label()} {return_type {const char *} } { code {return (window->label());} {} } decl {void preview(int e);} {public } decl {int preview() const { return previewButton->value(); }} {public } decl {void rescan();} {public } Function {show()} {return_type void } { code {window->hotspot(fileList); window->show(); fileName->take_focus();} {} } Function {shown()} {return_type int } { code {return window->shown();} {} } Function {textcolor(Fl_Color c)} {return_type void } { code {fileList->textcolor(c);} {} } Function {textcolor()} {return_type Fl_Color } { code {return (fileList->textcolor());} {} } Function {textfont(uchar f)} {return_type void } { code {fileList->textfont(f);} {} } Function {textfont()} {return_type uchar } { code {return (fileList->textfont());} {} } Function {textsize(uchar s)} {return_type void } { code {fileList->textsize(s);} {} } Function {textsize()} {return_type uchar } { code {return (fileList->textsize());} {} } Function {type(int t)} {return_type void } { code {type_ = t; if (t & MULTI) fileList->type(FL_MULTI_BROWSER); else fileList->type(FL_HOLD_BROWSER); if (t & CREATE) newButton->deactivate(); else newButton->activate(); if (t & DIRECTORY) fileList->filetype(Fl_File_Browser::DIRECTORIES); else fileList->filetype(Fl_File_Browser::FILES);} {} } Function {type()} {return_type int } { code {return (type_);} {} } decl {const char *value(int f = 1);} {public } decl {void value(const char *filename);} {public } Function {visible()} {return_type int } { code {return window->visible();} {} } decl {static const char *add_favorites_label;} {public } decl {static const char *all_files_label;} {public } decl {static const char *custom_filter_label;} {public } decl {static const char *existing_file_label;} {public } decl {static const char *favorites_label;} {public } decl {static const char *filename_label;} {public } decl {static const char *filesystems_label;} {public } decl {static const char *manage_favorites_label;} {public } decl {static const char *new_directory_label;} {public } decl {static const char *preview_label;} {public } decl {static const char *show_label;} {public } decl {static Fl_File_Sort_F *sort;} {public } } decl {FL_EXPORT char *fl_dir_chooser(const char *message,const char *fname,int relative=0);} {public } decl {FL_EXPORT char *fl_file_chooser(const char *message,const char *pat,const char *fname,int relative=0);} {public } decl {FL_EXPORT void fl_file_chooser_callback(void (*cb)(const char*));} {public }