source:
src/Actions/MethodAction.hpp@
db0833
| Last change on this file since db0833 was a82f61, checked in by , 10 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.
