Think you need a sizer to get radiobutton to show The sequence I follow that works for me
notebook(whatever) panel(notebook) panel sizer addpage(panel) everything_else(panel)... ... panel(notebook) panel sizer addpage(panel) everything_else(panel)... ... etc......... Jeff On 7/29/2010 10:03 AM, Lioz Cohn wrote:
Hi I tried to add Radio buttons the notebook example which appears in the Padre. but it seems that the handlers doesn't do anything ? PSB my code Can somebody help. Thanks Lioz #!/usr/bin/perl use strict; use warnings; ############################################################################# ## ## ## Copyright: (c) The Padre development team ## Licence: This program is free software; you can redistribute it and/or ## modify it under the same terms as Perl itself ############################################################################# my $app = Demo::ListView->new; $app->MainLoop; ##################### package Demo::ListView; use strict; use warnings; use base 'Wx::App'; sub OnInit { my $frame = Demo::Frame->new; $frame->Show(1); } ##################### package Demo::Frame; use strict; use warnings; use Wx ':everything'; use Wx::Event ':everything'; use Wx qw(:radiobutton :font wxDefaultPosition wxDefaultSize); use Wx::Event qw(EVT_RADIOBUTTON EVT_BUTTON); use base 'Wx::Frame'; sub new { my ($class) = @_; my $self = $class->SUPER::new( undef, -1, 'Notebook ', [ -1, -1 ], [ 750, 700 ], ); # # Creating the notebook with tabs (also called panes) my $nb = Wx::Notebook->new( $self, -1, wxDefaultPosition, wxDefaultSize, wxNO_FULL_REPAINT_ON_RESIZE | wxCLIP_CHILDREN ); my $rb11 = Wx::RadioButton->new( $nb, -1, "Radio&10,300", [10, 300], wxDefaultSize,,wxRB_GROUP ); my $rb21 = Wx::RadioButton->new( $nb, -1, "Radio&20,300", [10, 330], wxDefaultSize, wxRB_GROUP ); # creating the content of the first tab my $editor = Wx::TextCtrl->new( $nb, -1, '', Wx::wxDefaultPosition, Wx::wxDefaultSize, wxTE_MULTILINE | wxNO_FULL_REPAINT_ON_RESIZE ); # add first tab $nb->AddPage( $editor, 'Editor', 0); $rb11->SetValue(0); $rb21->SetValue(0); my $choices = [ 'This example', 'was borrowed', 'from an example', 'Hi David ', 'How are you ?' ]; my $listbox = Wx::ListBox->new( $nb, -1, Wx::wxDefaultPosition, Wx::wxDefaultSize, $choices ); $nb->AddPage( $listbox, 'Listbox', 1 ); EVT_LISTBOX_DCLICK( $self, $listbox, \&on_listbox_double_click ); EVT_BUTTON( $self, $rb11, \& OnRadioButton_Sel1); EVT_BUTTON( $self, $rb21, \&OnRadioButton_Sel2 ); return $self; } sub OnRadio { my( $self, $event ) = @_; Wx::LogMessage( join '', "RadioButton selection string is: ", $event->GetEventObject->GetLabel ); } sub OnRadioButton_Sel1 { my( $self, $event ) = @_; $self->lb->rb11->SetValue( 1 ); Wx::LogMessage( join '', "RadioButton selection string is: ", $event->GetEventObject->GetLabel ); } sub OnRadioButton_Sel2 { my( $self, $event ) = @_; exit(); $self->radiobut1_2->SetValue( 1 ); } sub on_listbox_double_click { my ( $self, $event ) = @_; Wx::MessageBox( "Double clicked: '" . $event->GetString() . "'", '', Wx::wxOK | Wx::wxCENTRE, $self ); }