svn-gvsig-desktop / tags / v1_1_Build_1014 / install / launcher / izpack-launcher-1.3_linux / src / statusdialog.cpp @ 13593
History | View | Annotate | Download (3.34 KB)
1 |
#include "statusdialog.h" |
---|---|
2 |
|
3 |
#ifndef __WINDOWS__
|
4 |
#include "package.xpm" |
5 |
#endif
|
6 |
|
7 |
void echo(const wxString &msg) |
8 |
{ |
9 |
wxMessageDialog dlg(0, msg, "echo", wxOK); |
10 |
dlg.ShowModal(); |
11 |
} |
12 |
|
13 |
long STATUSDIALOG_TIMER_ID = wxNewId();
|
14 |
long STATUSDIALOG_CANCELBUTTON_ID = wxNewId();
|
15 |
|
16 |
BEGIN_EVENT_TABLE(StatusDialog, wxFrame) |
17 |
EVT_TIMER(STATUSDIALOG_TIMER_ID, StatusDialog::OnTimer) |
18 |
EVT_BUTTON(STATUSDIALOG_CANCELBUTTON_ID, StatusDialog::OnCancelButton) |
19 |
EVT_CLOSE(StatusDialog::OnCancel) |
20 |
END_EVENT_TABLE() |
21 |
|
22 |
StatusDialog::StatusDialog(const wxString &wxStringHeadline )
|
23 |
: wxFrame(0, -1, _(wxStringHeadline), wxDefaultPosition, wxDefaultSize, |
24 |
wxSYSTEM_MENU | wxCAPTION ) |
25 |
{ |
26 |
|
27 |
buildUI(); |
28 |
SetIcon(wxICON(package)); |
29 |
} |
30 |
|
31 |
StatusDialog::~StatusDialog() |
32 |
{ |
33 |
|
34 |
} |
35 |
|
36 |
void StatusDialog::buildUI()
|
37 |
{ |
38 |
// Inits
|
39 |
//wxFont font;
|
40 |
//font.SetFamily(wxDECORATIVE);
|
41 |
//font.SetPointSize(12);
|
42 |
//this->SetFont(font);
|
43 |
|
44 |
canceled = false;
|
45 |
count = 0;
|
46 |
wxString explanationMsg = _("gvSIG instalation program. Please wait...");
|
47 |
statusMsg = _("Checking...");
|
48 |
sizerDesc= new wxBoxSizer(wxHORIZONTAL);
|
49 |
sizer = new wxBoxSizer(wxVERTICAL);
|
50 |
// Widgets
|
51 |
|
52 |
cancelButton= new wxButton(this, STATUSDIALOG_CANCELBUTTON_ID, _("Cancel"), wxDefaultPosition); |
53 |
//cancelButton->SetFont(font);
|
54 |
icon = new wxStaticBitmap(this, -1,wxICON(package),wxDefaultPosition,wxSize(32,32)); |
55 |
icon->SetBackgroundColour(cancelButton->GetBackgroundColour()); |
56 |
sizerDesc->Add(icon,0, wxALIGN_LEFT | wxALL ,5); |
57 |
explanationText = new wxStaticText(this, -1, explanationMsg, wxDefaultPosition); |
58 |
explanationText->SetBackgroundColour(cancelButton->GetBackgroundColour()); |
59 |
//explanationText->SetFont(font);
|
60 |
sizerDesc->Add(explanationText, 1,wxALIGN_CENTRE | wxEXPAND | wxALL,5); |
61 |
sizer->Add(sizerDesc,1,wxALIGN_LEFT | wxALIGN_TOP | wxEXPAND | wxALL,10); |
62 |
statusMsgText = new wxStaticText(this, -1, statusMsg, wxDefaultPosition); |
63 |
statusMsgText->SetBackgroundColour(cancelButton->GetBackgroundColour()); |
64 |
//statusMsgText->SetFont(font);
|
65 |
sizer->Add(statusMsgText, 0, wxALIGN_LEFT | wxALL, 5); |
66 |
|
67 |
//cancelButton->Hide();
|
68 |
cancelButton->Enable(true);
|
69 |
sizer->Add(cancelButton, 0, wxALIGN_RIGHT | wxALL, 5); |
70 |
|
71 |
this->SetBackgroundColour(cancelButton->GetBackgroundColour());
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
// Sizer
|
77 |
SetSizer(sizer); |
78 |
sizer->SetSizeHints(this);
|
79 |
|
80 |
//Timer
|
81 |
myTimer = new wxTimer(this,STATUSDIALOG_TIMER_ID); |
82 |
|
83 |
} |
84 |
|
85 |
void StatusDialog::showStatus(const wxString statusString) { |
86 |
myTimer->Start(100,false); |
87 |
//echo(" StatusDialog::showStatus ");
|
88 |
count = 0;
|
89 |
statusMsg = statusString; |
90 |
statusMsgText->SetLabel(statusMsg); |
91 |
|
92 |
if (!this->myTimer->IsRunning()) { |
93 |
//echo(" timer not running ");
|
94 |
} else {
|
95 |
//echo(" timer running ");
|
96 |
} |
97 |
|
98 |
} |
99 |
|
100 |
void StatusDialog::OnTimer(wxTimerEvent& event){
|
101 |
//echo("StatusDialog::OnTimer");
|
102 |
wxString cad; |
103 |
switch (count)
|
104 |
{ |
105 |
case 0: cad = " |"; count++; break; |
106 |
case 1: cad = " /"; count++; break; |
107 |
case 2: cad = " -"; count++; break; |
108 |
case 3: cad = " \\"; count = 0; break; |
109 |
default: count = 0; |
110 |
} |
111 |
statusMsgText->SetLabel(statusMsg + cad); |
112 |
} |
113 |
|
114 |
void StatusDialog::OnCancel(wxEvent& event) {
|
115 |
this->canceled = true; |
116 |
} |
117 |
|
118 |
void StatusDialog::OnCancelButton(wxMouseEvent& event) {
|
119 |
this->canceled = true; |
120 |
} |
121 |
|
122 |
|
123 |
bool StatusDialog::IsCanceled() {
|
124 |
return this->canceled; |
125 |
} |
126 |
|
127 |
void StatusDialog::DoNotCancel() {
|
128 |
this->canceled = false; |
129 |
} |