Changeset 6427 for extensions/pLoader


Ignore:
Timestamp:
May 31, 2010, 12:05:32 PM (14 years ago)
Author:
ronosman
Message:

Need to subclass GetSubItemRect method to make custom progress bar positioning work.

File:
1 edited

Legend:

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

    r6426 r6427  
    22use strict;
    33use Wx qw/
     4    wxDefaultPosition
     5    wxDefaultSize
    46    wxGA_SMOOTH
    57/;
     
    2729            my ( $self, $event ) = @_;
    2830
    29             $self->paint_progress_bars;
     31            eval { $self->paint_progress_bars; };
    3032            $event->Skip;
    3133        }
     
    3941
    4042    return unless defined $self->progress_column;
    41 
     43   
    4244    my $rect = $self->GetSubItemRect($item, $self->progress_column);
    4345
     
    5254}
    5355
     56sub GetSubItemRect {
     57    my ( $self, $item, $subitem ) = @_;
     58
     59    my $rect;
     60    eval { $rect = $self->SUPER::GetSubItemRect($item, $subitem); };
     61    if($@){
     62
     63        # have to calculate sub item position and size
     64        $rect = $self->GetItemRect($item);
     65
     66        my $x = $rect->GetX;
     67        map { $x += $self->GetColumnWidth($_ ) } grep { $_ < $subitem } (0..$subitem);
     68
     69        $rect->SetX($x);
     70        $rect->SetWidth(
     71            $self->GetColumnWidth($subitem )
     72        );
     73    }
     74
     75    $rect;
     76}
    5477
    5578sub SetItemProgressValue {
Note: See TracChangeset for help on using the changeset viewer.