summaryrefslogtreecommitdiff
path: root/src/Fl_File_Chooser.fl
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2001-09-29 14:38:59 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2001-09-29 14:38:59 +0000
commit6a4714ce12d546c8131389853fe5593555c73b77 (patch)
tree158726de167a805d6aaa325f8250b89bf3a2db08 /src/Fl_File_Chooser.fl
parentde6c7f66eeaeeae52ca33221db885ae6cd7ea114 (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.fl210
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();} {}
+ }
+}