Changes in src/Actions/Action.cpp [cc04b7:f9352d]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/Action.cpp
rcc04b7 rf9352d 10 10 #include "Actions/Action.hpp" 11 11 #include "Actions/ActionRegistry.hpp" 12 #include "Actions/ActionHistory.hpp" 12 13 13 14 using namespace std; 15 16 // An empty state to indicate success 17 Action::state_ptr Action::success = Action::state_ptr(new ActionState()); 18 Action::state_ptr Action::failure = Action::state_ptr(new ActionState()); 14 19 15 20 Action::Action(std::string _name,bool _doRegister) : … … 17 22 { 18 23 if(_doRegister){ 19 ActionRegistry::get Registry()->registerAction(this);24 ActionRegistry::getInstance().registerAction(this); 20 25 } 21 26 } … … 27 32 return name; 28 33 } 34 35 void Action::call(){ 36 // forward to private virtual 37 state_ptr state = performCall(); 38 if(shouldUndo() && state != failure){ 39 if(canUndo()){ 40 ActionHistory::getInstance().addElement(this,state); 41 } 42 else{ 43 ActionHistory::getInstance().clear(); 44 } 45 } 46 } 47 Action::state_ptr Action::undo(state_ptr _state) { 48 // forward to private virtual 49 return performUndo(_state); 50 } 51 Action::state_ptr Action::redo(state_ptr _state) { 52 // forward to private virtual 53 return performRedo(_state); 54 } 55 56 57 bool Action::isActive(){ 58 return true; 59 }
Note:
See TracChangeset
for help on using the changeset viewer.