From 66a26917a0631463df7f72c34cbeb39df466918a Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Thu, 2 Jan 2003 20:36:14 +0000 Subject: new code for bindings/callbacks. much sexier. now passes python classes back to the callbacks, and the storage of the callbacks in the code is much more clear. huzzah. --- src/python.hh | 52 +++++++++++----------------------------------------- 1 file changed, 11 insertions(+), 41 deletions(-) (limited to 'src/python.hh') diff --git a/src/python.hh b/src/python.hh index 7566f817..0870c9ad 100644 --- a/src/python.hh +++ b/src/python.hh @@ -19,50 +19,20 @@ extern "C" { namespace ob { void python_init(char *argv0); -bool python_exec(const char *file); -bool python_get_string(const char *name, std::string *value); - -//! Add a python callback funtion to the back of the hook list -/*! - Registering functions for KeyPress events is pointless. Use python_bind - instead to do this. -*/ -bool python_register(int action, PyObject *callback); -//! Add a python callback funtion to the front of the hook list -/*! - Registering functions for KeyPress events is pointless. Use python_bind - instead to do this. -*/ -bool python_preregister(int action, PyObject *callback); -//! Remove a python callback function from the hook list -bool python_unregister(int action, PyObject *callback); - -//! Removes all python callback functions from the hook list -bool python_unregister_all(int action); +void python_destroy(); +bool python_exec(const std::string &path); + +void python_callback(PyObject *func, OBActions::ActionType action, + Window window, OBWidget::WidgetType type, + unsigned int state, unsigned int button, + int xroot, int yroot, Time time); -//! Add a keybinding -/*! - @param keylist A python list of modifier/key/buttons, in the form: - "C-A-space" or "A-Button1" etc. - @param callback A python function to call when the binding is used. -*/ -bool python_bind(PyObject *keylist, PyObject *callback); - -bool python_unbind(PyObject *keylist); - -void python_set_reset_key(const std::string &key); +void python_callback(PyObject *func, Window window, unsigned int state, + unsigned int key, Time time); -void python_unbind_all(); -//! Fire a python callback function -void python_callback(OBActions::ActionType action, Window window, - OBWidget::WidgetType type, unsigned int state, - long d1 = LONG_MIN, long d2 = LONG_MIN, - long d3 = LONG_MIN, long d4 = LONG_MIN); - -//! Fire a python callback function for a key binding -void python_callback_binding(int id, Window window, unsigned int state, - unsigned int keybutton, Time time); +bool python_get_string(const char *name, std::string *value); +bool python_getstringlist(const char *name, std::vector *value); } -- cgit v1.2.3