diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-08-04 12:21:34 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-08-04 12:21:34 +0000 |
| commit | e4727142d4c48198e708ba2bd4068daf8062abaf (patch) | |
| tree | b2394dd6b76d749af4deea2ebaf88e840adfad11 /src/fl_file_chooser.cxx | |
| parent | 00f126367d73a2e860ca22a093a66fd1703f412a (diff) | |
Fl_Text* widgets backported to 1.1 (Carl, please confirm that I haven't
goofed with the layout->resize conversion. Also check fix for mMaxSize
being 0 so I set it to textsize())
contrast,inactive -> fl_contrast, fl_inactive, with defines for old names.
fl_rect() and fl_rectf() with color args.
fl_height, etc. with font,size args.
Send FL_RELEASE and FL_DRAG events to the pushed() widget by default.
Fix file chooser so it doesn't automatically change dirs if the only
matching name is a dir.
Updated Fl_Browser_ and Fl_Scrollbar for better mouse wheel support.
Moved DLL definitions to new Fl_Export.H.
Restore callback functionality in file chooser.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1550 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/fl_file_chooser.cxx')
| -rw-r--r-- | src/fl_file_chooser.cxx | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/fl_file_chooser.cxx b/src/fl_file_chooser.cxx index 8f6a37548..0b3c99b9f 100644 --- a/src/fl_file_chooser.cxx +++ b/src/fl_file_chooser.cxx @@ -1,5 +1,5 @@ // -// "$Id: fl_file_chooser.cxx,v 1.10.2.10.2.3 2001/08/03 18:46:57 easysw Exp $" +// "$Id: fl_file_chooser.cxx,v 1.10.2.10.2.4 2001/08/04 12:21:33 easysw Exp $" // // File chooser widget for the Fast Light Tool Kit (FLTK). // @@ -28,13 +28,28 @@ #include <FL/Fl_FileChooser.H> static Fl_FileChooser *fc = (Fl_FileChooser *)0; +static void (*current_callback)(const char*) = 0; + + +static void callback(Fl_FileChooser *, void*) { + if (current_callback) + (*current_callback)(fc->value(0)); +} + + +void fl_file_chooser_callback(void (*cb)(const char*)) { + current_callback = cb; +} + char* fl_file_chooser(const char* message, const char* pat, const char* fname) { if (!fname || !*fname) fname = "."; - if (!fc) fc = new Fl_FileChooser(fname, pat, Fl_FileChooser::CREATE, message); - else { + if (!fc) { + fc = new Fl_FileChooser(fname, pat, Fl_FileChooser::CREATE, message); + fc->callback(callback, 0); + } else { fc->filter(pat); fc->value(fname); fc->label(message); @@ -50,5 +65,5 @@ char* fl_file_chooser(const char* message, const char* pat, const char* fname) // -// End of "$Id: fl_file_chooser.cxx,v 1.10.2.10.2.3 2001/08/03 18:46:57 easysw Exp $". +// End of "$Id: fl_file_chooser.cxx,v 1.10.2.10.2.4 2001/08/04 12:21:33 easysw Exp $". // |
