summaryrefslogtreecommitdiff
path: root/src/Fl_FileChooser.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2001-08-02 16:17:04 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2001-08-02 16:17:04 +0000
commit75b6b221ce1c88905b1485f0e25ab3880982efc4 (patch)
tree6a34d2ba5621b8e8c920f2832707ae339a15a6c5 /src/Fl_FileChooser.cxx
parent836d2fac260c861106e0d96203bea4a04c9dd2d2 (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.cxx191
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() {