Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Tk::AbstractCanvas problem

by zentara (Archbishop)
on Oct 09, 2012 at 12:00 UTC ( #997995=note: print w/replies, xml ) Need Help??

in reply to Tk::AbstractCanvas problem

My problem is that when the number of nodes are a bit high the canvas adjusts the node sized in some weird way

Can you show a minimal code example? Your problem description is quite vague.

How can I make a small view of my whole Graph Layout window which I can use as a control widget

You could take a screenshot of the whole canvas, with bbox('all'), then resize it smaller, along with hash which correlates the reduced coordinates to the larger one. Then bind the mouse to the smaller image to constantly get its coordinates, when the mouse enters it.

Here is how to capture the whole canvas.

#!/usr/bin/perl use Tk; #to change the background color, edit the ps file # 0.000 0.000 0.000 setrgbcolor AdjustColor # fill $width = 800; $height = 500; my $main = MainWindow->new(); my $canvas = $main->Canvas( -width=>$width, -height=>$height, -background=>"black"); $canvas->pack( -expand=>1,-fill=>'both'); &create; $canvas->update; $main->update; $main->Button( -text => "Save", -command => [sub { $canvas->update; my @capture=(); my ($x0,$y0,$x1,$y1)=$canvas->bbox('all'); @capture=('-x'=>$x0,'-y'=>$y0,-height=>$y1-$y0,-width=>$x1-$x +0); $canvas -> postscript(-colormode=>'color', -file=>$0.'.ps', -rotate=>0, -width=>800, -height=>500, @capture); } ] )->pack; MainLoop; sub create{ $canvas->createOval(100, 100, 600, 600,-fill=>'green') }

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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://997995]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2017-12-13 07:22 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (348 votes). Check out past polls.