00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#ifndef INC_DLGRESPROG_HPP
00026
#define INC_DLGRESPROG_HPP
00027
00028
00029
00030
#include <wx/wxprec.h>
00031
00032
#ifdef __BORLANDC__
00033
#pragma hdrstop
00034
#endif
00035
00036
#ifndef WX_PRECOMP
00037
00038
#include <wx/wx.h>
00039
#endif
00040
00041
#include "appprefs.hpp"
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 class dlgResultsProgress :
public wxDialog
00055 {
00056
public:
00057
00058
dlgResultsProgress();
00059
00060
00061
dlgResultsProgress(wxWindow* parent, wxWindowID
id,
const wxString& title,
00062
const wxPoint& pos = wxDefaultPosition,
00063
const wxSize& size = wxDefaultSize,
00064
long style = wxDEFAULT_DIALOG_STYLE,
00065
const wxString& name = wxT(
"ResultsProgressDialog"));
00066
00067
00068
virtual ~dlgResultsProgress();
00069
00070
00071
void createControls();
00072
00073
00074
virtual bool Show(
bool show =
true);
00075
00076
protected:
00077 wxWindowDisabler*
winDisabler;
00078 wxButton*
btnCancel;
00079 wxButton*
btnPause;
00080 wxTextCtrl*
txtResults;
00081 wxBoxSizer*
infoSizer;
00082
00083
00084
void btnCancelClick(wxCommandEvent& event);
00085
00086
void btnPauseClick(wxCommandEvent& event);
00087
00088
00089
void FrameClose(wxCloseEvent& event);
00090
00091
00092
00093
enum
00094 {
00095 TXT_RESULTS = wxID_HIGHEST + 1,
00096 BTN_PAUSE
00097 };
00098
00099 DECLARE_EVENT_TABLE()
00100
00101 private:
00102 DECLARE_DYNAMIC_CLASS(
dlgResultsProgress)
00103
00104 protected:
00105
00106
void reenableOtherWindows();
00107
00108
00109 public:
00110
00111 enum State
00112 {
00113 running = 1,
00114 paused,
00115 canceled,
00116 finished
00117 };
00118
00119
protected:
00120 State state;
00121
00122
public:
00123
00124
void Finished();
00125
00126
00127
State getState() const;
00128
00129
00130 virtual
bool canContinue() const;
00131
00132 protected:
00133
00134
void setState(State newState);
00135
00136
00137
void refreshDialog();
00138
00139
00140
00141 long lastInsertedPos;
00142 long lastInsertedWidth;
00143
00144 public:
00145
00146
void addResultLine(const wxString& text, const
unsigned int indentation = 0, const wxColour& colour = *wxBLACK);
00147
00148
00149
void replaceLastResultLine(const wxString& text, const
unsigned int indentation = 0, const wxColour& colour = *wxBLACK);
00150
00151
00152
void removeLastResultLine();
00153
00154 protected:
00155
00156 virtual
void Update() { wxDialog::Update(); }
00157
00158
protected:
00159
static wxColour getColour(PreferencesKeys pk);
00160 };
00161
00162
00163
#endif // INC_DLGRESPROG_HPP