git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use new hotplug notifier in DVD Burner Toolbox to update upon media insert/eject...
[enigma2.git]
/
lib
/
actions
/
action.h
diff --git
a/lib/actions/action.h
b/lib/actions/action.h
index f2e0d8f460d5730374f7fcdde3613c7e32f66900..cbf5370a4ead2e6b40c75ea6a9e942f4cf21aa6f 100644
(file)
--- a/
lib/actions/action.h
+++ b/
lib/actions/action.h
@@
-13,9
+13,10
@@
class eWidget;
class eWidget;
+SWIG_IGNORE(eActionMap);
class eActionMap: public iObject
{
class eActionMap: public iObject
{
-DECLARE_REF(eActionMap);
+
DECLARE_REF(eActionMap);
#ifdef SWIG
eActionMap();
~eActionMap();
#ifdef SWIG
eActionMap();
~eActionMap();
@@
-30,24
+31,30
@@
public:
void bindAction(const std::string &context, int priority, SWIG_PYOBJECT(ePyObject) function);
void unbindAction(const std::string &context, SWIG_PYOBJECT(ePyObject) function);
void bindAction(const std::string &context, int priority, SWIG_PYOBJECT(ePyObject) function);
void unbindAction(const std::string &context, SWIG_PYOBJECT(ePyObject) function);
-
- void bindKey(const std::string &device, int key, int flags, const std::string &context, const std::string &action);
+
+ void bindKey(const std::string &domain, const std::string &device, int key, int flags, const std::string &context, const std::string &action);
+ void unbindKeyDomain(const std::string &domain);
void keyPressed(const std::string &device, int key, int flags);
void keyPressed(const std::string &device, int key, int flags);
- static RESULT getInstance(ePtr<eActionMap> &ptr);
#ifndef SWIG
#ifndef SWIG
+ static RESULT getInstance(ePtr<eActionMap> &);
private:
static eActionMap *instance;
struct eActionBinding
{
private:
static eActionMap *instance;
struct eActionBinding
{
+ eActionBinding()
+ :m_prev_seen_make_key(-1)
+ {}
// eActionContext *m_context;
std::string m_context; // FIXME
// eActionContext *m_context;
std::string m_context; // FIXME
+ std::string m_domain;
ePyObject m_fnc;
eWidget *m_widget;
int m_id;
ePyObject m_fnc;
eWidget *m_widget;
int m_id;
+ int m_prev_seen_make_key;
};
std::multimap<int, eActionBinding> m_bindings;
};
std::multimap<int, eActionBinding> m_bindings;
@@
-56,6
+63,7
@@
private:
struct eNativeKeyBinding
{
std::string m_device;
struct eNativeKeyBinding
{
std::string m_device;
+ std::string m_domain;
int m_key;
int m_flags;
int m_key;
int m_flags;
@@
-69,6
+77,7
@@
private:
struct ePythonKeyBinding
{
std::string m_device;
struct ePythonKeyBinding
{
std::string m_device;
+ std::string m_domain;
int m_key;
int m_flags;
int m_key;
int m_flags;
@@
-78,5
+87,13
@@
private:
std::multimap<std::string, ePythonKeyBinding> m_python_keys;
#endif
};
std::multimap<std::string, ePythonKeyBinding> m_python_keys;
#endif
};
+SWIG_TEMPLATE_TYPEDEF(ePtr<eActionMap>, eActionMap);
+SWIG_EXTEND(ePtr<eActionMap>,
+ static ePtr<eActionMap> getInstance()
+ {
+ extern ePtr<eActionMap> NewActionMapPtr(void);
+ return NewActionMapPtr();
+ }
+);
#endif
#endif