in reply to Re^4: Problem in row deletion with Tk::Table
in thread Problem in row deletion with Tk::Table

:) Ignoring all the issues with your code with short-circuit

sub section_del { return $Section_tblw->clear;
looks like Tk::Table is not deleting checkboxes

so I replace that with  return my_clear( $Section_tblw ); and one or three dd-Dumper-ings later, its an off-by-one error in clear

sub my_clear { my $self = shift; my $rows = $self->cget( -rows ); my $cols = $self->cget( -columns ); ## 1st row is labels foreach my $r ( 1 .. $rows ) { #~ foreach my $c ( 1 .. $cols ) { ## 1st column is 1st column foreach my $c ( 0 .. $cols ) { my $old = $self->get( $r, $c ); next unless $old; $self->LostSlave( $old ); $old->destroy; } } $self->_init; $self->QueueLayout( Tk::Table::_SlaveSize() ); } ## end sub my_clear

I imagine the OBO error migt stem because at one point the first column in each row might have been a counter (nth row) ...

Replies are listed 'Best First'.
Re^6: Problem in row deletion with Tk::Table ( clear off-by-one)
by emilbarton (Scribe) on Aug 30, 2013 at 11:04 UTC
    Great, this is it! I'll try updating Tk::Table too. Many thanks!
Re^6: Problem in row deletion with Tk::Table ( clear off-by-one)
by Anonymous Monk on Aug 30, 2013 at 10:36 UTC
    hmm, considering chorobas comment, maybe the row/col start indexes in clear ought to consider -fixedrows / -fixedcolumns

    but, I really don't know my way around Tk::Table :) so I've no idea what it/clear should actually do