Changeset 10847

Show
Ignore:
Timestamp:
02/20/10 01:03:11 (6 months ago)
Author:
azawawi
Message:

Initial attempt at True/False radio button instead of value for boolean preferences

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/Padre/lib/Padre/Wx/Dialog/Advanced.pm

    r10846 r10847  
    122122        $self->{value}->Enable(0); 
    123123 
     124        # Boolean value radio button fields 
     125        $self->{true} = Wx::RadioButton->new( $self, -1, Wx::gettext('&True') ); 
     126        $self->{false} = Wx::RadioButton->new( $self, -1, Wx::gettext('&False') ); 
     127        $self->{true}->Hide; 
     128        $self->{false}->Hide; 
     129 
    124130        # System default 
    125131        my $default_label = Wx::StaticText->new( $self, -1, Wx::gettext('Default value:') ); 
     
    170176        $value_sizer->Add( $value_label,          0, Wx::wxALIGN_CENTER_VERTICAL, 5 ); 
    171177        $value_sizer->Add( $self->{value},        1, Wx::wxALIGN_CENTER_VERTICAL, 5 ); 
     178        $value_sizer->Add( $self->{true},         1, Wx::wxALIGN_CENTER_VERTICAL | Wx::wxEXPAND, 5 ); 
     179        $value_sizer->Add( $self->{false},         1, Wx::wxALIGN_CENTER_VERTICAL, 5 ); 
    172180        $value_sizer->Add( $self->{button_set},   0, Wx::wxALIGN_CENTER_VERTICAL, 5 ); 
    173181        $value_sizer->Add( $self->{button_reset}, 0, Wx::wxALIGN_CENTER_VERTICAL, 5 ); 
     
    379387        my $type  = $pref->{type}; 
    380388 
    381         $self->{value}->SetValue( $self->_displayed_value( $type, $pref->{value} ) ); 
     389        my $is_boolean = ($pref->{type} == Padre::Constant::BOOLEAN) ? 1 : 0; 
     390        if($is_boolean) { 
     391                $self->{true}->SetValue( $pref->{value} ? 1 : 0 ); 
     392                $self->{false}->SetValue( $pref->{value} ? 0 : 1 ); 
     393        } else { 
     394                $self->{value}->SetValue( $self->_displayed_value( $type, $pref->{value} ) ); 
     395        } 
     396        $self->{value}->Show($is_boolean ? 0 : 1); 
     397        $self->{true}->Show($is_boolean ? 1 : 0); 
     398        $self->{false}->Show($is_boolean ? 1 : 0); 
     399        $self->Layout; 
     400         
    382401        $self->{default_value}->SetLabel( $self->_displayed_value( $type, $pref->{default} ) ); 
    383402