40 #ifndef _uiactionhandler_h
41 #define _uiactionhandler_h
43 #include "Input/metacodekey.h"
59 typedef std::map< String,Action* > ActionContainer;
60 typedef ActionContainer::iterator ActionIterator;
61 typedef ActionContainer::const_iterator ConstActionIterator;
62 typedef std::vector< Action* > ActivatedContainer;
63 typedef ActivatedContainer::iterator ActivatedIterator;
64 typedef ActivatedContainer::const_iterator ConstActivatedIterator;
65 typedef std::multimap< Input::MetaCodeKey,Action* > BindingContainer;
66 typedef BindingContainer::iterator BindingIterator;
67 typedef BindingContainer::const_iterator ConstBindingIterator;
68 typedef std::pair< Input::MetaCodeKey,Action* > BindingPair;
69 typedef std::pair<BindingIterator,BindingIterator> BindingRange;
70 typedef std::pair<ConstBindingIterator,ConstBindingIterator> ConstBindingRange;
72 ActionContainer Actions;
73 BindingContainer Bindings;
74 ActivatedContainer ActivatedActions;
94 void DestroyAction(
Action* ToBeDestroyed);
96 void DestroyAllActions();
100 ActionIterator BeginAction();
103 ActionIterator EndAction();
106 ConstActionIterator BeginAction()
const;
109 ConstActionIterator EndAction()
const;
132 void Unbind(
Action* ToUnbind);
137 void RemoveAllBindings();
141 BindingIterator BeginBinding();
144 BindingIterator EndBinding();
147 ConstBindingIterator BeginBinding()
const;
150 ConstBindingIterator EndBinding()
const;
158 void _NotifyActionActivated(
Action* BeingActivated);
166 void _ProcessAllActions();