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')
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.