diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-08-02 16:17:04 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-08-02 16:17:04 +0000 |
| commit | 75b6b221ce1c88905b1485f0e25ab3880982efc4 (patch) | |
| tree | 6a34d2ba5621b8e8c920f2832707ae339a15a6c5 /src/Fl_FileChooser.cxx | |
| parent | 836d2fac260c861106e0d96203bea4a04c9dd2d2 (diff) | |
FileIcon, FileBrowser, FileChooser stuff.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1517 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_FileChooser.cxx')
| -rw-r--r-- | src/Fl_FileChooser.cxx | 191 |
1 files changed, 92 insertions, 99 deletions
diff --git a/src/Fl_FileChooser.cxx b/src/Fl_FileChooser.cxx index 249567ee8..9daf75e87 100644 --- a/src/Fl_FileChooser.cxx +++ b/src/Fl_FileChooser.cxx @@ -1,25 +1,44 @@ -// generated by Fast Light User Interface Designer (fluid) version 2.0000 +// generated by Fast Light User Interface Designer (fluid) version 1.0100 -#include <fltk/Fl_FileChooser.h> -#include <fltk/vsnprintf.h> +#include "../FL/Fl_FileChooser.H" inline void Fl_FileChooser::cb_window_i(Fl_Window*, void*) { fileList->deselect(); - fileName->value(""); - window->hide(); +fileName->value(""); +window->hide(); } void Fl_FileChooser::cb_window(Fl_Window* o, void* v) { ((Fl_FileChooser*)(o->user_data()))->cb_window_i(o,v); } -inline void Fl_FileChooser::cb_dirMenu_i(Fl_Choice*, void*) { - if (dirMenu->value()) - directory(dirMenu->text(dirMenu->value())); -else - directory(""); +inline void Fl_FileChooser::cb_fileList_i(Fl_FileBrowser*, void*) { + fileListCB(); } -void Fl_FileChooser::cb_dirMenu(Fl_Choice* o, void* v) { - ((Fl_FileChooser*)(o->parent()->user_data()))->cb_dirMenu_i(o,v); +void Fl_FileChooser::cb_fileList(Fl_FileBrowser* o, void* v) { + ((Fl_FileChooser*)(o->parent()->user_data()))->cb_fileList_i(o,v); +} + +inline void Fl_FileChooser::cb_Cancel_i(Fl_Button*, void*) { + fileList->deselect(); +fileName->value(""); +window->hide(); +} +void Fl_FileChooser::cb_Cancel(Fl_Button* o, void* v) { + ((Fl_FileChooser*)(o->parent()->user_data()))->cb_Cancel_i(o,v); +} + +inline void Fl_FileChooser::cb_okButton_i(Fl_Return_Button*, void*) { + window->hide(); +} +void Fl_FileChooser::cb_okButton(Fl_Return_Button* o, void* v) { + ((Fl_FileChooser*)(o->parent()->user_data()))->cb_okButton_i(o,v); +} + +inline void Fl_FileChooser::cb_fileName_i(Fl_Input*, void*) { + fileNameCB(); +} +void Fl_FileChooser::cb_fileName(Fl_Input* o, void* v) { + ((Fl_FileChooser*)(o->parent()->user_data()))->cb_fileName_i(o,v); } inline void Fl_FileChooser::cb_upButton_i(Fl_Button*, void*) { @@ -29,7 +48,7 @@ void Fl_FileChooser::cb_upButton(Fl_Button* o, void* v) { ((Fl_FileChooser*)(o->parent()->user_data()))->cb_upButton_i(o,v); } -#include <fltk/Fl_Bitmap.h> +#include <FL/Fl_Bitmap.H> static unsigned char bits_up[] = "\0\0x\0\204\0\2\1""1\376y\200\375\200""1\200""1\200""1\200""1\200""1\200\1\ \200\1\200\377\377\0\0"; @@ -47,104 +66,79 @@ static unsigned char bits_new[] = \200\1\200\377\377\0\0"; static Fl_Bitmap bitmap_new(bits_new, 16, 16); -inline void Fl_FileChooser::cb__i(Fl_Button*, void*) { - fileList->filter("*");; -rescan(); -} -void Fl_FileChooser::cb_(Fl_Button* o, void* v) { - ((Fl_FileChooser*)(o->parent()->user_data()))->cb__i(o,v); -} - -static unsigned char bits_allfiles[] = -"\374?\4 \4 \4 \204!\244%\304#\364/\364/\304#\244%\204!\4 \4 \4 \374?"; -static Fl_Bitmap bitmap_allfiles(bits_allfiles, 16, 16); - -inline void Fl_FileChooser::cb_fileList_i(Fl_FileBrowser*, void*) { - fileListCB(); -} -void Fl_FileChooser::cb_fileList(Fl_FileBrowser* o, void* v) { - ((Fl_FileChooser*)(o->parent()->user_data()))->cb_fileList_i(o,v); -} - -inline void Fl_FileChooser::cb_fileName_i(Fl_FileInput*, void*) { - fileNameCB(); -} -void Fl_FileChooser::cb_fileName(Fl_FileInput* o, void* v) { - ((Fl_FileChooser*)(o->parent()->user_data()))->cb_fileName_i(o,v); -} - -inline void Fl_FileChooser::cb_okButton_i(Fl_Return_Button*, void*) { +inline void Fl_FileChooser::cb_dirMenu_i(Fl_Choice*, void*) { char pathname[1024]; +int i; -snprintf(pathname, sizeof(pathname), "%s/%s", - fileList->directory(), fileName->value()); -if (filename_isdir(pathname)) - directory(pathname); -else - window->hide(); +pathname[0] = '\0'; +for (i = 1; i <= dirMenu->value(); i ++) + strcat(pathname, dirMenu->text(i)); +directory(pathname); } -void Fl_FileChooser::cb_okButton(Fl_Return_Button* o, void* v) { - ((Fl_FileChooser*)(o->parent()->user_data()))->cb_okButton_i(o,v); +void Fl_FileChooser::cb_dirMenu(Fl_Choice* o, void* v) { + ((Fl_FileChooser*)(o->parent()->user_data()))->cb_dirMenu_i(o,v); } -inline void Fl_FileChooser::cb_Cancel_i(Fl_Button*, void*) { - fileList->deselect(); -fileName->value(""); -window->hide(); +inline void Fl_FileChooser::cb_allfiles_i(Fl_Button*, void*) { + const char *f; +if ((f = fl_input("New Filter?", + fileList->filter())) != NULL) +{ + fileList->filter(f); + rescan(); +}; } -void Fl_FileChooser::cb_Cancel(Fl_Button* o, void* v) { - ((Fl_FileChooser*)(o->parent()->user_data()))->cb_Cancel_i(o,v); +void Fl_FileChooser::cb_allfiles(Fl_Button* o, void* v) { + ((Fl_FileChooser*)(o->parent()->user_data()))->cb_allfiles_i(o,v); } +static unsigned char bits_allfiles[] = +"\374?\4 \4 \4 \204!\244%\304#\364/\364/\304#\244%\204!\4 \4 \4 \374?"; +static Fl_Bitmap bitmap_allfiles(bits_allfiles, 16, 16); + Fl_FileChooser::Fl_FileChooser(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_Window*)(o))->hotspot(o); - { Fl_Choice* o = dirMenu = new Fl_Choice(65, 10, 210, 25, "Directory:"); o->begin(); - o->callback((Fl_Callback*)cb_dirMenu); - o->tooltip("Click to access directory tree."); - o->set_flag(FL_ALIGN_LEFT | FL_ALIGN_RIGHT); - o->align(FL_ALIGN_LEFT | FL_ALIGN_RIGHT); - o->end(); - } - { Fl_Button* o = upButton = new Fl_Button(280, 10, 25, 25); - o->image(bitmap_up); - o->label_size(8); - o->callback((Fl_Callback*)cb_upButton); - o->tooltip("Click to display parent directory."); - } - { Fl_Button* o = newButton = new Fl_Button(310, 10, 25, 25); - o->image(bitmap_new); - o->label_size(8); - o->callback((Fl_Callback*)cb_newButton); - o->tooltip("Click to create a new directory."); - } - { Fl_Button* o = new Fl_Button(340, 10, 25, 25); - o->image(bitmap_allfiles); - o->label_color((Fl_Color)4); - o->label_size(28); - o->callback((Fl_Callback*)cb_); - o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE); - o->tooltip("Click to show all files."); - } + w->hotspot(o); { Fl_FileBrowser* o = fileList = new Fl_FileBrowser(10, 45, 355, 180); + o->type(2); o->callback((Fl_Callback*)cb_fileList); Fl_Group::current()->resizable(o); - o->tooltip("Double-click to change directories."); + w->hotspot(o); + } + { Fl_Button* o = new Fl_Button(285, 280, 80, 25, "Cancel"); + o->callback((Fl_Callback*)cb_Cancel); + } + { Fl_Return_Button* o = okButton = new Fl_Return_Button(205, 280, 75, 25, "OK"); + o->callback((Fl_Callback*)cb_okButton); } - { Fl_FileInput* o = fileName = new Fl_FileInput(10, 245, 355, 25, "Filename:"); + { Fl_Input* o = fileName = new Fl_Input(10, 245, 355, 25, "Filename:"); o->callback((Fl_Callback*)cb_fileName); - o->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); + o->align(FL_ALIGN_TOP_LEFT); o->when(FL_WHEN_ENTER_KEY); - o->tooltip("Type a filename or directory name here."); fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS); } - { Fl_Return_Button* o = okButton = new Fl_Return_Button(240, 280, 55, 25, "OK"); - o->shortcut(0xff0d); - o->callback((Fl_Callback*)cb_okButton); + { Fl_Button* o = upButton = new Fl_Button(280, 10, 25, 25); + bitmap_up.label(o); + o->labelsize(8); + o->callback((Fl_Callback*)cb_upButton); } - { Fl_Button* o = new Fl_Button(300, 280, 65, 25, "Cancel"); - o->callback((Fl_Callback*)cb_Cancel); + { Fl_Button* o = newButton = new Fl_Button(310, 10, 25, 25); + bitmap_new.label(o); + o->labelsize(8); + o->callback((Fl_Callback*)cb_newButton); + } + { Fl_Choice* o = dirMenu = new Fl_Choice(95, 10, 180, 25, "Directory:"); + o->callback((Fl_Callback*)cb_dirMenu); + } + { Fl_Button* o = new Fl_Button(340, 10, 25, 25); + bitmap_allfiles.label(o); + o->labelsize(28); + o->labelcolor(4); + o->callback((Fl_Callback*)cb_allfiles); + o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE); } if (title) window->label(title); o->set_modal(); @@ -197,30 +191,29 @@ const char * Fl_FileChooser::label() { return (window->label()); } -void Fl_FileChooser::exec() { - window->exec(); +void Fl_FileChooser::show() { + window->show(); fileList->deselect(); } void Fl_FileChooser::textcolor(Fl_Color c) { fileList->textcolor(c); - fileList->text_color(c); } Fl_Color Fl_FileChooser::textcolor() { return (fileList->textcolor()); } -void Fl_FileChooser::textfont(Fl_Font f) { - fileList->text_font(f); +void Fl_FileChooser::textfont(uchar f) { + fileList->textfont(f); } -Fl_Font Fl_FileChooser::textfont() { - return (fileList->text_font()); +uchar Fl_FileChooser::textfont() { + return (fileList->textfont()); } void Fl_FileChooser::textsize(uchar s) { - fileList->text_size(s); + fileList->textsize(s); } uchar Fl_FileChooser::textsize() { |
