Rev | Line | |
---|
[d20ed5] | 1 | /*
|
---|
| 2 | * MethodAction.h
|
---|
| 3 | *
|
---|
| 4 | * Created on: Dec 11, 2009
|
---|
| 5 | * Author: crueger
|
---|
| 6 | */
|
---|
| 7 |
|
---|
| 8 | #ifndef METHODACTION_H_
|
---|
| 9 | #define METHODACTION_H_
|
---|
| 10 |
|
---|
| 11 | #include <boost/function.hpp>
|
---|
[3e8325] | 12 | #include <string>
|
---|
[d20ed5] | 13 |
|
---|
| 14 | #include "Actions/Action.hpp"
|
---|
| 15 |
|
---|
[da09909] | 16 | /**
|
---|
| 17 | * Wrapper class that allows the construction of Actions from any kind of Method
|
---|
| 18 | */
|
---|
[d20ed5] | 19 | class MethodAction : public Action
|
---|
| 20 | {
|
---|
| 21 | public:
|
---|
[3e8325] | 22 | MethodAction(std::string _name,boost::function<void()> _executeMethod,bool _doRegister=true);
|
---|
[d20ed5] | 23 | virtual ~MethodAction();
|
---|
| 24 | virtual bool canUndo();
|
---|
[0012e6] | 25 | virtual bool shouldUndo();
|
---|
[d20ed5] | 26 |
|
---|
[0012e6] | 27 | private:
|
---|
[521e29] | 28 | virtual Action::state_ptr performCall();
|
---|
| 29 | virtual Action::state_ptr performUndo(Action::state_ptr);
|
---|
| 30 | virtual Action::state_ptr performRedo(Action::state_ptr);
|
---|
[d20ed5] | 31 |
|
---|
| 32 |
|
---|
[0012e6] | 33 | boost::function<void()> executeMethod; //!< this stores the method to be called
|
---|
[d20ed5] | 34 | };
|
---|
| 35 |
|
---|
| 36 | #endif /* METHODACTION_H_ */
|
---|
Note:
See
TracBrowser
for help on using the repository browser.