dom2_eventsimpl.h
来自「最新Nokia手机浏览器全套源代码完美版。」· C头文件 代码 · 共 509 行 · 第 1/2 页
H
509 行
long screenX() const { return m_screenX; }
long screenY() const { return m_screenY; }
long clientX() const { return m_clientX; }
long clientY() const { return m_clientY; }
long layerX() const { return m_layerX; }
long layerY() const { return m_layerY; }
bool isSimulated() const { return m_isSimulated; }
protected: // expose these so MouseEventImpl::initMouseEvent can set them
long m_screenX;
long m_screenY;
long m_clientX;
long m_clientY;
void computeLayerPos();
private:
long m_layerX;
long m_layerY;
bool m_isSimulated;
};
// Introduced in DOM Level 2
class MouseEventImpl : public MouseRelatedEventImpl {
public:
MouseEventImpl();
MouseEventImpl(EventId _id,
bool canBubbleArg,
bool cancelableArg,
AbstractViewImpl *viewArg,
long detailArg,
long screenXArg,
long screenYArg,
long clientXArg,
long clientYArg,
bool ctrlKeyArg,
bool altKeyArg,
bool shiftKeyArg,
bool metaKeyArg,
unsigned short buttonArg,
NodeImpl *relatedTargetArg,
ClipboardImpl *clipboardArg=0,
bool isSimulated = false);
virtual ~MouseEventImpl();
unsigned short button() const { return m_button; }
NodeImpl *relatedTarget() const { return m_relatedTarget; }
ClipboardImpl *clipboard() const { return m_clipboard; }
bool isSimulated() const { return m_isSimulated; }
void initMouseEvent(const DOMString &typeArg,
bool canBubbleArg,
bool cancelableArg,
const AbstractView &viewArg,
long detailArg,
long screenXArg,
long screenYArg,
long clientXArg,
long clientYArg,
bool ctrlKeyArg,
bool altKeyArg,
bool shiftKeyArg,
bool metaKeyArg,
unsigned short buttonArg,
const Node &relatedTargetArg);
virtual bool isMouseEvent() const;
virtual bool isDragEvent() const;
private:
unsigned short m_button;
NodeImpl *m_relatedTarget;
ClipboardImpl *m_clipboard;
bool m_isSimulated;
};
// Introduced in DOM Level 3
class KeyboardEventImpl : public UIEventWithKeyStateImpl {
public:
KeyboardEventImpl();
KeyboardEventImpl(QKeyEvent *key, AbstractViewImpl *view);
KeyboardEventImpl(EventId _id,
bool canBubbleArg,
bool cancelableArg,
AbstractViewImpl *viewArg,
const DOMString &keyIdentifierArg,
unsigned long keyLocationArg,
bool ctrlKeyArg,
bool altKeyArg,
bool shiftKeyArg,
bool metaKeyArg,
bool altGraphKeyArg);
virtual ~KeyboardEventImpl();
void initKeyboardEvent(const DOMString &typeArg,
bool canBubbleArg,
bool cancelableArg,
const AbstractView &viewArg,
const DOMString &keyIdentifierArg,
unsigned long keyLocationArg,
bool ctrlKeyArg,
bool altKeyArg,
bool shiftKeyArg,
bool metaKeyArg,
bool altGraphKeyArg);
DOMString keyIdentifier() const { return m_keyIdentifier; }
unsigned long keyLocation() const { return m_keyLocation; }
bool altGraphKey() const { return m_altGraphKey; }
QKeyEvent *qKeyEvent() const { return m_keyEvent; }
int keyCode() const; // key code for keydown and keyup, character for other events
int charCode() const;
virtual bool isKeyboardEvent() const;
private:
QKeyEvent *m_keyEvent;
DOMStringImpl *m_keyIdentifier;
unsigned long m_keyLocation;
bool m_altGraphKey : 1;
};
class MutationEventImpl : public EventImpl {
// ### fire these during parsing (if necessary)
public:
MutationEventImpl();
MutationEventImpl(EventId _id,
bool canBubbleArg,
bool cancelableArg,
const Node &relatedNodeArg,
const DOMString &prevValueArg,
const DOMString &newValueArg,
const DOMString &attrNameArg,
unsigned short attrChangeArg);
~MutationEventImpl();
Node relatedNode() const { return m_relatedNode; }
DOMString prevValue() const { return m_prevValue; }
DOMString newValue() const { return m_newValue; }
DOMString attrName() const { return m_attrName; }
unsigned short attrChange() const { return m_attrChange; }
void initMutationEvent(const DOMString &typeArg,
bool canBubbleArg,
bool cancelableArg,
const Node &relatedNodeArg,
const DOMString &prevValueArg,
const DOMString &newValueArg,
const DOMString &attrNameArg,
unsigned short attrChangeArg);
virtual bool isMutationEvent() const;
protected:
NodeImpl *m_relatedNode;
DOMStringImpl *m_prevValue;
DOMStringImpl *m_newValue;
DOMStringImpl *m_attrName;
unsigned short m_attrChange;
};
class ClipboardEventImpl : public EventImpl {
public:
ClipboardEventImpl();
ClipboardEventImpl(EventId _id, bool canBubbleArg, bool cancelableArg, ClipboardImpl *clipboardArg);
~ClipboardEventImpl();
ClipboardImpl *clipboard() const { return m_clipboard; }
virtual bool isClipboardEvent() const;
protected:
ClipboardImpl *m_clipboard;
};
// extension: mouse wheel event
class WheelEventImpl : public MouseRelatedEventImpl
{
public:
WheelEventImpl();
WheelEventImpl(bool horizontal, long wheelDelta, AbstractViewImpl *,
long screenXArg, long screenYArg,
long clientXArg, long clientYArg,
bool ctrlKeyArg, bool altKeyArg, bool shiftKeyArg, bool metaKeyArg);
bool isHorizontal() const { return m_horizontal; }
long wheelDelta() const { return m_wheelDelta; }
private:
virtual bool isWheelEvent() const;
bool m_horizontal;
long m_wheelDelta;
};
class RegisteredEventListener
OOM_MODIFIED
{
public:
RegisteredEventListener(EventImpl::EventId _id, EventListener *_listener, bool _useCapture);
~RegisteredEventListener();
MAIN_THREAD_ALLOCATED;
bool operator==(const RegisteredEventListener &other);
EventImpl::EventId id;
EventListener *listener;
bool useCapture;
private:
RegisteredEventListener( const RegisteredEventListener & );
RegisteredEventListener & operator=( const RegisteredEventListener & );
};
// State available during IE's events for drag and drop and copy/paste
class ClipboardImpl : public khtml::Shared<ClipboardImpl> {
public:
ClipboardImpl() { }
virtual ~ClipboardImpl();
MAIN_THREAD_ALLOCATED;
// Is this operation a drag-drop or a copy-paste?
virtual bool isForDragging() const = 0;
virtual DOMString dropEffect() const = 0;
virtual void setDropEffect(const DOMString &s) = 0;
virtual DOMString effectAllowed() const = 0;
virtual void setEffectAllowed(const DOMString &s) = 0;
virtual void clearData(const DOMString &type) = 0;
virtual void clearAllData() = 0;
virtual DOMString getData(const DOMString &type, bool &success) const = 0;
virtual bool setData(const DOMString &type, const DOMString &data) = 0;
// extensions beyond IE's API
virtual QStringList types() const = 0;
virtual QPoint dragLocation() const = 0;
virtual QPixmap dragImage() const = 0;
virtual void setDragImage(const QPixmap &, const QPoint &) = 0;
virtual const Node dragImageElement() = 0;
virtual void setDragImageElement(const Node &, const QPoint &) = 0;
};
class BeforeUnloadEventImpl : public EventImpl
{
public:
BeforeUnloadEventImpl();
virtual bool storesResultAsString() const;
virtual void storeResult(const DOMString&);
DOMString result() const { return m_result.get(); }
private:
khtml::SharedPtr<DOMStringImpl> m_result;
};
} // namespace
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?