From 423367e8cda46f9d0f69932f617054cc15702aeb Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 5 Feb 2003 10:39:14 +0000 Subject: move the otk wrapper stuff into its own dir --- otk/Makefile.am | 25 +++------------ otk/otk.i | 86 ---------------------------------------------------- otk/ustring.i | 40 ------------------------ otk/wrap/.cvsignore | 9 ++++++ otk/wrap/Makefile.am | 32 +++++++++++++++++++ otk/wrap/otk.i | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ otk/wrap/ustring.i | 40 ++++++++++++++++++++++++ 7 files changed, 166 insertions(+), 147 deletions(-) delete mode 100644 otk/otk.i delete mode 100644 otk/ustring.i create mode 100644 otk/wrap/.cvsignore create mode 100644 otk/wrap/Makefile.am create mode 100644 otk/wrap/otk.i create mode 100644 otk/wrap/ustring.i diff --git a/otk/Makefile.am b/otk/Makefile.am index 3ca6c6ff..31eb4a76 100644 --- a/otk/Makefile.am +++ b/otk/Makefile.am @@ -1,14 +1,11 @@ +SUBDIRS = wrap + buttonsdir = $(pkgdatadir)/buttons -scriptdir = $(libdir)/openbox/python includeotkdir = $(includedir)/otk pkgconfigdir = $(libdir)/pkgconfig CXXFLAGS=$(XFT_CFLAGS) @CXXFLAGS@ \ --DBUTTONSDIR=\"$(buttonsdir)\" -DSWIG_GLOBAL -# -DSWIG_GLOBAL means we don't have to link libswigpy cuz libotk will export -# everything it would - -#INCLUDES= -I../src +-DBUTTONSDIR=\"$(buttonsdir)\" #noinst_LIBRARIES=libotk.a lib_LTLIBRARIES=libotk.la @@ -20,8 +17,7 @@ libotk_la_SOURCES=rendercontrol.cc truerendercontrol.cc surface.cc \ timer.cc \ util.cc widget.cc focuswidget.cc \ button.cc eventhandler.cc eventdispatcher.cc ustring.cc \ - label.cc focuslabel.cc application.cc appwidget.cc \ - otk_wrap.cc + label.cc focuslabel.cc application.cc appwidget.cc includeotk_HEADERS=application.hh appwidget.hh assassin.hh button.hh \ display.hh eventdispatcher.hh eventhandler.hh \ focuslabel.hh focuswidget.hh font.hh label.hh otk.hh \ @@ -30,16 +26,11 @@ includeotk_HEADERS=application.hh appwidget.hh assassin.hh button.hh \ rendertexture.hh screeninfo.hh strut.hh surface.hh \ timer.hh truerendercontrol.hh ustring.hh util.hh widget.hh \ ../config.h -libotk_la_LDFLAGS = $(XFT_LIBS) @LIBS@ MAINTAINERCLEANFILES= Makefile.in pkgconfig_DATA = otk.pc -script_DATA = otk.py - -EXTRA_DIST = $(script_DATA) - otk.pc: otk.pc.in @regex_cmd@ -e "s,\@prefix\@,$(prefix)," \ -e "s,\@version\@,$(VERSION)," \ @@ -54,12 +45,4 @@ otk_test: libotk.la otk_test.cc rendertest: libotk.la rendertest.cc $(CXX) $(CXXFLAGS) -DHAVE_CONFIG_H -I. -I. -I.. -I../src $(XFT_CFLAGS) -Wall -W -pedantic -DNDEBUG -g -O2 -o $@ rendertest.cc $(XFT_LIBS) -L. -lotk @LIBS@ -%.py: %_wrap.cc - -otk.i: $(wildcard *.hh) - touch $@ - -%_wrap.cc: %.i - swig $(filter -I%,$(CXXFLAGS)) -python -shadow -c++ -nodefault -o $@ $< - # local dependencies diff --git a/otk/otk.i b/otk/otk.i deleted file mode 100644 index 39a79d95..00000000 --- a/otk/otk.i +++ /dev/null @@ -1,86 +0,0 @@ -// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- - -%module otk - -%{ -#ifdef HAVE_CONFIG_H -# include "../config.h" -#endif - -#include "otk.hh" -%} - -%include "stl.i" -//%include std_list.i -%include "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; } -%}; - -namespace otk { -/*%rename(setValue_bool) Configuration::setValue(std::string const &,bool); -%rename(setValue_unsigned) Configuration::setValue(const std::string &, unsigned int); -%rename(setValue_long) Configuration::setValue(const std::string &, long); -%rename(setValue_unsignedlong) Configuration::setValue(const std::string &, unsigned long); -%rename(setValue_string) Configuration::setValue(const std::string &, const std::string &); -%rename(setValue_charptr) Configuration::setValue(const std::string &, const char *);*/ - -%rename(itostring_unsigned) itostring(unsigned int); -%rename(itostring_long) itostring(long); -%rename(itostring_unsigned_long) itostring(unsigned long); - -// these are needed for guile, but not needed for python! -//%rename(equals) BColor::operator==; -//%rename(equals) Rect::operator==; -//%rename(equals) BTexture::operator==; -//%ignore BColor::operator!=; -//%ignore BTexture::operator!=; -%ignore Rect::operator!=; -%ignore Rect::operator|; -%ignore Rect::operator|=; -%ignore Rect::operator&; -%ignore Rect::operator&=; -//%ignore OBTimer::operator<; -%ignore TimerLessThan; - -/* -%rename(set_multi) OtkProperty::set(Window, Atoms, Atoms, unsigned long[], int); -%rename(set_string) OtkProperty::set(Window, Atoms, StringType, const std::string &); -%rename(set_string_multi) OtkProperty::set(Window, Atoms, StringType, const StringVect &); -*/ -} - -%include "eventhandler.hh" -%include "eventdispatcher.hh" -%include "point.hh" -%include "rect.hh" -%include "rendercolor.hh" -%include "rendertexture.hh" -%include "font.hh" -%include "renderstyle.hh" -%include "widget.hh" -%include "label.hh" -%include "focuswidget.hh" -%include "focuslabel.hh" -%include "appwidget.hh" -%include "application.hh" -%include "assassin.hh" -%include "button.hh" -//%include "configuration.hh" -%include "display.hh" -%include "rendercontrol.hh" -%include "property.hh" -%include "screeninfo.hh" -%include "strut.hh" -%include "timer.hh" -%include "util.hh" - -// for Mod1Mask etc -%include "X11/X.h" diff --git a/otk/ustring.i b/otk/ustring.i deleted file mode 100644 index d693e7dc..00000000 --- a/otk/ustring.i +++ /dev/null @@ -1,40 +0,0 @@ -// SWIG typemaps for otk::ustring - -%{ -#include "otk/ustring.hh" -%} - -namespace otk { - - class ustring; - - /* Overloading check */ - - %typemap(typecheck) ustring = char *; - %typemap(typecheck) const ustring & = char *; - - %typemap(in) ustring { - if (PyString_Check($input)) - $1 = otk::ustring(PyString_AsString($input)); - else - SWIG_exception(SWIG_TypeError, "ustring expected"); - } - - %typemap(in) const ustring & (otk::ustring temp) { - if (PyString_Check($input)) { - temp = otk::ustring(PyString_AsString($input)); - $1 = &temp; - } else { - SWIG_exception(SWIG_TypeError, "ustring expected"); - } - } - - %typemap(out) ustring { - $result = PyString_FromString($1.c_str()); - } - - %typemap(out) const ustring & { - $result = PyString_FromString($1->c_str()); - } - -} diff --git a/otk/wrap/.cvsignore b/otk/wrap/.cvsignore new file mode 100644 index 00000000..63aba835 --- /dev/null +++ b/otk/wrap/.cvsignore @@ -0,0 +1,9 @@ +Makefile +Makefile.in +otk.py +.deps +.libs +otkpy.la +otkpy_la-wrap_otk.lo +otkpy_la-wrap_otk.o +wrap_otk.cc diff --git a/otk/wrap/Makefile.am b/otk/wrap/Makefile.am new file mode 100644 index 00000000..4c2de002 --- /dev/null +++ b/otk/wrap/Makefile.am @@ -0,0 +1,32 @@ +# XXX - INSTALL THIS GLOBALLY!#&@(!!! +pythondir = $(libdir)/openbox/python + +CXXFLAGS = $(XFT_CFLAGS) $(filter-out -W -Wall,@CXXFLAGS@) + +INCLUDES = -I.. -I../.. + +python_LTLIBRARIES = otkpy.la + +otkpy_la_CXXFLAGS = $(PYTHON_CFLAGS) +otkpy_la_LDFLAGS = -module +otkpy_la_SOURCES = wrap_otk.cc +otkpy_la_LIBADD = ../libotk.la + +CLEANFILES = wrap_* otk.py +MAINTAINERCLEANFILES = Makefile.in + +python_PYTHON = otk.py + +install-exec-hook: + $(mkinstalldirs) "$(DESTDIR)$(pythondir)" + cd "$(DESTDIR)$(pythondir)" && \ + $(RM) -f _otk.so && $(LN_S) otkpy.so _otk.so + +uninstall-local: + rm -f "$(DESTDIR)$(pythondir)/_otk.so" + +%.py: wrap_%.cc + +wrap_%.cc: %.i $(wildcard ../*.hh) + swig $(INCLUDES) $(filter -I%,$(CXXFLAGS)) -python -shadow -c++ -nodefault -o $@ $< + diff --git a/otk/wrap/otk.i b/otk/wrap/otk.i new file mode 100644 index 00000000..5bf17a21 --- /dev/null +++ b/otk/wrap/otk.i @@ -0,0 +1,81 @@ +// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- + +%module otk + +%{ +#include "otk.hh" +%} + +%include "stl.i" +//%include std_list.i +%include "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; } +%}; + +namespace otk { +/*%rename(setValue_bool) Configuration::setValue(std::string const &,bool); +%rename(setValue_unsigned) Configuration::setValue(const std::string &, unsigned int); +%rename(setValue_long) Configuration::setValue(const std::string &, long); +%rename(setValue_unsignedlong) Configuration::setValue(const std::string &, unsigned long); +%rename(setValue_string) Configuration::setValue(const std::string &, const std::string &); +%rename(setValue_charptr) Configuration::setValue(const std::string &, const char *);*/ + +%rename(itostring_unsigned) itostring(unsigned int); +%rename(itostring_long) itostring(long); +%rename(itostring_unsigned_long) itostring(unsigned long); + +// these are needed for guile, but not needed for python! +//%rename(equals) BColor::operator==; +//%rename(equals) Rect::operator==; +//%rename(equals) BTexture::operator==; +//%ignore BColor::operator!=; +//%ignore BTexture::operator!=; +%ignore Rect::operator!=; +%ignore Rect::operator|; +%ignore Rect::operator|=; +%ignore Rect::operator&; +%ignore Rect::operator&=; +//%ignore OBTimer::operator<; +%ignore TimerLessThan; + +/* +%rename(set_multi) OtkProperty::set(Window, Atoms, Atoms, unsigned long[], int); +%rename(set_string) OtkProperty::set(Window, Atoms, StringType, const std::string &); +%rename(set_string_multi) OtkProperty::set(Window, Atoms, StringType, const StringVect &); +*/ +} + +%include "eventhandler.hh" +%include "eventdispatcher.hh" +%include "point.hh" +%include "rect.hh" +%include "rendercolor.hh" +%include "rendertexture.hh" +%include "font.hh" +%include "renderstyle.hh" +%include "widget.hh" +%include "label.hh" +%include "focuswidget.hh" +%include "focuslabel.hh" +%include "appwidget.hh" +%include "application.hh" +%include "assassin.hh" +%include "button.hh" +%include "display.hh" +%include "rendercontrol.hh" +%include "property.hh" +%include "screeninfo.hh" +%include "strut.hh" +%include "timer.hh" +%include "util.hh" + +// for Mod1Mask etc +%include "X11/X.h" diff --git a/otk/wrap/ustring.i b/otk/wrap/ustring.i new file mode 100644 index 00000000..d693e7dc --- /dev/null +++ b/otk/wrap/ustring.i @@ -0,0 +1,40 @@ +// SWIG typemaps for otk::ustring + +%{ +#include "otk/ustring.hh" +%} + +namespace otk { + + class ustring; + + /* Overloading check */ + + %typemap(typecheck) ustring = char *; + %typemap(typecheck) const ustring & = char *; + + %typemap(in) ustring { + if (PyString_Check($input)) + $1 = otk::ustring(PyString_AsString($input)); + else + SWIG_exception(SWIG_TypeError, "ustring expected"); + } + + %typemap(in) const ustring & (otk::ustring temp) { + if (PyString_Check($input)) { + temp = otk::ustring(PyString_AsString($input)); + $1 = &temp; + } else { + SWIG_exception(SWIG_TypeError, "ustring expected"); + } + } + + %typemap(out) ustring { + $result = PyString_FromString($1.c_str()); + } + + %typemap(out) const ustring & { + $result = PyString_FromString($1->c_str()); + } + +} -- cgit v1.2.3