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 )