my fear is that I'm going to create the same number of objects as before, if not more. In my original design

Well then stick it all in a big hash and don't use objects, that is the way I usually do it. Hashes are very fast. Then you will only be creating 1 widget the canvas, and it is very fast internally to configure it's "items'. I usually end up building some big hash with all the variables tucked away nicely. You should be able to setup a hash with entries like:

$cells{ $number } {$corner }{'value'} = 9; # and do things like: $canvas->itemConfigure( $cells{ $number } {$corner }{'obj'} , -state=> +disabled); #or whatever
There is a certain technique to setting up the hashes properly so you can get to anything you need. Like a text item is an item on the canvas, with a hash reference, so you can't use the hashrefs as a changable key. That is why I showed things like $cell{$number}{$corner}{'obj'} to hold the hashref and $cell{$number}{$corner}{'value'} to hold the value. However, the value can be extracted from the hashref like my $num =$canvas->itemCget($hashref, -text).

Like I said there are alot of tricks and clever things you can do with the canvas items. "Juggle with the hash" :-)

It will be faster than alot of button objects. What usually slows a canvas down is it's size, but your canvas size should be pretty small.


I'm not really a human, but I play one on earth. flash japh

In reply to Re^5: SuDoTKu - version 2 by zentara
in thread SuDoTKu - version 2 by polettix

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.