]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/progdlgg.cpp
Override wxWindow::MSWGetCreateWindowCoords() in wxTopLevelWindow.
[wxWidgets.git] / src / generic / progdlgg.cpp
index 68b58cada4bddb235fd4ca662c0112834d681b98..ef7b89b24e5638af8739386a79e096422fee417a 100644 (file)
@@ -99,7 +99,7 @@ wxProgressDialog::wxProgressDialog(const wxString& title,
                                    int maximum,
                                    wxWindow *parent,
                                    int style)
-                : wxDialog(GetParentForModalDialog(parent), wxID_ANY, title),
+                : wxDialog(GetParentForModalDialog(parent, style), wxID_ANY, title),
                   m_skip(false),
                   m_delay(3),
                   m_hasAbortButton(false),
@@ -522,6 +522,34 @@ wxString wxProgressDialog::GetMessage() const
     return m_msg->GetLabel();
 }
 
+void wxProgressDialog::SetRange(int maximum)
+{
+    wxASSERT_MSG(m_gauge, "The dialog should have been constructed with a range > 0");
+    wxASSERT_MSG(maximum > 0, "Invalid range");
+
+    m_gauge->SetRange(maximum);
+    m_maximum = maximum;
+
+#if defined(__WXMSW__) || defined(__WXPM__)
+    // we can't have values > 65,536 in the progress control under Windows, so
+    // scale everything down
+    m_factor = m_maximum / 65536 + 1;
+    m_maximum /= m_factor;
+#endif // __WXMSW__
+}
+
+
+bool wxProgressDialog::WasCancelled() const
+{
+    return m_hasAbortButton && m_state == Canceled;
+}
+
+bool wxProgressDialog::WasSkipped() const
+{
+    return m_hasSkipButton && m_skip;
+}
+
+
 // ----------------------------------------------------------------------------
 // event handlers
 // ----------------------------------------------------------------------------