+++ /dev/null
-// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
-
-%module ob
-
-%{
-#ifdef HAVE_CONFIG_H
-# include "../config.h"
-#endif
-
-#include "frame.hh"
-#include "openbox.hh"
-#include "screen.hh"
-#include "client.hh"
-#include "bindings.hh"
-#include "actions.hh"
-#include "python.hh"
-#include "otk/otk.hh"
-%}
-
-%include "stl.i"
-//%include std_list.i
-//%template(ClientList) std::list<Client*>;
-
-%ignore ob::openbox;
-%inline %{
- ob::Openbox *Openbox_instance() { return ob::openbox; }
-%};
-
-%{
-namespace ob {
-void python_callback(PyObject *func, MouseData *data)
-{
- PyObject *arglist, *result, *pdata;
-
- pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__MouseData, 0);
- arglist = Py_BuildValue("(O)", pdata);
- Py_DECREF(pdata);
-
- // call the callback
- result = PyEval_CallObject(func, arglist);
- if (!result || PyErr_Occurred()) {
- // an exception occured in the script, display it
- PyErr_Print();
- }
-
- Py_XDECREF(result);
- Py_DECREF(arglist);
-}
-
-void python_callback(PyObject *func, EventData *data)
-{
- PyObject *arglist, *result, *pdata;
-
- pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__EventData, 0);
- arglist = Py_BuildValue("(O)", pdata);
- Py_DECREF(pdata);
-
- // call the callback
- result = PyEval_CallObject(func, arglist);
- if (!result || PyErr_Occurred()) {
- // an exception occured in the script, display it
- PyErr_Print();
- }
-
- Py_XDECREF(result);
- Py_DECREF(arglist);
-}
-
-void python_callback(PyObject *func, KeyData *data)
-{
- PyObject *arglist, *result, *pdata;
-
- pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__KeyData, 0);
- arglist = Py_BuildValue("(O)", pdata);
- Py_DECREF(pdata);
-
- // call the callback
- result = PyEval_CallObject(func, arglist);
- if (!result || PyErr_Occurred()) {
- // an exception occured in the script, display it
- PyErr_Print();
- }
-
- Py_XDECREF(result);
- Py_DECREF(arglist);
-}
-
-}
-%}
-
-#ignore ob::openbox;
-
-%ignore ob::Screen::clients;
-%{
- #include <iterator>
-%}
-%extend ob::Screen {
- Client *client(int i) {
- if (i < 0 || i >= (int)self->clients.size())
- return NULL;
- ob::Client::List::iterator it = self->clients.begin();
- std::advance(it,i);
- return *it;
- }
- int clientCount() const {
- return (int) self->clients.size();
- }
-};
-
-/*
-%include "../otk/ustring.i"
-
-%ignore otk::display;
-%inline %{
- otk::Display *Display_instance() { return otk::display; }
-%};
-
-%ignore otk::Property::atoms;
-%inline %{
- const otk::Atoms& Property_atoms() { return otk::Property::atoms; }
-%};
-
-%include "../otk/display.hh"
-%include "../otk/point.hh"
-%include "../otk/property.hh"
-%include "../otk/rect.hh"
-%include "../otk/screeninfo.hh"
-%include "../otk/strut.hh"
-
-%include "../otk/eventhandler.hh"
-%include "../otk/eventdispatcher.hh"
-
-%import "../otk/widget.hh"
-*/
-%import "../otk/otk.i"
-
-%import "widgetbase.hh"
-%import "actions.hh"
-
-%include "openbox.hh"
-%include "screen.hh"
-%include "client.hh"
-%include "frame.hh"
-%include "python.hh"
-
-// for Mod1Mask etc
-%include "X11/X.h"