I would like to split my gui in two xrc files. One file (test.xrc) has buttons to navigate database rows and the other (content2.xrc) displays a row and has fields and labels.
Content2.xrc has a top frame wxFrame, a vertical sizer, and a wxPanel (m_panel1). This panel hold the fields and labels. test.xrc has a top frame, a menubar and boxsizer that holds two panels (m_panel1 and m_panel2). I would like to replace test.xrc's m_panel1 with content2.xrc's m_panel1. I have the following code that print ok (after the gui is displayed) but that does not show the fields and labels from content2.xrc Thanks for any help François 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/test.xrc'); $self->{app} = Wx::SimpleApp->new; $self->show_frame(); return $self; } sub show_frame { my( $self ) = @_; # my $frame = Wx::Frame->new( undef, -1, 'XML resources demo', [50, 50], [450, 340] ); my $frame = $self->{xrc}->LoadFrame(undef, 'MyFrame1'); my $panel = Wx::Window::FindWindowByLabel('m_panel1', $frame); $self->reparent('xrc/content2.xrc', $panel); $frame->Show; } sub reparent { my ($self, $path, $where) = @_; my $xrc = Wx::XmlResource->new; $xrc->InitAllHandlers(); #Load('xrc/content2.xrc'); $xrc->Load($path); my $subframe = $xrc->LoadFrame(undef,'MyFrame1'); $subframe->Show; my $content = Wx::Window::FindWindowByLabel('m_panel1', $subframe); if ($content->Reparent($where)) { print "OK";} else {print "failed";} $subframe->Destroy; } François Rappaz Centre de documentation de la Faculté des Sciences Université de Fribourg DokPe - Dokumentationszentrum der Naturwissenschaftlichen Fakultät Universität Freiburg Rue du Musée 4 CH-1700 Fribourg Switzerland http://www.unifr.ch/dokpe/ Tel.: 41 (0)26 300 92 60 Fax.: 41 (0)26 300 97 30