You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
(7) |
Mar
(5) |
Apr
(4) |
May
(15) |
Jun
(10) |
Jul
(4) |
Aug
(12) |
Sep
(39) |
Oct
(22) |
Nov
(46) |
Dec
(65) |
2002 |
Jan
(19) |
Feb
(27) |
Mar
(50) |
Apr
(73) |
May
(85) |
Jun
(52) |
Jul
(49) |
Aug
(95) |
Sep
(152) |
Oct
(81) |
Nov
(42) |
Dec
(62) |
2003 |
Jan
(45) |
Feb
(47) |
Mar
(101) |
Apr
(110) |
May
(53) |
Jun
(72) |
Jul
(125) |
Aug
(77) |
Sep
(87) |
Oct
(69) |
Nov
(55) |
Dec
(71) |
2004 |
Jan
(127) |
Feb
(68) |
Mar
(93) |
Apr
(102) |
May
(64) |
Jun
(92) |
Jul
(40) |
Aug
(113) |
Sep
(44) |
Oct
(61) |
Nov
(44) |
Dec
(100) |
2005 |
Jan
(57) |
Feb
(51) |
Mar
(101) |
Apr
(73) |
May
(45) |
Jun
(97) |
Jul
(92) |
Aug
(94) |
Sep
(46) |
Oct
(83) |
Nov
(82) |
Dec
(68) |
2006 |
Jan
(92) |
Feb
(116) |
Mar
(84) |
Apr
(66) |
May
(40) |
Jun
(57) |
Jul
(89) |
Aug
(82) |
Sep
(58) |
Oct
(94) |
Nov
(104) |
Dec
(70) |
2007 |
Jan
(86) |
Feb
(108) |
Mar
(193) |
Apr
(84) |
May
(71) |
Jun
(54) |
Jul
(17) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Mattia B. \<mattia\.barbon\@libero\.it\> <mat...@li...> - 2006-08-17 12:30:53
|
Hi, I just realized that I gave you incorrect advice in earlier mails. Sorry, Mattia > It depends. If you want the user to be able to do > > use Wx qw(treelistctrl constants); # note: use Wx > > you need to push the constants into @Wx::EXPORT_OK and simply > #include "cpp/tl_constants.cpp". > > If you want the user to be able to > > use Wx::TreeListCtrl qw(treelistctrl constants); > > remove the sub definitions from lib/Wx/TreeListCtrl.pm , remove > tl_constants.cpp and perldoc ExtUtils::Constants. > > > I have removed Wx::Mini. The reason I first used it was because I was= > > getting errors with wx_boot, but now the problems have gone, even whe= n I > > remove the 'use Wx::Mini'. > > The reason is you probably use Wx somewhere else in the program. > > > How can I increment $VERSION? The moment I change it to 0.02 in my > > TreeListCtrl.pm file I get an error on Wx::wx_boot as below. I tried = to > > re-compile the XS files but still the error??? > > Recompiling is enough. Ae you sure the file was actually recompiled? > > HTH > Mattia > > > > ___________________________________________________________________ > Mutui a tassi scontati da 30 banche. Richiedi online e risparmia. Servi= zio gratuito. > http://click.libero.it/mutuionline > > > > -----------------------------------------------------------------------= -- > Using Tomcat but need to do more? Need to support web services, securit= y? > Get stuff done quickly with pre-integrated technology to make your job = easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geron= imo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > wxperl-users mailing list > wxp...@li... > https://lists.sourceforge.net/lists/listinfo/wxperl-users > =0A=0A=0A______________________________________________________________= _____=0AMutui a tassi scontati da 30 banche. Richiedi online e risparmia.= Servizio gratuito. =0Ahttp://click.libero.it/mutuionline=0A |
From: Mattia B. \<mattia\.barbon\@libero\.it\> <mat...@li...> - 2006-08-17 12:21:55
|
Hi, > I am using the following in my Wx::TreeListCtrl.pm: > > use Exporter; > use base qw( Exporter); > use vars qw( $VERSION @EXPORT_OK ); > @EXPORT_OK =3D qw( wxTR_VRULE wxTR_SHOW_ROOT_LABEL_ONLY ); > > But when I try and use these in my script sample1.pl I get the followin= g > error: > > Undefined subroutine &Wx::TreeListCtrl::wxTR_VRULE called ... > > So if I create the functions as below, where I get the values from the > treelistctrl.h file. > > sub wxTR_VRULE { 0x8000 } > sub wxTR_SHOW_ROOT_LABEL_ONLY { 0x0002 } > > Is this the way to do this? Or is there a easier/better way where I can= > automatically export these constants. > > I do not know if I can use the tl_constants.cpp method or what else I n= eed > to do ? It depends. If you want the user to be able to do use Wx qw(treelistctrl constants); # note: use Wx you need to push the constants into @Wx::EXPORT_OK and simply #include "cpp/tl_constants.cpp". If you want the user to be able to use Wx::TreeListCtrl qw(treelistctrl constants); remove the sub definitions from lib/Wx/TreeListCtrl.pm , remove tl_constants.cpp and perldoc ExtUtils::Constants. > I have removed Wx::Mini. The reason I first used it was because I was > getting errors with wx_boot, but now the problems have gone, even when = I > remove the 'use Wx::Mini'. The reason is you probably use Wx somewhere else in the program. > How can I increment $VERSION? The moment I change it to 0.02 in my > TreeListCtrl.pm file I get an error on Wx::wx_boot as below. I tried to= > re-compile the XS files but still the error??? Recompiling is enough. Ae you sure the file was actually recompiled? HTH Mattia =0A=0A=0A________________________________________________________________= ___=0AMutui a tassi scontati da 30 banche. Richiedi online e risparmia. S= ervizio gratuito. =0Ahttp://click.libero.it/mutuionline=0A |
From: Mark W. <ma...@ne...> - 2006-08-17 07:57:30
|
Hi, Sorry to be a pain about this but I want to get it right. I am using the following in my Wx::TreeListCtrl.pm: use Exporter; use base qw( Exporter); use vars qw( $VERSION @EXPORT_OK ); @EXPORT_OK = qw( wxTR_VRULE wxTR_SHOW_ROOT_LABEL_ONLY ); But when I try and use these in my script sample1.pl I get the following error: Undefined subroutine &Wx::TreeListCtrl::wxTR_VRULE called ... So if I create the functions as below, where I get the values from the treelistctrl.h file. sub wxTR_VRULE { 0x8000 } sub wxTR_SHOW_ROOT_LABEL_ONLY { 0x0002 } Is this the way to do this? Or is there a easier/better way where I can automatically export these constants. I do not know if I can use the tl_constants.cpp method or what else I need to do ? I have removed Wx::Mini. The reason I first used it was because I was getting errors with wx_boot, but now the problems have gone, even when I remove the 'use Wx::Mini'. How can I increment $VERSION? The moment I change it to 0.02 in my TreeListCtrl.pm file I get an error on Wx::wx_boot as below. I tried to re-compile the XS files but still the error??? Wx::TreeListCtrl object version 0.01 does not match bootstrap parameter 0.02 at C:/Perl/lib/XSLoader.pm line 92. Thanks Mark -----Original Message----- From: Mattia Barbon [mailto:mat...@li...] Sent: 16 August 2006 09:16 PM To: Mark Wardell Cc: wxp...@li... Subject: Re: [wxperl-users] Unable to export constants in Wx::TreeListCtrl On Wed, 16 Aug 2006 20:51:53 +0200 "Mark Wardell" <ma...@ne...> wrote: Hello, > I understand Exporter and EXPORT and EXPORT_OK but I cannot see how > these are used in the other wxPerl modules. There is no magic: you inherit from Exporter and set up @EXPORT_OK (and %EXPORT_TAGS, if you need). In wxPerl the inheritance is in Wx.pm and the EXPORT_XXX setup in Wx::Wx_Exp (which is autogenerated, but this does not change anything). Then there is xx_constants.cpp, which defines a function for mapping names into constants and a wxPlConstants object to register it with the main wxPerl AUTOLOAD sub, but the error you see is caused by incorrect use of Exporter: in the package you do not populate EXPORT_OK and do not inherit from Exporter. Oh, and please do not use Wx::Mini: it is an implementation detail. Regards Mattia |
From: Mattia B. <mat...@li...> - 2006-08-16 19:15:37
|
On Wed, 16 Aug 2006 20:51:53 +0200 "Mark Wardell" <ma...@ne...> wrote: Hello, > I understand Exporter and EXPORT and EXPORT_OK but I cannot see how these > are used in the other wxPerl modules. There is no magic: you inherit from Exporter and set up @EXPORT_OK (and %EXPORT_TAGS, if you need). In wxPerl the inheritance is in Wx.pm and the EXPORT_XXX setup in Wx::Wx_Exp (which is autogenerated, but this does not change anything). Then there is xx_constants.cpp, which defines a function for mapping names into constants and a wxPlConstants object to register it with the main wxPerl AUTOLOAD sub, but the error you see is caused by incorrect use of Exporter: in the package you do not populate EXPORT_OK and do not inherit from Exporter. Oh, and please do not use Wx::Mini: it is an implementation detail. Regards Mattia |
From: Mattia B. <mat...@li...> - 2006-08-16 18:59:35
|
On Wed, 16 Aug 2006 14:35:10 +0200 "Mark Wardell" <ma...@ne...> wrote: Hi, > It is not 100% wrapped, but most of it is there, and is only tested on WinXP > but I wanted to get something out so testing and feedback could begin. There I think the package is missing a typemap (hint: always "make distcheck"). HTH Mattia |
From: Mark W. <ma...@ne...> - 2006-08-16 18:52:05
|
Hi, I understand Exporter and EXPORT and EXPORT_OK but I cannot see how these are used in the other wxPerl modules. Mark -----Original Message----- From: wxp...@li... [mailto:wxp...@li...] On Behalf Of Mattia Barbon Sent: 16 August 2006 08:43 PM To: wxp...@li... Subject: Re: [wxperl-users] Unable to export constants in Wx::TreeListCtrl On Wed, 16 Aug 2006 15:10:33 +0200 "Mark Wardell" <ma...@ne...> wrote: Hi, > What other magic do I need to perform to get these constants to work? perldoc Exporter, at the very least :-) HTH Mattia ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ wxperl-users mailing list wxp...@li... https://lists.sourceforge.net/lists/listinfo/wxperl-users |
From: Mattia B. <mat...@li...> - 2006-08-16 18:48:05
|
On Wed, 16 Aug 2006 14:35:10 +0200 "Mark Wardell" <ma...@ne...> wrote: Hi, > Perhaps Mattia could consider 3rd party packages when coding new the wxDemo > package to allow for new samples to integrate/plugin to this to avoid having > to create the entire framework for independent samples > (App/Frame/Menu/Statusbar etc). Already thought of :-) http://wxperl.cvs.sourceforge.net/wxperl/wxDemo/lib/Wx/DemoModules/wxSlider.pm?view=markup Provide a module called Wx::DemoModules::wxMyFancyControl using the code above as template. HTH Mattia |
From: Mattia B. <mat...@li...> - 2006-08-16 18:42:43
|
On Wed, 16 Aug 2006 15:10:33 +0200 "Mark Wardell" <ma...@ne...> wrote: Hi, > What other magic do I need to perform to get these constants to work? perldoc Exporter, at the very least :-) HTH Mattia |
From: Mark W. <ma...@ne...> - 2006-08-16 13:14:10
|
Hello, With regard to my new Wx::TreeListCtrl module I have not figured out how to export the required constants. I have created the file cpp/tl_constants.cpp I have added the necessary include line in TreeListCtrl.xs #include "cpp/tl_constants.cpp" I have specified the constants on my use line in the sample: use Wx::TreeListCtrl qw( wxTR_VRULE wxTR_SHOW_ROOT_LABEL_ONLY ); I also tried: use Wx qw( wxTR_VRULE wxTR_SHOW_ROOT_LABEL_ONLY ); But I get an error that they are not exported?. "wxTR_VRULE" is not exported by the Wx::TreeListCtrl module What other magic do I need to perform to get these constants to work? Many thanks Mark PS. Original package uploaded had the #include line commented out and I had an eror in tl_constans.cpp (I changed an f1 to fl) but once complete the results were the same - no constants. |
From: Mark W. <ma...@ne...> - 2006-08-16 12:36:17
|
Hi All, I have released an initial copy of this module that people will hopefully find useful. I had an immediate requirement for this functionality hence a new package is created. As the name suggests, it is a combination of a tree and a list control. Similar to MS Outlook where items can be grouped (e.g. message can be grouped by Today, Yesterday, etc). The build process had to be hacked slightly to get it working so if anyone wants to use it but experiences problems, first check the list for earlier emails regarding this modules or post the problem and I will try and sort them out. Hopefully I can work with Mattia to try and resolve these build issues for the next release. It is not 100% wrapped, but most of it is there, and is only tested on WinXP but I wanted to get something out so testing and feedback could begin. There is quite a comprehensive sample included that can be used for testing and expanding. Perhaps Mattia could consider 3rd party packages when coding new the wxDemo package to allow for new samples to integrate/plugin to this to avoid having to create the entire framework for independent samples (App/Frame/Menu/Statusbar etc). Regards Mark |
From: Peter T. <pe...@Pe...> - 2006-08-15 19:06:39
|
<html> <body> <font size=3>At 02:13 PM 8/15/2006, Mark Dootson wrote:<br> <blockquote type=cite class=cite cite="">It was a quote from my own mail. It was an apology for posting none<br> working code of my own.</font></blockquote><br> Geez! Here I thought you were being kind of rude when, in fact, you were being extremely humble! Well, thank you again for ReleaseMouse() which has fixed my problem.<br> -Peter<br><br> <br> <blockquote type=cite class=cite cite=""><font size=3>Peter Theobald wrote:<br> > At 04:27 AM 8/15/2006, Mark Dootson wrote:<br> >> > I'm afraid I don't know enough about Perl and Wx internals<br> > <br> > I don't know where you copied this piece of text, but I never wrote it.<br> > <br> >> or much else it would seem. I'm sure I ran this successfully !!!<br> > <br> > No need to be insulting. Your code doesn't work. You defined a variable $app in <br> > the main scope. You try to use it in the DemoApp scope, where it can't be seen.<br> > <br> >> Anyhow, $self->ReleaseMouse(); in your original code at the appropriate<br> >> place does the trick. (as below_<br> > <br> > This certainly DOES fix the problem! Thank you very much.<br> > It's an odd fix, because the docs state that:<br> > 'you must release the mouse [with ReleaseMouse()] as many times as you capture <br> > it [with CaptureMouse()]'<br> > Since I never explicitly called CaptureMouse I shouldn't have to explicitly call <br> > ReleaseMouse. But regardless, it WORKS and that's all that matters!<br> > -Peter<br> > <br> > <br> >> #!/usr/bin/perl -w --<br> >> use strict;<br> >> use Wx qw[:everything];<br> >><br> >> package main;<br> >><br> >> unless(caller){<br> >> local *Wx::App::OnInit = sub{1};<br> >> my $app = Wx::App->new();<br> >> Wx::InitAllImageHandlers();<br> >><br> >> my $ui = Test_ui->new();<br> >><br> >> $app->SetTopWindow($ui);<br> >> $ui->Show(1);<br> >> $app->MainLoop();<br> >> }<br> >><br> >> package Test_ui;<br> >><br> >> use Wx qw[:everything :allclasses];<br> >> use Wx::Event qw(EVT_LEFT_UP);<br> >><br> >> our $mainframe;<br> >> our @keywords=();<br> >><br> >> use base qw(Wx::Frame);<br> >> sub new {<br> >> my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_;<br> >> $parent = undef unless defined $parent;<br> >> $id = -1 unless defined $id;<br> >> $title = "" unless defined $title;<br> >> $pos = wxDefaultPosition unless defined $pos;<br> >> $size = wxDefaultSize unless defined $size;<br> >> $name = "" unless defined $name;<br> >> $style = wxDEFAULT_FRAME_STYLE unless defined $style;<br> >><br> >> $self = $self->SUPER::new( $parent, $id, $title, $pos, $size,<br> >> $style,<br> >> $name );<br> >> $mainframe=$self;<br> >><br> >> my $main_sizer=Wx::BoxSizer->new(wxVERTICAL);<br> >><br> >> $self->{keywords_text} = Wx::TextCtrl->new($self, -1,<br> >> "1. Apples\n2. Bananas\n3. Cherries\n4. Durian",<br> >> wxDefaultPosition, wxDefaultSize,<br> >> wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP);<br> >> $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2);<br> >><br> >> $self->SetAutoLayout(1);<br> >> $self->SetSizer($main_sizer);<br> >> $self->Layout();<br> >><br> >> EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up);<br> >><br> >> $keywords[0]="Apples";<br> >> $keywords[1]="Bananas";<br> >> $keywords[2]="Cherries";<br> >> $keywords[3]="Durian";<br> >><br> >> return $self;<br> >> }<br> >><br> >> sub handle_keywords_left_up {<br> >> my ($self, $event) =@_;<br> >> my $ip=$self->GetInsertionPoint();<br> >> my ($col,$row)=$self->PositionToXY($ip);<br> >> $self->ReleaseMouse();<br> >> print("editing keyword #$row\n");<br> >> return unless $keywords[$row];<br> >> my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]",<br> >> "Edit keyword $keywords[$row]", $keywords[$row],<br> >> $mainframe, 0, 0);<br> >> if ($newtext) {<br> >> $keywords[$row]=$newtext;<br> >> my $keyword_text='';<br> >> my $i=1;<br> >> foreach my $k ( @keywords) {<br> >> $keyword_text .= "$i.\t$k\n";<br> >> $i++;<br> >> }<br> >> $mainframe->{keywords_text}->SetValue( $keyword_text);<br> >> }<br> >><br> >> #$event->Skip(1);<br> >> }<br> >><br> >> 1;<br> >><br> >><br> >> Peter Theobald wrote:<br> >> > Mark, your code doesn't work. Error: 'Can't call method 'SetTopWindow' on an<br> >> > undefined value line 15'<br> >> > I would very much like to see what you did to get my code working. Please <br> >> post a<br> >> > fixed version.<br> >> > -Peter<br> >> ><br> >> > At 08:45 PM 8/14/2006, Mark Dootson wrote:<br> >> ><br> >> >> Hi Peter,<br> >> >><br> >> >> Code below works.<br> >> >> I'm afraid I don't know enough about Perl and Wx internals to explain<br> >> >> why your original doesn't work which is probably unsatisfactory - but at<br> >> >> least it means you have some working code! Its all in the way Wx::App is<br> >> >> instantiated, I think.<br> >> >><br> >> >> I also removed the variables declared as 'our' from the Test_ui package<br> >> >> as I'm sure they are not what you want. (but this was not cause of problem)<br> >> >><br> >> >> Regards<br> >> >><br> >> >> Mark<br> >> >><br> >> >> #!/usr/bin/perl -w --<br> >> >> my $app = DemoApp->new();<br> >> >> $app->MainLoop();<br> >> >><br> >> >> package DemoApp;;<br> >> >> use strict;<br> >> >> use Wx qw[:everything];<br> >> >> use base qw (Wx::App);<br> >> >><br> >> >> sub OnInit {<br> >> >> Wx::InitAllImageHandlers();<br> >> >> my $ui = Test_ui->new();<br> >> >> $app->SetTopWindow($ui);<br> >> >> $ui->Show(1);<br> >> >> }<br> >> >><br> >> >><br> >> >> package Test_ui;<br> >> >> use Wx qw[:everything :allclasses];<br> >> >> use Wx::Event qw(EVT_LEFT_UP);<br> >> >> use base qw(Wx::Frame);<br> >> >><br> >> >> sub new {<br> >> >> my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_;<br> >> >> $parent = undef unless defined $parent;<br> >> >> $id = -1 unless defined $id;<br> >> >> $title = "" unless defined $title;<br> >> >> $pos = wxDefaultPosition unless defined $pos;<br> >> >> $size = wxDefaultSize unless defined $size;<br> >> >> $name = "" unless defined $name;<br> >> >> $style = wxDEFAULT_FRAME_STYLE unless defined $style;<br> >> >><br> >> >> $self = $self->SUPER::new( $parent, $id, $title, $pos, $size,<br> >> >> $style, $name );<br> >> >><br> >> >> my $main_sizer=Wx::BoxSizer->new(wxVERTICAL);<br> >> >><br> >> >> $self->{keywords_text} = Wx::TextCtrl->new($self, -1,<br> >> >> "1. Apples\n2. Bananas\n3. Cherries\n4. Durian",<br> >> >> wxDefaultPosition, wxDefaultSize,<br> >> >> wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP);<br> >> >> $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2);<br> >> >><br> >> >> $self->SetAutoLayout(1);<br> >> >> $self->SetSizer($main_sizer);<br> >> >> $self->Layout();<br> >> >><br> >> >> EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up);<br> >> >><br> >> >> $self->{__wordlist} = ['Apples','Bananas','Cherries','Durian'];<br> >> >><br> >> >> $self->{ISFRAME} = 1;<br> >> >><br> >> >> return $self;<br> >> >> }<br> >> >><br> >> >> sub handle_keywords_left_up {<br> >> >> my ($control, $event) =@_;<br> >> >> my $self = $control->GetParent();<br> >> >> my $ip = $self->{keywords_text}->GetInsertionPoint();<br> >> >> my ($col,$row)=$self->{keywords_text}->PositionToXY($ip);<br> >> >> my @keywords = @{ $self->{__wordlist} };<br> >> >><br> >> >> print("editing keyword #$row\n");<br> >> >> return unless $keywords[$row];<br> >> >> my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]",<br> >> >> "Edit keyword $keywords[$row]", $keywords[$row], $self,<br> >> >> 0, 0);<br> >> >> if ($newtext) {<br> >> >> $keywords[$row]=$newtext;<br> >> >> my $keyword_text='';<br> >> >> my $i=1;<br> >> >> foreach my $k ( @keywords) {<br> >> >> $keyword_text .= "$i.\t$k\n";<br> >> >> $i++;<br> >> >> }<br> >> >> $self->{keywords_text}->SetValue( $keyword_text);<br> >> >> }<br> >> >><br> >> >> $event->Skip(1);<br> >> >> }<br> >> >><br> >> >> 1;<br> >> >><br> >> >><br> >> >><br> >> >> Peter Theobald wrote:<br> >> >> > I have a TextCtrl with keywords in it. When the user clicks on a keyword <br> >> I pop<br> >> >> > up a modal dialog to edit the keyword........<br> >> ><br> >> ><br> >> > --------------------<br> >> > Peter Theobald<br> >> > Turtle Cove Technology, Inc.<br> >> > PO Box 28, Greenlawn NY 11740-0028<br> >> > (631) 261-4507<br> >> > <br> > <br> > __--=Peter Theobald=--__<br> > <a href="http://www.petertheobald.com/" eudora="autourl">www.PeterTheobald.com</a><br> > <<a href="http://www.petertheobald.com/" eudora="autourl">http://www.petertheobald.com/</a>><br> > </blockquote> <x-sigsep><p></x-sigsep> __--=Peter Theobald=--__<br> <a href="http://www.petertheobald.com/" eudora="autourl">www.PeterTheobald.com<br> </a></font></body> </html> |
From: Mark D. <mar...@zn...> - 2006-08-15 18:13:28
|
It was a quote from my own mail. It was an apology for posting none working code of my own. Peter Theobald wrote: > At 04:27 AM 8/15/2006, Mark Dootson wrote: >> > I'm afraid I don't know enough about Perl and Wx internals > > I don't know where you copied this piece of text, but I never wrote it. > >> or much else it would seem. I'm sure I ran this successfully !!! > > No need to be insulting. Your code doesn't work. You defined a variable $app in > the main scope. You try to use it in the DemoApp scope, where it can't be seen. > >> Anyhow, $self->ReleaseMouse(); in your original code at the appropriate >> place does the trick. (as below_ > > This certainly DOES fix the problem! Thank you very much. > It's an odd fix, because the docs state that: > 'you must release the mouse [with ReleaseMouse()] as many times as you capture > it [with CaptureMouse()]' > Since I never explicitly called CaptureMouse I shouldn't have to explicitly call > ReleaseMouse. But regardless, it WORKS and that's all that matters! > -Peter > > >> #!/usr/bin/perl -w -- >> use strict; >> use Wx qw[:everything]; >> >> package main; >> >> unless(caller){ >> local *Wx::App::OnInit = sub{1}; >> my $app = Wx::App->new(); >> Wx::InitAllImageHandlers(); >> >> my $ui = Test_ui->new(); >> >> $app->SetTopWindow($ui); >> $ui->Show(1); >> $app->MainLoop(); >> } >> >> package Test_ui; >> >> use Wx qw[:everything :allclasses]; >> use Wx::Event qw(EVT_LEFT_UP); >> >> our $mainframe; >> our @keywords=(); >> >> use base qw(Wx::Frame); >> sub new { >> my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_; >> $parent = undef unless defined $parent; >> $id = -1 unless defined $id; >> $title = "" unless defined $title; >> $pos = wxDefaultPosition unless defined $pos; >> $size = wxDefaultSize unless defined $size; >> $name = "" unless defined $name; >> $style = wxDEFAULT_FRAME_STYLE unless defined $style; >> >> $self = $self->SUPER::new( $parent, $id, $title, $pos, $size, >> $style, >> $name ); >> $mainframe=$self; >> >> my $main_sizer=Wx::BoxSizer->new(wxVERTICAL); >> >> $self->{keywords_text} = Wx::TextCtrl->new($self, -1, >> "1. Apples\n2. Bananas\n3. Cherries\n4. Durian", >> wxDefaultPosition, wxDefaultSize, >> wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP); >> $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2); >> >> $self->SetAutoLayout(1); >> $self->SetSizer($main_sizer); >> $self->Layout(); >> >> EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up); >> >> $keywords[0]="Apples"; >> $keywords[1]="Bananas"; >> $keywords[2]="Cherries"; >> $keywords[3]="Durian"; >> >> return $self; >> } >> >> sub handle_keywords_left_up { >> my ($self, $event) =@_; >> my $ip=$self->GetInsertionPoint(); >> my ($col,$row)=$self->PositionToXY($ip); >> $self->ReleaseMouse(); >> print("editing keyword #$row\n"); >> return unless $keywords[$row]; >> my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]", >> "Edit keyword $keywords[$row]", $keywords[$row], >> $mainframe, 0, 0); >> if ($newtext) { >> $keywords[$row]=$newtext; >> my $keyword_text=''; >> my $i=1; >> foreach my $k ( @keywords) { >> $keyword_text .= "$i.\t$k\n"; >> $i++; >> } >> $mainframe->{keywords_text}->SetValue( $keyword_text); >> } >> >> #$event->Skip(1); >> } >> >> 1; >> >> >> Peter Theobald wrote: >> > Mark, your code doesn't work. Error: 'Can't call method 'SetTopWindow' on an >> > undefined value line 15' >> > I would very much like to see what you did to get my code working. Please >> post a >> > fixed version. >> > -Peter >> > >> > At 08:45 PM 8/14/2006, Mark Dootson wrote: >> > >> >> Hi Peter, >> >> >> >> Code below works. >> >> I'm afraid I don't know enough about Perl and Wx internals to explain >> >> why your original doesn't work which is probably unsatisfactory - but at >> >> least it means you have some working code! Its all in the way Wx::App is >> >> instantiated, I think. >> >> >> >> I also removed the variables declared as 'our' from the Test_ui package >> >> as I'm sure they are not what you want. (but this was not cause of problem) >> >> >> >> Regards >> >> >> >> Mark >> >> >> >> #!/usr/bin/perl -w -- >> >> my $app = DemoApp->new(); >> >> $app->MainLoop(); >> >> >> >> package DemoApp;; >> >> use strict; >> >> use Wx qw[:everything]; >> >> use base qw (Wx::App); >> >> >> >> sub OnInit { >> >> Wx::InitAllImageHandlers(); >> >> my $ui = Test_ui->new(); >> >> $app->SetTopWindow($ui); >> >> $ui->Show(1); >> >> } >> >> >> >> >> >> package Test_ui; >> >> use Wx qw[:everything :allclasses]; >> >> use Wx::Event qw(EVT_LEFT_UP); >> >> use base qw(Wx::Frame); >> >> >> >> sub new { >> >> my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_; >> >> $parent = undef unless defined $parent; >> >> $id = -1 unless defined $id; >> >> $title = "" unless defined $title; >> >> $pos = wxDefaultPosition unless defined $pos; >> >> $size = wxDefaultSize unless defined $size; >> >> $name = "" unless defined $name; >> >> $style = wxDEFAULT_FRAME_STYLE unless defined $style; >> >> >> >> $self = $self->SUPER::new( $parent, $id, $title, $pos, $size, >> >> $style, $name ); >> >> >> >> my $main_sizer=Wx::BoxSizer->new(wxVERTICAL); >> >> >> >> $self->{keywords_text} = Wx::TextCtrl->new($self, -1, >> >> "1. Apples\n2. Bananas\n3. Cherries\n4. Durian", >> >> wxDefaultPosition, wxDefaultSize, >> >> wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP); >> >> $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2); >> >> >> >> $self->SetAutoLayout(1); >> >> $self->SetSizer($main_sizer); >> >> $self->Layout(); >> >> >> >> EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up); >> >> >> >> $self->{__wordlist} = ['Apples','Bananas','Cherries','Durian']; >> >> >> >> $self->{ISFRAME} = 1; >> >> >> >> return $self; >> >> } >> >> >> >> sub handle_keywords_left_up { >> >> my ($control, $event) =@_; >> >> my $self = $control->GetParent(); >> >> my $ip = $self->{keywords_text}->GetInsertionPoint(); >> >> my ($col,$row)=$self->{keywords_text}->PositionToXY($ip); >> >> my @keywords = @{ $self->{__wordlist} }; >> >> >> >> print("editing keyword #$row\n"); >> >> return unless $keywords[$row]; >> >> my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]", >> >> "Edit keyword $keywords[$row]", $keywords[$row], $self, >> >> 0, 0); >> >> if ($newtext) { >> >> $keywords[$row]=$newtext; >> >> my $keyword_text=''; >> >> my $i=1; >> >> foreach my $k ( @keywords) { >> >> $keyword_text .= "$i.\t$k\n"; >> >> $i++; >> >> } >> >> $self->{keywords_text}->SetValue( $keyword_text); >> >> } >> >> >> >> $event->Skip(1); >> >> } >> >> >> >> 1; >> >> >> >> >> >> >> >> Peter Theobald wrote: >> >> > I have a TextCtrl with keywords in it. When the user clicks on a keyword >> I pop >> >> > up a modal dialog to edit the keyword........ >> > >> > >> > -------------------- >> > Peter Theobald >> > Turtle Cove Technology, Inc. >> > PO Box 28, Greenlawn NY 11740-0028 >> > (631) 261-4507 >> > > > __--=Peter Theobald=--__ > www.PeterTheobald.com > <http://www.petertheobald.com/> > |
From: Mattia B. <mat...@li...> - 2006-08-15 15:59:16
|
0.20 Tue Aug 15 17:45:12 CEST 2006 - Bundle and use the patch implementation from GNU under Windows; the PPT implementation is way too fragile. Begin forwarded message: Date: Tue, 15 Aug 2006 17:54:06 +0200 From: PAUSE <up...@pa...> To: "Mattia Barbon" <mat...@li...> Subject: CPAN Upload: M/MB/MBARBON/Alien-wxWidgets-0.20.tar.gz The uploaded file Alien-wxWidgets-0.20.tar.gz has entered CPAN as file: $CPAN/authors/id/M/MB/MBARBON/Alien-wxWidgets-0.20.tar.gz size: 108738 bytes md5: d99e2b54f62d2928b7bd322fb232bd09 No action is required on your part Request entered by: MBARBON (Mattia Barbon) Request entered on: Tue, 15 Aug 2006 15:53:26 GMT Request completed: Tue, 15 Aug 2006 15:54:05 GMT Thanks, -- paused, v782 |
From: Peter T. <pe...@Pe...> - 2006-08-15 15:10:48
|
<html> <body> <font size=3>At 04:27 AM 8/15/2006, Mark Dootson wrote:<br> <blockquote type=cite class=cite cite="">> I'm afraid I don't know enough about Perl and Wx internals</font></blockquote><br> I don't know where you copied this piece of text, but I never wrote it.<br><br> <blockquote type=cite class=cite cite=""><font size=3>or much else it would seem. I'm sure I ran this successfully !!!</font></blockquote><br> No need to be insulting. Your code doesn't work. You defined a variable $app in the main scope. You try to use it in the DemoApp scope, where it can't be seen.<br><br> <blockquote type=cite class=cite cite=""><font size=3>Anyhow, $self->ReleaseMouse(); in your original code at the appropriate<br> place does the trick. (as below_</font></blockquote><br> This certainly DOES fix the problem! Thank you very much.<br> It's an odd fix, because the docs state that:<br> '<font size=3>you must release the mouse [with ReleaseMouse()] as many times as you capture it [with CaptureMouse()]</font>'<br> Since I never explicitly called CaptureMouse I shouldn't have to explicitly call ReleaseMouse. But regardless, it WORKS and that's all that matters!<br> -Peter<br><br> <br> <blockquote type=cite class=cite cite=""><font size=3>#!/usr/bin/perl -w --<br> use strict;<br> use Wx qw[:everything];<br><br> package main;<br><br> unless(caller){<br> local *Wx::App::OnInit = sub{1};<br> my $app = Wx::App->new();<br> Wx::InitAllImageHandlers();<br><br> my $ui = Test_ui->new();<br><br> $app->SetTopWindow($ui);<br> $ui->Show(1);<br> $app->MainLoop();<br> }<br><br> package Test_ui;<br><br> use Wx qw[:everything :allclasses];<br> use Wx::Event qw(EVT_LEFT_UP);<br><br> our $mainframe;<br> our @keywords=();<br><br> use base qw(Wx::Frame);<br> sub new {<br> my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_;<br> $parent = undef unless defined $parent;<br> $id = -1 unless defined $id;<br> $title = "" unless defined $title;<br> $pos = wxDefaultPosition unless defined $pos;<br> $size = wxDefaultSize unless defined $size;<br> $name = "" unless defined $name;<br> $style = wxDEFAULT_FRAME_STYLE unless defined $style;<br><br> $self = $self->SUPER::new( $parent, $id, $title, $pos, $size,<br> $style,<br> $name );<br> $mainframe=$self;<br><br> my $main_sizer=Wx::BoxSizer->new(wxVERTICAL);<br><br> $self->{keywords_text} = Wx::TextCtrl->new($self, -1,<br> "1. Apples\n2. Bananas\n3. Cherries\n4. Durian",<br> wxDefaultPosition, wxDefaultSize,<br> wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP);<br> $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2);<br><br> $self->SetAutoLayout(1);<br> $self->SetSizer($main_sizer);<br> $self->Layout();<br><br> EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up);<br><br> $keywords[0]="Apples";<br> $keywords[1]="Bananas";<br> $keywords[2]="Cherries";<br> $keywords[3]="Durian";<br><br> return $self;<br> }<br><br> sub handle_keywords_left_up {<br> my ($self, $event) =@_;<br> my $ip=$self->GetInsertionPoint();<br> my ($col,$row)=$self->PositionToXY($ip);<br> $self->ReleaseMouse();<br> print("editing keyword #$row\n");<br> return unless $keywords[$row];<br> my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]",<br> "Edit keyword $keywords[$row]", $keywords[$row],<br> $mainframe, 0, 0);<br> if ($newtext) {<br> $keywords[$row]=$newtext;<br> my $keyword_text='';<br> my $i=1;<br> foreach my $k ( @keywords) {<br> $keyword_text .= "$i.\t$k\n";<br> $i++;<br> }<br> $mainframe->{keywords_text}->SetValue( $keyword_text);<br> }<br><br> #$event->Skip(1);<br> }<br><br> 1;<br><br> <br> Peter Theobald wrote:<br> > Mark, your code doesn't work. Error: 'Can't call method 'SetTopWindow' on an <br> > undefined value line 15'<br> > I would very much like to see what you did to get my code working. Please post a <br> > fixed version.<br> > -Peter<br> > <br> > At 08:45 PM 8/14/2006, Mark Dootson wrote:<br> > <br> >> Hi Peter,<br> >><br> >> Code below works.<br> >> I'm afraid I don't know enough about Perl and Wx internals to explain<br> >> why your original doesn't work which is probably unsatisfactory - but at<br> >> least it means you have some working code! Its all in the way Wx::App is<br> >> instantiated, I think.<br> >><br> >> I also removed the variables declared as 'our' from the Test_ui package<br> >> as I'm sure they are not what you want. (but this was not cause of problem)<br> >><br> >> Regards<br> >><br> >> Mark<br> >><br> >> #!/usr/bin/perl -w --<br> >> my $app = DemoApp->new();<br> >> $app->MainLoop();<br> >><br> >> package DemoApp;;<br> >> use strict;<br> >> use Wx qw[:everything];<br> >> use base qw (Wx::App);<br> >><br> >> sub OnInit {<br> >> Wx::InitAllImageHandlers();<br> >> my $ui = Test_ui->new();<br> >> $app->SetTopWindow($ui);<br> >> $ui->Show(1);<br> >> }<br> >><br> >><br> >> package Test_ui;<br> >> use Wx qw[:everything :allclasses];<br> >> use Wx::Event qw(EVT_LEFT_UP);<br> >> use base qw(Wx::Frame);<br> >><br> >> sub new {<br> >> my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_;<br> >> $parent = undef unless defined $parent;<br> >> $id = -1 unless defined $id;<br> >> $title = "" unless defined $title;<br> >> $pos = wxDefaultPosition unless defined $pos;<br> >> $size = wxDefaultSize unless defined $size;<br> >> $name = "" unless defined $name;<br> >> $style = wxDEFAULT_FRAME_STYLE unless defined $style;<br> >><br> >> $self = $self->SUPER::new( $parent, $id, $title, $pos, $size,<br> >> $style, $name );<br> >><br> >> my $main_sizer=Wx::BoxSizer->new(wxVERTICAL);<br> >><br> >> $self->{keywords_text} = Wx::TextCtrl->new($self, -1,<br> >> "1. Apples\n2. Bananas\n3. Cherries\n4. Durian",<br> >> wxDefaultPosition, wxDefaultSize,<br> >> wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP);<br> >> $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2);<br> >><br> >> $self->SetAutoLayout(1);<br> >> $self->SetSizer($main_sizer);<br> >> $self->Layout();<br> >><br> >> EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up);<br> >><br> >> $self->{__wordlist} = ['Apples','Bananas','Cherries','Durian'];<br> >><br> >> $self->{ISFRAME} = 1;<br> >><br> >> return $self;<br> >> }<br> >><br> >> sub handle_keywords_left_up {<br> >> my ($control, $event) =@_;<br> >> my $self = $control->GetParent();<br> >> my $ip = $self->{keywords_text}->GetInsertionPoint();<br> >> my ($col,$row)=$self->{keywords_text}->PositionToXY($ip);<br> >> my @keywords = @{ $self->{__wordlist} };<br> >><br> >> print("editing keyword #$row\n");<br> >> return unless $keywords[$row];<br> >> my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]",<br> >> "Edit keyword $keywords[$row]", $keywords[$row], $self,<br> >> 0, 0);<br> >> if ($newtext) {<br> >> $keywords[$row]=$newtext;<br> >> my $keyword_text='';<br> >> my $i=1;<br> >> foreach my $k ( @keywords) {<br> >> $keyword_text .= "$i.\t$k\n";<br> >> $i++;<br> >> }<br> >> $self->{keywords_text}->SetValue( $keyword_text);<br> >> }<br> >><br> >> $event->Skip(1);<br> >> }<br> >><br> >> 1;<br> >><br> >><br> >><br> >> Peter Theobald wrote:<br> >> > I have a TextCtrl with keywords in it. When the user clicks on a keyword I pop<br> >> > up a modal dialog to edit the keyword........<br> > <br> > <br> > --------------------<br> > Peter Theobald<br> > Turtle Cove Technology, Inc.<br> > PO Box 28, Greenlawn NY 11740-0028<br> > (631) 261-4507<br> > </blockquote> <x-sigsep><p></x-sigsep> __--=Peter Theobald=--__<br> <a href="http://www.petertheobald.com/" eudora="autourl">www.PeterTheobald.com<br> </a></font></body> </html> |
From: Ed H. <ed...@do...> - 2006-08-15 14:28:38
|
Mattia Barbon wrote: > To work around this you should install ExtUtils::FakeConfig 0.06 > (make sure MinGW is in path, then do the ususal 'Perl Makefile.PL; > make; make install' dance), then > > set PERL5OPT=-MConfig_m > <build and install Alien> > <build and install wxPerl> > This worked for me! I had tried using FakeConfig once before, I believe, but that was back when I was mistakenly using MSYS. I'm grateful for all your help. |
From: Mattia B. <mat...@li...> - 2006-08-15 13:57:27
|
On Mon, 14 Aug 2006 22:41:20 -0400 Ed Heil <ed...@do...> wrote: > After extensive hand-patching I gave things another try. I've got a > copy of wxWidgets-2.6.3 unzipped and hand-patched in my > Alien-WxWidgets-0.19 directory. if you download patch.exe from gnuwin32.sf.net (or another Win32-survival-kit-for-Unix-users site of your choice) you should be able to replace inc/bin/patch with inc/bin/patch.exe. I will give it a try and release Alien::wxWidgets 0.20. Regards Mattia |
From: Mark W. <ma...@ne...> - 2006-08-15 13:55:29
|
Hi, > The headers of wxTreeListCtrl are wrong. They use WXDLLEXPORT for their own classes. You need to replace WXDLLEXPORT > with WXDLLEXPORT_TREE (or something like it) and then define WXDLLEXPORT_TREE to nothing (because you are not building a > DLL that export the wxTreeListCtrl interface). Ok I will have a go and see if I get any further. > Please note that if you distribute wxTreeListCtrl files you need at least point out it in the module's > documentation/copyright section. Is this the better approach or should I try and compile wxTreeListCtrl to a native C/C++ DLL then link to that? Regards Mattia |
From: Mattia B. <mat...@li...> - 2006-08-15 13:54:36
|
On Tue, 15 Aug 2006 00:47:20 -0400 Ed Heil <ed...@do...> wrote: > You know, I'd like to maybe go in a different direction right now -- > > if I /could /get myself a copy of a compiled, working wxWidgets > installation, one way or another, how could I get Alien::wxWidgets to > see it and accept it as what it needs? > > I've got a mingw (no msys) compile of wxWidgets from native makefiles > going right now. If that ends well I'm going to see if I can figure out > for myself how to tell Alien::wxWidgets how to find it. :) set WXDIR=C:\path\to\wxWidgets the same way it was done with wxPerl < 0.50. HTH Mattia |
From: Mattia B. <mat...@li...> - 2006-08-15 13:51:48
|
On Tue, 15 Aug 2006 08:33:15 +0200 "Mark Wardell" <ma...@ne...> wrote: Hi, > I am trying to wrap wxTreeListCtrl but for the Makefile.PL to work I had to > change line 112 of build/Utils.pm > > from: > my $top = _top_dir(); > > > to: > my $top = Wx::build::MakeMaker->get_api_directory(); > > > to get the package to build out of a folder not in the wxPerl source tree. > (Is this ok?) > [I see you use is_core and is_wxPerl_tree to determine where you are > building from] Trouble... I do not think I ever thought of exposing the whole 'overload resolution' infrastructure outside the wxPerl tree. You might want to avoid it until I figure out how exactly to do it. > I also had to copy ovl_const.h from wxPerl source tree to > /perl/site/lib/Wx/cpp and pipe.pl to a script subfolder of my package. For ovl_const see above. I will remove the requirement for pipe.pl: it is not intentional. > The files required for wxTreeListCtrl are simply two files, > (treelistctrl.cpp and treelistctrl.h). I thought it would be easier to > simply include these into my xs file rather than first compiling > wxTreeListCtrl as a DLL (under MSW). This is not working and I am getting > plenty of warnings and errors like below: > > warning : inconsistent dll linkage > error : definition of dllimport static data member not allowed The headers of wxTreeListCtrl are wrong. They use WXDLLEXPORT for their own classes. You need to replace WXDLLEXPORT with WXDLLEXPORT_TREE (or something like it) and then define WXDLLEXPORT_TREE to nothing (because you are not building a DLL that export the wxTreeListCtrl interface). Please note that if you distribute wxTreeListCtrl files you need at least point out it in the module's documentation/copyright section. Regards Mattia |
From: Mattia B. <mat...@li...> - 2006-08-15 12:29:56
|
On Fri, 11 Aug 2006 22:14:41 +0200 Mattia Barbon <mat...@li...> wrote: Hi again, > do not use MSYS, just plain old MinGW. Make sure to install the > native mingw32-make.exe. >=20 > - Unpack Alien::wxWidgets somewhere. > - copy the wxWidgets archive to that directory (or let A::wx download it) > - perl Build.PL > - yes: you want to build wxWidgets! let Alien do it for you > unless you *really* know you do not want to > - specify the correct extension for the archive (tar.gz works for me > even under Windows) > - perl Build > - perl Build install >=20 > - unpack wxPerl > - perl Makefile.PL > - nmake > - nmake install >=20 > Report any failure here. >=20 > It can work inside CPAN, but first make sure you are able to build > a simple XS module from CPAN, to check your setup is sane. Hi discovered (after M=E1rton Papp reported some more problems in private mail) that ActivePerl build 817 has a glitch in the way the MinGW build environment is set up that causes Alien::wxWidgets, wxPerl and I suspect other nontrivial XS modules to fail. To work around this you should install ExtUtils::FakeConfig 0.06 (make sure MinGW is in path, then do the ususal 'Perl Makefile.PL; make; make install' dance), then set PERL5OPT=3D-MConfig_m <build and install Alien> <build and install wxPerl> HTH Mattia =20 |
From: Mark D. <mar...@zn...> - 2006-08-15 08:28:01
|
Hi, > I'm afraid I don't know enough about Perl and Wx internals or much else it would seem. I'm sure I ran this successfully !!! Anyhow, $self->ReleaseMouse(); in your original code at the appropriate place does the trick. (as below_ #!/usr/bin/perl -w -- use strict; use Wx qw[:everything]; package main; unless(caller){ local *Wx::App::OnInit = sub{1}; my $app = Wx::App->new(); Wx::InitAllImageHandlers(); my $ui = Test_ui->new(); $app->SetTopWindow($ui); $ui->Show(1); $app->MainLoop(); } package Test_ui; use Wx qw[:everything :allclasses]; use Wx::Event qw(EVT_LEFT_UP); our $mainframe; our @keywords=(); use base qw(Wx::Frame); sub new { my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_; $parent = undef unless defined $parent; $id = -1 unless defined $id; $title = "" unless defined $title; $pos = wxDefaultPosition unless defined $pos; $size = wxDefaultSize unless defined $size; $name = "" unless defined $name; $style = wxDEFAULT_FRAME_STYLE unless defined $style; $self = $self->SUPER::new( $parent, $id, $title, $pos, $size, $style, $name ); $mainframe=$self; my $main_sizer=Wx::BoxSizer->new(wxVERTICAL); $self->{keywords_text} = Wx::TextCtrl->new($self, -1, "1. Apples\n2. Bananas\n3. Cherries\n4. Durian", wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP); $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2); $self->SetAutoLayout(1); $self->SetSizer($main_sizer); $self->Layout(); EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up); $keywords[0]="Apples"; $keywords[1]="Bananas"; $keywords[2]="Cherries"; $keywords[3]="Durian"; return $self; } sub handle_keywords_left_up { my ($self, $event) =@_; my $ip=$self->GetInsertionPoint(); my ($col,$row)=$self->PositionToXY($ip); $self->ReleaseMouse(); print("editing keyword #$row\n"); return unless $keywords[$row]; my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]", "Edit keyword $keywords[$row]", $keywords[$row], $mainframe, 0, 0); if ($newtext) { $keywords[$row]=$newtext; my $keyword_text=''; my $i=1; foreach my $k ( @keywords) { $keyword_text .= "$i.\t$k\n"; $i++; } $mainframe->{keywords_text}->SetValue( $keyword_text); } #$event->Skip(1); } 1; Peter Theobald wrote: > Mark, your code doesn't work. Error: 'Can't call method 'SetTopWindow' on an > undefined value line 15' > I would very much like to see what you did to get my code working. Please post a > fixed version. > -Peter > > At 08:45 PM 8/14/2006, Mark Dootson wrote: > >> Hi Peter, >> >> Code below works. >> I'm afraid I don't know enough about Perl and Wx internals to explain >> why your original doesn't work which is probably unsatisfactory - but at >> least it means you have some working code! Its all in the way Wx::App is >> instantiated, I think. >> >> I also removed the variables declared as 'our' from the Test_ui package >> as I'm sure they are not what you want. (but this was not cause of problem) >> >> Regards >> >> Mark >> >> #!/usr/bin/perl -w -- >> my $app = DemoApp->new(); >> $app->MainLoop(); >> >> package DemoApp;; >> use strict; >> use Wx qw[:everything]; >> use base qw (Wx::App); >> >> sub OnInit { >> Wx::InitAllImageHandlers(); >> my $ui = Test_ui->new(); >> $app->SetTopWindow($ui); >> $ui->Show(1); >> } >> >> >> package Test_ui; >> use Wx qw[:everything :allclasses]; >> use Wx::Event qw(EVT_LEFT_UP); >> use base qw(Wx::Frame); >> >> sub new { >> my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_; >> $parent = undef unless defined $parent; >> $id = -1 unless defined $id; >> $title = "" unless defined $title; >> $pos = wxDefaultPosition unless defined $pos; >> $size = wxDefaultSize unless defined $size; >> $name = "" unless defined $name; >> $style = wxDEFAULT_FRAME_STYLE unless defined $style; >> >> $self = $self->SUPER::new( $parent, $id, $title, $pos, $size, >> $style, $name ); >> >> my $main_sizer=Wx::BoxSizer->new(wxVERTICAL); >> >> $self->{keywords_text} = Wx::TextCtrl->new($self, -1, >> "1. Apples\n2. Bananas\n3. Cherries\n4. Durian", >> wxDefaultPosition, wxDefaultSize, >> wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP); >> $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2); >> >> $self->SetAutoLayout(1); >> $self->SetSizer($main_sizer); >> $self->Layout(); >> >> EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up); >> >> $self->{__wordlist} = ['Apples','Bananas','Cherries','Durian']; >> >> $self->{ISFRAME} = 1; >> >> return $self; >> } >> >> sub handle_keywords_left_up { >> my ($control, $event) =@_; >> my $self = $control->GetParent(); >> my $ip = $self->{keywords_text}->GetInsertionPoint(); >> my ($col,$row)=$self->{keywords_text}->PositionToXY($ip); >> my @keywords = @{ $self->{__wordlist} }; >> >> print("editing keyword #$row\n"); >> return unless $keywords[$row]; >> my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]", >> "Edit keyword $keywords[$row]", $keywords[$row], $self, >> 0, 0); >> if ($newtext) { >> $keywords[$row]=$newtext; >> my $keyword_text=''; >> my $i=1; >> foreach my $k ( @keywords) { >> $keyword_text .= "$i.\t$k\n"; >> $i++; >> } >> $self->{keywords_text}->SetValue( $keyword_text); >> } >> >> $event->Skip(1); >> } >> >> 1; >> >> >> >> Peter Theobald wrote: >> > I have a TextCtrl with keywords in it. When the user clicks on a keyword I pop >> > up a modal dialog to edit the keyword........ > > > -------------------- > Peter Theobald > Turtle Cove Technology, Inc. > PO Box 28, Greenlawn NY 11740-0028 > (631) 261-4507 > |
From: Ed H. <ed...@do...> - 2006-08-15 04:47:29
|
You know, I'd like to maybe go in a different direction right now -- if I /could /get myself a copy of a compiled, working wxWidgets installation, one way or another, how could I get Alien::wxWidgets to see it and accept it as what it needs? I've got a mingw (no msys) compile of wxWidgets from native makefiles going right now. If that ends well I'm going to see if I can figure out for myself how to tell Alien::wxWidgets how to find it. :) Ed Heil wrote: > After extensive hand-patching I gave things another try. I've got a > copy of wxWidgets-2.6.3 unzipped and hand-patched in my > Alien-WxWidgets-0.19 directory. > > C:\src\Alien-wxWidgets-0.19> > C:\src\Alien-wxWidgets-0.19>perl Build.PL > Deleting _build > Creating custom builder > _build\lib\My\Build\new_from_context_is_broken.pm in _bu > ild\lib\My\Build > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Checking whether your kit is complete... > Looks good > > Checking prerequisites... > Looks good > > Do you want to build wxWidgets? [no] yes > Which archive type? [tar.gz] zip > Deleting Build > Removed previous script 'Build' > > Creating new 'Build' script for 'Alien-wxWidgets' version '0.19' > > C:\src\Alien-wxWidgets-0.19>perl Build > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > Set up gcc environment - 3.4.2 (mingw-special) > if not exist ..\..\lib\gcc_dll\msw mkdir ..\..\lib\gcc_dll\msw > gcc -c -o gcc_mswdll\wxregex_regexec.o -O2 -mthreads -DHAVE_W32API_H > -I..\..\i > nclude -I..\..\lib\gcc_dll\msw -D__WXMSW__ > -MTgcc_mswdll\wxregex_regexec.o -M > Fgcc_mswdll\wxregex_regexec.o.d -MD ../../src/regex/regexec.c > In file included from ../../include/wx/platform.h:271, > from ../../include/wx/defs.h:21, > from ../../src/regex/regcustom.h:39, > from ../../src/regex/regguts.h:38, > from ../../src/regex/regexec.c:32: > ../../include/wx/chkconf.h:85:9: #error "wxUSE_DYNLIB_CLASS must be > defined." > ../../include/wx/chkconf.h:93:9: #error "wxUSE_EXCEPTIONS must be defined." > ../../include/wx/chkconf.h:101:9: #error "wxUSE_FILESYSTEM must be defined." > ../../include/wx/chkconf.h:114:9: #error "wxUSE_DYNAMIC_LOADER must be > defined." > > ../../include/wx/chkconf.h:122:9: #error "wxUSE_LOG must be defined." > ../../include/wx/chkconf.h:130:9: #error "wxUSE_LONGLONG must be defined." > ../../include/wx/chkconf.h:138:9: #error "wxUSE_MIMETYPE must be defined." > ../../include/wx/chkconf.h:154:9: #error "wxUSE_PROTOCOL must be defined." > ../../include/wx/chkconf.h:196:9: #error "wxUSE_REGEX must be defined." > ../../include/wx/chkconf.h:204:9: #error "wxUSE_STDPATHS must be defined." > ../../include/wx/chkconf.h:212:9: #error "wxUSE_XML must be defined." > ../../include/wx/chkconf.h:220:9: #error "wxUSE_SOCKETS must be defined." > ../../include/wx/chkconf.h:228:9: #error "wxUSE_STREAMS must be defined." > ../../include/wx/chkconf.h:236:9: #error "wxUSE_STOPWATCH must be defined." > ../../include/wx/chkconf.h:244:9: #error "wxUSE_TEXTBUFFER must be defined." > ../../include/wx/chkconf.h:252:9: #error "wxUSE_TEXTFILE must be defined." > ../../include/wx/chkconf.h:268:9: #error "wxUSE_URL must be defined." > ../../include/wx/chkconf.h:286:9: #error "wxUSE_ACCEL must be defined." > ../../include/wx/chkconf.h:294:9: #error "wxUSE_BMPBUTTON must be defined." > ../../include/wx/chkconf.h:302:9: #error "wxUSE_BUTTON must be defined." > ../../include/wx/chkconf.h:310:9: #error "wxUSE_CALENDARCTRL must be > defined." > ../../include/wx/chkconf.h:318:9: #error "wxUSE_CARET must be defined." > ../../include/wx/chkconf.h:326:9: #error "wxUSE_CHECKBOX must be defined." > ../../include/wx/chkconf.h:342:9: #error "wxUSE_CHOICE must be defined." > ../../include/wx/chkconf.h:350:9: #error "wxUSE_CHOICEBOOK must be defined." > ../../include/wx/chkconf.h:358:9: #error "wxUSE_CHOICEDLG must be defined." > ../../include/wx/chkconf.h:366:9: #error "wxUSE_CLIPBOARD must be defined." > ../../include/wx/chkconf.h:374:9: #error "wxUSE_COLOURDLG must be defined." > ../../include/wx/chkconf.h:382:9: #error "wxUSE_COMBOBOX must be defined." > ../../include/wx/chkconf.h:390:9: #error "wxUSE_DATAOBJ must be defined." > ../../include/wx/chkconf.h:398:9: #error "wxUSE_DATEPICKCTRL must be > defined." > ../../include/wx/chkconf.h:406:9: #error "wxUSE_DISPLAY must be defined." > ../../include/wx/chkconf.h:414:9: #error "wxUSE_DOC_VIEW_ARCHITECTURE > must be de > fined." > ../../include/wx/chkconf.h:422:9: #error "wxUSE_FILEDLG must be defined." > ../../include/wx/chkconf.h:430:9: #error "wxUSE_FONTDLG must be defined." > ../../include/wx/chkconf.h:438:9: #error "wxUSE_FONTMAP must be defined." > ../../include/wx/chkconf.h:446:9: #error "wxUSE_GAUGE must be defined." > ../../include/wx/chkconf.h:454:9: #error "wxUSE_GRID must be defined." > ../../include/wx/chkconf.h:462:9: #error "wxUSE_HELP must be defined." > ../../include/wx/chkconf.h:470:9: #error "wxUSE_HTML must be defined." > ../../include/wx/chkconf.h:478:9: #error "wxUSE_XRC must be defined." > ../../include/wx/chkconf.h:499:9: #error "wxUSE_ICO_CUR must be defined." > ../../include/wx/chkconf.h:507:9: #error "wxUSE_IFF must be defined." > ../../include/wx/chkconf.h:515:9: #error "wxUSE_IMAGLIST must be defined." > ../../include/wx/chkconf.h:523:9: #error "wxUSE_JOYSTICK must be defined." > ../../include/wx/chkconf.h:531:9: #error "wxUSE_LISTBOOK must be defined." > ../../include/wx/chkconf.h:539:9: #error "wxUSE_LISTBOX must be defined." > ../../include/wx/chkconf.h:547:9: #error "wxUSE_LISTCTRL must be defined." > ../../include/wx/chkconf.h:555:9: #error "wxUSE_LOGGUI must be defined." > ../../include/wx/chkconf.h:563:9: #error "wxUSE_LOGWINDOW must be defined." > ../../include/wx/chkconf.h:571:9: #error "wxUSE_LOG_DIALOG must be defined." > ../../include/wx/chkconf.h:579:9: #error "wxUSE_MDI must be defined." > ../../include/wx/chkconf.h:587:9: #error "wxUSE_MDI_ARCHITECTURE must be > defined > ." > ../../include/wx/chkconf.h:595:9: #error "wxUSE_MENUS must be defined." > ../../include/wx/chkconf.h:603:9: #error "wxUSE_MSGDLG must be defined." > ../../include/wx/chkconf.h:611:9: #error "wxUSE_NOTEBOOK must be defined." > ../../include/wx/chkconf.h:619:9: #error "wxUSE_PALETTE must be defined." > ../../include/wx/chkconf.h:627:9: #error "wxUSE_POPUPWIN must be defined." > ../../include/wx/chkconf.h:635:9: #error "wxUSE_PRINTING_ARCHITECTURE > must be de > fined." > ../../include/wx/chkconf.h:643:9: #error "wxUSE_RADIOBOX must be defined." > ../../include/wx/chkconf.h:651:9: #error "wxUSE_RADIOBTN must be defined." > ../../include/wx/chkconf.h:659:9: #error "wxUSE_SASH must be defined." > ../../include/wx/chkconf.h:667:9: #error "wxUSE_SCROLLBAR must be defined." > ../../include/wx/chkconf.h:675:9: #error "wxUSE_SLIDER must be defined." > ../../include/wx/chkconf.h:683:9: #error "wxUSE_SOUND must be defined." > ../../include/wx/chkconf.h:691:9: #error "wxUSE_SPINBTN must be defined." > ../../include/wx/chkconf.h:699:9: #error "wxUSE_SPINCTRL must be defined." > ../../include/wx/chkconf.h:707:9: #error "wxUSE_SPLASH must be defined." > ../../include/wx/chkconf.h:715:9: #error "wxUSE_SPLITTER must be defined." > ../../include/wx/chkconf.h:723:9: #error "wxUSE_STATBMP must be defined." > ../../include/wx/chkconf.h:731:9: #error "wxUSE_STATBOX must be defined." > ../../include/wx/chkconf.h:739:9: #error "wxUSE_STATLINE must be defined." > ../../include/wx/chkconf.h:747:9: #error "wxUSE_STATTEXT must be defined." > ../../include/wx/chkconf.h:755:9: #error "wxUSE_STATUSBAR must be defined." > ../../include/wx/chkconf.h:763:9: #error "wxUSE_TAB_DIALOG must be defined." > ../../include/wx/chkconf.h:771:9: #error "wxUSE_TEXTCTRL must be defined." > ../../include/wx/chkconf.h:779:9: #error "wxUSE_TIPWINDOW must be defined." > ../../include/wx/chkconf.h:787:9: #error "wxUSE_TOOLBAR must be defined." > ../../include/wx/chkconf.h:795:9: #error "wxUSE_TOOLTIPS must be defined." > ../../include/wx/chkconf.h:803:9: #error "wxUSE_TREECTRL must be defined." > ../../include/wx/chkconf.h:811:9: #error "wxUSE_VALIDATORS must be defined." > ../../include/wx/chkconf.h:819:9: #error "wxUSE_WXHTML_HELP must be > defined." > ../../include/wx/chkconf.h:1544:9: #error "wxMessageBox is always needed" > mingw32-make: *** [gcc_mswdll\wxregex_regexec.o] Error 1 > system: mingw32-make -f makefile.gcc all UNICODE=0 MSLU=0 BUILD=release > SHARED= > 1: 512 at inc/My/Build/Win32.pm line 246 > C:\src\Alien-wxWidgets-0.19> > > I'll keep poking at this for my own sake until/unless you point me in > another direction, Mattia. :) > > > Ed Heil wrote: > >> I've been working on this a little more. >> >> What seems to keep happening is that patches don't get made. Perhaps >> I'm missing some patch-related functionality here? Where a file >> should be patched, it seems to be moved to a .bak file and an empty >> file is left in its place. >> >> Right now I'm applying patches by hand and seeing if that helps. (I >> had a patch utility in cygwin but I made cygwin go away so it wouldn't >> get in the way of MINGW.) >> >> >> Mattia Barbon wrote: >> >>> On Sat, 12 Aug 2006 19:36:44 -0400 >>> Ed Heil <ed...@do...> wrote: >>> >>> >>> >>>> mingw32-make: *** No rule to make target `all'. Stop. >>>> system: mingw32-make -f makefile.gcc all UNICODE=0 MSLU=0 BUILD=release >>>> SHARED= >>>> 1: 512 at inc/My/Build/Win32.pm line 246 >>>> >>>> >>> Could you stick a 'print cwd, "\n"' at that line to see where >>> is it trying to chdir to, and if is there a makefile.gcc in that >>> directory. >>> >>> Thanks! >>> Mattia >>> >>> >> ------------------------------------------------------------------------ >> >> ------------------------------------------------------------------------- >> Using Tomcat but need to do more? Need to support web services, security? >> Get stuff done quickly with pre-integrated technology to make your job easier >> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> wxperl-users mailing list >> wxp...@li... >> https://lists.sourceforge.net/lists/listinfo/wxperl-users >> >> > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > wxperl-users mailing list > wxp...@li... > https://lists.sourceforge.net/lists/listinfo/wxperl-users > |
From: Ed H. <ed...@do...> - 2006-08-15 02:41:28
|
After extensive hand-patching I gave things another try. I've got a copy of wxWidgets-2.6.3 unzipped and hand-patched in my Alien-WxWidgets-0.19 directory. C:\src\Alien-wxWidgets-0.19> C:\src\Alien-wxWidgets-0.19>perl Build.PL Deleting _build Creating custom builder _build\lib\My\Build\new_from_context_is_broken.pm in _bu ild\lib\My\Build Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Checking whether your kit is complete... Looks good Checking prerequisites... Looks good Do you want to build wxWidgets? [no] yes Which archive type? [tar.gz] zip Deleting Build Removed previous script 'Build' Creating new 'Build' script for 'Alien-wxWidgets' version '0.19' C:\src\Alien-wxWidgets-0.19>perl Build Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) Set up gcc environment - 3.4.2 (mingw-special) if not exist ..\..\lib\gcc_dll\msw mkdir ..\..\lib\gcc_dll\msw gcc -c -o gcc_mswdll\wxregex_regexec.o -O2 -mthreads -DHAVE_W32API_H -I..\..\i nclude -I..\..\lib\gcc_dll\msw -D__WXMSW__ -MTgcc_mswdll\wxregex_regexec.o -M Fgcc_mswdll\wxregex_regexec.o.d -MD ../../src/regex/regexec.c In file included from ../../include/wx/platform.h:271, from ../../include/wx/defs.h:21, from ../../src/regex/regcustom.h:39, from ../../src/regex/regguts.h:38, from ../../src/regex/regexec.c:32: ../../include/wx/chkconf.h:85:9: #error "wxUSE_DYNLIB_CLASS must be defined." ../../include/wx/chkconf.h:93:9: #error "wxUSE_EXCEPTIONS must be defined." ../../include/wx/chkconf.h:101:9: #error "wxUSE_FILESYSTEM must be defined." ../../include/wx/chkconf.h:114:9: #error "wxUSE_DYNAMIC_LOADER must be defined." ../../include/wx/chkconf.h:122:9: #error "wxUSE_LOG must be defined." ../../include/wx/chkconf.h:130:9: #error "wxUSE_LONGLONG must be defined." ../../include/wx/chkconf.h:138:9: #error "wxUSE_MIMETYPE must be defined." ../../include/wx/chkconf.h:154:9: #error "wxUSE_PROTOCOL must be defined." ../../include/wx/chkconf.h:196:9: #error "wxUSE_REGEX must be defined." ../../include/wx/chkconf.h:204:9: #error "wxUSE_STDPATHS must be defined." ../../include/wx/chkconf.h:212:9: #error "wxUSE_XML must be defined." ../../include/wx/chkconf.h:220:9: #error "wxUSE_SOCKETS must be defined." ../../include/wx/chkconf.h:228:9: #error "wxUSE_STREAMS must be defined." ../../include/wx/chkconf.h:236:9: #error "wxUSE_STOPWATCH must be defined." ../../include/wx/chkconf.h:244:9: #error "wxUSE_TEXTBUFFER must be defined." ../../include/wx/chkconf.h:252:9: #error "wxUSE_TEXTFILE must be defined." ../../include/wx/chkconf.h:268:9: #error "wxUSE_URL must be defined." ../../include/wx/chkconf.h:286:9: #error "wxUSE_ACCEL must be defined." ../../include/wx/chkconf.h:294:9: #error "wxUSE_BMPBUTTON must be defined." ../../include/wx/chkconf.h:302:9: #error "wxUSE_BUTTON must be defined." ../../include/wx/chkconf.h:310:9: #error "wxUSE_CALENDARCTRL must be defined." ../../include/wx/chkconf.h:318:9: #error "wxUSE_CARET must be defined." ../../include/wx/chkconf.h:326:9: #error "wxUSE_CHECKBOX must be defined." ../../include/wx/chkconf.h:342:9: #error "wxUSE_CHOICE must be defined." ../../include/wx/chkconf.h:350:9: #error "wxUSE_CHOICEBOOK must be defined." ../../include/wx/chkconf.h:358:9: #error "wxUSE_CHOICEDLG must be defined." ../../include/wx/chkconf.h:366:9: #error "wxUSE_CLIPBOARD must be defined." ../../include/wx/chkconf.h:374:9: #error "wxUSE_COLOURDLG must be defined." ../../include/wx/chkconf.h:382:9: #error "wxUSE_COMBOBOX must be defined." ../../include/wx/chkconf.h:390:9: #error "wxUSE_DATAOBJ must be defined." ../../include/wx/chkconf.h:398:9: #error "wxUSE_DATEPICKCTRL must be defined." ../../include/wx/chkconf.h:406:9: #error "wxUSE_DISPLAY must be defined." ../../include/wx/chkconf.h:414:9: #error "wxUSE_DOC_VIEW_ARCHITECTURE must be de fined." ../../include/wx/chkconf.h:422:9: #error "wxUSE_FILEDLG must be defined." ../../include/wx/chkconf.h:430:9: #error "wxUSE_FONTDLG must be defined." ../../include/wx/chkconf.h:438:9: #error "wxUSE_FONTMAP must be defined." ../../include/wx/chkconf.h:446:9: #error "wxUSE_GAUGE must be defined." ../../include/wx/chkconf.h:454:9: #error "wxUSE_GRID must be defined." ../../include/wx/chkconf.h:462:9: #error "wxUSE_HELP must be defined." ../../include/wx/chkconf.h:470:9: #error "wxUSE_HTML must be defined." ../../include/wx/chkconf.h:478:9: #error "wxUSE_XRC must be defined." ../../include/wx/chkconf.h:499:9: #error "wxUSE_ICO_CUR must be defined." ../../include/wx/chkconf.h:507:9: #error "wxUSE_IFF must be defined." ../../include/wx/chkconf.h:515:9: #error "wxUSE_IMAGLIST must be defined." ../../include/wx/chkconf.h:523:9: #error "wxUSE_JOYSTICK must be defined." ../../include/wx/chkconf.h:531:9: #error "wxUSE_LISTBOOK must be defined." ../../include/wx/chkconf.h:539:9: #error "wxUSE_LISTBOX must be defined." ../../include/wx/chkconf.h:547:9: #error "wxUSE_LISTCTRL must be defined." ../../include/wx/chkconf.h:555:9: #error "wxUSE_LOGGUI must be defined." ../../include/wx/chkconf.h:563:9: #error "wxUSE_LOGWINDOW must be defined." ../../include/wx/chkconf.h:571:9: #error "wxUSE_LOG_DIALOG must be defined." ../../include/wx/chkconf.h:579:9: #error "wxUSE_MDI must be defined." ../../include/wx/chkconf.h:587:9: #error "wxUSE_MDI_ARCHITECTURE must be defined ." ../../include/wx/chkconf.h:595:9: #error "wxUSE_MENUS must be defined." ../../include/wx/chkconf.h:603:9: #error "wxUSE_MSGDLG must be defined." ../../include/wx/chkconf.h:611:9: #error "wxUSE_NOTEBOOK must be defined." ../../include/wx/chkconf.h:619:9: #error "wxUSE_PALETTE must be defined." ../../include/wx/chkconf.h:627:9: #error "wxUSE_POPUPWIN must be defined." ../../include/wx/chkconf.h:635:9: #error "wxUSE_PRINTING_ARCHITECTURE must be de fined." ../../include/wx/chkconf.h:643:9: #error "wxUSE_RADIOBOX must be defined." ../../include/wx/chkconf.h:651:9: #error "wxUSE_RADIOBTN must be defined." ../../include/wx/chkconf.h:659:9: #error "wxUSE_SASH must be defined." ../../include/wx/chkconf.h:667:9: #error "wxUSE_SCROLLBAR must be defined." ../../include/wx/chkconf.h:675:9: #error "wxUSE_SLIDER must be defined." ../../include/wx/chkconf.h:683:9: #error "wxUSE_SOUND must be defined." ../../include/wx/chkconf.h:691:9: #error "wxUSE_SPINBTN must be defined." ../../include/wx/chkconf.h:699:9: #error "wxUSE_SPINCTRL must be defined." ../../include/wx/chkconf.h:707:9: #error "wxUSE_SPLASH must be defined." ../../include/wx/chkconf.h:715:9: #error "wxUSE_SPLITTER must be defined." ../../include/wx/chkconf.h:723:9: #error "wxUSE_STATBMP must be defined." ../../include/wx/chkconf.h:731:9: #error "wxUSE_STATBOX must be defined." ../../include/wx/chkconf.h:739:9: #error "wxUSE_STATLINE must be defined." ../../include/wx/chkconf.h:747:9: #error "wxUSE_STATTEXT must be defined." ../../include/wx/chkconf.h:755:9: #error "wxUSE_STATUSBAR must be defined." ../../include/wx/chkconf.h:763:9: #error "wxUSE_TAB_DIALOG must be defined." ../../include/wx/chkconf.h:771:9: #error "wxUSE_TEXTCTRL must be defined." ../../include/wx/chkconf.h:779:9: #error "wxUSE_TIPWINDOW must be defined." ../../include/wx/chkconf.h:787:9: #error "wxUSE_TOOLBAR must be defined." ../../include/wx/chkconf.h:795:9: #error "wxUSE_TOOLTIPS must be defined." ../../include/wx/chkconf.h:803:9: #error "wxUSE_TREECTRL must be defined." ../../include/wx/chkconf.h:811:9: #error "wxUSE_VALIDATORS must be defined." ../../include/wx/chkconf.h:819:9: #error "wxUSE_WXHTML_HELP must be defined." ../../include/wx/chkconf.h:1544:9: #error "wxMessageBox is always needed" mingw32-make: *** [gcc_mswdll\wxregex_regexec.o] Error 1 system: mingw32-make -f makefile.gcc all UNICODE=0 MSLU=0 BUILD=release SHARED= 1: 512 at inc/My/Build/Win32.pm line 246 C:\src\Alien-wxWidgets-0.19> I'll keep poking at this for my own sake until/unless you point me in another direction, Mattia. :) Ed Heil wrote: > I've been working on this a little more. > > What seems to keep happening is that patches don't get made. Perhaps > I'm missing some patch-related functionality here? Where a file > should be patched, it seems to be moved to a .bak file and an empty > file is left in its place. > > Right now I'm applying patches by hand and seeing if that helps. (I > had a patch utility in cygwin but I made cygwin go away so it wouldn't > get in the way of MINGW.) > > > Mattia Barbon wrote: >> On Sat, 12 Aug 2006 19:36:44 -0400 >> Ed Heil <ed...@do...> wrote: >> >> >>> mingw32-make: *** No rule to make target `all'. Stop. >>> system: mingw32-make -f makefile.gcc all UNICODE=0 MSLU=0 BUILD=release >>> SHARED= >>> 1: 512 at inc/My/Build/Win32.pm line 246 >>> >> >> Could you stick a 'print cwd, "\n"' at that line to see where >> is it trying to chdir to, and if is there a makefile.gcc in that >> directory. >> >> Thanks! >> Mattia >> > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > ------------------------------------------------------------------------ > > _______________________________________________ > wxperl-users mailing list > wxp...@li... > https://lists.sourceforge.net/lists/listinfo/wxperl-users > |
From: Ed H. <ed...@do...> - 2006-08-15 01:52:35
|
I've been working on this a little more. What seems to keep happening is that patches don't get made. Perhaps I'm missing some patch-related functionality here? Where a file should be patched, it seems to be moved to a .bak file and an empty file is left in its place. Right now I'm applying patches by hand and seeing if that helps. (I had a patch utility in cygwin but I made cygwin go away so it wouldn't get in the way of MINGW.) Mattia Barbon wrote: > On Sat, 12 Aug 2006 19:36:44 -0400 > Ed Heil <ed...@do...> wrote: > > >> mingw32-make: *** No rule to make target `all'. Stop. >> system: mingw32-make -f makefile.gcc all UNICODE=0 MSLU=0 BUILD=release >> SHARED= >> 1: 512 at inc/My/Build/Win32.pm line 246 >> > > Could you stick a 'print cwd, "\n"' at that line to see where > is it trying to chdir to, and if is there a makefile.gcc in that > directory. > > Thanks! > Mattia > |
From: Mark D. <mar...@zn...> - 2006-08-15 00:45:24
|
Hi Peter, Code below works. I'm afraid I don't know enough about Perl and Wx internals to explain why your original doesn't work which is probably unsatisfactory - but at least it means you have some working code! Its all in the way Wx::App is instantiated, I think. I also removed the variables declared as 'our' from the Test_ui package as I'm sure they are not what you want. (but this was not cause of problem) Regards Mark #!/usr/bin/perl -w -- my $app = DemoApp->new(); $app->MainLoop(); package DemoApp;; use strict; use Wx qw[:everything]; use base qw (Wx::App); sub OnInit { Wx::InitAllImageHandlers(); my $ui = Test_ui->new(); $app->SetTopWindow($ui); $ui->Show(1); } package Test_ui; use Wx qw[:everything :allclasses]; use Wx::Event qw(EVT_LEFT_UP); use base qw(Wx::Frame); sub new { my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_; $parent = undef unless defined $parent; $id = -1 unless defined $id; $title = "" unless defined $title; $pos = wxDefaultPosition unless defined $pos; $size = wxDefaultSize unless defined $size; $name = "" unless defined $name; $style = wxDEFAULT_FRAME_STYLE unless defined $style; $self = $self->SUPER::new( $parent, $id, $title, $pos, $size, $style, $name ); my $main_sizer=Wx::BoxSizer->new(wxVERTICAL); $self->{keywords_text} = Wx::TextCtrl->new($self, -1, "1. Apples\n2. Bananas\n3. Cherries\n4. Durian", wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_MULTILINE|wxTE_DONTWRAP); $main_sizer->Add( $self->{keywords_text}, 1, wxEXPAND|wxALL, 2); $self->SetAutoLayout(1); $self->SetSizer($main_sizer); $self->Layout(); EVT_LEFT_UP( $self->{keywords_text}, \&handle_keywords_left_up); $self->{__wordlist} = ['Apples','Bananas','Cherries','Durian']; $self->{ISFRAME} = 1; return $self; } sub handle_keywords_left_up { my ($control, $event) =@_; my $self = $control->GetParent(); my $ip = $self->{keywords_text}->GetInsertionPoint(); my ($col,$row)=$self->{keywords_text}->PositionToXY($ip); my @keywords = @{ $self->{__wordlist} }; print("editing keyword #$row\n"); return unless $keywords[$row]; my $newtext=Wx::GetTextFromUser( "Edit keyword $keywords[$row]", "Edit keyword $keywords[$row]", $keywords[$row], $self, 0, 0); if ($newtext) { $keywords[$row]=$newtext; my $keyword_text=''; my $i=1; foreach my $k ( @keywords) { $keyword_text .= "$i.\t$k\n"; $i++; } $self->{keywords_text}->SetValue( $keyword_text); } $event->Skip(1); } 1; Peter Theobald wrote: > I have a TextCtrl with keywords in it. When the user clicks on a keyword I pop > up a modal dialog to edit the keyword........ |