Hi Mark, Thanks for this. I'll probably take the second option. I'll let you know when I have it working. Do you think it will work on Linux too?
Should I know what Alien is? It seems like some sort of framework for installing wxPerl. I looked at the doc on CPAN, but I wasn't much clearer. Regards Steve -----Original Message----- From: Mark Dootson [mailto:mark.doot...@znix.com] Sent: 14 April 2010 17:44 To: Steve Cookson Cc: wxPerl users Subject: Re: How to add a new module to Wx Hi, If you have a working Perl + compiler combination, then the standard stuff should work :- Download tarball or svn for Alien-wxWidgets: In the source: perl Build.PL perl Build perl Build test perl Build install Download tarball or svn for Wx In the source: perl Makefile.PL perl make perl make test perl make install You'll need the latest ExtUtils::XSpp (0.09) so cpan Extutils::XSpp (or PPM or whatever) first. The crucial thing seems to be the "working Perl + compiler combination", which isn't always as straightforward as it might be. There's detail on how the PPMs for Wx are built at http://www.wxperl.co.uk/building/ which may contain useful info, depending on your setup. I think that for most users, if 'cpan' works in general on their setup, then 'cpan Wx' should work too. So building from the tarballs / svn should similarly work OK without further trouble. regards Mark On 14/04/2010 18:52, Steve Cookson wrote: > Hi Mark, > > Thanks again for this. I'm happy to test the revisions you very kindly > made. But I'm not clear how to start. > > I've been happily coding in wxPerl for the last year or so and using Perl as > the glue to call other applications, like SWI-Prolog (which is amazing, if > you haven't tried it) and Ffmpeg to do simple video editing/processing. > wxWidgets has a wonderful array of components like wxMediaCtrl which I use > as the front-end to display what Ffmpeg is doing. > > However, I've not (until now) lifted the bonnet on wxPerl and looked at what > makes it tick. > > If I download the GNU tarball, can I do the usual Makefile.PL, make, make > test, make install on it, or is there another way? > > I'll continue to investigate, but if you get this before I find the answer, > I'd be grateful to hear from you. > > Regards > > Steve > > > > -----Original Message----- > From: Mark Dootson [mailto:mark.doot...@znix.com] > Sent: 13 April 2010 14:03 > To: wxperl-users@perl.org > Cc: Mattia Barbon<mattia.bar...@libero.it>; Steve Cookson > Subject: Re: How to add a new module to Wx > > Hi, > > I thought I'd chip in with a populated template for Steve to test. > However, basic testing here brought up a problem. wxRichTextPrinting has > no wxRTTI information (there's no IMPLEMENT_CLASS macro) so the wxPerl > code ( wxPli_object_2_sv ) throws warnings. > > The attached patch wraps wxRichTextPrinting but is not applied to SVN as > the wxRichTextPrinting constructor code is none standard. It does what > wxPli_object_2_sv would do if wxRichTextPrinting had ClassInfo. I'm > fairly sure this is OK because wxRichTextPrinting inherits directly from > wxObject and, as there is no need to wrap wxRichTextPrinting to handle > Perl virtual methods, I don't think there is anywhere else in the wxPerl > code that would attempt to reference the missing class info. > My question to Mattia is, this seems wrong and a bit of a hack. Is there > a better way to handle it? > > I suppose the correct fix is to patch wxRichTextPrinting to implement > wxRTTI, but this would not help any existing 2.8.x installations. > > Some simple usage has been added to wxDemo in SVN. I've tested the patch > building and with the basic wxDemo usage on msw/linux/mac with wxWidgets > 2.8.10, and all seems to work OK. > > Apologies to Steve if you have already been tackling this. It wasn't my > original intention to just wrap the classes, but solving the above > problem meant I ended up with the classes more or less wrapped anyway. > > Regards > > Mark > > > On 10/04/2010 09:40, Mattia Barbon wrote: >> Steve Cookson wrote: >> >> Hi, >> >>> I'm not sure whether I should be sending this to the group or directly >>> to Mattia >> >> Better to the group (it will be in the archives, and there are other >> people beside me that have some experience in wrapping wxWidgets classes). >> >>> but I'm trying to understand how to print a wxRichTextCtrl from >>> wxPerl. I understand that wxRichTextPrinting and wxRichTextPrintout >>> are not implemented yet in wxPerl. >> >> Correct. >> >>> So I need to do something to access the original C++ code (maybe wrap >>> or re-write). Re-writing seems to be an easier route as I don't >>> understand the Wx XS framework that Mattia uses. However, it would be >>> a bit anti-social. It would be better to use the current wxPerl >>> framework. >> >> I wouldn't call it antisocial, but wrapping the C++ code is definitely >> more maintainable in the long run. >> >>> As far as I can see the wxPerl framework is dll driven and provides an >>> XS-based interface to the dlls? Is that right? >> >> Correct. >> >> > There seems to be some >>> automation/facilitation of the process, but it's not clear to me how >>> it works. I've also never used XS before. >>> >>> Are there some instructions about how to do this available? >> >> I'm sure I answered this on the mailing list, but can't find the mails; >> I just committed some documentation that should at least get you >> started; see lib/Wx/NewClass.pod. I think that wxRichTextPrinting should >> be reasonably easy to wrap. >> >> Regards, >> Mattia >> >