Plasma
plasmaapp.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PLASMA_APP_H
00021 #define PLASMA_APP_H
00022
00023 #include <QList>
00024
00025 #include <KUniqueApplication>
00026
00027 namespace Plasma
00028 {
00029 class AppletBrowser;
00030 class Containment;
00031 class Corona;
00032 }
00033
00034 class RootWidget;
00035 class PanelView;
00036 class DesktopView;
00037
00038 class PlasmaApp : public KUniqueApplication
00039 {
00040 Q_OBJECT
00041 public:
00042 ~PlasmaApp();
00043
00044 static PlasmaApp* self();
00045 static bool hasComposite();
00046
00047 void notifyStartup(bool completed);
00048 Plasma::Corona* corona();
00049 void showAppletBrowser(Plasma::Containment *containment);
00050
00065 void setIsDesktop(bool isDesktop);
00066
00071 bool isDesktop() const;
00072
00076 void createDesktopView(Plasma::Containment *containment, int id = 0);
00077
00078 public Q_SLOTS:
00079
00080
00081 void toggleDashboard();
00082
00083 private Q_SLOTS:
00084 void setCrashHandler();
00085 void cleanup();
00086 void syncConfig();
00087 void appletBrowserDestroyed();
00088 void createView(Plasma::Containment *containment);
00089 void panelRemoved(QObject* panel);
00090 void adjustSize(int screen);
00091
00092 private:
00093 PlasmaApp(Display* display, Qt::HANDLE visual, Qt::HANDLE colormap);
00094 static void crashHandler(int signal);
00095 DesktopView* viewForScreen(int screen) const;
00096
00097 Plasma::Corona *m_corona;
00098 QList<PanelView*> m_panels;
00099 Plasma::AppletBrowser *m_appletBrowser;
00100 QList<DesktopView*> m_desktops;
00101 bool m_isDesktop;
00102 };
00103
00104 #endif // multiple inclusion guard