-private:
- // create the label with given text and another one to show the time nearby
- // under the lastWindow and modify it to be the same as the control created
- // (which is returned)
- wxStaticText *CreateLabel(const wxString& text, wxWindow **lastWindow);
-
- // the status bar
- wxGauge *m_gauge;
- // the message displayed
- wxStaticText *m_msg;
- // displayed elapsed, estimated, remaining time
- class wxStaticText *m_elapsed,
- *m_estimated,
- *m_remaining;
- // time when the dialog was created
- unsigned long m_timeStart;
-
- // parent top level window (may be NULL)
- wxWindow *m_parentTop;
-
- // continue processing or not (return value for Update())
- enum
- {
- Uncancelable = -1, // dialog can't be canceled
- Canceled, // can be cancelled and, in fact, was
- Continue, // can be cancelled but wasn't
- Finished // finished, waiting to be removed from screen
- } m_state;
-
- // the abort button (or NULL if none)
- wxButton *m_btnAbort;
-
- // the maximum value
- int m_maximum;
+ // Return the labels to use for showing the elapsed/estimated/remaining
+ // times respectively.
+ static wxString GetElapsedLabel() { return wxGetTranslation("Elapsed time:"); }
+ static wxString GetEstimatedLabel() { return wxGetTranslation("Estimated time:"); }
+ static wxString GetRemainingLabel() { return wxGetTranslation("Remaining time:"); }
+
+
+ // Similar to wxWindow::HasFlag() but tests for a presence of a wxPD_XXX
+ // flag in our (separate) flags instead of using m_windowStyle.
+ bool HasPDFlag(int flag) const { return (m_pdStyle & flag) != 0; }
+
+ // Return the progress dialog style. Prefer to use HasPDFlag() if possible.
+ int GetPDStyle() const { return m_pdStyle; }
+
+
+ // Updates estimated times from a given progress bar value and stores the
+ // results in provided arguments.
+ void UpdateTimeEstimates(int value,
+ unsigned long &elapsedTime,
+ unsigned long &estimatedTime,
+ unsigned long &remainingTime);
+
+ // Converts seconds to HH:mm:ss format.
+ static wxString GetFormattedTime(unsigned long timeInSec);
+
+ // callback for optional abort button
+ void OnCancel(wxCommandEvent&);
+
+ // callback for optional skip button
+ void OnSkip(wxCommandEvent&);
+
+ // callback to disable "hard" window closing
+ void OnClose(wxCloseEvent&);
+
+ // called to disable the other windows while this dialog is shown
+ void DisableOtherWindows();
+
+ // must be called to reenable the other windows temporarily disabled while
+ // the dialog was shown
+ void ReenableOtherWindows();
+
+ // return the top level parent window of this dialog (may be NULL)
+ wxWindow *GetTopParent() const { return m_parentTop; }
+
+
+ // continue processing or not (return value for Update())
+ State m_state;
+
+ // the maximum value
+ int m_maximum;