summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2002-04-18 20:37:29 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2002-04-18 20:37:29 +0000
commit7e8ec10e6d9a50ea7a4cea0d00cf7566135c8a15 (patch)
treed8d7e5e749739ac9a8115b1f9aba62a8bc65a890
parent9ca9171e7a35f4a2b3b6c8b52bdc966218b8137f (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.H37
-rw-r--r--FL/Fl_Progress.H8
-rw-r--r--documentation/Fl.html5
-rw-r--r--documentation/Fl_Button.html2
-rw-r--r--documentation/Fl_Progress.html65
-rw-r--r--documentation/Fl_Widget.html2
-rw-r--r--documentation/fltk.book3
-rw-r--r--documentation/widgets.html2
-rw-r--r--src/Fl_File_Chooser.cxx142
-rw-r--r--src/Fl_File_Chooser.fl91
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 &lt;FL/Fl_Progress.H&gt;
+</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