diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 4aed2c8219774f5d797760606b8489a92ddc5163 (patch) | |
tree | 3f8c130f7d269626bf6a9447407ef6c35954426a /kwin/group.h | |
download | tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kwin/group.h')
-rw-r--r-- | kwin/group.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/kwin/group.h b/kwin/group.h new file mode 100644 index 000000000..21ebb8d17 --- /dev/null +++ b/kwin/group.h @@ -0,0 +1,90 @@ +/***************************************************************** + KWin - the KDE window manager + This file is part of the KDE project. + +Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org> +Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org> + +You can Freely distribute this program under the GNU General Public +License. See the file "COPYING" for the exact licensing terms. +******************************************************************/ + +#ifndef KWIN_GROUP_H +#define KWIN_GROUP_H + +#include "utils.h" +#include <X11/X.h> +#include <netwm.h> + +namespace KWinInternal +{ + +class Client; +class Workspace; + +class Group + { + public: + Group( Window leader, Workspace* workspace ); + ~Group(); + Window leader() const; + const Client* leaderClient() const; + Client* leaderClient(); + const ClientList& members() const; + QPixmap icon() const; + QPixmap miniIcon() const; + void addMember( Client* member ); + void removeMember( Client* member ); + void gotLeader( Client* leader ); + void lostLeader(); + Workspace* workspace(); + bool groupEvent( XEvent* e ); + void updateUserTime( Time time = CurrentTime ); + Time userTime() const; + void ref(); + void deref(); + private: + void getIcons(); + void startupIdChanged(); + ClientList _members; + Client* leader_client; + Window leader_wid; + Workspace* _workspace; + NETWinInfo* leader_info; + Time user_time; + int refcount; + }; + +inline Window Group::leader() const + { + return leader_wid; + } + +inline const Client* Group::leaderClient() const + { + return leader_client; + } + +inline Client* Group::leaderClient() + { + return leader_client; + } + +inline const ClientList& Group::members() const + { + return _members; + } + +inline Workspace* Group::workspace() + { + return _workspace; + } + +inline Time Group::userTime() const + { + return user_time; + } + +} // namespace + +#endif |