diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-09-29 14:38:59 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-09-29 14:38:59 +0000 |
| commit | 6a4714ce12d546c8131389853fe5593555c73b77 (patch) | |
| tree | 158726de167a805d6aaa325f8250b89bf3a2db08 /src/Fl_File_Chooser.fl | |
| parent | de6c7f66eeaeeae52ca33221db885ae6cd7ea114 (diff) | |
Fl_FileXYZ -> Fl_File_XYZ
Fl_HelpXYZ -> Fl_Help_XYZ
Fl_File_Chooser now supports directory choosing.
Added fl_dir_chooser() function.
Now set FLTK_DOCDIR env var in test/demo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1612 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_File_Chooser.fl')
| -rw-r--r-- | src/Fl_File_Chooser.fl | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/src/Fl_File_Chooser.fl b/src/Fl_File_Chooser.fl new file mode 100644 index 000000000..1302d773f --- /dev/null +++ b/src/Fl_File_Chooser.fl @@ -0,0 +1,210 @@ +# data file for the Fltk User Interface Designer (fluid) +version 1.0100 +header_name {../FL/Fl_File_Chooser.H} +code_name {.cxx} +gridx 5 +gridy 5 +snap 3 +class Fl_File_Chooser {open +} { + decl {enum { SINGLE = 0, MULTI = 1, CREATE = 2, DIRECTORY = 4 };} {selected public + } + Function {Fl_File_Chooser(const char *d, const char *p, int t, const char *title)} {open + } { + Fl_Window window { + label {Pick a File} + callback {fileList->deselect(); +fileName->value(""); +window->hide();} open + private xywh {99 225 375 315} resizable hotspot + code0 {if (title) window->label(title);} + code1 {\#include <stdio.h>} + code2 {\#include <stdlib.h>} + code3 {\#include <string.h>} modal visible + } { + Fl_Browser fileList { + callback {fileListCB();} + private xywh {10 45 355 180} type Hold resizable hotspot + code0 {\#include <FL/Fl_File_Browser.H>} + class Fl_File_Browser + } + Fl_Button {} { + label Cancel + callback {fileList->deselect(); +fileName->value(""); +window->hide();} + private xywh {285 280 80 25} + code0 {o->label(fl_cancel);} + } + Fl_Return_Button okButton { + label OK + callback {// Do any callback that is registered... +if (callback_) + (*callback_)(this, data_); + +window->hide();} + private xywh {200 280 75 25} + code0 {\#include <FL/fl_ask.H>} + code1 {okButton->label(fl_ok);} + } + Fl_Input fileName { + label {Filename:} + callback {fileNameCB();} + private xywh {10 245 355 25} align 5 when 8 + code0 {fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS);} + } + Fl_Button upButton { + callback {up();} + private image {up.xbm} xywh {280 10 25 25} labelsize 8 + } + Fl_Button newButton { + callback {newdir();} + private image {new.xbm} xywh {310 10 25 25} labelsize 8 + } + Fl_Choice dirMenu { + label {Directory:} + callback {char pathname[1024]; +int i; + +pathname[0] = '\\0'; +for (i = 1; i <= dirMenu->value(); i ++) + strcat(pathname, dirMenu->text(i)); +directory(pathname);} open + private xywh {95 10 180 25} down_box BORDER_BOX + } {} + Fl_Button {} { + callback {const char *f; +if ((f = fl_input("New Filter?", + fileList->filter())) != NULL) +{ + fileList->filter(f); + rescan(); +}} + private image {allfiles.xbm} xywh {340 10 25 25} labelsize 28 labelcolor 4 align 16 + code0 {\#include <FL/fl_ask.H>} + } + } + code {window->size_range(345, 270, 345); +fileList->filter(p); +type(t); +value(d); +callback_ = 0; +data_ = 0;} {} + } + decl {void (*callback_)(Fl_File_Chooser*, void *);} {} + decl {void *data_;} {} + decl {char directory_[1024];} {} + decl {int type_;} {} + decl {void fileListCB();} {} + decl {void fileNameCB();} {} + decl {void newdir();} {} + decl {void up();} {} + Function {callback(void (*cb)(Fl_File_Chooser *, void *), void *d)} {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_;} {} + } + Function {filter(const char *p)} {return_type void + } { + code {fileList->filter(p); +rescan();} {} + } + Function {filter()} {return_type {const char *} + } { + code {return (fileList->filter());} {} + } + 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 rescan();} {public + } + Function {show()} {return_type void + } { + code {window->show(); +fileList->deselect();} {} + } + 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();} {} + } +} |
