NAME
Tickit::Widget::Table - tabular widget support for Tickit
VERSION
version 0.001
SYNOPSIS
use Tickit::Widget::Table;
# Create the widget
my $table = Tickit::Widget::Table->new(
padding => 1,
columns => [
],
data => [
],
);
# Put it in something
my $container = Tickit::Widget::HBox->new;
$container->add($table, expand => 1);
DESCRIPTION
METHODS
new
Create a new table widget.
Takes the following named parameters:
columns - column definition arrayref, see "add_column" for the details
padding - amount of padding (in chars) to apply between columns
default_cell_action - coderef to execute when a cell is activated unless there is an action defined on the cell, row or column.
default_row_action - coderef to execute when a row is activated.
header - flag to select whether a header is shown. If not provided it is assumed that a header is wanted.
add_header_row
Adds a header row to the top of the table.
add_initial_columns
padding
lines
cols
rows
'rows' are the number of data rows we have in the table. That's one less than the total number of rows if we have a header row
columns
data_rows
reposition_cursor
header_row
set_highlighted_row
highlight_row
highlight_row_index
Check current widths and apply width on columns we already have sufficient information for.
min_refit
Try to shrink columns down to minimum possible width if they're flexible. Typically used by "add_column" to allow the new column to fit properly.
get_column_width
Return the width for the given column, or undef if this column should be autosized.
column_list
Returns all columns for this table as a list.
add_column
Add a new column to the table, returning a Tickit::Widget::Table::Column instance.
add_row
Adds a new row of data to the table. This will instantiate a new Tickit::Widget::Table::Row and return it.
remove_row
clear_data
Clears any data for this table, leaving structure including header row intact.
window_gained
Once we have a window, we want to refit to ensure that all the child elements are given subwindows with appropriate geometry.
window_lost
When the main window is lost, we also clear all the subwindows that were created for children.
on_key
Key handling: convert some common key requests to events.
on_quit
Handle a quit request. This is clearly not the place to have code like this.
on_switch_window
uh, no.
on_toggle_select_all
Select everything, unless everything is already selected in which case select nothing instead.
on_select
Toggle selection for this row.
on_key_insert
Should not be here.
on_key_delete
Should not be here.
on_cursor_up
Move to the row above.
on_cursor_home
Move to the top of the table.
on_cursor_end
Move to the end of the table.
on_cursor_pageup
Move several lines up.
on_cursor_down
Move one line down.
on_cursor_pagedown
Move several lines down.
AUTHOR
Tom Molesworth <cpan@entitymodel.com>
LICENSE
Copyright Tom Molesworth 2011. Licensed under the same terms as Perl itself.