source: extensions/pLoader/trunk/res/progress_wdr.pl @ 4279

Last change on this file since 4279 was 4279, checked in by ronosman, 14 years ago

Feature 1064 added : improve upload progress dialog box to display current operation and the rank of the photo being uploaded.

  • Property svn:eol-style set to LF
File size: 2.6 KB
Line 
1use Wx;
2use strict;
3
4use Wx qw( wxDefaultSize wxDefaultPosition wxID_OK wxID_SAVE wxID_SAVEAS wxID_CANCEL wxID_YES wxID_EXIT wxID_ABOUT wxID_HELP );
5use Wx qw( wxVERTICAL wxHORIZONTAL wxALL wxLEFT wxRIGHT wxTOP wxBOTTOM wxCENTRE wxGROW wxADJUST_MINSIZE );
6use Wx qw( wxALIGN_RIGHT wxALIGN_BOTTOM wxALIGN_CENTER wxALIGN_CENTER_VERTICAL wxALIGN_CENTER_HORIZONTAL );
7use Wx qw( wxLI_HORIZONTAL );
8
9# Bitmap functions
10
11use Wx qw( wxNullBitmap wxBITMAP_TYPE_PNG );
12
13# Window functions
14
15use vars qw($ID_PROGRESS_TXT); $ID_PROGRESS_TXT = 10000;
16use vars qw($ID_STATICBITMAP); $ID_STATICBITMAP = 10001;
17use vars qw($ID_PROGRESS_GAUGE); $ID_PROGRESS_GAUGE = 10002;
18use vars qw($ID_LINE); $ID_LINE = 10003;
19use vars qw($ID_PROGRESS_OK); $ID_PROGRESS_OK = 10004;
20use vars qw($ID_PROGRESS_TXT2); $ID_PROGRESS_TXT2 = 10005;
21
22sub ProcessingProgress {
23    my( $item0 ) = Wx::BoxSizer->new( wxVERTICAL );
24   
25    my( $item1 ) = Wx::BoxSizer->new( wxVERTICAL );
26   
27    my( $item2 ) = Wx::StaticText->new( $_[0], $main::ID_PROGRESS_TXT, "", wxDefaultPosition, wxDefaultSize, 0 );
28    $item1->AddWindow( $item2, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
29
30    $item1->AddSpace( 20, 20, 0, wxALIGN_CENTER|wxALL, 5 );
31
32    my( $item3 ) = Wx::StaticBitmap->new( $_[0], $main::ID_STATICBITMAP, wxNullBitmap, wxDefaultPosition, [100,100] );
33    $item1->AddWindow( $item3, 0, wxALIGN_CENTER_VERTICAL|wxALL, 10 );
34
35    $item1->AddSpace( 20, 30, 0, wxALIGN_CENTER|wxALL, 5 );
36
37    my( $item30 ) = Wx::StaticText->new( $_[0], $main::ID_PROGRESS_TXT2, "", wxDefaultPosition, wxDefaultSize, 0 );
38    $item1->AddWindow( $item30, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
39
40    my( $item4 ) = Wx::Gauge->new( $_[0], $main::ID_PROGRESS_GAUGE, 100, wxDefaultPosition, [400,12], 0 );
41    $item1->AddWindow( $item4, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 10 );
42
43    $item0->Add( $item1, 0, wxALIGN_CENTER|wxALL, 5 );
44
45    my( $item5 ) = Wx::StaticLine->new( $_[0], $main::ID_LINE, wxDefaultPosition, [20,-1], wxLI_HORIZONTAL );
46    $item0->AddWindow( $item5, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
47
48    my( $item6 ) = Wx::BoxSizer->new( wxHORIZONTAL );
49   
50    my( $item7 ) = Wx::Button->new( $_[0], $main::ID_PROGRESS_OK, "OK", wxDefaultPosition, wxDefaultSize, 0 );
51    $item6->AddWindow( $item7, 0, wxALIGN_CENTER|wxALL, 5 );
52
53    $item0->Add( $item6, 0, wxALIGN_CENTER|wxALL, 5 );
54
55    my( $set_size ) = @_ >= 3 ? $_[2] : 1;
56    my( $call_fit ) = @_ >= 2 ? $_[1] : 1;
57    if( $set_size == 1 ) {
58         $_[0]->SetSizer( $item0 );
59         
60         if( $call_fit == 1 ) {
61             $item0->SetSizeHints( $_[0] );
62         }
63    }
64   
65    $item0;
66}
67
Note: See TracBrowser for help on using the repository browser.