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 );
}


Reply via email to