source:
src/Actions/MethodAction.hpp@
ff4fff9
Last change on this file since ff4fff9 was a82f61, checked in by , 9 years ago | |
---|---|
|
|
File size: 1.2 KB |
Rev | Line | |
---|---|---|
[65b6e0] | 1 | /* |
[56f73b] | 2 | * MethodAction.hpp |
[65b6e0] | 3 | * |
4 | * Created on: Dec 11, 2009 | |
5 | * Author: crueger | |
6 | */ | |
7 | ||
[56f73b] | 8 | #ifndef METHODACTION_HPP_ |
9 | #define METHODACTION_HPP_ | |
10 | ||
11 | // include config.h | |
12 | #ifdef HAVE_CONFIG_H | |
13 | #include <config.h> | |
14 | #endif | |
[65b6e0] | 15 | |
16 | #include <boost/function.hpp> | |
[cc04b7] | 17 | #include <string> |
[65b6e0] | 18 | |
19 | #include "Actions/Action.hpp" | |
20 | ||
[ce7fdc] | 21 | namespace MoleCuilder { |
22 | ||
[0c8056] | 23 | class ActionRegistry; |
24 | ||
[ef81b0] | 25 | /** |
26 | * Wrapper class that allows the construction of Actions from any kind of Method | |
27 | */ | |
[65b6e0] | 28 | class MethodAction : public Action |
29 | { | |
30 | public: | |
[126867] | 31 | MethodAction(const ActionTrait &_trait,boost::function<void()> _executeMethod); |
[65b6e0] | 32 | virtual ~MethodAction(); |
33 | virtual bool canUndo(); | |
[67e2b3] | 34 | virtual bool shouldUndo(); |
[65b6e0] | 35 | |
[af5384] | 36 | virtual Action* clone(enum QueryOptions flag = Interactive) const; |
37 | ||
[46b181] | 38 | void outputAsCLI(std::ostream &ost) const; |
[477012] | 39 | void outputAsPython(std::ostream &ost, const std::string &prefix) const; |
[a82f61] | 40 | void setOptionValue(const std::string &_token, const std::string &_value); |
[46b181] | 41 | |
[047878] | 42 | protected: |
43 | virtual Dialog * fillDialog(Dialog *dialog); | |
[67e2b3] | 44 | private: |
[b5b01e] | 45 | virtual ActionState::ptr performCall(); |
46 | virtual ActionState::ptr performUndo(ActionState::ptr); | |
47 | virtual ActionState::ptr performRedo(ActionState::ptr); | |
[65b6e0] | 48 | |
49 | ||
[67e2b3] | 50 | boost::function<void()> executeMethod; //!< this stores the method to be called |
[65b6e0] | 51 | }; |
52 | ||
[ce7fdc] | 53 | } |
54 | ||
[56f73b] | 55 | #endif /* METHODACTION_HPP_ */ |
Note:
See TracBrowser
for help on using the repository browser.