1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
=head1 NAME
Tk::DirTree - Create and manipulate DirTree widgets
=for pm Tixish/DirTree.pm
=for category Tix Extensions
=head1 SYNOPSIS
S< >B<use Tk::DirTree;>
S< >I<$dirtree> = I<$parent>-E<gt>B<DirTree>(?I<options>?);
=head1 SUPER-CLASS
The B<DirTree> class is derived from the L<Tree|Tk::Tree> class and inherits
all the methods, options and subwidgets of its super-class.
=head1 STANDARD OPTIONS
B<Tree> supports all the standard options of a Tree widget. See
L<Tk::options> for details on the standard options.
=head1 WIDGET-SPECIFIC OPTIONS
=over 4
=item Name: B<browseCmd>
=item Class: B<BrowseCmd>
=item Switch: B<-browsecmd>
Specifies a L<callback|Tk::callbacks> to call whenever the user browses on a directory
(usually by single-clicking on the name of the directory). The callback
is called with one argument, the complete pathname of the directory.
=item Name: B<command>
=item Class: B<Command>
=item Switch: B<-command>
Specifies the L<callback|Tk::callbacks> to be called when the user activates on a directory
(usually by double-clicking on the name of the directory). The callback
is called with one argument, the complete pathname of the directory.
=item Name: B<dircmd>
=item Class: B<DirCmd>
=item Switch: B<-dircmd>
Specifies the L<callback|Tk::callbacks> to be called when a directory listing is needed
for a particular directory. If this option is not specified, by
default the DirTree widget will attempt to read the directory as a
Unix directory. On special occasions, the application programmer may
want to supply a special method for reading directories: for example,
when he needs to list remote directories. In this case, the B<-dircmd>
option can be used. The specified callback accepts two arguments: the
first is the name of the directory to be listed; the second is a
Boolean value indicating whether hidden sub-directories should be
listed. This callback returns a list of names of the sub-directories of
this directory. For example:
sub read_dir {
my( $dir, $showhidden ) = @_;
return( qw/DOS NORTON WINDOWS/ ) if $dir eq "C:\\";
return();
}
=item Name: B<showHidden>
=item Class: B<ShowHidden>
=item Switch: B<-showhidden>
Specifies whether hidden directories should be shown. By default, a
directory name starting with a period "." is considered as a hidden
directory. This rule can be overridden by supplying an alternative
B<-dircmd> option.
=item Name: B<directory>
=item Class: B<Directory>
=item Switch: B<-directory>
=item Alias: B<-value>
Specifies the name of the current directory to be displayed in the
DirTree widget.
=back
=head1 DESCRIPTION
The B<DirTree> constructor method creates a new window (given by the $dirtree
argument) and makes it into a DirTree widget. Additional options,
described above, may be specified on the command line or in the
option database to configure aspects of the DirTree such as its
cursor and relief. The DirTree widget displays a list view of a
directory, its previous directories and its sub-directories. The
user can choose one of the directories displayed in the list or
change to another directory.
=head1 WIDGET METHODS
The B<DirTree> method creates a widget object.
This object supports the B<configure> and B<cget> methods
described in L<Tk::options> which can be used to enquire and
modify the options described above.
The widget also inherits all the methods provided by the generic
L<Tk::Widget|Tk::Widget> class.
The following additional methods are available for DirTree widgets:
=over 4
=item I<$dirtree>-E<gt>B<chdir>(I<dir>)
Change the current directory to I<dir>.
=back
=head1 OTHER METHODS
These methods have to be documented or made private:
=over 4
=item OpenCmd
=item Populate
=item add_to_tree
=item dirnames
=item fullpath
=item has_subdir
=item opencmd
=item set_dir
=back
=head1 BINDINGS
The mouse and keyboard bindings of the DirTree widget are the same as
the bindings of the L<Tree|Tk::Tree> widget.
=head1 KEYWORDS
directory, tree, tix
=head1 SEE ALSO
L<Tk::Tree|Tk::Tree>
L<Tk::HList|Tk::HList>
=head1 AUTHOR
Perl/TK version by Chris Dean <ctdean@cogit.com>. Original Tcl/Tix
version by Ioi Kim Lam.
=cut
|