23 #ifndef _BASE_WX_WXUTILS_H 
   24 #define _BASE_WX_WXUTILS_H 
   33     #include <wx/string.h> 
   44         #define DEBUG_TRACE(msg) { std::cerr << "TRACE " << DEBUG_HEADER << msg << std::endl; } 
   47         #define DEBUG_DEBUG(msg) { std::cerr << "DEBUG " << DEBUG_HEADER << msg << std::endl; } 
   50         #define DEBUG_INFO(msg) { std::cerr << "INFO " << DEBUG_HEADER << msg << std::endl; } 
   53         #define DEBUG_NOTICE(msg) { std::cerr << "NOTICE " << DEBUG_HEADER << msg << std::endl; } 
   62     #define DEBUG_WARN(msg) { std::stringstream o; o << "WARN: " << DEBUG_HEADER << msg; wxLogWarning(wxString(o.str().c_str(), wxConvISO8859_1));} 
   64     #define DEBUG_ERROR(msg) { std::stringstream o; o << "ERROR: " << DEBUG_HEADER << msg; wxLogError(wxString(o.str().c_str(),wxConvISO8859_1));} 
   66     #define DEBUG_FATAL(msg) { std::stringstream o; o << "FATAL: " << DEBUG_HEADER << "(): " << msg; wxLogError(wxString(o.str().c_str(),wxConvISO8859_1)); } 
   68     #define DEBUG_ASSERT(cond) \ 
   71                 std::stringstream o; o << "ASSERTATION: " << DEBUG_HEADER << "(): " << #cond; \ 
   72                     wxLogFatalError(wxString(o.str().c_str(),wxConvISO8859_1)); \ 
   89     WXIMPEX int HuginMessageBox(
const wxString& message, 
const wxString& caption, 
int  style, wxWindow* parent);
 
  106 #endif // _BASE_WX_WXUTILS_H 
bool AskUserOverwrite(const wxString &filename, const wxString &caption, wxWindow *parent)
ask user if the given file should be overwritten, return true if the user confirmed the overwritting ...
void RestoreFramePosition(wxTopLevelWindow *frame, const wxString &basename, const bool ignoreMaximize)
void StoreFramePosition(wxTopLevelWindow *frame, const wxString &basename, const bool ignoreMaximize)
std::unique_ptr< wxMessageDialogBase > MessageDialog
WXIMPEX wxString GetFormattedTimeSpan(const wxTimeSpan &timeSpan)
MessageDialog GetMessageDialog(const wxString &message, const wxString &caption, int style, wxWindow *parent)
include file for the hugin project 
helper class, it disables the control/window in the constructor and automatically enables it back in ...
void StoreFramePositionOnly(wxTopLevelWindow *frame, const wxString &basename)
int HuginMessageBox(const wxString &message, const wxString &caption, int style, wxWindow *parent)
void RestoreFramePositionOnly(wxTopLevelWindow *frame, const wxString &basename)