Tk-Chart
view release on metacpan or search on metacpan
lib/Tk/Chart/Bars.pm view on Meta::CPAN
package Tk::Chart::Bars;
use warnings;
use strict;
use Carp;
#==================================================================
# $Author : Djibril Ousmanou $
# $Copyright : 2018 $
# $Update : 09/02/2018 $
# $AIM : Create bars graph $
#==================================================================
use vars qw($VERSION);
$VERSION = '1.07';
use base qw/ Tk::Derived Tk::Canvas::GradientColor /;
use Tk::Balloon;
use Tk::Chart::Utils qw / :DUMMIES /;
use Tk::Chart qw / :DUMMIES /;
Construct Tk::Widget 'Bars';
sub Populate {
my ( $cw, $ref_parameters ) = @_;
# Get initial parameters
$cw->{RefChart} = _initconfig();
$cw->SUPER::Populate($ref_parameters);
$cw->Advertise( 'GradientColor' => $cw );
$cw->Advertise( 'canvas' => $cw->SUPER::Canvas );
$cw->Advertise( 'Canvas' => $cw->SUPER::Canvas );
# remove highlightthickness if necessary
if ( !exists $ref_parameters->{-highlightthickness} ) {
$cw->configure( -highlightthickness => 0 );
}
my $ref_configcommon = _get_configspecs();
# ConfigSpecs
$cw->ConfigSpecs(
# Common options
%{$ref_configcommon},
-overwrite => [ 'PASSIVE', 'Overwrite', 'OverWrite', 0 ],
-cumulate => [ 'PASSIVE', 'Cumulate', 'Cumulate', 0 ],
-cumulatepercent => [ 'PASSIVE', 'Cumulatepercent', 'CumulatePercent', 0 ],
-spacingbar => [ 'PASSIVE', 'Spacingbar', 'SpacingBar', 1 ],
-showvalues => [ 'PASSIVE', 'Showvalues', 'ShowValues', 0 ],
-barsvaluescolor => [ 'PASSIVE', 'BarsValuescolor', 'BarsValuesColor', 'black' ],
-outlinebar => [ 'PASSIVE', 'Outlinebar', 'OutlineBar', 'black' ],
);
$cw->Delegates( DEFAULT => $cw, );
# recreate graph after widget resize
$cw->enabled_automatic_redraw();
$cw->disabled_gradientcolor();
return;
}
sub _balloon {
my ($cw) = @_;
# balloon defined and user want to stop it
if ( defined $cw->{RefChart}->{Balloon}{Obj}
and $cw->{RefChart}->{Balloon}{State} == 0 )
{
$cw->_destroyballoon_bind();
return;
}
( run in 0.467 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )