RE: [wxperl-users] Re: wxValidator available via wxPerl #3

> wxTextValidator is OK for Perl, while wxGenericValidator does
> 1 - use overloading
>     wxGV construtor takes one of a int/bool/string/integer array
>     (C++) pointer ( think Perl references ), but in Perl
>     int/string/bool map to scalar.
Yes, I think a Perl-implemented GenericValidator can just take the
address of the variable to/from which to deposit/get data, and can
handle it appropriately internally by checking the reference type.

> 2 - there is no NumericValidator ( or whatever you want to call it )
>     one that does a text->number conversion with error
>     checking/bound checking, for intehers and floats
What would you like it to do?  Take a mask and validate the input
according to the mask?  (I'm assuming there's no existing wx masked text
control already).

> 3 - I don't like wxGV because it tries to do
>     validation for all controls, doing the Right Thing, but this
>     sometimes is not possible ( like: for comboboxes
>     if you pass a string, it returns the selected string,
>     if you pass an integer it returns the index of the=20
> selected string in
>     the combobox, but if I want the selected string as a number
>     ( because my combobox contains, say, 1,2,3,4,6,12 ) I need
>     a custom validator ( this relates to the lack of a=20
> NumericValidator )=20
>     BTW this example does not fit with Perl ( because in Perl a
>     number "is" a string, but I hope you get the idea )
>=20
Hmm... Have looked at the C++ code for the GV, and see what you mean
with comboboxes. =20

Just trying to work out how we can differentiate between setting
selection by index or string. In this case, I think we need a separate
ComboBoxValidator (or rather ChoiceValidator), with a flag passed to the
constructor indicating how we want to set the selection (index or
string).

In the light of this, do you think we should not have a GV, but have
individual ones for each control type, or implement the GV in Perl with
more intelligence?

> But since I do not use validator that much, it's up to you to decide
Oh goody!

In terms of package/object naming, what should I do?  Not sure if the
Perl validators should be in the Wx namespace.  Notwithstanding that, I
think I should name the validators PlGenericValidator, PlChoiceValidator
etc., to differentiate from the 'native' wx validators.  What do you
think?  I don't know if there are standards already published on this in
the Wx/Perl community.

James

0
james (30)
1/23/2014 1:01:01 AM
perl.wxperl.users 3070 articles. 0 followers. Follow

1 Replies
695 Views

Similar Articles

[PageSpeed] 27

Sorry for the delay

> > wxTextValidator is OK for Perl, while wxGenericValidator does
> > 1 - use overloading
> >     wxGV construtor takes one of a int/bool/string/integer array
> >     (C++) pointer ( think Perl references ), but in Perl
> >     int/string/bool map to scalar.
> Yes, I think a Perl-implemented GenericValidator can just take the
> address of the variable to/from which to deposit/get data, and can
> handle it appropriately internally by checking the reference type.
the trouble is that in perl you can only have scalar references,
so you need a flag to tell the class you want a number/string/bool
transferred

> > 2 - there is no NumericValidator ( or whatever you want to call it )
> >     one that does a text->number conversion with error
> >     checking/bound checking, for intehers and floats
> What would you like it to do?  Take a mask and validate the input
> according to the mask?  (I'm assuming there's no existing wx masked text
> control already).
the one I wrote in C++ a year ago could:
* check that the number is aproper integer number
  ( if you passed a int/long pointer )
* check that the number is a proper float number
  ( if you passed a float/double pointer )
* optionally check that the number is in some
  range

> > 3 - I don't like wxGV because it tries to do
> >     validation for all controls, doing the Right Thing, but this
> >     sometimes is not possible ( like: for comboboxes
> >     if you pass a string, it returns the selected string,
> >     if you pass an integer it returns the index of the 
> > selected string in
> >     the combobox, but if I want the selected string as a number
> >     ( because my combobox contains, say, 1,2,3,4,6,12 ) I need
> >     a custom validator ( this relates to the lack of a 
> > NumericValidator ) 
> >     BTW this example does not fit with Perl ( because in Perl a
> >     number "is" a string, but I hope you get the idea )
> > 
> Hmm... Have looked at the C++ code for the GV, and see what you mean
> with comboboxes.  
> 
> Just trying to work out how we can differentiate between setting
> selection by index or string. In this case, I think we need a separate
> ComboBoxValidator (or rather ChoiceValidator), with a flag passed to the
> constructor indicating how we want to set the selection (index or
> string).
> 
> In the light of this, do you think we should not have a GV, but have
> individual ones for each control type, or implement the GV in Perl with
> more intelligence?

> > But since I do not use validator that much, it's up to you to decide
> Oh goody!

> In terms of package/object naming, what should I do?  Not sure if the
> Perl validators should be in the Wx namespace.  Notwithstanding that, I
> think I should name the validators PlGenericValidator, PlChoiceValidator
> etc., to differentiate from the 'native' wx validators.  What do you
> think?  I don't know if there are standards already published on this in
> the Wx/Perl community.
See my other mail.

Thanks!
Mattia

0
mbarbon
1/23/2014 1:01:01 AM
Reply:

Similar Artilces:

RE: [wxperl-users] Re: wxValidator available via wxPerl
Dear Mattia (or others, if they can help), I've been delving into how to use wxValidators, and I think I understand the concept (and I like it!). However, I'm having real trouble deriving my own validator (called, unimaginitively, myValidator) from Wx::PlValidator. >From the wxWindows documentation, all validators must implement a Clone method. I have tried implementing a Clone method, which I can see getting called, but myValidator's Validate, TransferFromWindow, and TransferToWindow never seem to get called. Here is my code (with the methods apart from Clone do...

RE: [wxperl-users] Re: wxValidator available via wxPerl
Mattia, Thanks, as usual, for the to-the-point and quick support! If/when I manage to produce a useful validator, I would be more than happy to submit it. Currently I'm still getting my head round how everything fits together! James > -----Original Message----- > From: Mattia Barbon [mailto:mbarbon@dsi.unive.it] > Sent: 13 December 2001 11:04 > To: wxperl-users@lists.sourceforge.net > Subject: [wxperl-users] Re: wxValidator available via wxPerl >=20 >=20 > > Dear Mattia, > > I would like to use validators in my Perl application, but=20 ...

RE: [wxperl-users] Re: wxValidator available via wxPerl #2
Dear Mattia, Thanks - this works a treat! I was so close... Anyway, now I'm up and running. I had noticed the 'Attempt to free unreferenced...' error - will await a fix. Now that I've got things working, what do you suggest/would you like? I feel that validators are the way to go when it comes to transferring data to/from controls (rather than explicit GetValue/SetValue calls all over the place) - I have had to implement a similar concept (though not as elegant) in a very large Perl/Tk application which we have developed. I see that you think we should create...

RE: [wxperl-users] Re: wxValidator available via wxPerl #4
Mattia, > > Yes, I think a Perl-implemented GenericValidator can just take the > > address of the variable to/from which to deposit/get data, and can > > handle it appropriately internally by checking the reference type. > the trouble is that in perl you can only have scalar references, > so you need a flag to tell the class you want a number/string/bool > transferred Good point. I think I'll use the 'flag' approach. This has approach has been used elsewhere (in Win32::API, I think), so I'll try to be consistent with other modules. =20 ...

Re: [wxperl-users] Re: wxperl
yes !! its really time to help more mattia. things i could offer are beside bug reports is to help to buil a better brwosable doku, this is one of my long time wish so are so. herbert "Graciliano M. P." <gmpowers@terra.com.br> schrieb am 11.12.04 03:29:27: > > > hey all, > > > > I just tried downloading the cvs snapshot, Wx-0.20, Wx-0.19, and Wx-0.18 > > and trying to install them on solaris (without luck). I tried both > wxAll-2.4.2 > > and wxWidgets-2.5.3. > > > > Furthermore, I went to the wikis for more in...

RE: Re[4]: [wxperl-users] [OT, or maybe not?] wxPerl T-Shirt? #3
OK, so combining Jouke's idea with mine, I come up with: The ASCII art camel at the top should be created by carefully laying out = obfuscated Wx Perl code that, when run, creates an outline of a = graphical camel in a window. The below graphics are the camel as it = displays on the various OS flavors . . . --Toby Ovod-Everett -----Original Message----- From: Ovod-Everett, Toby=20 Sent: Tuesday, July 29, 2003 8:41 AM To: wxperl-users@lists.sourceforge.net Subject: RE: Re[4]: [wxperl-users] [OT, or maybe not?] wxPerl T-Shirt? Extending this idea, we could hav...

[wxperl-users] wxValidator available via wxPerl
Dear Mattia, I would like to use validators in my Perl application, but am not clear whether they have been wrapped. Are they available? Thanks, James Lavery MicroSec Ltd > -----Original Message----- > From: Mattia Barbon [mailto:mbarbon@dsi.unive.it] > Sent: 08 December 2001 13:31 > To: wxperl-users@lists.sourceforge.net > Subject: Re: [wxperl-users] wxPerl tutorial at the German=20 > Perl Workshop >=20 >=20 > > As you might have heard already I will be giving a half-day=20 > tutorial on > > wxPerl at the German Perl Workshop. Th...

Fwd: wxPerl on the Mac; was: [wxperl-users] Re: problems with wxPerl
>To: Jouke Visser <jouke@pvoice.org>, wxperl-users@lists.sourceforge.net >From: Christian Jaeger <christian.jaeger@sl.ethz.ch> >Subject: wxPerl on the Mac; was: [wxperl-users] Re: problems with wxPerl >Date: Sun, 30 Sep 2001 23:08:19 +0100 > >Hello, > >I'm crossposting this reply to the macosx-perl mailing list because >there is some interest, too. Actually I forgot to put the macosx-perl adress on it. >At 14:02 Uhr +0200 24.9.2001, Jouke Visser wrote: >>I wondered if anyone yet tried to compile wxPerl on a Mac. If not, I'...

Re:[wxperl-users] Re: wxPerl 0.23 release
> Mattia Barbon <mattia.barbon@libero.it> writes: > > > On Tue, 28 J= un 2005 22:44:29 +0200 Johan Vromans <jvromans@squirrel.nl> wrote:=0D = > > Under Windows the change in the default font is to > > be expected= .. > > I'm using Fedora Core 2... :-) I suppose I could not be m= ore wrong... Anyway: the font change looks like a GTK+ 1.2 vs 2.x ch= ange. For the button width you should try the wxBU_EXACTFIT style fo= r the buttons that need to be smaller than standard buttons. HTH=0D = Mattia =0A=0A=0A...

RE: Re: [wxperl-users] Re: Re: EVT_QUERY_END_SESSION
you putted the EVT_CLOSE to the wrong place... or do you have a reason why you need it to be there? $app ist not the window, but you could use EVT_CLOSE on $frame too. i changed your minimal sample that it works. hope it helps greeting Marco ---- use Wx; ########################### package MyApp; use strict; use vars qw(@ISA); @ISA=qw(Wx::App); sub OnInit { my( $this ) = @_; my( $frame ) = MyFrame->new( "Minimal wxPerl app", Wx::Point->new( 50, 50 ), Wx::Size->new( 450, 350 ) ); ...

RE: [wxperl-users] Building wxPerl with wxWindows 2.3.1, and usingXML resources #3
Dear Mattia, Forgot to say that I did a=20 nmake realclean before the=20 perl makefile.pl nmake in order to clean things up from the 2.2.7 build. James > -----Original Message----- > From: Mattia Barbon [mailto:mbarbon@dsi.unive.it] > Sent: 05 November 2001 22:19 > To: James Lavery > Cc: wxperl-users@lists.sourceforge.net > Subject: RE: [wxperl-users] Building wxPerl with wxWindows 2.3.1, and > usingXML resources >=20 >=20 > > Dear Mattia, > > Thanks for the information - it all makes sense. =20 > >=20 > > Howev...

Re: [wxperl-users] The sorry state of wxPerl (Wiki) #3
> > Then we must have different docs. The one I have I downloaded from > > the wxPerl site and it's for wx 2.6.1. Look at wxToolbar. I stopped = > > counting at the 20th occurence, within this one class, of: > > "wxPerl note: This method is not implemented in wxPerl". > > > We are indeed looking at different docs. I use the document set from > www.wxwidgets.org. The ones > you have don't match them: Mattia must have modified them locally > then built them and put them up on his website... and then forgotten > ab...

RE: Re[4]: [wxperl-users] [OT, or maybe not?] wxPerl T-Shirt?
What about an ASCII art camel on top (assuming O'Reilly gives a thumbs = up). Then a "use Wx;" Then a very nice graphical camel below. Then "It's _almost_ that easy!" (or something like that). --Toby Ovod-Everett -----Original Message----- From: Marcus [mailto:lists@wordit.com] Sent: Sunday, July 27, 2003 3:53 PM To: wxperl-users@lists.sourceforge.net Subject: Re[4]: [wxperl-users] [OT, or maybe not?] wxPerl T-Shirt? Sunday, July 27, 2003, 9:18:13 PM, you wrote: DH> checkout DH> http://www.cafeshops.com/wxwindows ...

RE: [wxperl-users] wxPerl and Printing
VB users would rate things like Active Reports and VPE (Virtual Print = Engine). Both very capable systems and better than Crystal for many = uses, but obviously depends on your ability to use ActiveX controls in = your project. =20 Ed W -----Original Message----- From: Mark Wardell [mailto:mark@netcontrol.co.za] Sent: 13 August 2003 11:42 To: wxperl-users@lists.sourceforge.net Subject: [wxperl-users] wxPerl and Printing Hi All, This is a fairly broad topic, but I am interested to hear what experiences other users have had with printing from wxPerl applications, as well...

Web resources about - RE: [wxperl-users] Re: wxValidator available via wxPerl #3 - perl.wxperl.users

O'Reilly Open Source Convention 2007 • July 23-27, 2007 • Portland, Oregon
O'Reilly Open Source Convention 2007 - July 23-27, 2007 - Portland, Oregon

Resources last updated: 11/27/2015 7:27:06 AM