NAME
Tickit::Widget::Tree - support for an expandable tree widget
VERSION
version 0.002
SYNOPSIS
my $tree = Tickit::Widget::Tree->new(
is_open => 1,
last => 1,
label => 'Root',
line_style => 'single',
);
$tree->add(Tickit::Widget::Tree->new(
is_open => 1,
last => 1,
label => 'First',
));
DESCRIPTION
Simple tree widget. See examples in main source for more info.
METHODS
new
Instantiate new tree.
Takes the following named parameters:
root - the root widget for this tree (optional)
parent - the parent widget (optional)
line_style - type of line used, see "LINE STYLES" (optional, defaults to single)
label - the text label to use for this tree entry
prev
The 'previous element' is determined as follows:
If we have a previous sibling:
If the previous sibling is open and has children, returns the last of those
If the previous sibling is closed or empty, returns it (the previous sibling)
If we have a parent and no previous sibling(s):
Return the parent
Return ourselves
next
The 'next element' is determined as follows:
If we're open and have children, next is the first child element.
If we're closed or empty, next is the next sibling at our current level.
If there's no next sibling, call the parent's "next" method.
If there's no parent, return $self.
lines
Returns the number of lines used by this node. Will be the label height unless the widget is open.
cols
Number of cols for autocalculation. We're flexible, so we just use the default 1.
is_open
Returns true if this node is open, false if not.
If open state is undefined, then we inherit from the parent if we have one, or return 0 as a fallback.
window_gained
insert_after
Adds $v after $self.
Takes over $self->next, including backlink from $self->next->prev.
add
children
is_highlighted
prefix_text
render
Tickit::Window
highlighted
label
highlight
highlight_next
highlight_prev
rerender
root
tree_parent
update_root_and_parent
on_key
open
close
child_resized
bind_keys
on_add
line_style
is_valid_tree_node
Returns 1 if this is a valid tree node, 0 if not.
A 'valid tree node' is defined as an object which is a subclass or instance of the Tickit::Widget::Tree class.
SEE ALSO
AUTHOR
Tom Molesworth <cpan@entitymodel.com>
LICENSE
Copyright Tom Molesworth 2011. Licensed under the same terms as Perl itself.