source: molecuilder/src/Actions/MethodAction.hpp@ 0012e6

Last change on this file since 0012e6 was 0012e6, checked in by Tillmann Crueger <crueger@…>, 16 years ago

Added methods that allow bookkeeping of actions for undo/redo methods

  • Property mode set to 100644
File size: 788 bytes
RevLine 
[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]19class MethodAction : public Action
20{
21public:
[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]27private:
28 virtual ActionState* performCall();
29 virtual ActionState* performUndo(ActionState*);
30 virtual ActionState* performRedo(ActionState*);
[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.