Changes in src/Actions/Action.cpp [f9352d:cc04b7]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/Action.cpp
rf9352d rcc04b7 10 10 #include "Actions/Action.hpp" 11 11 #include "Actions/ActionRegistry.hpp" 12 #include "Actions/ActionHistory.hpp"13 12 14 13 using namespace std; 15 16 // An empty state to indicate success17 Action::state_ptr Action::success = Action::state_ptr(new ActionState());18 Action::state_ptr Action::failure = Action::state_ptr(new ActionState());19 14 20 15 Action::Action(std::string _name,bool _doRegister) : … … 22 17 { 23 18 if(_doRegister){ 24 ActionRegistry::get Instance().registerAction(this);19 ActionRegistry::getRegistry()->registerAction(this); 25 20 } 26 21 } … … 32 27 return name; 33 28 } 34 35 void Action::call(){36 // forward to private virtual37 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 virtual49 return performUndo(_state);50 }51 Action::state_ptr Action::redo(state_ptr _state) {52 // forward to private virtual53 return performRedo(_state);54 }55 56 57 bool Action::isActive(){58 return true;59 }
Note:
See TracChangeset
for help on using the changeset viewer.