kde-playground/pykde4/sip/kdeui/kwindowsystem.sip

173 lines
6.4 KiB
Text

//
// Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
// Earlier copyrights 1998 - 2007 Jim Bublitz also apply
// Generated by twine
// This file is part of PyKDE4.
// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.
// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
class KWindowSystem : QObject, NET
{
%TypeHeaderCode
#include <kwindowsystem.h>
%End
public:
static KWindowSystem* self ();
static const QList<WId>& windows ();
static bool hasWId (WId id);
static KWindowInfo windowInfo (WId win, unsigned long properties, unsigned long properties2 = 0);
static QList<WId> stackingOrder ();
static WId activeWindow ();
static void activateWindow (WId win, long time = 0);
static void forceActiveWindow (WId win, long time = 0);
static void demandAttention (WId win, bool set = 1);
static bool compositingActive ();
static int currentDesktop ();
static int numberOfDesktops ();
static void setCurrentDesktop (int desktop);
static void setOnAllDesktops (WId win, bool b);
static void setOnDesktop (WId win, int desktop);
static void setMainWindow (QWidget* subwindow, WId mainwindow);
static WId transientFor (WId window);
static WId groupLeader (WId window);
static QPixmap icon (WId win, int width = -1, int height = -1, bool scale = 0);
enum IconSource
{
NETWM,
WMHints,
ClassHint,
XApp
};
static QPixmap icon (WId win, int width, int height, bool scale, int flags);
static void setIcons (WId win, const QPixmap& icon, const QPixmap& miniIcon);
static void setType (WId win, NET::WindowType windowType);
static void setState (WId win, unsigned long state);
static void clearState (WId win, unsigned long state);
static void minimizeWindow (WId win, bool animation = 1);
static void unminimizeWindow (WId win, bool animation = 1);
static void raiseWindow (WId win);
static void lowerWindow (WId win);
static bool icccmCompliantMappingState ();
static QRect workArea (int desktop = -1);
static QRect workArea (const QList<WId>& excludes, int desktop = -1);
static QString desktopName (int desktop);
static void setDesktopName (int desktop, const QString& name);
static bool showingDesktop ();
static void setUserTime (WId win, long time);
static void setExtendedStrut (WId win, int left_width, int left_start, int left_end, int right_width, int right_start, int right_end, int top_width, int top_start, int top_end, int bottom_width, int bottom_start, int bottom_end);
static void setStrut (WId win, int left, int right, int top, int bottom);
static bool allowedActionsSupported ();
static QString readNameProperty (WId window, unsigned long atom);
static void doNotManage (const QString& title);
static bool mapViewport ();
static int viewportToDesktop (const QPoint& pos);
static int viewportWindowToDesktop (const QRect& r);
static QPoint desktopToViewport (int desktop, bool absolute);
static QPoint constrainViewportRelativePosition (const QPoint& pos);
signals:
void currentDesktopChanged (int desktop);
void windowAdded (WId id);
void windowRemoved (WId id);
void activeWindowChanged (WId id);
void desktopNamesChanged ();
void numberOfDesktopsChanged (int num);
void workAreaChanged ();
void strutChanged ();
void stackingOrderChanged ();
//ig void windowChanged (WId id, const unsigned long* properties /Out/);
void windowChanged (WId id, unsigned int properties);
void windowChanged (WId id);
void showingDesktopChanged (bool showing);
protected:
//force
virtual void connectNotify (SIP_SIGNAL);
//end
private:
KWindowSystem ();
public:
static void allowExternalProcessWindowActivation (int pid = -1);
protected:
//ig virtual void connectNotify (const char* signal);
public:
static void setBlockingCompositing (WId window, bool active);
signals:
void compositingChanged (bool enabled);
};
// KWindowSystem
%MappedType QList<WId>
{
%TypeHeaderCode
#include <qlist.h>
%End
%ConvertFromTypeCode
// Create the list.
PyObject *l;
if ((l = PyList_New(sipCpp->size())) == NULL)
return NULL;
// Set the list elements.
for (int i = 0; i < sipCpp->size(); ++i) {
PyObject *pobj;
#if PY_MAJOR_VERSION >= 3
if ((pobj = PyLong_FromLong ((long)sipCpp->value(i))) == NULL) {
#else
if ((pobj = PyInt_FromLong ((long)sipCpp->value(i))) == NULL) {
#endif
Py_DECREF(l);
return NULL;
}
PyList_SET_ITEM(l, i, pobj);
}
return l;
%End
%ConvertToTypeCode
// Check the type if that is all that is required.
if (sipIsErr == NULL)
return PyList_Check(sipPy);
QList<WId> *ql = new QList<WId>;
for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) {
#if PY_MAJOR_VERSION >= 3
ql->append((WId)PyLong_AsLong(PyList_GET_ITEM(sipPy, i)));
#else
ql->append((WId)PyInt_AS_LONG (PyList_GET_ITEM(sipPy, i)));
#endif
}
*sipCppPtr = ql;
return sipGetState(sipTransferObj);
%End
};