00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef __khtml_events_h__
00020
#define __khtml_events_h__
00021
00022
#include <kparts/event.h>
00023
00024
#include "dom/dom_node.h"
00025
#include "dom/dom_string.h"
00026
00027
namespace khtml
00028 {
00029
00030
class MouseEvent :
public KParts::
Event
00031 {
00032
public:
00033
MouseEvent(
const char *name,
QMouseEvent *qmouseEvent,
int x,
int y,
00034
const DOM::DOMString &url,
const DOM::DOMString& target,
00035
const DOM::Node &innerNode);
00036
virtual ~
MouseEvent();
00037
00038
QMouseEvent *qmouseEvent()
const {
return m_qmouseEvent; }
00039
int x()
const {
return m_x; }
00040
int y()
const {
return m_y; }
00041
int absX()
const {
return m_nodeAbsX; }
00042
int absY()
const {
return m_nodeAbsY; }
00043
00044
DOM::DOMString url()
const {
return m_url; }
00045
DOM::DOMString target()
const {
return m_target; }
00046
DOM::Node innerNode()
const {
return m_innerNode; }
00047
00048
00049
long offset() const;
00050
00051 private:
00052
QMouseEvent *m_qmouseEvent;
00053
int m_x;
00054
int m_y;
00055
int m_nodeAbsX, m_nodeAbsY;
00056 DOM::
DOMString m_url;
00057 DOM::
DOMString m_target;
00058 DOM::
Node m_innerNode;
00059 class MouseEventPrivate;
00060 MouseEventPrivate *d;
00061 };
00062
00063 class MousePressEvent : public
MouseEvent
00064 {
00065
public:
00066 MousePressEvent(
QMouseEvent *mouseEvent,
int x,
int y,
00067
const DOM::DOMString &url,
const DOM::DOMString& target,
00068
const DOM::Node &innerNode)
00069 : MouseEvent( s_strMousePressEvent, mouseEvent, x, y, url, target, innerNode )
00070 {}
00071
00072
static bool test(
const QEvent *event ) {
return KParts::Event::test( event, s_strMousePressEvent ); }
00073
00074
00075
private:
00076
static const char *s_strMousePressEvent;
00077 };
00078
00079
class MouseDoubleClickEvent :
public MouseEvent
00080 {
00081
public:
00082
00083 MouseDoubleClickEvent(
QMouseEvent *mouseEvent,
int x,
int y,
00084
const DOM::DOMString &url,
const DOM::DOMString& target,
00085
const DOM::Node &innerNode,
int clickCount = 2 )
00086 :
MouseEvent( s_strMouseDoubleClickEvent, mouseEvent, x, y, url, target, innerNode ),
00087 m_clickCount( clickCount )
00088 {}
00089
00090
static bool test(
const QEvent *event )
00091 {
return KParts::Event::test( event, s_strMouseDoubleClickEvent ); }
00092
00093
int clickCount()
const {
return m_clickCount; }
00094
00095
private:
00096
int m_clickCount;
00097
static const char *s_strMouseDoubleClickEvent;
00098 };
00099
00100
class MouseMoveEvent :
public MouseEvent
00101 {
00102
public:
00103 MouseMoveEvent(
QMouseEvent *mouseEvent,
int x,
int y,
00104
const DOM::DOMString &url,
const DOM::DOMString& target,
00105
const DOM::Node &innerNode)
00106 :
MouseEvent( s_strMouseMoveEvent, mouseEvent, x, y, url, target, innerNode )
00107 {}
00108
00109
static bool test(
const QEvent *event ) {
return KParts::Event::test( event, s_strMouseMoveEvent ); }
00110
00111
private:
00112
static const char *s_strMouseMoveEvent;
00113 };
00114
00115
class MouseReleaseEvent :
public MouseEvent
00116 {
00117
public:
00118 MouseReleaseEvent(
QMouseEvent *mouseEvent,
int x,
int y,
00119
const DOM::DOMString &url,
const DOM::DOMString& target,
00120
const DOM::Node &innerNode,
long = 0 )
00121 :
MouseEvent( s_strMouseReleaseEvent, mouseEvent, x, y, url, target, innerNode )
00122 {}
00123
00124
static bool test(
const QEvent *event ) {
return KParts::Event::test( event, s_strMouseReleaseEvent ); }
00125
00126
private:
00127
static const char *s_strMouseReleaseEvent;
00128 };
00129
00130
class DrawContentsEvent :
public KParts::
Event
00131 {
00132
public:
00133 DrawContentsEvent(
QPainter *painter,
int clipx,
int clipy,
int clipw,
int cliph );
00134
virtual ~DrawContentsEvent();
00135
00136
QPainter *painter()
const {
return m_painter; }
00137
int clipx()
const {
return m_clipx; }
00138
int clipy()
const {
return m_clipy; }
00139
int clipw()
const {
return m_clipw; }
00140
int cliph()
const {
return m_cliph; }
00141
00142
static bool test(
const QEvent *event ) {
return KParts::Event::test( event, s_strDrawContentsEvent ); }
00143
00144
private:
00145
QPainter *m_painter;
00146
int m_clipx;
00147
int m_clipy;
00148
int m_clipw;
00149
int m_cliph;
00150
class DrawContentsEventPrivate;
00151 DrawContentsEventPrivate *d;
00152
static const char *s_strDrawContentsEvent;
00153 };
00154
00155 }
00156
00157
#endif