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; |
---|
20 | use vars qw($ID_PROGRESS_TXT2); $ID_PROGRESS_TXT2 = 10005; |
---|
21 | |
---|
22 | sub 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 | |
---|