FLTK
Fl_File_Browser.H
1 //
2 // FileBrowser definitions.
3 //
4 // Copyright 1999-2010 by Michael Sweet.
5 //
6 // This library is free software. Distribution and use rights are outlined in
7 // the file "COPYING" which should have been included with this file. If this
8 // file is missing or damaged, see the license at:
9 //
10 // https://www.fltk.org/COPYING.php
11 //
12 // Please see the following page on how to report bugs and issues:
13 //
14 // https://www.fltk.org/bugs.php
15 //
16 
17 /* \file
18  Fl_File_Browser widget . */
19 
20 //
21 // Include necessary header files...
22 //
23 
24 #ifndef _Fl_File_Browser_H_
25 # define _Fl_File_Browser_H_
26 
27 # include "Fl_Browser.H"
28 # include "Fl_File_Icon.H"
29 # include "filename.H"
30 
31 
32 //
33 // Fl_File_Browser class...
34 //
35 
37 class FL_EXPORT Fl_File_Browser : public Fl_Browser {
38 
39  int filetype_;
40  const char *directory_;
41  uchar iconsize_;
42  const char *pattern_;
43  const char *errmsg_;
44 
45  int full_height() const;
46  int item_height(void *) const;
47  int item_width(void *) const;
48  void item_draw(void *, int, int, int, int) const;
49  int incr_height() const { return (item_height(0)); }
50 
51 public:
52  enum { FILES, DIRECTORIES };
53 
54  Fl_File_Browser(int, int, int, int, const char * = 0);
55  ~Fl_File_Browser();
56 
58  uchar iconsize() const { return (iconsize_); };
60  void iconsize(uchar s) { iconsize_ = s; redraw(); };
61 
67  void filter(const char *pattern);
73  const char *filter() const { return (pattern_); };
74  int load(const char *directory, Fl_File_Sort_F *sort = fl_numericsort);
75  Fl_Fontsize textsize() const { return Fl_Browser::textsize(); };
76  void textsize(Fl_Fontsize s) { Fl_Browser::textsize(s); iconsize_ = (uchar)(3 * s / 2); };
77 
84  int filetype() const { return (filetype_); };
91  void filetype(int t) { filetype_ = t; };
92  void errmsg(const char *emsg);
96  const char* errmsg() const { return errmsg_; }
97 };
98 
99 #endif // !_Fl_File_Browser_H_
int incr_height() const
The default 'average' item height (including inter-item spacing) in pixels.
Definition: Fl_Browser.cxx:491
void iconsize(uchar s)
Sets or gets the size of the icons.
Definition: Fl_File_Browser.H:60
void redraw()
Schedules the drawing of the widget.
Definition: Fl.cxx:1480
File names and URI utility functions.
int filetype() const
Sets or gets the file browser type, FILES or DIRECTORIES.
Definition: Fl_File_Browser.H:84
int load(const char *filename)
Clears the browser and reads the file, adding each line from the file to the browser.
Definition: Fl_Browser_load.cxx:33
uchar iconsize() const
Sets or gets the size of the icons.
Definition: Fl_File_Browser.H:58
The Fl_File_Browser widget displays a list of filenames, optionally with file-specific icons...
Definition: Fl_File_Browser.H:37
Fl_Fontsize textsize() const
Gets the default text size (in pixels) for the lines in the browser.
Definition: Fl_Browser.H:153
const char * filter() const
Sets or gets the filename filter.
Definition: Fl_File_Browser.H:73
const char * errmsg() const
Returns OS error messages, or NULL if none.
Definition: Fl_File_Browser.H:96
void item_draw(void *item, int X, int Y, int W, int H) const
Draws item at the position specified by X Y W H.
Definition: Fl_Browser.cxx:502
void filetype(int t)
Sets or gets the file browser type, FILES or DIRECTORIES.
Definition: Fl_File_Browser.H:91
int item_width(void *item) const
Returns width of item in pixels.
Definition: Fl_Browser.cxx:421
int Fl_Fontsize
Size of a font in pixels.
Definition: Enumerations.H:1014
int item_height(void *item) const
Returns height of item in pixels.
Definition: Fl_Browser.cxx:361
int full_height() const
The height of the entire list of all visible() items in pixels.
Definition: Fl_Browser.cxx:480
The Fl_Browser widget displays a scrolling list of text lines, and manages all the storage for the te...
Definition: Fl_Browser.H:86
int fl_numericsort(struct dirent **A, struct dirent **B)
Compares directory entries alphanumerically (case-sensitive).
Definition: numericsort.c:120
int() Fl_File_Sort_F(struct dirent **, struct dirent **)
File sorting function.
Definition: filename.H:79
unsigned char uchar
unsigned char
Definition: fl_types.h:28