Dear esteemed WxPerl experts and users:

I have been trying to incorprate a validator on a TextCtrl widget, using 
PlValidator (following this: 
http://articles.mongueurs.net/magazines/linuxmag71.html).
(Sytem: Citrus Perl 16.2, wxWidgets 2.9.4, Windows 7 machine).

It seems that a Wx::PlValidator object returns "undef" for method GetWindow, 
even if intialized correctly.

For example, if, in a frame, you have:

$text_c = Wx::TextCtrl->new($panel2, -1, q{}, wxDefaultPosition, wxDefaultSize 
, wxTE_PROCESS_ENTER);
$text_v = MyValidator->new( \$var);

# and the validator package:

package MyValidator; 
 use strict;
 use Wx;
 use parent -norequire, 'Wx::PlValidator';
 use Wx qw(wxOK wxICON_ERROR);
 sub new {  # Constructeur
    my $class = shift;
    my $var_r = shift;  # Ref de la variable associée
    my $this = $class->SUPER::new;
    $this->{var_r} = $var_r; # Pour consultation ultérieure
    return $this;
 } # end sub new

# etc...
 sub TransferToWindow {
      my $this = shift;
      $this->GetWindow->SetValue( ${$this->{var_r}} );
      1;  # Signale que tout va bien
 }

This gives the error: "Can't call method "SetValue" on an undefined value 
at..." etc.

In other words, it seems that calling GetWindow on a PlValidator object returns 
undef?

Many TIA

Helen

Reply via email to