~hitmuri/vjpirate/trunk

« back to all changes in this revision

Viewing changes to os/mac/include/FL/Fl_File_Browser.H

  • Committer: Florent Berthaut
  • Date: 2014-07-26 18:53:16 UTC
  • mfrom: (5.1.12 mac)
  • Revision ID: flo@localhost.localdomain-20140726185316-c2ucnwmgm5kij4e2
Merged mac branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//
 
2
// "$Id: Fl_File_Browser.H 8306 2011-01-24 17:04:22Z matt $"
 
3
//
 
4
// FileBrowser definitions.
 
5
//
 
6
// Copyright 1999-2010 by Michael Sweet.
 
7
//
 
8
// This library is free software; you can redistribute it and/or
 
9
// modify it under the terms of the GNU Library General Public
 
10
// License as published by the Free Software Foundation; either
 
11
// version 2 of the License, or (at your option) any later version.
 
12
//
 
13
// This library is distributed in the hope that it will be useful,
 
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
16
// Library General Public License for more details.
 
17
//
 
18
// You should have received a copy of the GNU Library General Public
 
19
// License along with this library; if not, write to the Free Software
 
20
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 
21
// USA.
 
22
//
 
23
// Please report all bugs and problems on the following page:
 
24
//
 
25
//     http://www.fltk.org/str.php
 
26
//
 
27
 
 
28
/* \file
 
29
   Fl_File_Browser widget . */
 
30
 
 
31
//
 
32
// Include necessary header files...
 
33
//
 
34
 
 
35
#ifndef _Fl_File_Browser_H_
 
36
#  define _Fl_File_Browser_H_
 
37
 
 
38
#  include "Fl_Browser.H"
 
39
#  include "Fl_File_Icon.H"
 
40
#  include "filename.H"
 
41
 
 
42
 
 
43
//
 
44
// Fl_File_Browser class...
 
45
//
 
46
 
 
47
/** The Fl_File_Browser widget displays a list of filenames, optionally with file-specific icons. */
 
48
class FL_EXPORT Fl_File_Browser : public Fl_Browser {
 
49
  
 
50
  int           filetype_;
 
51
  const char    *directory_;
 
52
  uchar         iconsize_;
 
53
  const char    *pattern_;
 
54
 
 
55
  int           full_height() const;
 
56
  int           item_height(void *) const;
 
57
  int           item_width(void *) const;
 
58
  void          item_draw(void *, int, int, int, int) const;
 
59
  int           incr_height() const { return (item_height(0)); }
 
60
 
 
61
public:
 
62
  enum { FILES, DIRECTORIES };
 
63
 
 
64
  /**
 
65
    The constructor creates the Fl_File_Browser widget at the specified position and size.
 
66
    The destructor destroys the widget and frees all memory that has been allocated.
 
67
  */
 
68
  Fl_File_Browser(int, int, int, int, const char * = 0);
 
69
 
 
70
  /**    Sets or gets the size of the icons. The default size is 20 pixels.  */
 
71
  uchar         iconsize() const { return (iconsize_); };
 
72
  /**    Sets or gets the size of the icons. The default size is 20 pixels.  */
 
73
  void          iconsize(uchar s) { iconsize_ = s; redraw(); };
 
74
 
 
75
  /**
 
76
    Sets or gets the filename filter. The pattern matching uses
 
77
    the fl_filename_match()
 
78
    function in FLTK.
 
79
  */
 
80
  void  filter(const char *pattern);
 
81
  /**
 
82
    Sets or gets the filename filter. The pattern matching uses
 
83
    the fl_filename_match()
 
84
    function in FLTK.
 
85
  */
 
86
  const char    *filter() const { return (pattern_); };
 
87
 
 
88
  /**
 
89
    Loads the specified directory into the browser. If icons have been
 
90
    loaded then the correct icon is associated with each file in the list.
 
91
    
 
92
    <P>The sort argument specifies a sort function to be used with
 
93
    fl_filename_list().
 
94
  */
 
95
  int           load(const char *directory, Fl_File_Sort_F *sort = fl_numericsort);
 
96
 
 
97
  Fl_Fontsize  textsize() const { return Fl_Browser::textsize(); };
 
98
  void          textsize(Fl_Fontsize s) { Fl_Browser::textsize(s); iconsize_ = (uchar)(3 * s / 2); };
 
99
 
 
100
  /**
 
101
    Sets or gets the file browser type, FILES or
 
102
    DIRECTORIES. When set to FILES, both
 
103
    files and directories are shown. Otherwise only directories are
 
104
    shown.
 
105
  */
 
106
  int           filetype() const { return (filetype_); };
 
107
  /**
 
108
    Sets or gets the file browser type, FILES or
 
109
    DIRECTORIES. When set to FILES, both
 
110
    files and directories are shown. Otherwise only directories are
 
111
    shown.
 
112
  */
 
113
  void          filetype(int t) { filetype_ = t; };
 
114
};
 
115
 
 
116
#endif // !_Fl_File_Browser_H_
 
117
 
 
118
//
 
119
// End of "$Id: Fl_File_Browser.H 8306 2011-01-24 17:04:22Z matt $".
 
120
//