Thank you for the posts, works perfectly. And yes it is Fl_File_Browser I
want(ed) and not Fl_File_Chooser.
> On 06/03/11 23:53, Greg Ercolano wrote:
> > On 06/03/11 18:00, anon wrote:
> >> I'm struggling to find out how I can have a Fl_File_Browser
> >> that actually selects items when clicked on.
> >
> > It sounds like you want Fl_File_Chooser..
>
>
> ..but if you really want Fl_File_Browser,
> this seems to work for selection:
>
>
> #include <FL/Fl.H>
> #include <FL/Fl_Double_Window.H>
> #include <FL/Fl_File_Browser.H>
> // Demonstrate simple use of Fl_File_Browser with selection -- erco 6/4/11
> int main(int argc, char **argv) {
> Fl_Double_Window win(300, 400, "File Browser");
> Fl_File_Browser fbrow(10,10,300-20,400-20);
> fbrow.load(".");
> fbrow.type(FL_HOLD_BROWSER); // use for single selection
> //fbrow.type(FL_MULTI_BROWSER); // use for multiple selection
> win.end();
> win.resizable(fbrow);
> win.show(argc,argv);
> return(Fl::run());
> }
>
> To determine what was selected, you can use the usual
> Fl_Browser technique of setting a callback(), and using
> value() and text(value()) to determine the item.
>
>
> #include <FL/Fl.H>
> #include <FL/Fl_Double_Window.H>
> #include <FL/Fl_File_Browser.H>
> #include <FL/fl_ask.H>
> // Demonstrate Fl_File_Browser with callback -- erco 6/4/11
> void BrowserCallback(Fl_Widget *w, void *data) {
> Fl_File_Browser *fbrow = (Fl_File_Browser*)w;
> int index = fbrow->value();
> if ( index > 0 ) {
> fl_alert("Selected: %d (%s)\n", index, fbrow->text(index));
> } else {
> fl_alert("Selected: %d (???)\n", index);
> }
> }
> int main(int argc, char **argv) {
> Fl_Double_Window win(300, 400, "File Browser");
> Fl_File_Browser fbrow(10,10,300-20,400-20);
> fbrow.load(".");
> fbrow.type(FL_HOLD_BROWSER);
> fbrow.callback(BrowserCallback);
> win.end();
> win.resizable(fbrow);
> win.show(argc,argv);
> return(Fl::run());
> }
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk