Hi Francois,

I don't recall the your installation was sooo painless!

Is the .gif path correct?  It looks kinda short.

Steve.

On 01/05/15 08:22, RAPPAZ Francois wrote:
Hi
I have upgrade to a recent strawberry and the installation of Wx was painless. 
The errors when the main frame close are gone.

I'm now learning with Wx::Demo and I'm trying to use and XRC file to build an 
GUI.

I have 3 files (see below). The xrc folder has been copied from 
..perl\site\lib\Wx\DemoModules\files\xrc

It contains the resource.xrc file and 5 gif files that are used in resource.xrc.

When I run my code I received the following errors

13:11:10: Unknown image data format.
13:11:10: XRC error: 21: cannot create bitmap from "fileopen.gif"
...

I'm surely missing something pretty obvious, but ...

Thanks for help

François

My files are
./test.pl:

use strict;
use warnings;
use Xrc;
my $a = Xrc->new;
$a->app->MainLoop;

./Xrc.pm:

use Wx::XRC;
use strict;
use warnings;
package Xrc;

use strict;
use base qw(Wx::Panel Class::Accessor::Fast);

use Wx::Event qw(EVT_BUTTON EVT_MENU);

__PACKAGE__->mk_ro_accessors( qw(xrc app) );

sub new {
     my( $class, $parent ) = @_;
     my $self = $class->SUPER::new( $parent );

     # load XRC file
     $self->{xrc} = Wx::XmlResource->new();
     $self->xrc->InitAllHandlers();
$self->xrc->Load('xrc/resource.xrc');

     $self->{app} = Wx::SimpleApp->new;
    show_frame($self);
     return $self;
}

sub show_frame {
     my( $self ) = @_;

     my $frame = Wx::Frame->new
       ( undef, -1, 'XML resources demo', [50, 50], [450, 340] );
       my $menubar = $self->xrc->LoadMenuBar( 'mainmenu' );
        my $toolbar = $self->xrc->LoadToolBar( $self, 'toolbar' );

       $frame->SetMenuBar( $menubar );
        $frame->SetToolBar( $toolbar );

     EVT_MENU( $frame, Wx::XmlResource::GetXRCID( 'menu_quit' ),
               sub { $frame->Close } );
     EVT_MENU( $frame, Wx::XmlResource::GetXRCID( 'menu_dlg1' ),
               sub { $self->show_dialog( $frame, undef ) } );

     $frame->Show;
}
1;
./xrc/resource.xrc
<?xml version="1.0"?>
<resource>
   <object class="wxMenuBar" name="mainmenu">
     <style>wxMB_DOCKABLE</style>
     <object class="wxMenu" name="menu_file">
       <label>$File</label>
       <style>wxMENU_TEAROFF</style>
       <object class="wxMenuItem" name="menu_dlg1">
         <label>Dialog</label>
       </object>
       <object class="separator"/>
       <object class="wxMenuItem" name="menu_quit">
         <label>E$xit\tAlt-X</label>
       </object>
     </object>
   </object>
   <object class="wxToolBar" name="toolbar">
     <style>wxTB_FLAT|wxTB_DOCKABLE</style>
     <margins>2,2</margins>
     <object class="tool" name="menu_open">
            <bitmap>fileopen.gif</bitmap>
       <tooltip>Open catalog</tooltip>
     </object>
     <object class="tool" name="menu_save">
            <bitmap>filesave.gif</bitmap>
       <tooltip>Save catalog</tooltip>
     </object>
...


Reply via email to