summaryrefslogtreecommitdiffstats
path: root/kbugbuster/gui/cwloadingwidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'kbugbuster/gui/cwloadingwidget.h')
-rw-r--r--kbugbuster/gui/cwloadingwidget.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/kbugbuster/gui/cwloadingwidget.h b/kbugbuster/gui/cwloadingwidget.h
new file mode 100644
index 00000000..17c91f05
--- /dev/null
+++ b/kbugbuster/gui/cwloadingwidget.h
@@ -0,0 +1,87 @@
+/*
+ cwloadingwidget.h - Widget to be shown while loading data
+
+ begin : sun march 18 17:12:24 CET 2001
+ copyright : (c) 2001 by Martijn Klingens
+ email : klingens@kde.org
+
+ *************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ *************************************************************************
+*/
+
+#ifndef KBBMAINWINDOW_CWLOADINGWIDGET_H
+#define KBBMAINWINDOW_CWLOADINGWIDGET_H
+
+#include <qlabel.h>
+#include <qframe.h>
+
+class QPixmap;
+class KPixmap;
+
+namespace KBugBusterMainWindow
+{
+
+/**
+ * @author Martijn Klingens
+ */
+class CWLoadingWidget : public QFrame
+{
+ Q_OBJECT
+
+public:
+ /**
+ * Use WidgetMode to specify the layout for the background images
+ * TopFrame loads and uses the logo and horizontal bars,
+ * BottomFrame loads the tools and the translucent block.
+ */
+ enum WidgetMode { TopFrame = 0, BottomFrame };
+
+ CWLoadingWidget( WidgetMode mode = TopFrame, QWidget* parent = 0,
+ const char* name = 0 );
+ CWLoadingWidget( const QString &text, WidgetMode mode = TopFrame,
+ QWidget* parent = 0, const char* name = 0 );
+ ~CWLoadingWidget();
+
+ QString text() const { return m_text; }
+ void setText( const QString &text );
+
+protected:
+ virtual void mouseReleaseEvent( QMouseEvent * );
+ virtual void drawContents( QPainter *p );
+ virtual void resizeEvent( QResizeEvent * );
+
+signals:
+ void clicked();
+
+private:
+ void init( WidgetMode mode );
+ void updatePixmap();
+
+ QString m_text;
+ WidgetMode m_mode;
+
+ // Pixmaps used
+ QPixmap *m_toolsPixmap;
+ QPixmap *m_logoPixmap;
+ QPixmap *m_topRightPixmap;
+ QPixmap *m_barsPixmap;
+
+ // For performance reasons we apply the KPixmapEffect only once
+ KPixmap *m_toolsPixmapEffect;
+
+ QPixmap *m_buffer;
+
+};
+
+} // namespace
+
+#endif // KBBMAINWINDOW_CWLOADINGWIDGET_H
+
+/* vim: set et ts=4 softtabstop=4 sw=4: */
+