Steve:

The exit(0) seems to be causing a segmentation fault. Any Ideas?

Latest version of the code is attached.

Thanks,
James


On Thu, Jan 29, 2015 at 4:29 PM, James Lynes <jmlyne...@gmail.com> wrote:

> Steve:
>
> I believe I looked at Glade a couple of years ago. Seems it kept crashing
> on me so I just went back to the old manual method.
>
> Thanks for the sample code.
>
> James
>
>
> On Thu, Jan 29, 2015 at 12:28 PM, Steve Cookson - gmail <
> steveco.1...@gmail.com> wrote:
>
>> Hi James,
>>
>> I've replied to the list as well because I feel it needs a bit of loving!
>>
>> On 28/01/15 18:23, James Lynes wrote:
>>
>>> Hi Steve:
>>>
>>> How's your project rollout going?
>>>
>> Very kind of you to ask.  The launch went very well, since then we have
>> been dealing with the manufacturer and we are working to a delivery of the
>> first batch to Brazil by the end of March.  Our Brazilian salesman is
>> confident that he will sell all the first batch without too much difficulty.
>>
>>> What's the accepted method to shutdown an application?
>>>
>>> I can use die, but there must be a WX call that should be used. I don't
>>> want to leave a frame open on the screen that has to be closed manually.
>>>
>>> Example using die is attached. (Wrapper around a command line
>>> application)
>>>
>>
>> The short answer to your question is probably "exit(0);" called from an
>> exit button.
>>
>> However, the longer answer is did you ever see wxGlade?
>>
>> I don't know whether wxGlade was ever converted to 3.0.x, but it did work
>> on 2.8 and I thought 2.9.  It's a wonderful way to get started with all the
>> Wx paradigms.  I used it extensively at the beginning.
>>
>> I re-wrote the OnInit subroutine as below.  It uses Wx::BoxSizer and
>> Wx::Events, both of which will help your application.  I also used
>> Wx::FilePickerCtrl as a control to get the .pdf file.
>>
>> Have fun with it.
>>
>> Best regards
>>
>> Steve.
>>
>>
>> sub OnInit {
>>
>>     my $parent  = shift;
>>
>>
>>     my $frame = Wx::Frame->new(undef, wxID_ANY, "", wxDefaultPosition,
>> wxDefaultSize );
>>
>>     $parent->SetTopWindow($frame);
>>
>>     #Create controls
>>     # Fields
>>     my $pdfLabel=Wx::StaticText->new($frame, wxID_ANY,"PDF file",
>> wxDefaultPosition, wxDefaultSize);
>>     my $pdfFilePicker=Wx::FilePickerCtrl->new($frame, wxID_ANY, "",
>> "Pick a folder","*.pdf",wxDefaultPosition, [200,-1],
>> wxDIRP_DIR_MUST_EXIST|wxDIRP_CHANGE_DIR|wxDIRP_USE_TEXTCTRL);
>>     $pdfFilePicker->SetPath("/home/image/");
>>     my $cropLabel=Wx::StaticText->new($frame, wxID_ANY,"crop string",
>> wxDefaultPosition, wxDefaultSize);
>>     my $cropStringText=Wx::TextCtrl->new($frame, wxID_ANY,"crop string",
>> wxDefaultPosition, [200,-1]);
>>     # Buttons
>>     my $okButton = Wx::Button->new($frame, wxID_OK, "",
>> wxDefaultPosition, wxDefaultSize);
>>     my $cancelButton = Wx::Button->new($frame, wxID_CANCEL, "",
>> wxDefaultPosition, wxDefaultSize);
>>
>>     # Create sizers.
>>     my $verticalSizerFrame = Wx::BoxSizer->new(wxVERTICAL);
>>     $frame->SetSizer($verticalSizerFrame);
>>     my $verticalSizerControls = Wx::BoxSizer->new(wxVERTICAL);
>>     my $horizontalSizerButtons = Wx::BoxSizer->new(wxHORIZONTAL);
>>     # Lay 'em out.
>>     $verticalSizerFrame->Add($verticalSizerControls,0,0,0);
>>     $verticalSizerFrame->Add($horizontalSizerButtons,0,0,0);
>>
>>     $verticalSizerControls->Add($pdfLabel,0,0,0);
>>     $verticalSizerControls->Add($pdfFilePicker,0,0,0);
>>     $verticalSizerControls->Add($cropLabel,0,0,0);
>>     $verticalSizerControls->Add($cropStringText,0,0,0);
>>
>>     $horizontalSizerButtons->Add($okButton,0,0,0);
>>     $horizontalSizerButtons->Add($cancelButton,0,0,0);
>>
>>     # Event handlers
>>     Wx::Event::EVT_BUTTON($frame, $okButton, sub {
>>     my ($self, $event) = @_;
>>         exit (0);
>>     });
>>
>>     $verticalSizerFrame->Layout();
>>
>>     $frame->Show(1);
>>
>> }
>>
>>
>>> Thanks,
>>> James
>>>
>>
>>
>

Attachment: stevecode.pl
Description: Perl program

Reply via email to