Tk-ColoredButton
view release on metacpan or search on metacpan
lib/Tk/ColoredButton.pm view on Meta::CPAN
package Tk::ColoredButton;
use warnings;
use strict;
use Carp;
#====================================================================
# $Author : Djibril Ousmanou $
# $Copyright : 2011 $
# $Update : 18/07/2011 02:07:06 $
# $AIM : Create gradient background color on a button $
#====================================================================
use vars qw($VERSION);
$VERSION = '1.05';
use base qw/Tk::Derived Tk::Canvas::GradientColor/;
use Tk::Balloon;
use English '-no_match_vars';
Construct Tk::Widget 'ColoredButton';
# Id => widget balloon
my %all_balloon;
my $count = 1;
my ( $system_button_face, $system_button_text, $system_disabled_text, $active_background, $default_font )
= ();
my $FLASH_INTERVALL = 300;
my $TEXTVARIABLE_INTERVALL = 300;
my $DASH = q{.};
my $SPACE = q{ };
my $INITWAIT = 350;
my $SPACE_PLUS = 4;
# Default Colors for all OS
if ( $OSNAME eq 'MSWin32' ) {
$system_button_face = 'SystemButtonFace';
$active_background = $system_button_face;
$system_button_text = 'SystemButtonText';
$system_disabled_text = 'SystemDisabledText';
$default_font = '{MS Sans Serif} 8';
}
else {
$system_button_face = '#D9D9D9';
$active_background = '#ECECEC';
$system_button_text = 'black';
$system_disabled_text = '#A3A3A3';
$default_font = '{Helvetica} 12 {bold}';
}
my %config = (
balloon_tooltip => undef,
tags => {
all => '_cb_tag',
text => '_cb_text_tag',
image => '_cb_image_tag',
bitmap => '_cb_bitmap_tag',
font => '_cb_font_tag',
focusin => '_cb_focusin_tag',
focusout => '_cb_focusout_tag',
font => '_cb_font_tag'
},
button => { press => 0, },
ids => { flash => undef, id_repeatdelay => undef },
specialbutton => {
-background => $system_button_face,
-borderwidth => 2,
-height => 20,
-highlightthickness => 0,
-relief => 'raised',
-state => 'normal',
-width => 80,
},
'-activebackground' => $active_background,
'-activeforeground' => $system_button_text,
'-activegradient' => { -start_color => '#FFFFFF', -end_color => '#B2B2B2' },
( run in 2.591 seconds using v1.01-cache-2.11-cpan-d7a12ab2c7f )