diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2002-04-18 20:37:29 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2002-04-18 20:37:29 +0000 |
| commit | 7e8ec10e6d9a50ea7a4cea0d00cf7566135c8a15 (patch) | |
| tree | d8d7e5e749739ac9a8115b1f9aba62a8bc65a890 | |
| parent | 9ca9171e7a35f4a2b3b6c8b52bdc966218b8137f (diff) | |
Add missing docos for Fl_Progress.
Add Fl_File_Chooser::directory_label, filename_label, and filter_label
static string pointers for labels (allows for I18N of the file chooser).
Fix typos in other docos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2098 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | FL/Fl_File_Chooser.H | 37 | ||||
| -rw-r--r-- | FL/Fl_Progress.H | 8 | ||||
| -rw-r--r-- | documentation/Fl.html | 5 | ||||
| -rw-r--r-- | documentation/Fl_Button.html | 2 | ||||
| -rw-r--r-- | documentation/Fl_Progress.html | 65 | ||||
| -rw-r--r-- | documentation/Fl_Widget.html | 2 | ||||
| -rw-r--r-- | documentation/fltk.book | 3 | ||||
| -rw-r--r-- | documentation/widgets.html | 2 | ||||
| -rw-r--r-- | src/Fl_File_Chooser.cxx | 142 | ||||
| -rw-r--r-- | src/Fl_File_Chooser.fl | 91 |
10 files changed, 223 insertions, 134 deletions
diff --git a/FL/Fl_File_Chooser.H b/FL/Fl_File_Chooser.H index 4be5bb883..a9ca0f824 100644 --- a/FL/Fl_File_Chooser.H +++ b/FL/Fl_File_Chooser.H @@ -7,12 +7,12 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <FL/Fl_File_Browser.H> +#include <FL/Fl_Choice.H> #include <FL/Fl_Button.H> -#include <FL/Fl_Return_Button.H> #include <FL/fl_ask.H> +#include <FL/Fl_File_Browser.H> #include <FL/Fl_Input.H> -#include <FL/Fl_Choice.H> +#include <FL/Fl_Return_Button.H> class Fl_File_Chooser { public: @@ -22,28 +22,28 @@ private: Fl_Window *window; inline void cb_window_i(Fl_Window*, void*); static void cb_window(Fl_Window*, void*); - Fl_File_Browser *fileList; - inline void cb_fileList_i(Fl_File_Browser*, void*); - static void cb_fileList(Fl_File_Browser*, void*); - inline void cb_Cancel_i(Fl_Button*, void*); - static void cb_Cancel(Fl_Button*, void*); - Fl_Return_Button *okButton; - inline void cb_okButton_i(Fl_Return_Button*, void*); - static void cb_okButton(Fl_Return_Button*, void*); - Fl_Input *fileName; - inline void cb_fileName_i(Fl_Input*, void*); - static void cb_fileName(Fl_Input*, void*); + Fl_Choice *dirMenu; + inline void cb_dirMenu_i(Fl_Choice*, void*); + static void cb_dirMenu(Fl_Choice*, void*); Fl_Button *upButton; inline void cb_upButton_i(Fl_Button*, void*); static void cb_upButton(Fl_Button*, void*); Fl_Button *newButton; inline void cb_newButton_i(Fl_Button*, void*); static void cb_newButton(Fl_Button*, void*); - Fl_Choice *dirMenu; - inline void cb_dirMenu_i(Fl_Choice*, void*); - static void cb_dirMenu(Fl_Choice*, void*); inline void cb__i(Fl_Button*, void*); static void cb_(Fl_Button*, void*); + Fl_File_Browser *fileList; + inline void cb_fileList_i(Fl_File_Browser*, void*); + static void cb_fileList(Fl_File_Browser*, void*); + Fl_Input *fileName; + inline void cb_fileName_i(Fl_Input*, void*); + static void cb_fileName(Fl_Input*, 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*); void (*callback_)(Fl_File_Chooser*, void *); void *data_; char directory_[1024]; @@ -80,6 +80,9 @@ public: const char *value(int f = 1); void value(const char *filename); int visible(); + static const char *directory_label; + static const char *filename_label; + static const char *filter_label; }; extern FL_EXPORT char *fl_dir_chooser(const char *message,const char *fname); extern FL_EXPORT char *fl_file_chooser(const char *message,const char *pat,const char *fname); diff --git a/FL/Fl_Progress.H b/FL/Fl_Progress.H index c950d40e1..a1f95bf2c 100644 --- a/FL/Fl_Progress.H +++ b/FL/Fl_Progress.H @@ -1,5 +1,5 @@ // -// "$Id: Fl_Progress.H,v 1.1.2.2 2002/01/01 15:11:28 easysw Exp $" +// "$Id: Fl_Progress.H,v 1.1.2.3 2002/04/18 20:37:29 easysw Exp $" // // Progress bar widget definitions. // @@ -40,8 +40,8 @@ class Fl_Progress : public Fl_Widget { float value_, - minimum_, - maximum_; + minimum_, + maximum_; protected: @@ -64,5 +64,5 @@ class Fl_Progress : public Fl_Widget #endif // !_Fl_Progress_H_ // -// End of "$Id: Fl_Progress.H,v 1.1.2.2 2002/01/01 15:11:28 easysw Exp $". +// End of "$Id: Fl_Progress.H,v 1.1.2.3 2002/04/18 20:37:29 easysw Exp $". // diff --git a/documentation/Fl.html b/documentation/Fl.html index 15e52dece..65b5cd4dd 100644 --- a/documentation/Fl.html +++ b/documentation/Fl.html @@ -1043,6 +1043,11 @@ done. <H4><A NAME="Fl.set_idle">void set_idle(void (*cb)());</A></H4> +<P>Sets an idle callback. + +<P>This method is obsolete - use the <A +HREF="#add_idle"><TT>add_idle()</TT></A> method instead. + <H4><A NAME="Fl.set_labeltype">void set_labeltype(Fl_Labeltype,Fl_Label_Draw_F*,Fl_Label_Measure_F*);<BR> void set_labeltype(Fl_Labeltype, Fl_Labeltype from);</A></H4> diff --git a/documentation/Fl_Button.html b/documentation/Fl_Button.html index e6ee1e733..533d4066a 100644 --- a/documentation/Fl_Button.html +++ b/documentation/Fl_Button.html @@ -67,7 +67,7 @@ w, int h, const char *label = 0)</A></H4> The constructor creates the button using the position, size, and label. <H4><A name=Fl_Button.~Fl_Button>Fl_Button::~Fl_Button(void)</A></H4> - The destructor removed the button. + The destructor removes the button. <H4><A name=Fl_Button.clear>int Fl_Button::clear()</A></H4> Same as <TT>value(0)</TT>. <H4><A name=Fl_Button.down_box>Fl_Boxtype Fl_Button::down_box() const diff --git a/documentation/Fl_Progress.html b/documentation/Fl_Progress.html new file mode 100644 index 000000000..d20d14a54 --- /dev/null +++ b/documentation/Fl_Progress.html @@ -0,0 +1,65 @@ +<HTML> +<BODY> + +<!-- NEW PAGE --> +<H2><A name=Fl_Progress>class Fl_Progress</A></H2> + +<HR> + +<H3>Class Hierarchy</H3> + +<UL><PRE> +<A href="Fl_Widget.html#Fl_Widget">Fl_Widget</A> + | + +----<B>Fl_Progress</B> +</PRE></UL> + +<H3>Include Files</H3> + +<UL><PRE> +#include <FL/Fl_Progress.H> +</PRE></UL> + +<H3>Description</H3> + +<P>The <TT>Fl_Progress</TT> widget displays a progress bar for the +user. + +<H3>Methods</H3> + +<UL> + + <LI><A href="#Fl_Progress.Fl_Progress">Fl_Progress</A></LI> + <LI><A href="#Fl_Progress.~Fl_Progress">~Fl_Progress</A></LI> + <LI><A href="#Fl_Progress.maximum">maximum</A></LI> + <LI><A href="#Fl_Progress.minimum">minimum</A></LI> + <LI><A href="#Fl_Progress.value">value</A></LI> + +</UL> + +<H4><A name="Fl_Progress.Fl_Progress">Fl_Progress::Fl_Progress(int x, int y, int w, int h, const char *label = 0)</A></H4> + +<P>The constructor creates the progress bar using the position, +size, and label. + +<H4><A name="Fl_Progress.~Fl_Progress">Fl_Progress::~Fl_Progress(void)</A></H4> + +<P>The destructor removes the progress bar. + +<H4><A name="Fl_Progress.maximum">void maximum(float v); +<BR>float maximum() const;</A></H4> + +<P>Gets or sets the maximum value in the progress widget. + +<H4><A name="Fl_Progress.minimum">void minimum(float v); +<BR>float minimum() const;</A></H4> + +<P>Gets or sets the minimum value in the progress widget. + +<H4><A name="Fl_Progress.value">void value(float v); +<BR>float value() const;</A></H4> + +<P>Gets or sets the current value in the progress widget. + +</BODY> +</HTML> diff --git a/documentation/Fl_Widget.html b/documentation/Fl_Widget.html index 457edde55..ce6249cbd 100644 --- a/documentation/Fl_Widget.html +++ b/documentation/Fl_Widget.html @@ -9,7 +9,7 @@ | +----<A href=Fl_Box.html#Fl_Box>Fl_Box</A>, <A href=Fl_Browser_.html#Fl_Browser_>Fl_Browser_</A>, <A href=Fl_Button.html#Fl_Button>Fl_Button</A>, <A href=Fl_Chart.html#Fl_Chart>Fl_Chart</A>, <A href=Fl_Clock.html#Fl_Clock>Fl_Clock</A>, <A href=Fl_Free.html#Fl_Free>Fl_Free</A>, <A href=Fl_Group.html#Fl_Group>Fl_Group</A>, <A href=Fl_Input_.html#Fl_Input_>Fl_Input_</A>, <A href=Fl_Menu_.html#Fl_Menu_>Fl_Menu_</A>, <A href=Fl_Positioner.html#Fl_Positioner>Fl_Positioner</A>, - <A href=Fl_Timer.html#Fl_Timer>Fl_Timer</A>, <A href=Fl_Valuator.html#Fl_Valuator>Fl_Valuator</A> + <A HREF="Fl_Progress.html">Fl_Progress</A>, <A href=Fl_Timer.html#Fl_Timer>Fl_Timer</A>, <A href=Fl_Valuator.html#Fl_Valuator>Fl_Valuator</A> </PRE> </UL> <H3>Include Files</H3> diff --git a/documentation/fltk.book b/documentation/fltk.book index 74ebf3d15..7df87427f 100644 --- a/documentation/fltk.book +++ b/documentation/fltk.book @@ -1,4 +1,4 @@ -#HTMLDOC 1.8.17 +#HTMLDOC 1.8.19 -t pdf13 -f fltk.pdf --book --toclevels 2 --no-numbered --toctitle "Table of Contents" --title --titleimage FL.gif --linkstyle underline --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --footer h.1 --tocheader .t. --tocfooter ..i --duplex --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=50 --fontsize 11.0 --fontspacing 1.2 --headingfont Helvetica --bodyfont Times --headfootsize 11.0 --headfootfont Helvetica --charset 8859-1 --links --no-truetype --pagemode outline --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 preface.html intro.html @@ -60,6 +60,7 @@ Fl_Pixmap.html Fl_PNG_Image.html Fl_PNM_Image.html Fl_Positioner.html +Fl_Progress.html Fl_Repeat_Button.html Fl_RGB_Image.html Fl_Return_Button.html diff --git a/documentation/widgets.html b/documentation/widgets.html index 24501e406..f93f6a3b3 100644 --- a/documentation/widgets.html +++ b/documentation/widgets.html @@ -63,6 +63,7 @@ description of the <TT>fl_</TT> functions, see <A HREF="Fl_PNG_Image.html">Fl_PNG_Image</A><BR> <A HREF="Fl_PNM_Image.html">Fl_PNM_Image</A><BR> <A HREF="Fl_Positioner.html">Fl_Positioner</A><BR> +<A HREF="Fl_Progress.html">Fl_Progress</A><BR> <A HREF="Fl_Repeat_Button.html">Fl_Repeat_Button</A><BR> <A HREF="Fl_Return_Button.html">Fl_Return_Button</A><BR> <A HREF="Fl_RGB_Image.html">Fl_RGB_Image</A><BR> @@ -195,6 +196,7 @@ description of the <TT>fl_</TT> functions, see <LI><A HREF="Fl_Menu_Button.html#Fl_Menu_Button">Fl_Menu_Button</A> </UL> <LI><A HREF="Fl_Positioner.html#Fl_Positioner">Fl_Positioner</A> + <LI><A HREF="Fl_Progress.html">Fl_Progress</A> <LI><A HREF="Fl_Timer.html#Fl_Timer">Fl_Timer</A> <LI><A HREF="Fl_Valuator.html#Fl_Valuator">Fl_Valuator</A> <UL> diff --git a/src/Fl_File_Chooser.cxx b/src/Fl_File_Chooser.cxx index ac62bc549..ce636f75b 100644 --- a/src/Fl_File_Chooser.cxx +++ b/src/Fl_File_Chooser.cxx @@ -2,6 +2,10 @@ #include "../FL/Fl_File_Chooser.H" +const char *Fl_File_Chooser::directory_label = "Directory:"; +const char *Fl_File_Chooser::filename_label = "Filename:"; +const char *Fl_File_Chooser::filter_label = "New Filter?"; + inline void Fl_File_Chooser::cb_window_i(Fl_Window*, void*) { fileList->deselect(); fileName->value(""); @@ -11,38 +15,17 @@ void Fl_File_Chooser::cb_window(Fl_Window* o, void* v) { ((Fl_File_Chooser*)(o->user_data()))->cb_window_i(o,v); } -inline void Fl_File_Chooser::cb_fileList_i(Fl_File_Browser*, void*) { - fileListCB(); -} -void Fl_File_Chooser::cb_fileList(Fl_File_Browser* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_fileList_i(o,v); -} - -inline void Fl_File_Chooser::cb_Cancel_i(Fl_Button*, void*) { - fileList->deselect(); -fileName->value(""); -window->hide(); -} -void Fl_File_Chooser::cb_Cancel(Fl_Button* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_Cancel_i(o,v); -} - -inline void Fl_File_Chooser::cb_okButton_i(Fl_Return_Button*, void*) { - // Do any callback that is registered... -if (callback_) - (*callback_)(this, data_); - -window->hide(); -} -void Fl_File_Chooser::cb_okButton(Fl_Return_Button* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_okButton_i(o,v); -} +inline void Fl_File_Chooser::cb_dirMenu_i(Fl_Choice*, void*) { + char pathname[1024]; +int i; -inline void Fl_File_Chooser::cb_fileName_i(Fl_Input*, void*) { - fileNameCB(); +pathname[0] = '\0'; +for (i = 1; i <= dirMenu->value(); i ++) + strcat(pathname, dirMenu->text(i)); +directory(pathname); } -void Fl_File_Chooser::cb_fileName(Fl_Input* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_fileName_i(o,v); +void Fl_File_Chooser::cb_dirMenu(Fl_Choice* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_dirMenu_i(o,v); } inline void Fl_File_Chooser::cb_upButton_i(Fl_Button*, void*) { @@ -70,22 +53,9 @@ static unsigned char idata_new[] = \200\1\200\377\377\0\0"; static Fl_Bitmap image_new(idata_new, 16, 16); -inline void Fl_File_Chooser::cb_dirMenu_i(Fl_Choice*, void*) { - char pathname[1024]; -int i; - -pathname[0] = '\0'; -for (i = 1; i <= dirMenu->value(); i ++) - strcat(pathname, dirMenu->text(i)); -directory(pathname); -} -void Fl_File_Chooser::cb_dirMenu(Fl_Choice* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_dirMenu_i(o,v); -} - inline void Fl_File_Chooser::cb__i(Fl_Button*, void*) { const char *f; -if ((f = fl_input("New Filter?", +if ((f = fl_input(filter_label, fileList->filter())) != NULL) { fileList->filter(f); @@ -100,30 +70,50 @@ static unsigned char idata_allfiles[] = "\374?\4 \4 \4 \204!\244%\304#\364/\364/\304#\244%\204!\4 \4 \4 \374?"; static Fl_Bitmap image_allfiles(idata_allfiles, 16, 16); +inline void Fl_File_Chooser::cb_fileList_i(Fl_File_Browser*, void*) { + fileListCB(); +} +void Fl_File_Chooser::cb_fileList(Fl_File_Browser* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_fileList_i(o,v); +} + +inline void Fl_File_Chooser::cb_fileName_i(Fl_Input*, void*) { + fileNameCB(); +} +void Fl_File_Chooser::cb_fileName(Fl_Input* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_fileName_i(o,v); +} + +inline void Fl_File_Chooser::cb_okButton_i(Fl_Return_Button*, void*) { + // Do any callback that is registered... +if (callback_) + (*callback_)(this, data_); + +window->hide(); +} +void Fl_File_Chooser::cb_okButton(Fl_Return_Button* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_okButton_i(o,v); +} + +inline void Fl_File_Chooser::cb_Cancel_i(Fl_Button*, void*) { + fileList->deselect(); +fileName->value(""); +window->hide(); +} +void Fl_File_Chooser::cb_Cancel(Fl_Button* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_Cancel_i(o,v); +} + Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char *title) { Fl_Window* w; { Fl_Window* o = window = new Fl_Window(375, 315, "Pick a File"); w = o; o->callback((Fl_Callback*)cb_window, (void*)(this)); - { Fl_File_Browser* o = fileList = new Fl_File_Browser(10, 45, 355, 180); - o->type(2); - o->callback((Fl_Callback*)cb_fileList); - Fl_Group::current()->resizable(o); - w->hotspot(o); - } - { Fl_Button* o = new Fl_Button(285, 280, 80, 25, "Cancel"); - o->callback((Fl_Callback*)cb_Cancel); - o->label(fl_cancel); - } - { Fl_Return_Button* o = okButton = new Fl_Return_Button(200, 280, 75, 25, "OK"); - o->callback((Fl_Callback*)cb_okButton); - okButton->label(fl_ok); - } - { Fl_Input* o = fileName = new Fl_Input(10, 245, 355, 25, "Filename:"); - o->callback((Fl_Callback*)cb_fileName); - o->align(FL_ALIGN_TOP_LEFT); - o->when(FL_WHEN_ENTER_KEY); - fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS); + { Fl_Choice* o = dirMenu = new Fl_Choice(95, 10, 180, 25, "Directory:"); + o->tooltip("Choose a parent directory."); + o->down_box(FL_BORDER_BOX); + o->callback((Fl_Callback*)cb_dirMenu); + dirMenu->label(directory_label); } { Fl_Button* o = upButton = new Fl_Button(280, 10, 25, 25); o->tooltip("Show the parent directory."); @@ -137,11 +127,6 @@ Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char o->labelsize(8); o->callback((Fl_Callback*)cb_newButton); } - { Fl_Choice* o = dirMenu = new Fl_Choice(95, 10, 180, 25, "Directory:"); - o->tooltip("Choose a parent directory."); - o->down_box(FL_BORDER_BOX); - o->callback((Fl_Callback*)cb_dirMenu); - } { Fl_Button* o = new Fl_Button(340, 10, 25, 25); o->tooltip("Change the filename filter."); o->image(image_allfiles); @@ -150,6 +135,27 @@ Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char o->callback((Fl_Callback*)cb_); o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE); } + { Fl_File_Browser* o = fileList = new Fl_File_Browser(10, 45, 355, 180); + o->type(2); + o->callback((Fl_Callback*)cb_fileList); + Fl_Group::current()->resizable(o); + w->hotspot(o); + } + { Fl_Input* o = fileName = new Fl_Input(10, 245, 355, 25, "Filename:"); + o->callback((Fl_Callback*)cb_fileName); + o->align(FL_ALIGN_TOP_LEFT); + o->when(FL_WHEN_ENTER_KEY); + fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS); + fileName->label(filename_label); + } + { Fl_Return_Button* o = okButton = new Fl_Return_Button(200, 280, 75, 25, "OK"); + o->callback((Fl_Callback*)cb_okButton); + okButton->label(fl_ok); + } + { Fl_Button* o = new Fl_Button(285, 280, 80, 25, "Cancel"); + o->callback((Fl_Callback*)cb_Cancel); + o->label(fl_cancel); + } if (title) window->label(title); o->set_modal(); o->end(); diff --git a/src/Fl_File_Chooser.fl b/src/Fl_File_Chooser.fl index 456e5af00..f29b6f6c2 100644 --- a/src/Fl_File_Chooser.fl +++ b/src/Fl_File_Chooser.fl @@ -22,45 +22,6 @@ window->hide();} open 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 tooltip {Show the parent directory.} image {up.xbm} xywh {280 10 25 25} labelsize 8 - } - Fl_Button newButton { - callback {newdir();} - private tooltip {Create a new directory.} image {new.xbm} xywh {310 10 25 25} labelsize 8 - } Fl_Choice dirMenu { label {Directory:} callback {char pathname[1024]; @@ -71,10 +32,19 @@ for (i = 1; i <= dirMenu->value(); i ++) strcat(pathname, dirMenu->text(i)); directory(pathname);} open private tooltip {Choose a parent directory.} xywh {95 10 180 25} down_box BORDER_BOX + code0 {dirMenu->label(directory_label);} } {} + Fl_Button upButton { + callback {up();} + private tooltip {Show the parent directory.} image {up.xbm} xywh {280 10 25 25} labelsize 8 + } + Fl_Button newButton { + callback {newdir();} + private tooltip {Create a new directory.} image {new.xbm} xywh {310 10 25 25} labelsize 8 + } Fl_Button {} { callback {const char *f; -if ((f = fl_input("New Filter?", +if ((f = fl_input(filter_label, fileList->filter())) != NULL) { fileList->filter(f); @@ -83,6 +53,38 @@ if ((f = fl_input("New Filter?", private tooltip {Change the filename filter.} image {allfiles.xbm} xywh {340 10 25 25} labelsize 28 labelcolor 4 align 16 code0 {\#include <FL/fl_ask.H>} } + 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_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);} + code1 {fileName->label(filename_label);} + } + 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_Button {} { + label Cancel + callback {fileList->deselect(); +fileName->value(""); +window->hide();} + private xywh {285 280 80 25} + code0 {o->label(fl_cancel);} + } } code {window->size_range(375, 315, 375); fileList->filter(p); @@ -154,8 +156,7 @@ rescan();} {} } { code {window->hotspot(fileList); window->show(); -fileList->deselect();} {selected - } +fileList->deselect();} {} } Function {shown()} {return_type int } { @@ -213,6 +214,12 @@ else } { code {return window->visible();} {} } + decl {static const char *directory_label = "Directory:";} {public + } + decl {static const char *filename_label = "Filename:";} {public + } + decl {static const char *filter_label = "New Filter?";} {selected public + } } decl {FL_EXPORT char *fl_dir_chooser(const char *message,const char *fname);} {public |
