#!/usr/bin/perl --
#!D:\Strawberry\perl\bin\perl.exe
##
##
## perltidy -olq -csc -csci=10 -cscl="sub : BEGIN END if while for "
+-otr -opr -ce -nibc -i=4 -pt=0 "-nsak=*"
#!/usr/bin/perl --
use strict;
use warnings;
use diagnostics;
use Tk;
use Tk::ROText;
my $mw = tkinit( -background => '#990033' );
my $sw = $mw->screenwidth; #1920
my $sh = $mw->screenheight; #1080
my $frame_width = $sw * 0.108;
print "\$sw : $sw\n\$frame_width : $frame_width\n";
my $frame = $mw->Frame();
my $pane = $frame->Frame()->pack(qw/-expand 0 -fill x /);
my $txt = $frame->Scrolled(
'ROText',
-width => $frame_width,
-height => 22,
-font => "{sans serif} 10",
-background => 'lightgray'
);
Enter_labels_in_textarea(
$pane,,
enter_values( $frame_width )
);
$txt->insert('end', "1\n2\n3\n4\n".rand."\n" );
$frame->pack(qw/ -expand 1 -fill both /);
$txt->pack(qw/ -expand 1 -fill both /);
$mw->WidgetDump;
MainLoop();
exit( 0 );
sub Enter_labels_in_textarea {
my( $rotext, $enter_values ) = @_;
foreach my $val (@$enter_values) {
my( $text, %options ) = @$val;
#~ delete $options{-width};
my $label = $rotext->Label(
-foreground => 'white',
-font => 10,
-height => 1,
-cursor => 'leftbutton',
-relief => 'raised',
-justify => 'left',
-text => $text,
%options,
);
#~ $rotext->windowCreate( 'end', -window => $label , );
$label->pack(qw/ -expand 1 -fill x -side left -anchor n /);
print "$label $text @{[%options]}\n";
}
}
sub enter_values {
my( $frame_width ) = @_;
my $chars = $frame_width / 11;
my @values = (
[
1,
-background => 'navyblue',
],
[
'NAME',
-background => '#990033',
],
[
'AGE',
-background => '#990033',
],
[
'PROFESSION',
-background => '#990033',
],
[
'CONTACT',
-background => '#FF0000',
],
[
'ADDRESS',
-background => 'darkgreen',
],
);
@values = map {
my $len = length($_->[0]);
if( $len > 5 ){
$len += 8;
} else {
$len += 2;
}
push @$_, -width => $len;
$_;
} @values;
return \@values;
}
__END__
|