openbox/src/openbox.i

50 lines
917 B
OpenEdge ABL
Raw Normal View History

2002-12-23 00:04:32 +00:00
// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
%module openbox
%{
#ifdef HAVE_CONFIG_H
# include "../config.h"
#endif
#include "openbox.hh"
#include "screen.hh"
#include "client.hh"
%}
2002-12-24 19:16:38 +00:00
%include stl.i
//%include std_list.i
//%template(ClientList) std::list<OBClient*>;
%ignore ob::Openbox::instance;
%ignore ob::OBScreen::clients;
2002-12-23 00:04:32 +00:00
2002-12-24 23:31:38 +00:00
%import "../otk/eventdispatcher.hh"
%import "../otk/eventhandler.hh"
%import "widget.hh"
2002-12-23 00:04:32 +00:00
%include "openbox.hh"
%include "screen.hh"
%include "client.hh"
2002-12-24 19:16:38 +00:00
%inline %{
ob::Openbox *Openbox_instance() { return ob::Openbox::instance; }
%};
2002-12-23 00:04:32 +00:00
%{
2002-12-24 19:16:38 +00:00
#include <iterator>
2002-12-23 00:04:32 +00:00
%}
2002-12-24 19:16:38 +00:00
%extend ob::OBScreen {
OBClient *client(int i) {
2002-12-25 00:27:10 +00:00
if (i >= (int)self->clients.size())
return NULL;
2002-12-24 19:16:38 +00:00
ob::OBScreen::ClientList::iterator it = self->clients.begin();
std::advance(it,i);
return *it;
}
int clientCount() const {
return (int) self->clients.size();
}
};