From 9adc3720cd8fe2ba843d014dbbfe81bf936f9715 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Tue, 22 Jul 2008 17:21:35 +0000 Subject: more keyboard handling cleanups --- src/client/action.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/client/action.h (limited to 'src/client/action.h') diff --git a/src/client/action.h b/src/client/action.h new file mode 100644 index 0000000..c7086c8 --- /dev/null +++ b/src/client/action.h @@ -0,0 +1,45 @@ +/* + client/action.h + This file is part of the Osirion project and is distributed under + the terms and conditions of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_CLIENT_ACTION_H__ +#define __INCLUDED_CLIENT_ACTION_H__ + +#include + +namespace client { + +/// an Action that can be bound to a key +class Action +{ +public: + /// actions + enum Identifier {None=0}; + + /// define a new action + Action(const char *name, Identifier action, const char *info = 0); + ~Action(); + + /// name of the Action + inline std::string const & name() const { return action_name; } + + /// Action Identifier + inline Identifier id() const { return action_id; } + + inline std::string const & info() const { return action_info; } + + /// set info + void set_info(const char *info); + + +private: + std::string action_name; + std::string action_info; + Identifier action_id; +}; + +} // namespace client + +#endif // __INCLUDED_CLIENT_ACTION_H__ -- cgit v1.2.3