]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/progdlgg.h
destructor for wxMenu deletes menu now
[wxWidgets.git] / include / wx / generic / progdlgg.h
index 2401275d14d9a0333fa1eeb588e3b571896b4d50..0940e052b6cfde6fbf51f0878bbc79be3f8d20b5 100644 (file)
 #endif
 
 #include "wx/setup.h"
-#include "wx/frame.h"
 
+#if wxUSE_PROGRESSDLG
 
+#include "wx/frame.h"
+#include "wx/time.h"
 
 /** Progress dialog which shows a moving progress bar.
     Taken from the Mahogany project.*/
@@ -32,17 +34,14 @@ public:
        frames or parent frame to avoid recursion problems.
        @param title title for window
        @param message message to display in window
-       @param maximum maximum value for status bar, if <= 0, no bar is shown
+       @param maximum value for status bar, if <= 0, no bar is shown
        @param parent window or NULL
-       @param disableParentOnly if true, only disable parent window's
-       event handling
-       @param abortButton if true, dialog will show an abort button
+       @param style is the bit mask of wxPD_XXX constants from wx/defs.h
    */
    wxProgressDialog(const wxString &title, wxString const &message,
                    int maximum = 100,
                    wxWindow *parent = NULL,
-                   bool disableParentOnly = FALSE,
-                   bool abortButton = FALSE);
+                   int style = wxPD_APP_MODAL | wxPD_AUTO_HIDE);
    /** Destructor.
        Re-enables event handling for other windows.
    */
@@ -53,16 +52,16 @@ public:
        @param newmsg if used, new message to display
        @returns true if ABORT button has not been pressed
    */
-   bool Update(int value = -1, const char *newmsg = NULL);
+   bool Update(int value = -1, const wxString& newmsg = _T(""));
 
    /** Can be called to continue after the cancel button has been pressed, but
        the program decided to continue the operation (e.g., user didn't
-       configrm it)
+       confirm it)
    */
    void Resume() { m_state = Continue; }
 
    /// Callback for optional abort button
-   void OnCancel(wxEvent& WXUNUSED(event)) { m_state = Canceled; }
+   void OnCancel(wxCommandEvent& WXUNUSED(event)) { m_state = Canceled; }
 
    /// callback to disable "hard" window closing
    void OnClose(wxCloseEvent& event);
@@ -74,6 +73,10 @@ private:
    class wxStaticText *m_msg;
    /// disable all or parent window only
    bool m_disableParentOnly;
+   /// displayed elapsed, estimated, remaining time
+   class wxStaticText *m_elapsed, *m_estimated, *m_remaining;
+   /// time when the dialog was created or NULL 
+   class wxTime *m_time;
    /// parent window
    class wxWindow *m_parent;
    /// continue processing or not (return value for Update())
@@ -81,10 +84,17 @@ private:
    {
       Uncancelable = -1,   // dialog can't be canceled
       Canceled,            // can be cancelled and, in fact, was
-      Continue             // can be cancelled but wasn't
+      Continue,            // can be cancelled but wasn't
+      Finished             // finished, waiting to be removed from screen
    } m_state;
+   /// the abort button (or NULL if none)
+   class wxButton *m_btnAbort;
+   /// the maximum value
+   int m_maximum;
 
    DECLARE_EVENT_TABLE()
 };
+#endif
+
 #endif
     // __PROGDLGH_G__