]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cmdproc.h
avoid a bug in Carbon headers
[wxWidgets.git] / include / wx / cmdproc.h
index b5b8b88b10a7867f92ac91858dd90102cab5ab55..1200640d372e0f74def296cbf8051fa100a08770 100644 (file)
 #ifndef _WX_CMDPROC_H_
 #define _WX_CMDPROC_H_
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "cmdproc.h"
 #endif
 
+#include "wx/defs.h"
 #include "wx/object.h"
 #include "wx/list.h"
 
+class WXDLLEXPORT wxMenu;
+
 // ----------------------------------------------------------------------------
 // wxCommand: a single command capable of performing itself
 // ----------------------------------------------------------------------------
@@ -26,7 +29,7 @@
 class WXDLLEXPORT wxCommand : public wxObject
 {
 public:
-    wxCommand(bool canUndoIt = FALSE, const wxString& name = wxT(""));
+    wxCommand(bool canUndoIt = FALSE, const wxString& name = wxEmptyString);
     ~wxCommand();
 
     // Override this to perform a command
@@ -69,9 +72,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,7 +94,7 @@ 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();
@@ -103,7 +115,7 @@ protected:
 
     int           m_maxNoCommands;
     wxList        m_commands;
-    wxNode*       m_currentCommand;
+    wxList::compatibility_iterator m_currentCommand;
 
 #if wxUSE_MENUS
     wxMenu*       m_commandEditMenu;
@@ -114,6 +126,7 @@ protected:
 
 private:
     DECLARE_DYNAMIC_CLASS(wxCommandProcessor)
+    DECLARE_NO_COPY_CLASS(wxCommandProcessor)
 };
 
 #endif // _WX_CMDPROC_H_