Home · All Namespaces · All Classes |
00001 /*************************************************************************** 00002 ** 00003 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 00004 ** All rights reserved. 00005 ** Contact: Nokia Corporation (directui@nokia.com) 00006 ** 00007 ** This file is part of mhome. 00008 ** 00009 ** If you have questions regarding the use of this file, please contact 00010 ** Nokia at directui@nokia.com. 00011 ** 00012 ** This library is free software; you can redistribute it and/or 00013 ** modify it under the terms of the GNU Lesser General Public 00014 ** License version 2.1 as published by the Free Software Foundation 00015 ** and appearing in the file LICENSE.LGPL included in the packaging 00016 ** of this file. 00017 ** 00018 ****************************************************************************/ 00019 00020 #ifndef HOMEWINDOWMONITOR_H 00021 #define HOMEWINDOWMONITOR_H 00022 00023 #include <QObject> 00024 #include <QSet> 00025 #include "windowmonitor.h" 00026 #include "xeventlistener.h" 00027 00031 class HomeWindowMonitor : public WindowMonitor, public XEventListener 00032 { 00033 Q_OBJECT 00034 00035 public: 00036 00038 static const HomeWindowMonitor *instance(); 00039 00043 virtual ~HomeWindowMonitor(); 00044 00046 virtual bool isOwnWindow(WId wid) const; 00047 virtual bool handleXEvent(const XEvent& event); 00049 00051 bool isHomeWindowOnTop() const; 00052 00054 bool isHomeWindowOnTop(QSet<Atom> ignoredWindows) const; 00055 00056 protected: 00060 HomeWindowMonitor(); 00061 00062 private: 00063 00064 // HomeWindowMonitor singleton instance. 00065 static QSharedPointer<HomeWindowMonitor> windowMonitorInstance; 00066 00069 const QSet<Atom> nonFullscreenApplicationWindowTypes; 00070 00072 const Atom netClientListStacking; 00073 00078 QList<Window> windowStackingOrder() const; 00079 00080 #ifdef UNIT_TEST 00081 friend class Ut_HomeWindowMonitor; 00082 friend class Ut_Switcher; 00083 friend class Ut_DesktopView; 00084 friend class Ut_LauncherButton; 00085 #endif 00086 00087 }; 00088 00089 #endif // HOMEWINDOWMONITOR_H
Copyright © 2011 Nokia Corporation | Generated on Thu Jul 7 2011 22:14:50 Doxygen 1.7.1 |
MeeGo Touch |