Tk-HexEntry
view release on metacpan or search on metacpan
HexEntry.pm view on Meta::CPAN
package Tk::HexEntry;
use Tk ();
use Tk::Frame;
use Tk::Derived;
use strict;
use vars qw(@ISA $VERSION);
@ISA = qw(Tk::Derived Tk::Frame);
$VERSION = sprintf("%d.%02d", q$Revision: 0.01 $ =~ /(\d+)\.(\d+)/);
Construct Tk::Widget 'HexEntry';
{ my $foo = $Tk::FireButton::INCBITMAP;
$foo = $Tk::FireButton::DECBITMAP; # peacify -w
}
sub Populate {
my($f,$args) = @_;
require Tk::FireButton;
require Tk::HexEntryPlain;
my $orient = delete $args->{-orient} || "vertical";
my $readonly = delete $args->{-readonly};
my $e = $f->Component( $f->HexEntryPlainWidget => 'entry',
-borderwidth => 0,
-highlightthickness => 0,
);
if ($readonly) {
$e->bindtags([]);
}
my $binc = $f->Component( $f->IncFireButtonWidget() => 'inc',
-command => sub { $e->incdec($e->cget(-increment)) },
-takefocus => 0,
-highlightthickness => 0,
-anchor => 'center',
);
$binc->configure(-bitmap => ($orient =~ /^vert/
? $binc->INCBITMAP
: $binc->HORIZINCBITMAP
)
);
my $bdec = $f->Component( $f->DecFireButtonWidget() => 'dec',
-command => sub { $e->incdec(- $e->cget(-increment)) },
-takefocus => 0,
-highlightthickness => 0,
-anchor => 'center',
);
$bdec->configure(-bitmap => ($orient =~ /^vert/
? $bdec->DECBITMAP
: $bdec->HORIZDECBITMAP
)
);
$f->gridColumnconfigure(0, -weight => 1);
$f->gridColumnconfigure(1, -weight => 0);
$f->gridRowconfigure(0, -weight => 1);
$f->gridRowconfigure(1, -weight => 1);
if ($orient eq 'vertical') {
$binc->grid(-row => 0, -column => 1, -sticky => 'news');
$bdec->grid(-row => 1, -column => 1, -sticky => 'news');
} else {
( run in 0.953 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )