Tk-ActivityBar
view release on metacpan or search on metacpan
lib/ActivityBar.pm view on Meta::CPAN
package Tk::ActivityBar;
use vars qw($VERSION);
$VERSION = '0.01';
use strict;
use base qw(Tk::Derived Tk::ProgressBar);
Construct Tk::Widget 'ActivityBar';
### OVERRIDING FUNCTIONS
sub Populate {
my ($c, $args) = @_;
$c->SUPER::Populate($args);
$c->configure( -borderwidth => 1,
-xscrollincrement => 1,
-yscrollincrement => 1);
$c->ConfigSpecs
('-interval' => ['PASSIVE', 'interval', 'Interval', 100],
'-increment' => ['PASSIVE', 'increment', 'Increment', 2],
'-image' => ['PASSIVE', 'image', 'Image', undef],
'-imageoffset' => ['PASSIVE', 'imageOffset', 'ImageOffset', [0, 0]],
'-bandlength' => ['PASSIVE', 'bandLength', 'BandLength', 15],
'-bandangle' => ['PASSIVE', 'bandAngle', 'BandAngle', 45],
'-bandforeground' => ['PASSIVE', 'bandForeground',
'BandForeground', 'SlateGray3'],
'-bandbackground' => ['PASSIVE', 'bandBackground',
'BandBackground', 'SlateGray1']);
}
sub _layoutRequest {
my $c = shift;
return if $c->{'activityBar'};
$c->SUPER::_layoutRequest(@_);
}
sub value {
my $c = shift;
$c->_resetProgressBar() if ($c->{'activityBar'} && @_);
$c->SUPER::value(@_);
}
### PUBLIC FUNCTIONS
sub startActivity {
my $c = shift;
my $interval = $c->{Configure}{'-interval'};
my $image = $c->{Configure}{'-image'};
my $repeat_ID = $c->{'repeatID'};
$c->afterCancel($repeat_ID) if ($repeat_ID);
$c->delete('all');
$c->_resetScroll;
if (defined $image) {
$c->_drawImageBar();
} else {
$c->_drawBandsBar();
}
( run in 0.441 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )