Added private data pointer members to classes which might be accessed

by style plugins ( KWin has to keep BC for these ). I hope these are
all classes that need it.
And of course, this change is not binary compatible, but it fortunately
doesn't matter much for KWin these days.

svn path=/trunk/kdebase/kwin/; revision=90127
icc-effect-5.14.5
Luboš Luňák 2001-04-03 14:40:34 +00:00
parent d194f74314
commit 18d2c93cea
4 changed files with 35 additions and 0 deletions

View File

@ -85,6 +85,18 @@ private:
KWinInternal::Client * m_client;
};
class WindowWrapperPrivate
{
public:
WindowWrapperPrivate() {};
};
class ClientPrivate
{
public:
ClientPrivate() {};
};
};
// put all externs before the namespace statement to allow the linker
@ -187,6 +199,7 @@ const long ClientWinMask = KeyPressMask | KeyReleaseMask |
WindowWrapper::WindowWrapper( WId w, Client *parent, const char* name)
: QWidget( parent, name )
{
d = new WindowWrapperPrivate;
win = w;
setMouseTracking( TRUE );
@ -226,6 +239,7 @@ WindowWrapper::WindowWrapper( WId w, Client *parent, const char* name)
WindowWrapper::~WindowWrapper()
{
releaseWindow();
delete d;
}
@ -460,6 +474,7 @@ bool WindowWrapper::x11Event( XEvent * e)
Client::Client( Workspace *ws, WId w, QWidget *parent, const char *name, WFlags f )
: QWidget( parent, name, f | WStyle_Customize | WStyle_NoBorder )
{
d = new ClientPrivate;
wspace = ws;
win = w;
autoRaiseTimer = 0;
@ -553,6 +568,7 @@ Client::~Client()
workspace()->setFocusChangeEnabled(true); // Safety
delete info;
delete d;
}

View File

@ -24,6 +24,9 @@ class Workspace;
class Client;
class WinInfo;
class WindowWrapperPrivate;
class ClientPrivate;
class WindowWrapper : public QWidget
{
Q_OBJECT
@ -56,6 +59,7 @@ private:
WId win;
Time lastMouseEventTime;
bool reparented;
WindowWrapperPrivate* d;
};
inline WId WindowWrapper::window() const
@ -328,6 +332,9 @@ private:
static QCString staticWmCommand(WId);
static QCString staticWmClientMachine(WId);
static Window staticWmClientLeader(WId);
private:
ClientPrivate* d;
};

View File

@ -85,6 +85,12 @@ private:
KWinInternal::Workspace* workspace;
};
class WorkspacePrivate
{
public:
WorkspacePrivate() {};
};
};
using namespace KWinInternal;
@ -234,6 +240,7 @@ Workspace::Workspace( bool restore )
keys (0),
root (0)
{
d = new WorkspacePrivate;
mgr = new PluginMgr;
root = qt_xrootwin();
default_colormap = DefaultColormap(qt_xdisplay(), qt_xscreen() );
@ -410,6 +417,7 @@ Workspace::~Workspace()
delete rootInfo;
delete supportWindow;
delete mgr;
delete d;
}

View File

@ -84,6 +84,8 @@ public:
static bool noBorder( WId w );
};
class WorkspacePrivate;
class Workspace : public QObject, virtual public KWinInterface
{
Q_OBJECT
@ -379,6 +381,8 @@ private:
QTimer resetTimer;
QTimer focusEnsuranceTimer;
WorkspacePrivate* d;
};
inline WId Workspace::rootWin() const