summaryrefslogtreecommitdiffstats
path: root/ksirc/puke/pwidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'ksirc/puke/pwidget.h')
-rw-r--r--ksirc/puke/pwidget.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/ksirc/puke/pwidget.h b/ksirc/puke/pwidget.h
new file mode 100644
index 00000000..f7f748fb
--- /dev/null
+++ b/ksirc/puke/pwidget.h
@@ -0,0 +1,45 @@
+#ifndef PWIDGET_H
+#define PWIDGET_H
+
+class PWidget;
+
+#include <qobject.h>
+#include <qwidget.h>
+#include "pobject.h"
+#include "pmessage.h"
+
+class PWidget : public PObject
+{
+ Q_OBJECT
+ public:
+ PWidget(PObject *parent = 0);
+ virtual ~PWidget();
+
+ // Init and setup code
+ static PObject *createWidget(CreateArgs &ca);
+
+ virtual void messageHandler(int fd, PukeMessage *pm);
+
+ virtual void setWidget(QObject *w = 0x0);
+ virtual QWidget *widget();
+
+ protected:
+ bool eventFilter(QObject *o, QEvent *e);
+
+ private:
+ QWidget *w;
+
+ void (PWidget::*eventList[20])(QObject *, QEvent *);
+
+ void eventNone(QObject *, QEvent *);
+ void eventTimer(QObject *, QEvent *);
+ void eventMouse(QObject *, QEvent *);
+ void eventKey(QObject *, QEvent *);
+ void eventFocus(QObject *, QEvent *);
+ void eventPaint(QObject *, QEvent *);
+ void eventMove(QObject *, QEvent *);
+ void eventResize(QObject *, QEvent *);
+
+};
+
+#endif