Cafu Engine
Rename.hpp
1 /*
2 Cafu Engine, http://www.cafu.de/
3 Copyright (c) Carsten Fuchs and other contributors.
4 This project is licensed under the terms of the MIT license.
5 */
6 
7 #ifndef CAFU_MODELEDITOR_COMMAND_RENAME_HPP_INCLUDED
8 #define CAFU_MODELEDITOR_COMMAND_RENAME_HPP_INCLUDED
9 
10 #include "../../CommandPattern.hpp"
11 #include "../ModelDocument.hpp"
12 
13 
14 namespace ModelEditor
15 {
16  class ModelDocumentT;
17 
18  class CommandRenameT : public CommandT
19  {
20  public:
21 
22  CommandRenameT(ModelDocumentT* ModelDoc, ModelElementTypeT Type, unsigned int ElemNr, const wxString& NewName);
23 
24  // CommandT implementation.
25  bool Do();
26  void Undo();
27  wxString GetName() const;
28 
29 
30  private:
31 
32  std::string& GetStringRef() const;
33  void UpdateAllObservers() const;
34 
35  ModelDocumentT* m_ModelDoc;
36  const ModelElementTypeT m_Type;
37  const unsigned int m_ElemNr;
38  const std::string m_NewName;
39  const std::string m_OldName;
40  };
41 }
42 
43 #endif
bool Do()
This method executes the command.
Definition: Rename.cpp:25
wxString GetName() const
Returns the name (a description) of the command.
Definition: Rename.cpp:57
void Undo()
This method un-does the command.
Definition: Rename.cpp:43
Definition: Rename.hpp:18
This class represents a general command for implementing modifications to the applications document...
Definition: CommandPattern.hpp:30
Definition: ModelDocument.hpp:30