NAME
Wx::Perl::VirtualDirSelector - A "virtual" clone of the standard DirSelector
DERIVED FROM
Wx::Dialog
SYNOPSIS
my
$dirsel
= new Wx::Perl::VirtualDirSelector(
undef
, -1, \
&OnDirPopulate
,
'Select a folder'
,
'c:\\'
);
$dirsel
->SetRootLabel(
'/'
);
$dirsel
->ExpandRoot();
if
(
$dirsel
->ShowModal() == wxID_OK) {
Wx::MessageBox(
sprintf
"you selected '%s'"
,
$dirsel
->GetSelection);
}
DESCRIPTION
A clone of the standard windows DirSelector (wxDirSelector()), driven by a Wx::Perl::VirtualTreeCtrl.
METHODS
- new ($parent, $id, \&dir_populator, $message, $root_data, $style, $pos)
-
Returns a virtual dir selector (
@ISA Wx::Dialog
)$parent
- parent window (
default
: TopWindow)
$id
- window id
\
&dir_populator
- coderef to populate virtual tree control
$message
- Selection prompt (
default
:
'Select a directory'
)
$root_data
- Data assigned to the root item (
default
:
''
)
$style
- dialog style (
default
: wxDEFAULT_DIALOG_STYLE)
$pos
- dialog position (
default
: wxDefaultPosition)
&dir_populator
is a Wx::Perl::VirtualTreeCtrl event callback. - ExpandRoot()
-
Expand the root Item
- GetSelection()
-
Returns the data for the selected tree item.
- GetSelectedPath()
-
Returns a list of path elements from the root node to the selected node.
See the documentation for
Wx::Perl::VirtualTreeCtrl::GetPath
for more information. - SetImageList($wx_imagelist)
-
Set a custom Wx::ImageList for the tree control
- SetRootItemSelectable(bool)
-
If FALSE, the
OK
button will be greyed-out when the root item is selected.Default: TRUE
- SetRootLabel($label)
-
Set the root item's text label
- SetRootImage($image_id, [$which])
-
Set the root item's image. See Wx::TreeCtrl::GetItemImage for an explanation of the optional
$which
parameter.
SEE ALSO
- Wx::TreeCtrl
-
The standard tree control from which this object is derived.
- Wx::Perl::VirtualTreeCtrl
-
A tree control that is populated dynamically.
- wxWidgets
- wxPerl
AUTHOR
Simon Flack <cpan _at_ bbc _dot_ co _dot_ uk>
COPYRIGHT
(c) BBC 2005. This program is free software; you can redistribute it and/or modify it under the GNU GPL.
See the file COPYING in this distribution, or http://www.gnu.org/licenses/gpl.txt