diff options
Diffstat (limited to 'src/FbTk/SimpleCommand.hh')
-rw-r--r-- | src/FbTk/SimpleCommand.hh | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/FbTk/SimpleCommand.hh b/src/FbTk/SimpleCommand.hh index 8cc7283..7ae91a5 100644 --- a/src/FbTk/SimpleCommand.hh +++ b/src/FbTk/SimpleCommand.hh | |||
@@ -39,6 +39,18 @@ private: | |||
39 | Action m_action; | 39 | Action m_action; |
40 | }; | 40 | }; |
41 | 41 | ||
42 | template <typename Receiver, typename ReturnType=bool> | ||
43 | class SimpleBoolCommand: public BoolCommand { | ||
44 | public: | ||
45 | typedef ReturnType (Receiver::* Action)(); | ||
46 | SimpleBoolCommand(Receiver &r, Action a): | ||
47 | m_receiver(r), m_action(a) { } | ||
48 | bool bool_execute() { return (bool)(m_receiver.*m_action)(); } | ||
49 | private: | ||
50 | Receiver &m_receiver; | ||
51 | Action m_action; | ||
52 | }; | ||
53 | |||
42 | } // end namespace FbTk | 54 | } // end namespace FbTk |
43 | 55 | ||
44 | #endif // FBTK_SIMPLECOMMAND_HH | 56 | #endif // FBTK_SIMPLECOMMAND_HH |