in reply to Re: Tk: Does the 'grid' geometry manager has a problem with a scrolled parent?
in thread Tk: Does the 'grid' geometry manager has a problem with a scrolled parent?

what does the following means:
my ($col, $row) =$graph_pane->{'SubWidget'}->{'scrolled'}->gridSize();
I had the error message:
Can't call method "gridSize" on an undefined value at tes7 line 23.
  • Comment on Re^2: Tk: Does the 'grid' geometry manager has a problem with a scrolled parent?
  • Download Code

Replies are listed 'Best First'.
Re^3: Tk: Does the 'grid' geometry manager has a problem with a scrolled parent?
by liverpole (Monsignor) on Aug 08, 2006 at 14:02 UTC
    Hi tanyeun,

    It's difficult to know what's causing the error without seeing a bit more information.

    Are you sure you've created graph_pane correctly?

    Try putting this near the beginning of your code:

    use Data::Dumper; $Data::Dumper::Indent = 1;

    and just before the line where the error occurs (Can't call method "gridSize" on an undefined value at tes7 line 23) put this:

    printf "graph_pane => %s\n", Dumper(\$graph_pane);

    Assuming that graph_pane was assigned correctly, it should display the entire underlying data structure.  For example, I get:

    graph_pane => $VAR1 = \bless( { 'SubWidget' => { 'scrolled' => bless( { '_After_' => { 'after#3' => bless( [ ${$VAR1}->{'SubWidget'}->{'scrolled'}, 'after#3', 'idle', 'once', bless( [ 'Manage', ${$VAR1}->{'SubWidget'}->{'scrolled'}, bless( { # # ...Many lines omitted... # }, 'Tk::Frame' );

    Did you get something like the above, or something completely different?


    s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/
      well, I got this:
      graph_pane => $VAR1 = \bless( { '_Destroy_' => [ bless( [ sub { "DUMMY" } ], 'Tk::Callback' ) ], 'SubWidget' => { 'frame' => bless( { 'Configure' => { '-background' => '#C6C6B2B2A8A8', '-foreground' => '#000000000000', '-labelVariable' => undef }, '_#canvas' => 11, '_TkValue_' => '.frame.frame', 'ConfigSpecs' => { '-fg' => '-foreground', '-background' => [ [ 'SELF' ], 'background', 'Background', '#C6C6B2B2A8A8' ], '-label' => [ 'METHOD', undef, undef, undef ], '-bg' => '-background', '-foreground' => [ [ 'PASSIVE' ], 'foreground', 'Foreground', '#000000000000' ], 'DEFAULT' => [ 'SELF' ], '-labelPack' => [ 'METHOD', undef, undef, undef ], '-labelVariable' => [ 'METHOD', undef, undef, undef ] } }, 'Tk::Frame' ) }, '_#frame' => 0, 'Configure' => { '-background' => '#C6C6B2B2A8A8', '-foreground' => '#000000000000', '-scrollbars' => 'osoe', '-labelVariable' => undef }, 'Delegates' => { 'DEFAULT' => ${$VAR1}->{'SubWidget'}->{'frame'}, 'bindtags' => ${$VAR1}->{'SubWidget'}->{'frame'}, 'bind' => ${$VAR1}->{'SubWidget'}->{'frame'} }, '_After_' => { 'after#1' => bless( [ ${$VAR1}, 'after#1', 'idle', 'once', bless( [ ${$VAR1}, 'packscrollbars' ], 'Tk::Callback' ) ], 'Tk::After' ) }, '_TkValue_' => '.frame', '-scrollbars' => 'osoe', 'ConfigSpecs' => { '-fg' => '-foreground', '-background' => [ ${$VAR1}->{'SubWidget'}->{'frame'}, 'background', 'Background' ], '-label' => [ 'METHOD', undef, undef, undef ], '-bg' => '-background', '-foreground' => [ ${$VAR1}->{'SubWidget'}->{'frame'}, 'foreground', 'Foreground' ], 'DEFAULT' => [ ${$VAR1}->{'SubWidget'}->{'frame'} ], '-labelPack' => [ 'METHOD', undef, undef, undef ], '-scrollbars' => [ 'METHOD', 'scrollbars', 'Scrollbars', 'se' ], '-labelVariable' => [ 'METHOD', undef, undef, undef ] }, 'pack_pending' => 1 }, 'Tk::Frame' );
      I completely doesn't know what it says...|||