Tk-TableMatrix
view release on metacpan or search on metacpan
1.21 2006-03-02
* Updated to make the row/size resize operation (that happens when you
drag the row/col borders) apply to every row or column that is currently
selected, instead of just the row/col border that was dragged.
1.2 2005-01-26
* Fixed bug which was causing crashes on perl 5.8.4 on win32 when
anything was copied into the clipboard (i.e. when control-c pressed).
* Fixed row/col insert/deletes to work more reliably in TableMatrix::Spreadsheet
1.1 2004-02-12
* Updated to be compatible with the new Tk804 series.
1.01 2002-12-06
TableMatrix.pm view on Meta::CPAN
return $txt;
}
}
# ClipboardKeysyms --
# This procedure is invoked to identify the keys that correspond to
# the "copy", "cut", and "paste" functions for the clipboard.
#
# Arguments:
# copy - Name of the key (keysym name plus modifiers, if any,
# such as "Meta-y") used for the copy operation.
# cut - Name of the key used for the cut operation.
# paste - Name of the key used for the paste operation.
sub ClipboardKeysyms
{
my $mw = shift;
TableMatrix.pm view on Meta::CPAN
{
$w->colWidth($tmp,$width += $a);
}
else
{
$w->colWidth($tmp,$width += -$a);
}
}
# Copy --
# This procedure copies the selection from a table widget into the
# clipboard.
#
# Arguments:
# w - Name of a table widget.
sub Copy
{
my $w = shift;
if ($w->SelectionOwner() eq $w)
{
$w->clipboardClear;
eval
{
$w->clipboardAppend($w->GetSelection);
}
;
}
}
# Cut --
# This procedure copies the selection from a table widget into the
# clipboard, then deletes the selection (if it exists in the given
# widget).
#
# Arguments:
# w - Name of a table widget.
sub Cut
{
my $w = shift;
if ($w->SelectionOwner() eq $w)
{
$w->clipboardClear;
eval
{
$w->clipboardAppend($w->GetSelection);
$w->curselection('');# Clear whatever is selected
$w->selectionClear();
}
;
}
}
# Paste --
# This procedure pastes the contents of the clipboard to the specified
# cell (active by default) in a table widget.
#
# Arguments:
# w - Name of a table widget.
# cell - Cell to start pasting in.
sub Paste
{
my $w = shift;
my $cell = shift || ''; ## Perltk not sure if translated correctly
TableMatrix/Spreadsheet.pm view on Meta::CPAN
The tab (or shift tab) key causes the current cell to be moved to the right (left).
=item *
The delete key will delete the current selection, if no cell is currently active.
=item *
The Mouse button 2 (middle button) paste from the PRIMARY. (Control-v pastes from the
clipboard).
=back
=head1 Additional Information
Widget methods, options, etc, are inherited from the L<Tk::TableMatrix> widget. See its
docs for additional information.
=cut
TableMatrix/Spreadsheet.pm view on Meta::CPAN
$self->selectionClear();
}
}
else{ # There is a current active cell, perform delete in that
$self->deleteActive('insert');
}
}
);
# Button2 release pastes from PRIMARY (control v pastes from clipboard
$mw->bind($class,'<ButtonRelease-2>',
sub
{
my $w = shift;
my $Ev = $w->XEvent;
$w->Paste($w->index('@' . $Ev->x.",".$Ev->y),'PRIMARY') unless ($Tk::TableMatrix::tkPriv{'mouseMoved'});
}
);
TableMatrix/Spreadsheet.pm view on Meta::CPAN
## Over-ridden Paste.
## This method performs pasting cells in a more Excel-like way:
## Paste Data will be pasted into the current selection anchor point
## if no current cell is active, otherwise it pastes starting at the active
## cell.
##
## If no current active cell, and no anchor point, does nothing.
sub Paste{
my $w = shift;
my $cell = shift || '';
my $source = shift || 'CLIPBOARD'; # Default is to paste from the clipboard
my $data;
# Check for active cell or anchor cell:
unless($cell){
my $active; # Current active cell
# Get the current active cell, if one exists
eval { $active = $w->index('active'); };
( run in 4.070 seconds using v1.01-cache-2.11-cpan-84e82930d8c )