Changeset 4469


Ignore:
Timestamp:
12/10/09 21:04:35 (10 years ago)
Author:
ronosman
Message:

Code factorization for properties management : use an inherited class instead of a module.

Location:
extensions/pLoader/trunk/src/Uploader/GUI
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/pLoader/trunk/src/Uploader/GUI/DlgCommon.pm

    r4467 r4469  
    22use strict; 
    33 
     4use base qw/ 
     5               Class::Accessor::Fast 
     6           /;  
     7 
     8__PACKAGE__->mk_accessors(      
     9    qw/ 
     10        properties 
     11      / 
     12); 
     13 
     14 
    415sub SetProperties { 
    5     my ($dlg, $properties ) = @_; 
     16    my ( $self ) = @_; 
    617         
    718        map { 
    8         my $ctrl =$dlg->FindWindow($_); 
     19        my $ctrl =$self->FindWindow($_); 
    920        #printf("ctrl %s : %s\n", $_, $ctrl);            
    1021        if(defined $ctrl){ 
    1122                # checkbox, static text 
    1223                $ctrl->SetLabel( 
    13            $dlg->properties->{$_}->{label} 
    14                 ) if exists$dlg->properties->{$_}->{label}; 
     24           $self->properties->{$_}->{label} 
     25                ) if exists$self->properties->{$_}->{label}; 
    1526 
    1627        $ctrl->SetValue( 
    17            $dlg->properties->{$_}->{value}->() 
    18                 ) if exists$dlg->properties->{$_}->{value}; 
     28           $self->properties->{$_}->{value}->() 
     29                ) if exists$self->properties->{$_}->{value}; 
    1930 
    2031        # radiobox 
    21         my $labels =$dlg->properties->{$_}->{labels}; 
     32        my $labels =$self->properties->{$_}->{labels}; 
    2233                $labels||=[]; 
    2334                for(my $i=0; $i < scalar @$labels ; $i++){ 
     
    2637                # only works for control with items 
    2738                $ctrl->SetSelection( 
    28                     $dlg->properties->{$_}->{selection}->()                      
    29                 ) if exists $dlg->properties->{$_}->{selection}; 
     39                    $self->properties->{$_}->{selection}->()                     
     40                ) if exists $self->properties->{$_}->{selection}; 
    3041                 
    3142                } 
    3243    } 
    33         keys %$properties; 
     44        keys %{$self->properties}; 
    3445} 
    3546 
    3647sub GetProperties { 
    37     my ($dlg, $properties ) = @_; 
     48    my ( $self ) = @_; 
    3849 
    3950        map { 
    40         my $ctrl =$dlg->FindWindow($_); 
     51        my $ctrl = $self->FindWindow($_); 
    4152        #printf("ctrl %s : %s\n", $_, $ctrl);            
    4253        if(defined $ctrl){ 
    4354                # checkbox, static text 
    4455 
    45         $dlg->properties->{$_}->{value}->( 
     56        $self->properties->{$_}->{value}->( 
    4657            $ctrl->GetValue() 
    47                 ) if exists$dlg->properties->{$_}->{value}; 
     58                ) if exists $self->properties->{$_}->{value}; 
    4859 
    49         $dlg->properties->{$_}->{selection}->( 
     60        $self->properties->{$_}->{selection}->( 
    5061                    $ctrl->GetSelection()                        
    51                 ) if exists $dlg->properties->{$_}->{selection}; 
     62                ) if exists $self->properties->{$_}->{selection}; 
    5263                 
    5364                } 
    5465    } 
    55         keys %$properties; 
     66        keys %{$self->properties}; 
    5667} 
    57681; 
  • extensions/pLoader/trunk/src/Uploader/GUI/wxImageReuploadDlg.pm

    r4467 r4469  
    2727             wxGREEN 
    2828         /; 
    29 use base qw/Wx::Dialog Class::Accessor::Fast/; 
     29#use base qw/Wx::Dialog Class::Accessor::Fast Uploader::GUI::DlgCommon/; 
     30use base qw/Wx::Dialog Uploader::GUI::DlgCommon/; 
    3031use Wx::Event qw/ 
    3132                    EVT_UPDATE_UI 
     
    3435                /; 
    3536 
    36 __PACKAGE__->mk_accessors(  
    37     qw/ 
    38         properties 
    39       /  
    40 ); 
    4137use Carp; 
    42 use Uploader::GUI::DlgCommon; 
    4338 
    4439sub new { 
     
    5752        ); 
    5853 
    59         Uploader::GUI::DlgCommon::SetProperties($self, $self->properties); 
     54        $self->SetProperties(); 
    6055        $self->_initEventHandlers(); 
    6156 
     
    9590    my ( $self ) = @_; 
    9691 
    97     Uploader::GUI::DlgCommon::GetProperties($self, $self->properties); 
     92    $self->GetProperties(); 
    9893                 
    9994    $self->Destroy; 
Note: See TracChangeset for help on using the changeset viewer.