+ // This ctor is used by the native MSW implementation only.
+ wxGenericProgressDialog(wxWindow *parent, int style);
+
+ void Create(const wxString& title,
+ const wxString& message,
+ int maximum,
+ wxWindow *parent,
+ int style);
+
+ // Update just the m_maximum field, this is used by public SetRange() but,
+ // unlike it, doesn't update the controls state. This makes it useful for
+ // both this class and its derived classes that don't use m_gauge to
+ // display progress.
+ void SetMaximum(int maximum);
+
+ // Return the labels to use for showing the elapsed/estimated/remaining
+ // times respectively.
+ static wxString GetElapsedLabel() { return _("Elapsed time:"); }
+ static wxString GetEstimatedLabel() { return _("Estimated time:"); }
+ static wxString GetRemainingLabel() { return _("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);
+