]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/cmdproc.h
fixing text matrix (dataview custom renderer showed problems) and reordering SaveGState
[wxWidgets.git] / interface / wx / cmdproc.h
index 55970df404e5022d2e4b3621f7f53be653d56d03..eda822251c8c058cc32cfe948ffe43e2e1373ac5 100644 (file)
@@ -35,17 +35,17 @@ public:
             Must be supplied for the command processor to display the command
             name in the application's edit menu.
     */
             Must be supplied for the command processor to display the command
             name in the application's edit menu.
     */
-    wxCommand(bool canUndo = false, const wxString& name = NULL);
+    wxCommand(bool canUndo = false, const wxString& name = wxEmptyString);
 
     /**
         Destructor.
     */
 
     /**
         Destructor.
     */
-    ~wxCommand();
+    virtual ~wxCommand();
 
     /**
         Returns @true if the command can be undone, @false otherwise.
     */
 
     /**
         Returns @true if the command can be undone, @false otherwise.
     */
-    bool CanUndo();
+    virtual bool CanUndo() const;
 
     /**
         Override this member function to execute the appropriate action when
 
     /**
         Override this member function to execute the appropriate action when
@@ -56,19 +56,19 @@ public:
                 processor that the action is not undoable and should not be
                 added to the command history.
     */
                 processor that the action is not undoable and should not be
                 added to the command history.
     */
-    bool Do();
+    virtual bool Do() = 0;
 
     /**
         Returns the command name.
     */
 
     /**
         Returns the command name.
     */
-    wxString GetName();
+    virtual wxString GetName() const;
 
     /**
         Override this member function to un-execute a previous Do.
 
         How you implement this command is totally application dependent, but
         typical strategies include:
 
     /**
         Override this member function to un-execute a previous Do.
 
         How you implement this command is totally application dependent, but
         typical strategies include:
-        
+
         - Perform an inverse operation on the last modified piece of data in
           the document. When redone, a copy of data stored in command is pasted
           back or some operation reapplied. This relies on the fact that you
         - Perform an inverse operation on the last modified piece of data in
           the document. When redone, a copy of data stored in command is pasted
           back or some operation reapplied. This relies on the fact that you
@@ -85,7 +85,7 @@ public:
                 processor that the action is not redoable and no change should
                 be made to the command history.
     */
                 processor that the action is not redoable and no change should
                 be made to the command history.
     */
-    bool Undo();
+    virtual bool Undo() = 0;
 };
 
 
 };
 
 
@@ -118,13 +118,13 @@ public:
     /**
         Destructor.
     */
     /**
         Destructor.
     */
-    ~wxCommandProcessor();
+    virtual ~wxCommandProcessor();
 
     /**
         Returns @true if the currently-active command can be undone, @false
         otherwise.
     */
 
     /**
         Returns @true if the currently-active command can be undone, @false
         otherwise.
     */
-    virtual bool CanUndo();
+    virtual bool CanUndo() const;
 
     /**
         Deletes all commands in the list and sets the current command pointer
 
     /**
         Deletes all commands in the list and sets the current command pointer
@@ -135,7 +135,7 @@ public:
     /**
         Returns the list of commands.
     */
     /**
         Returns the list of commands.
     */
-    wxList& GetCommands() const;
+    wxList& GetCommands();
 
     /**
         Returns the edit menu associated with the command processor.
 
     /**
         Returns the edit menu associated with the command processor.
@@ -180,13 +180,13 @@ public:
         the last save operation. This only works if MarkAsSaved() is called
         whenever the project is saved.
     */
         the last save operation. This only works if MarkAsSaved() is called
         whenever the project is saved.
     */
-    virtual bool IsDirty();
+    virtual bool IsDirty() const;
 
     /**
         You must call this method whenever the project is saved if you plan to
         use IsDirty().
     */
 
     /**
         You must call this method whenever the project is saved if you plan to
         use IsDirty().
     */
-    virtual void MarkAsSaved();
+    void MarkAsSaved();
 
     /**
         Executes (redoes) the current command (the command that has just been
 
     /**
         Executes (redoes) the current command (the command that has just been
@@ -206,7 +206,7 @@ public:
         Sets the menu labels according to the currently set menu and the
         current command state.
     */
         Sets the menu labels according to the currently set menu and the
         current command state.
     */
-    void SetMenuStrings();
+    virtual void SetMenuStrings();
 
     /**
         Sets the string that will be appended to the Redo menu item.
 
     /**
         Sets the string that will be appended to the Redo menu item.
@@ -219,13 +219,16 @@ public:
     void SetUndoAccelerator(const wxString& accel);
 
     /**
     void SetUndoAccelerator(const wxString& accel);
 
     /**
-        Submits a new command to the command processor. The command processor
-        calls wxCommand::Do() to execute the command; if it succeeds, the
-        command is stored in the history list, and the associated edit menu (if
-        any) updated appropriately. If it fails, the command is deleted
-        immediately. Once Submit() has been called, the passed command should
-        not be deleted directly by the application.
+        Submits a new command to the command processor.
+
+        The command processor calls wxCommand::Do() to execute the command;
+        if it succeeds, the command is stored in the history list, and the
+        associated edit menu (if any) updated appropriately.
+        If it fails, the command is deleted immediately. Once Submit() has been
+        called, the passed command should not be deleted directly by the application.
 
 
+        @param command
+            The command to submit
         @param storeIt
             Indicates whether the successful command should be stored in the
             history list.
         @param storeIt
             Indicates whether the successful command should be stored in the
             history list.