X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/68379eaf0ae64d105f8244b1db83e793f7dd83b0..a9102b3671a45d116d781b0c8e90d2e9a84fbdcb:/include/wx/cmdproc.h diff --git a/include/wx/cmdproc.h b/include/wx/cmdproc.h index 563c8480d2..ace9465d26 100644 --- a/include/wx/cmdproc.h +++ b/include/wx/cmdproc.h @@ -30,7 +30,7 @@ class WXDLLEXPORT wxCommand : public wxObject { public: wxCommand(bool canUndoIt = false, const wxString& name = wxEmptyString); - ~wxCommand(); + ~wxCommand(){} // Override this to perform a command virtual bool Do() = 0; @@ -99,6 +99,19 @@ public: int GetMaxCommands() const { return m_maxNoCommands; } virtual void ClearCommands(); + // Has the current project been changed? + virtual bool IsDirty() const + { + return m_currentCommand && (m_lastSavedCommand != m_currentCommand); + } + + // Mark the current command as the one where the last save took place + void MarkAsSaved() + { + m_lastSavedCommand = m_currentCommand; + } + + // By default, the accelerators are "\tCtrl+Z" and "\tCtrl+Y" const wxString& GetUndoAccelerator() const { return m_undoAccelerator; } const wxString& GetRedoAccelerator() const { return m_redoAccelerator; } @@ -115,7 +128,8 @@ protected: int m_maxNoCommands; wxList m_commands; - wxList::compatibility_iterator m_currentCommand; + wxList::compatibility_iterator m_currentCommand, + m_lastSavedCommand; #if wxUSE_MENUS wxMenu* m_commandEditMenu; @@ -130,3 +144,4 @@ private: }; #endif // _WX_CMDPROC_H_ +