Make it possible for effects to store arbitrary data in EffectWindow.
svn path=/trunk/KDE/kdebase/workspace/; revision=1069539
This commit is contained in:
parent
ab85881232
commit
b95c6f721c
3 changed files with 26 additions and 1 deletions
15
effects.cpp
15
effects.cpp
|
@ -1531,6 +1531,21 @@ bool EffectWindowImpl::visibleInClientGroup() const
|
|||
return false;
|
||||
}
|
||||
|
||||
void EffectWindowImpl::setData( int role, const QVariant &data )
|
||||
{
|
||||
if ( !data.isNull() )
|
||||
dataMap[ role ] = data;
|
||||
else
|
||||
dataMap.remove( role );
|
||||
}
|
||||
|
||||
QVariant EffectWindowImpl::data( int role ) const
|
||||
{
|
||||
if( !dataMap.contains( role ) )
|
||||
return QVariant();
|
||||
return dataMap[ role ];
|
||||
}
|
||||
|
||||
EffectWindow* effectWindow( Toplevel* w )
|
||||
{
|
||||
EffectWindowImpl* ret = w->effectWindow();
|
||||
|
|
|
@ -277,9 +277,13 @@ class EffectWindowImpl : public EffectWindow
|
|||
void setSceneWindow( Scene::Window* w ); // internal
|
||||
const Scene::Window* sceneWindow() const; // internal
|
||||
Scene::Window* sceneWindow(); // internal
|
||||
|
||||
void setData( int role, const QVariant &data );
|
||||
QVariant data( int role ) const;
|
||||
private:
|
||||
Toplevel* toplevel;
|
||||
Scene::Window* sw; // This one is used only during paint pass.
|
||||
QMap<int, QVariant> dataMap;
|
||||
};
|
||||
|
||||
class EffectWindowGroupImpl
|
||||
|
|
|
@ -170,7 +170,7 @@ X-KDE-Library=kwin4_effect_cooleffect
|
|||
|
||||
#define KWIN_EFFECT_API_MAKE_VERSION( major, minor ) (( major ) << 8 | ( minor ))
|
||||
#define KWIN_EFFECT_API_VERSION_MAJOR 0
|
||||
#define KWIN_EFFECT_API_VERSION_MINOR 111
|
||||
#define KWIN_EFFECT_API_VERSION_MINOR 112
|
||||
#define KWIN_EFFECT_API_VERSION KWIN_EFFECT_API_MAKE_VERSION( \
|
||||
KWIN_EFFECT_API_VERSION_MAJOR, KWIN_EFFECT_API_VERSION_MINOR )
|
||||
|
||||
|
@ -964,6 +964,12 @@ class KWIN_EXPORT EffectWindow
|
|||
virtual void closeWindow() const = 0;
|
||||
|
||||
virtual bool visibleInClientGroup() const = 0;
|
||||
|
||||
/**
|
||||
* Can be used to by effects to store arbitrary data in the EffectWindow.
|
||||
*/
|
||||
virtual void setData( int role, const QVariant &data ) = 0;
|
||||
virtual QVariant data( int role ) const = 0;
|
||||
};
|
||||
|
||||
class KWIN_EXPORT EffectWindowGroup
|
||||
|
|
Loading…
Reference in a new issue