[2597] | 1 | use Wx; |
---|
| 2 | use strict; |
---|
| 3 | |
---|
| 4 | use Wx qw( wxDefaultSize wxDefaultPosition wxID_OK wxID_SAVE wxID_SAVEAS wxID_CANCEL wxID_YES wxID_EXIT wxID_ABOUT wxID_HELP ); |
---|
| 5 | use Wx qw( wxVERTICAL wxHORIZONTAL wxALL wxLEFT wxRIGHT wxTOP wxBOTTOM wxCENTRE wxGROW wxADJUST_MINSIZE ); |
---|
| 6 | use Wx qw( wxALIGN_RIGHT wxALIGN_BOTTOM wxALIGN_CENTER wxALIGN_CENTER_VERTICAL wxALIGN_CENTER_HORIZONTAL ); |
---|
| 7 | use Wx qw( wxLI_HORIZONTAL ); |
---|
| 8 | |
---|
| 9 | # Bitmap functions |
---|
| 10 | |
---|
| 11 | use Wx qw( wxNullBitmap wxBITMAP_TYPE_PNG ); |
---|
| 12 | |
---|
| 13 | # Window functions |
---|
| 14 | |
---|
| 15 | use vars qw($ID_PROGRESS_TXT); $ID_PROGRESS_TXT = 10000; |
---|
| 16 | use vars qw($ID_STATICBITMAP); $ID_STATICBITMAP = 10001; |
---|
| 17 | use vars qw($ID_PROGRESS_GAUGE); $ID_PROGRESS_GAUGE = 10002; |
---|
| 18 | use vars qw($ID_LINE); $ID_LINE = 10003; |
---|
| 19 | use vars qw($ID_PROGRESS_OK); $ID_PROGRESS_OK = 10004; |
---|
[4279] | 20 | use vars qw($ID_PROGRESS_TXT2); $ID_PROGRESS_TXT2 = 10005; |
---|
[2597] | 21 | |
---|
| 22 | sub ProcessingProgress { |
---|
| 23 | my( $item0 ) = Wx::BoxSizer->new( wxVERTICAL ); |
---|
| 24 | |
---|
| 25 | my( $item1 ) = Wx::BoxSizer->new( wxVERTICAL ); |
---|
| 26 | |
---|
[4279] | 27 | my( $item2 ) = Wx::StaticText->new( $_[0], $main::ID_PROGRESS_TXT, "", wxDefaultPosition, wxDefaultSize, 0 ); |
---|
[2597] | 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 | |
---|
[4279] | 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 | |
---|
[2597] | 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 | |
---|