2001-08-02 16:17:04 +00:00
|
|
|
# data file for the Fltk User Interface Designer (fluid)
|
|
|
|
|
version 1.0100
|
2001-09-29 14:38:59 +00:00
|
|
|
header_name {../FL/Fl_File_Chooser.H}
|
2001-08-01 21:24:49 +00:00
|
|
|
code_name {.cxx}
|
|
|
|
|
gridx 5
|
|
|
|
|
gridy 5
|
|
|
|
|
snap 3
|
2001-09-29 14:38:59 +00:00
|
|
|
class Fl_File_Chooser {open
|
2001-08-01 21:24:49 +00:00
|
|
|
} {
|
2001-09-29 14:38:59 +00:00
|
|
|
decl {enum { SINGLE = 0, MULTI = 1, CREATE = 2, DIRECTORY = 4 };} {selected public
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
2001-09-29 14:38:59 +00:00
|
|
|
Function {Fl_File_Chooser(const char *d, const char *p, int t, const char *title)} {open
|
2001-08-01 21:24:49 +00:00
|
|
|
} {
|
|
|
|
|
Fl_Window window {
|
|
|
|
|
label {Pick a File}
|
|
|
|
|
callback {fileList->deselect();
|
|
|
|
|
fileName->value("");
|
|
|
|
|
window->hide();} open
|
2001-09-29 06:40:06 +00:00
|
|
|
private xywh {99 225 375 315} resizable hotspot
|
2001-08-01 21:24:49 +00:00
|
|
|
code0 {if (title) window->label(title);}
|
|
|
|
|
code1 {\#include <stdio.h>}
|
|
|
|
|
code2 {\#include <stdlib.h>}
|
|
|
|
|
code3 {\#include <string.h>} modal visible
|
|
|
|
|
} {
|
2001-08-02 16:17:04 +00:00
|
|
|
Fl_Browser fileList {
|
2001-08-03 18:46:57 +00:00
|
|
|
callback {fileListCB();}
|
2001-08-02 16:17:04 +00:00
|
|
|
private xywh {10 45 355 180} type Hold resizable hotspot
|
2001-09-29 14:38:59 +00:00
|
|
|
code0 {\#include <FL/Fl_File_Browser.H>}
|
|
|
|
|
class Fl_File_Browser
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
|
|
|
|
Fl_Button {} {
|
2001-08-02 16:17:04 +00:00
|
|
|
label Cancel
|
|
|
|
|
callback {fileList->deselect();
|
|
|
|
|
fileName->value("");
|
2001-08-04 12:21:34 +00:00
|
|
|
window->hide();}
|
2001-08-02 16:17:04 +00:00
|
|
|
private xywh {285 280 80 25}
|
2001-08-03 18:46:57 +00:00
|
|
|
code0 {o->label(fl_cancel);}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
2001-08-02 16:17:04 +00:00
|
|
|
Fl_Return_Button okButton {
|
|
|
|
|
label OK
|
2001-08-04 12:21:34 +00:00
|
|
|
callback {// Do any callback that is registered...
|
|
|
|
|
if (callback_)
|
|
|
|
|
(*callback_)(this, data_);
|
|
|
|
|
|
|
|
|
|
window->hide();}
|
2001-08-03 18:46:57 +00:00
|
|
|
private xywh {200 280 75 25}
|
|
|
|
|
code0 {\#include <FL/fl_ask.H>}
|
|
|
|
|
code1 {okButton->label(fl_ok);}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
|
|
|
|
Fl_Input fileName {
|
|
|
|
|
label {Filename:}
|
2001-08-02 16:17:04 +00:00
|
|
|
callback {fileNameCB();}
|
2001-08-01 21:24:49 +00:00
|
|
|
private xywh {10 245 355 25} align 5 when 8
|
|
|
|
|
code0 {fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS);}
|
|
|
|
|
}
|
2001-08-02 16:17:04 +00:00
|
|
|
Fl_Button upButton {
|
2001-09-29 14:38:59 +00:00
|
|
|
callback {up();}
|
2001-09-29 22:59:45 +00:00
|
|
|
private image {up.xbm} tooltip {Show the parent directory.} xywh {280 10 25 25} labelsize 8
|
2001-08-02 16:17:04 +00:00
|
|
|
}
|
|
|
|
|
Fl_Button newButton {
|
|
|
|
|
callback {newdir();}
|
2001-09-29 22:59:45 +00:00
|
|
|
private image {new.xbm} tooltip {Create a new directory.} xywh {310 10 25 25} labelsize 8
|
2001-08-02 16:17:04 +00:00
|
|
|
}
|
|
|
|
|
Fl_Choice dirMenu {
|
|
|
|
|
label {Directory:}
|
2001-08-01 21:24:49 +00:00
|
|
|
callback {char pathname[1024];
|
2001-08-02 16:17:04 +00:00
|
|
|
int i;
|
2001-08-01 21:24:49 +00:00
|
|
|
|
2001-08-02 16:17:04 +00:00
|
|
|
pathname[0] = '\\0';
|
|
|
|
|
for (i = 1; i <= dirMenu->value(); i ++)
|
|
|
|
|
strcat(pathname, dirMenu->text(i));
|
|
|
|
|
directory(pathname);} open
|
2001-09-29 22:59:45 +00:00
|
|
|
private tooltip {Choose a parent directory.} xywh {95 10 180 25} down_box BORDER_BOX
|
2001-08-02 16:17:04 +00:00
|
|
|
} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
Fl_Button {} {
|
2001-08-02 16:17:04 +00:00
|
|
|
callback {const char *f;
|
|
|
|
|
if ((f = fl_input("New Filter?",
|
|
|
|
|
fileList->filter())) != NULL)
|
|
|
|
|
{
|
|
|
|
|
fileList->filter(f);
|
|
|
|
|
rescan();
|
|
|
|
|
}}
|
2001-09-29 22:59:45 +00:00
|
|
|
private image {allfiles.xbm} tooltip {Change the filename filter.} xywh {340 10 25 25} labelsize 28 labelcolor 4 align 16
|
2001-08-02 16:17:04 +00:00
|
|
|
code0 {\#include <FL/fl_ask.H>}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
code {window->size_range(345, 270, 345);
|
|
|
|
|
fileList->filter(p);
|
|
|
|
|
type(t);
|
2001-08-04 12:21:34 +00:00
|
|
|
value(d);
|
|
|
|
|
callback_ = 0;
|
|
|
|
|
data_ = 0;} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
2001-09-29 14:38:59 +00:00
|
|
|
decl {void (*callback_)(Fl_File_Chooser*, void *);} {}
|
2001-08-04 12:21:34 +00:00
|
|
|
decl {void *data_;} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
decl {char directory_[1024];} {}
|
|
|
|
|
decl {int type_;} {}
|
|
|
|
|
decl {void fileListCB();} {}
|
|
|
|
|
decl {void fileNameCB();} {}
|
|
|
|
|
decl {void newdir();} {}
|
|
|
|
|
decl {void up();} {}
|
2001-09-29 14:38:59 +00:00
|
|
|
Function {callback(void (*cb)(Fl_File_Chooser *, void *), void *d)} {return_type void
|
2001-08-04 12:21:34 +00:00
|
|
|
} {
|
|
|
|
|
code {callback_ = cb;
|
|
|
|
|
data_ = d;} {}
|
|
|
|
|
}
|
2001-08-01 21:24:49 +00:00
|
|
|
Function {color(Fl_Color c)} {} {
|
|
|
|
|
code {fileList->color(c);} {}
|
|
|
|
|
}
|
|
|
|
|
Function {color()} {return_type Fl_Color
|
|
|
|
|
} {
|
|
|
|
|
code {return (fileList->color());} {}
|
|
|
|
|
}
|
|
|
|
|
decl {int count();} {public
|
|
|
|
|
}
|
|
|
|
|
decl {void directory(const char *d);} {public
|
|
|
|
|
}
|
|
|
|
|
Function {directory()} {return_type {char *}
|
|
|
|
|
} {
|
|
|
|
|
code {return directory_;} {}
|
|
|
|
|
}
|
|
|
|
|
Function {filter(const char *p)} {return_type void
|
|
|
|
|
} {
|
|
|
|
|
code {fileList->filter(p);
|
|
|
|
|
rescan();} {}
|
|
|
|
|
}
|
|
|
|
|
Function {filter()} {return_type {const char *}
|
|
|
|
|
} {
|
|
|
|
|
code {return (fileList->filter());} {}
|
|
|
|
|
}
|
|
|
|
|
Function {hide()} {return_type void
|
|
|
|
|
} {
|
|
|
|
|
code {window->hide();} {}
|
|
|
|
|
}
|
|
|
|
|
Function {iconsize(uchar s)} {return_type void
|
|
|
|
|
} {
|
|
|
|
|
code {fileList->iconsize(s);} {}
|
|
|
|
|
}
|
|
|
|
|
Function {iconsize()} {return_type uchar
|
|
|
|
|
} {
|
|
|
|
|
code {return (fileList->iconsize());} {}
|
|
|
|
|
}
|
|
|
|
|
Function {label(const char *l)} {return_type void
|
|
|
|
|
} {
|
|
|
|
|
code {window->label(l);} {}
|
|
|
|
|
}
|
|
|
|
|
Function {label()} {return_type {const char *}
|
|
|
|
|
} {
|
|
|
|
|
code {return (window->label());} {}
|
|
|
|
|
}
|
|
|
|
|
decl {void rescan();} {public
|
|
|
|
|
}
|
2001-08-02 16:17:04 +00:00
|
|
|
Function {show()} {return_type void
|
2001-08-01 21:24:49 +00:00
|
|
|
} {
|
2001-08-02 16:17:04 +00:00
|
|
|
code {window->show();
|
2001-08-01 21:24:49 +00:00
|
|
|
fileList->deselect();} {}
|
|
|
|
|
}
|
|
|
|
|
Function {textcolor(Fl_Color c)} {return_type void
|
|
|
|
|
} {
|
2001-08-02 16:17:04 +00:00
|
|
|
code {fileList->textcolor(c);} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
|
|
|
|
Function {textcolor()} {return_type Fl_Color
|
|
|
|
|
} {
|
2001-08-02 16:17:04 +00:00
|
|
|
code {return (fileList->textcolor());} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
2001-08-02 16:17:04 +00:00
|
|
|
Function {textfont(uchar f)} {return_type void
|
2001-08-01 21:24:49 +00:00
|
|
|
} {
|
2001-08-02 16:17:04 +00:00
|
|
|
code {fileList->textfont(f);} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
2001-08-02 16:17:04 +00:00
|
|
|
Function {textfont()} {return_type uchar
|
2001-08-01 21:24:49 +00:00
|
|
|
} {
|
2001-08-02 16:17:04 +00:00
|
|
|
code {return (fileList->textfont());} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
|
|
|
|
Function {textsize(uchar s)} {return_type void
|
|
|
|
|
} {
|
2001-08-02 16:17:04 +00:00
|
|
|
code {fileList->textsize(s);} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
|
|
|
|
Function {textsize()} {return_type uchar
|
|
|
|
|
} {
|
|
|
|
|
code {return (fileList->textsize());} {}
|
|
|
|
|
}
|
|
|
|
|
Function {type(int t)} {return_type void
|
|
|
|
|
} {
|
|
|
|
|
code {type_ = t;
|
2001-09-29 14:38:59 +00:00
|
|
|
if (t & MULTI)
|
2001-08-01 21:24:49 +00:00
|
|
|
fileList->type(FL_MULTI_BROWSER);
|
|
|
|
|
else
|
|
|
|
|
fileList->type(FL_HOLD_BROWSER);
|
2001-09-29 14:38:59 +00:00
|
|
|
if (t & CREATE)
|
2001-08-01 21:24:49 +00:00
|
|
|
newButton->deactivate();
|
|
|
|
|
else
|
2001-09-29 14:38:59 +00:00
|
|
|
newButton->activate();
|
|
|
|
|
if (t & DIRECTORY)
|
|
|
|
|
fileList->filetype(Fl_File_Browser::DIRECTORIES);
|
|
|
|
|
else
|
|
|
|
|
fileList->filetype(Fl_File_Browser::FILES);} {}
|
2001-08-01 21:24:49 +00:00
|
|
|
}
|
|
|
|
|
Function {type()} {return_type int
|
|
|
|
|
} {
|
|
|
|
|
code {return (type_);} {}
|
|
|
|
|
}
|
|
|
|
|
decl {const char *value(int f = 1);} {public
|
|
|
|
|
}
|
|
|
|
|
decl {void value(const char *filename);} {public
|
|
|
|
|
}
|
|
|
|
|
Function {visible()} {return_type int
|
|
|
|
|
} {
|
|
|
|
|
code {return window->visible();} {}
|
|
|
|
|
}
|
|
|
|
|
}
|