00001 #ifndef _wxUIElements_vuSimpleProgressHandler_h_ 00002 #define _wxUIElements_vuSimpleProgressHandler_h_ 00003 00004 #include "vuSimpleTypes.h" 00005 #include "General/vuMisc/vuProgressHandler.h" 00006 #include <wx/wx.h> 00007 #include <wx/progdlg.h> 00008 00011 class vuSimpleProgressHandler : public vuProgressHandler 00012 { 00013 public: 00014 vuSimpleProgressHandler(wxWindow *parent, 00015 const wxString title = "Progress Bar", 00016 const wxString message = "", 00017 int style = wxPD_AUTO_HIDE| 00018 wxPD_APP_MODAL| 00019 wxPD_CAN_ABORT, 00020 int range = 1000); 00021 00022 /* Further style flags are: wxPD_REMAINING_TIME 00023 wxPD_ELAPSED_TIME 00024 wxPD_ESTIMATED_TIME 00025 */ 00026 00027 virtual ~vuSimpleProgressHandler(); 00028 00029 bool update(int newProgressValue, const char* msg=NULL); 00030 00031 void setRange(int range); 00032 int getRange(); 00033 int getCurrentProgress(); 00034 00035 private: 00036 wxString m_Title; 00037 wxString m_Message; 00038 int m_Style; 00039 wxWindow *m_Parent; 00040 wxProgressDialog *m_Progress; 00041 int m_Range; 00042 int m_CurrentProgress; 00043 }; 00044 00045 #endif /* _wxUIElements_vuSimpleProgressHandler_h_ */