Padre
view release on metacpan or search on metacpan
lib/Padre/Wx/Dialog/Expression.pm view on Meta::CPAN
package Padre::Wx::Dialog::Expression;
use 5.008;
use strict;
use warnings;
use Padre::Wx ();
use Padre::Wx::ScrollLock ();
use Padre::Wx::Role::Timer ();
use Padre::Wx::FBP::Expression ();
our $VERSION = '1.02';
our @ISA = qw{
Padre::Wx::Role::Timer
Padre::Wx::FBP::Expression
};
######################################################################
# Event Handlers
sub on_combobox {
return 1;
}
sub on_text {
my $self = shift;
my $event = shift;
if ( $self->{watch}->GetValue ) {
$self->{watch}->SetValue(0);
$self->watch_clicked;
}
$self->{code}->SetBackgroundColour( Wx::SystemSettings::GetColour(Wx::SYS_COLOUR_WINDOW) );
$self->Refresh;
$event->Skip(1);
}
sub on_text_enter {
my $self = shift;
my $event = shift;
$self->run;
$event->Skip(1);
}
sub evaluate_clicked {
my $self = shift;
my $event = shift;
$self->run;
$event->Skip(1);
}
sub watch_clicked {
my $self = shift;
my $event = shift;
if ( $self->{watch}->GetValue ) {
$self->dwell_start( 'watch_timer' => 1000 );
} else {
$self->dwell_stop('watch_timer');
}
$event->Skip(1) if $event;
}
sub watch_timer {
my $self = shift;
my $event = shift;
if ( $self->IsShown ) {
$self->run;
}
if ( $self->{watch}->GetValue ) {
$self->dwell_start( 'watch_timer' => 1000 );
}
return;
}
######################################################################
# Main Methods
sub run {
( run in 3.566 seconds using v1.01-cache-2.11-cpan-d8267643d1d )