⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dom2_eventsimpl.h

📁 将konqueror浏览器移植到ARM9 2410中
💻 H
字号:
/** * This file is part of the DOM implementation for KDE. * * (C) 2001 Peter Kelly (pmk@post.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB.  If not, write to * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * * $Id: dom2_eventsimpl.h,v 1.14.2.1 2001/08/08 14:11:51 bero Exp $ */#ifndef _DOM_EventsImpl_h_#define _DOM_EventsImpl_h_#include "dom2_events.h"#include "dom2_viewsimpl.h"#include "dom/dom_misc.h"#include <qdatetime.h>class KHTMLPart;namespace DOM {// ### support user-defined eventsclass EventImpl : public DomShared{public:    enum EventId {	UNKNOWN_EVENT = 0,	// UI events        DOMFOCUSIN_EVENT,        DOMFOCUSOUT_EVENT,        DOMACTIVATE_EVENT,        // Mouse events        CLICK_EVENT,        MOUSEDOWN_EVENT,        MOUSEUP_EVENT,        MOUSEOVER_EVENT,        MOUSEMOVE_EVENT,        MOUSEOUT_EVENT,        // Mutation events        DOMSUBTREEMODIFIED_EVENT,        DOMNODEINSERTED_EVENT,        DOMNODEREMOVED_EVENT,        DOMNODEREMOVEDFROMDOCUMENT_EVENT,        DOMNODEINSERTEDINTODOCUMENT_EVENT,        DOMATTRMODIFIED_EVENT,        DOMCHARACTERDATAMODIFIED_EVENT,	// HTML events	LOAD_EVENT,	UNLOAD_EVENT,	ABORT_EVENT,	ERROR_EVENT,	SELECT_EVENT,	CHANGE_EVENT,	SUBMIT_EVENT,	RESET_EVENT,	FOCUS_EVENT,	BLUR_EVENT,	RESIZE_EVENT,	SCROLL_EVENT,	// khtml events (not part of DOM)	KHTML_DBLCLICK_EVENT, // for html ondblclick	KHTML_CLICK_EVENT, // for html onclick	KHTML_DRAGDROP_EVENT,	KHTML_ERROR_EVENT,	KHTML_KEYDOWN_EVENT,	KHTML_KEYPRESS_EVENT,	KHTML_KEYUP_EVENT,	KHTML_MOVE_EVENT	    };    EventImpl();    EventImpl(EventId _id, bool canBubbleArg, bool cancelableArg);    virtual ~EventImpl();    EventId id() { return m_id; }    DOMString type() const;    NodeImpl *target() const;    void setTarget(NodeImpl *_target);    NodeImpl *currentTarget() const;    void setCurrentTarget(NodeImpl *_currentTarget);    unsigned short eventPhase() const;    void setEventPhase(unsigned short _eventPhase);    bool bubbles() const;    bool cancelable() const;    DOMTimeStamp timeStamp();    void stopPropagation();    void preventDefault();    void initEvent(const DOMString &eventTypeArg, bool canBubbleArg, bool cancelableArg);    virtual bool isUIEvent() { return false; }    virtual bool isMouseEvent() { return false; }    virtual bool isMutationEvent() { return false; }    virtual DOMString eventModuleName() { return ""; }    virtual bool propagationStopped() { return m_propagationStopped; }    virtual bool defaultPrevented() { return m_defaultPrevented; }    static EventId typeToId(DOMString type);    static DOMString idToType(EventId id);    void setDefaultHandled();    bool defaultHandled() const { return m_defaultHandled; }protected:    DOMStringImpl *m_type;    bool m_canBubble;    bool m_cancelable;    bool m_propagationStopped;    bool m_defaultPrevented;    bool m_defaultHandled;    EventId m_id;    NodeImpl *m_currentTarget; // ref > 0 maintained externally    unsigned short m_eventPhase;    NodeImpl *m_target;    QDateTime m_createTime;};class UIEventImpl : public EventImpl{public:    UIEventImpl();    UIEventImpl(EventId _id,		bool canBubbleArg,		bool cancelableArg,		AbstractViewImpl *viewArg,		long detailArg);    virtual ~UIEventImpl();    AbstractViewImpl *view() const;    long detail() const;    void initUIEvent(const DOMString &typeArg,		     bool canBubbleArg,		     bool cancelableArg,		     const AbstractView &viewArg,		     long detailArg);    virtual bool isUIEvent() { return true; }    virtual DOMString eventModuleName() { return "UIEvents"; }protected:    AbstractViewImpl *m_view;    long m_detail;};// Introduced in DOM Level 2: - internalclass MouseEventImpl : public UIEventImpl {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);    virtual ~MouseEventImpl();    long screenX() const;    long screenY() const;    long clientX() const;    long clientY() const;    bool ctrlKey() const;    bool shiftKey() const;    bool altKey() const;    bool metaKey() const;    unsigned short button() const;    NodeImpl *relatedTarget() const;    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() { return true; }    virtual DOMString eventModuleName() { return "MouseEvents"; }protected:    long m_screenX;    long m_screenY;    long m_clientX;    long m_clientY;    bool m_ctrlKey;    bool m_altKey;    bool m_shiftKey;    bool m_metaKey;    unsigned short m_button;    NodeImpl *m_relatedTarget;};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;    DOMString prevValue() const;    DOMString newValue() const;    DOMString attrName() const;    unsigned short attrChange() const;    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() { return true; }    virtual DOMString eventModuleName() { return "MutationEvents"; }protected:    NodeImpl *m_relatedNode;    DOMStringImpl *m_prevValue;    DOMStringImpl *m_newValue;    DOMStringImpl *m_attrName;    unsigned short m_attrChange;};class RegisteredEventListener {public:    RegisteredEventListener(EventImpl::EventId _id, EventListener *_listener, bool _useCapture);    ~RegisteredEventListener();    bool operator==(const RegisteredEventListener &other);    EventImpl::EventId id;    EventListener *listener;    bool useCapture;};}; //namespace#endif// vim:ts=4:sw=4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -