X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..4c2300c6a19594abf56832579ce3d8dba09d3834:/include/wx/cmdproc.h diff --git a/include/wx/cmdproc.h b/include/wx/cmdproc.h index faa053dc89..0e5547a6b7 100644 --- a/include/wx/cmdproc.h +++ b/include/wx/cmdproc.h @@ -12,7 +12,7 @@ #ifndef _WX_CMDPROC_H_ #define _WX_CMDPROC_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "cmdproc.h" #endif @@ -26,7 +26,7 @@ class WXDLLEXPORT wxCommand : public wxObject { public: - wxCommand(bool canUndoIt = FALSE, const wxString& name = ""); + wxCommand(bool canUndoIt = FALSE, const wxString& name = wxT("")); ~wxCommand(); // Override this to perform a command @@ -69,9 +69,18 @@ public: virtual bool CanUndo() const; virtual bool CanRedo() const; + // Initialises the current command and menu strings. virtual void Initialize(); + + // Sets the Undo/Redo menu strings for the current menu. virtual void SetMenuStrings(); + // Gets the current Undo menu label. + wxString GetUndoMenuLabel() const; + + // Gets the current Undo menu label. + wxString GetRedoMenuLabel() const; + #if wxUSE_MENUS // Call this to manage an edit menu. void SetEditMenu(wxMenu *menu) { m_commandEditMenu = menu; } @@ -82,11 +91,18 @@ public: wxList& GetCommands() const { return (wxList&) m_commands; } wxCommand *GetCurrentCommand() const { - return (wxCommand *)(m_currentCommand ? m_currentCommand->Data() : NULL); + return (wxCommand *)(m_currentCommand ? m_currentCommand->GetData() : NULL); } int GetMaxCommands() const { return m_maxNoCommands; } virtual void ClearCommands(); + // By default, the accelerators are "\tCtrl+Z" and "\tCtrl+Y" + const wxString& GetUndoAccelerator() const { return m_undoAccelerator; } + const wxString& GetRedoAccelerator() const { return m_redoAccelerator; } + + void SetUndoAccelerator(const wxString& accel) { m_undoAccelerator = accel; } + void SetRedoAccelerator(const wxString& accel) { m_redoAccelerator = accel; } + protected: // for further flexibility, command processor doesn't call wxCommand::Do() // and Undo() directly but uses these functions which can be overridden in @@ -102,8 +118,12 @@ protected: wxMenu* m_commandEditMenu; #endif // wxUSE_MENUS + wxString m_undoAccelerator; + wxString m_redoAccelerator; + private: DECLARE_DYNAMIC_CLASS(wxCommandProcessor) + DECLARE_NO_COPY_CLASS(wxCommandProcessor) }; #endif // _WX_CMDPROC_H_