Hi.
Does anyone have a simple example showing how to use wxPerl with XRC and
a frame.
I tried using the following as a test, but I can't get it to work. Can
someone give me some hints as to what is going wrong.
Thanks,
Peter
<?xml version="1.0" encoding="UTF-8"?>
<resource version="2.3.0.1" xmlns="http://www.wxwidgets.org/wxxrc">
<object class="wxFrame" name="ID_FRAME" subclass="MyFrame">
<style>wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|
wxCLOSE_BOX</style>
<size>400,300</size>
<title>My Simple Test</title>
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTER_VERTICAL|wxALL|
wxADJUST_MINSIZE</flag>
<border>5</border>
<object class="wxStaticText" name="wxID_STATIC">
<label>Input</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxButton" name="ID_BUTTON1">
<label>Press Me...</label>
</object>
</object>
</object>
</object>
</resource>
#! /usr/bin/perl
use strict;
use Wx;
package MyApp;
use vars qw(@ISA);
use Wx::XRC ;
@ISA = qw(Wx::App);
sub OnInit {
my ($this) = shift;
my $xrc = Wx::XmlResource->new();
$xrc->InitAllHandlers();
$xrc->Load("globalXRC");
my ($frame) = MyFrame->new($xrc);
$this->SetTopWindow($frame);
$frame->Show(1);
}
package MyFrame;
use vars qw(@ISA);
@ISA = qw(Wx::Frame);
use Wx qw(:everything);
sub new {
# new frame with no parent, id -1, title 'Hello, world!'
my ($this) = shift->SUPER::new( undef, -1, 'Hello,
world!',wxDefaultPosition , [350, 100]);
my $xrc = shift ;
$this->{xrc} = $xrc ;
$xrc->LoadFrame($this,'ID_FRAME') ;
return $this;
}
package main;
my ($app) = MyApp->new();
$app->MainLoop()
|