FLTK 1.4.0
Loading...
Searching...
No Matches
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
37class 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 FL_OVERRIDE;
46 int item_height(void *) const FL_OVERRIDE;
47 int item_width(void *) const FL_OVERRIDE;
48 void item_draw(void *, int, int, int, int) const FL_OVERRIDE;
49 int incr_height() const FL_OVERRIDE { return (item_height(0) + linespacing()); }
50
51public:
52 enum { FILES, DIRECTORIES };
53
54 Fl_File_Browser(int, int, int, int, const char * = 0);
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 Fl_Fontsize
Size of a font in pixels.
Definition Enumerations.H:1073
int linespacing() const
Return the height of additional spacing between browser lines.
Definition Fl_Browser_.H:414
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 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
int item_width(void *item) const FL_OVERRIDE
Returns width of item in pixels.
Definition Fl_Browser.cxx:421
int incr_height() const FL_OVERRIDE
The default 'average' item height (including inter-item spacing) in pixels.
Definition Fl_Browser.cxx:491
Fl_Fontsize textsize() const
Gets the default text size (in pixels) for the lines in the browser.
Definition Fl_Browser.H:153
void item_draw(void *item, int X, int Y, int W, int H) const FL_OVERRIDE
Draws item at the position specified by X Y W H.
Definition Fl_Browser.cxx:502
int item_height(void *item) const FL_OVERRIDE
Returns height of item in pixels.
Definition Fl_Browser.cxx:361
int full_height() const FL_OVERRIDE
The height of the entire list of all visible() items in pixels.
Definition Fl_Browser.cxx:480
The Fl_File_Browser widget displays a list of filenames, optionally with file-specific icons.
Definition Fl_File_Browser.H:37
const char * errmsg() const
Returns OS error messages, or NULL if none.
Definition Fl_File_Browser.H:96
const char * filter() const
Sets or gets the filename filter.
Definition Fl_File_Browser.H:73
void iconsize(uchar s)
Sets or gets the size of the icons.
Definition Fl_File_Browser.H:60
uchar iconsize() const
Sets or gets the size of the icons.
Definition Fl_File_Browser.H:58
int filetype() const
Sets or gets the file browser type, FILES or DIRECTORIES.
Definition Fl_File_Browser.H:84
void filetype(int t)
Sets or gets the file browser type, FILES or DIRECTORIES.
Definition Fl_File_Browser.H:91
void redraw()
Schedules the drawing of the widget.
Definition Fl.cxx:1586
File names and URI utility functions.
#define FL_OVERRIDE
This macro makes it safe to use the C++11 keyword override with older compilers.
Definition fl_attr.h:46
unsigned char uchar
unsigned char
Definition fl_types.h:30
int() Fl_File_Sort_F(struct dirent **, struct dirent **)
File sorting function.
Definition filename.H:114
int fl_numericsort(struct dirent **A, struct dirent **B)
Compares directory entries alphanumerically (case-sensitive).
Definition numericsort.c:128