Tcl-pTk
view release on metacpan or search on metacpan
lib/Tcl/pTk/TableMatrix.pm view on Meta::CPAN
package Tcl::pTk::TableMatrix;
our ($VERSION) = ('1.11');
###########################################################
# Emulation of the perl/tk Tablematrix widget using Tcl::pTk
###########################################################
@Tcl::pTk::TableMatrix::ISA = (qw / Tcl::pTk::Derived Tcl::pTk::Widget/);
use strict;
use Tcl::pTk ('Ev');
use Carp;
Construct Tcl::pTk::Widget 'TableMatrix';
# Predeclare methods like 'borderMark', 'clearCache', so they don't have to be autoloaded
use Tcl::pTk::Submethods ( 'border' => [qw(dragto)],
'clear' => [qw(cache sizes tags all)],
'delete' => [qw(active cols rows)],
'insert' => [qw(active cols rows)],
'scan' => [qw(mark dragto)],
'selection'=> [qw(anchor clear includes set)],
'tag' => [qw(cell cget col configure delete exists
includes names row raise lower)],
'window' => [qw(cget configure delete move names)],
'xview' => [qw(moveto scroll)],
'yview' => [qw(moveto scroll)],
);
# Override classOkWidgets from Megawidget.pm because TableMatrix can accept the -class option
# on widget creation, just like Frame and Toplevel widgets
sub classOkWidgets{
my $package = shift;
my @widgetList = $package->SUPER::classOkWidgets();
return ('Tcl::pTk::TableMatrix', @widgetList);
}
#
sub colWidth{
my $self = shift;
$self->interp->invoke($self, 'width', @_);
}
sub rowHeight{
my $self = shift;
$self->interp->invoke($self, 'height', @_);
}
# Special handling for borderMark to return a list
sub borderMark{
my $self = shift;
my @retVal = $self->interp->invoke($self, 'border', 'mark', @_ );
}
sub Populate {
my( $cw, $args ) = @_;
$cw->SUPER::Populate( $args );
# Create attributes:
# Name of the Tcl variable used to store the -variable data
$cw->{varTclName} = "::perl:_variable".$cw;
( run in 0.429 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )