Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Monitor dimensions

by aplonis (Pilgrim)
on Sep 03, 2005 at 23:03 UTC ( #488994=note: print w/replies, xml ) Need Help??


in reply to Monitor dimensions

I use the below for a Pane widget which is to hold a Label widget which is to hold a multi-line string for display in a pop-up window.

# Calculate dimensions of message for pane, etc. Then # configure widget to that height and width. sub size_widget_for_string { my ($wgt, $msg, $font) = @_; # Measure widest line of string for given font. my @msg = split "\n", $msg; my $hght = 1.5 * $wgt->fontMetrics($font, -linespace); my $wdth = 0; foreach (@msg) { my $line_wdth = $wgt->fontMeasure($font, " $_ "); $wdth = $line_wdth if $wdth < $line_wdth; $hght += $wgt->fontMetrics($font, -linespace); } # Limit size to reasonable maximums. my $max_hght = 0.6 * $wgt->screenheight; my $max_wdth = 0.9 * $wgt->screenwidth; $hght = $max_hght if $hght > $max_hght; $wdth = $max_wdth if $wdth > $max_wdth; # Configure the widget. $wgt->configure( -width => $wdth, -height => $hght ); }

Synopsis:

size_widget_for_string($pane, $any_old_string, 'courier');

Replies are listed 'Best First'.
Re^2: Monitor dimensions
by biochris (Beadle) on Sep 08, 2005 at 21:16 UTC
    The pane widget was exactly what I was looking for! How did you know that? Thank you very much :) I am a novice perl monk.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://488994]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (2)
As of 2022-01-29 03:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:












    Results (74 votes). Check out past polls.

    Notices?