亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? kjs_events.h

?? It is WEB browser core module with source code. Very good!
?? H
字號(hào):
// -*- c-basic-offset: 2 -*-
/*
 *  This file is part of the KDE libraries
 *  Copyright (C) 2001 Peter Kelly (pmk@post.com)
 *  Copyright (C) 2003 Apple Computer, Inc.
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser 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
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef _KJS_EVENTS_H_
#define _KJS_EVENTS_H_

#include "ecma/kjs_dom.h"
#include "ecma/kjs_html.h"
#include "dom/dom2_events.h"
#include "dom/dom_misc.h"

namespace DOM { class ClipboardImpl; }

namespace KJS {

  class Window;
  class Clipboard;
    
  class JSAbstractEventListener : public DOM::EventListener {
  public:
    JSAbstractEventListener(bool _html = false);
    virtual ~JSAbstractEventListener();
    virtual void handleEvent(DOM::Event &evt, bool isWindowEvent);
    virtual DOM::DOMString eventListenerType();
    virtual Object listenerObj() const = 0;
    virtual Object windowObj() const = 0;
    ObjectImp *listenerObjImp() const { return listenerObj().imp(); }
  protected:
    bool html;
  };

  class JSUnprotectedEventListener : public JSAbstractEventListener {
  public:
    JSUnprotectedEventListener(Object _listener, const Object &_win, bool _html = false);
    virtual ~JSUnprotectedEventListener();
    virtual Object listenerObj() const;
    virtual Object windowObj() const;
    void mark();
  protected:
    Object listener;
    Object win;
  };

  class JSEventListener : public JSAbstractEventListener {
  public:
    JSEventListener(Object _listener, const Object &_win, bool _html = false);
    virtual ~JSEventListener();
    virtual Object listenerObj() const;
    virtual Object windowObj() const;
  protected:
    mutable ProtectedObject listener;
    ProtectedObject win;
  };

  class JSLazyEventListener : public JSEventListener {
  public:
    JSLazyEventListener(QString _code, const Object &_win, DOM::NodeImpl *node, int lineno = 0);
    virtual void handleEvent(DOM::Event &evt, bool isWindowEvent);
    Object listenerObj() const;
    
  private:
    void parseCode() const;
    
    mutable QString code;
    mutable bool parsed;
    int lineNumber;
    DOM::NodeImpl *originalNode;
  };


  Value getNodeEventListener(DOM::Node n, int eventId);

  // Constructor for Event - currently only used for some global vars
  class EventConstructor : public DOMObject {
  public:
    EventConstructor(ExecState *) { }
    virtual Value tryGet(ExecState *exec,const Identifier &p) const;
    Value getValueProperty(ExecState *, int token) const;
    // no put - all read-only
    virtual const ClassInfo* classInfo() const { return &info; }
    static const ClassInfo info;
  };

  Value getEventConstructor(ExecState *exec);

  class DOMEvent : public DOMObject {
  public:
    DOMEvent(ExecState *exec, DOM::Event e);
    ~DOMEvent();
    virtual Value tryGet(ExecState *exec,const Identifier &p) const;
    Value getValueProperty(ExecState *, int token) const;
    virtual void tryPut(ExecState *exec, const Identifier &propertyName,
			const Value& value, int attr = None);
    void putValue(ExecState *exec, int token, const Value& value, int);
    virtual const ClassInfo* classInfo() const { return &info; }
    static const ClassInfo info;
    enum { Type, Target, CurrentTarget, EventPhase, Bubbles,
           Cancelable, TimeStamp, StopPropagation, PreventDefault, InitEvent,
	   // MS IE equivalents
	   SrcElement, ReturnValue, CancelBubble, ClipboardData, DataTransfer };
    DOM::Event toEvent() const { return event; }
  protected:
    DOM::Event event;
    mutable Clipboard *clipboard;
  };

  Value getDOMEvent(ExecState *exec, DOM::Event e);

  /**
   * Convert an object to an Event. Returns a null Event if not possible.
   */
  DOM::Event toEvent(const Value&);

  // Constructor object EventException
  class EventExceptionConstructor : public DOMObject {
  public:
    EventExceptionConstructor(ExecState *) { }
    virtual Value tryGet(ExecState *exec,const Identifier &p) const;
    Value getValueProperty(ExecState *, int token) const;
    // no put - all read-only
    virtual const ClassInfo* classInfo() const { return &info; }
    static const ClassInfo info;
  };

  Value getEventExceptionConstructor(ExecState *exec);

  class DOMUIEvent : public DOMEvent {
  public:
    DOMUIEvent(ExecState *exec, DOM::UIEvent ue) : DOMEvent(exec, ue) {}
    ~DOMUIEvent();
    virtual Value tryGet(ExecState *exec,const Identifier &p) const;
    Value getValueProperty(ExecState *, int token) const;
    // no put - all read-only
    virtual const ClassInfo* classInfo() const { return &info; }
    static const ClassInfo info;
    enum { View, Detail, KeyCode, CharCode, LayerX, LayerY, PageX, PageY, Which, InitUIEvent };
    DOM::UIEvent toUIEvent() const { return static_cast<DOM::UIEvent>(event); }
  };

  class DOMMouseEvent : public DOMUIEvent {
  public:
    DOMMouseEvent(ExecState *exec, DOM::MouseEvent me) : DOMUIEvent(exec, me) {}
    ~DOMMouseEvent();
    virtual Value tryGet(ExecState *exec,const Identifier &p) const;
    Value getValueProperty(ExecState *, int token) const;
    virtual void mark();
    // no put - all read-only
    virtual const ClassInfo* classInfo() const { return &info; }
    static const ClassInfo info;
    enum { ScreenX, ScreenY, ClientX, X, ClientY, Y, OffsetX, OffsetY,
           CtrlKey, ShiftKey, AltKey,
           MetaKey, Button, RelatedTarget, FromElement, ToElement,
           InitMouseEvent };
    DOM::MouseEvent toMouseEvent() const { return static_cast<DOM::MouseEvent>(event); }
  };

  class DOMKeyboardEvent : public DOMUIEvent {
  public:
    DOMKeyboardEvent(ExecState *exec, DOM::KeyboardEvent ke) : DOMUIEvent(exec, ke) {}
    ~DOMKeyboardEvent();
    virtual Value tryGet(ExecState *exec, const Identifier &p) const;
    Value getValueProperty(ExecState *, int token) const;
    // no put - all read-only
    virtual const ClassInfo* classInfo() const;
    static const ClassInfo info;
    enum { KeyIdentifier, KeyLocation, CtrlKey, ShiftKey, AltKey, MetaKey, AltGraphKey, InitKeyboardEvent};
    DOM::KeyboardEvent toKeyboardEvent() const { return event; }
  };

  // Constructor object MutationEvent
  class MutationEventConstructor : public DOMObject {
  public:
    MutationEventConstructor(ExecState *) { }
    virtual Value tryGet(ExecState *exec,const Identifier &p) const;
    Value getValueProperty(ExecState *, int token) const;
    // no put - all read-only
    virtual const ClassInfo* classInfo() const { return &info; }
    static const ClassInfo info;
  };

  Value getMutationEventConstructor(ExecState *exec);

  class DOMMutationEvent : public DOMEvent {
  public:
    DOMMutationEvent(ExecState *exec, DOM::MutationEvent me) : DOMEvent(exec, me) {}
    ~DOMMutationEvent();
    virtual Value tryGet(ExecState *exec,const Identifier &p) const;
    Value getValueProperty(ExecState *, int token) const;
    // no put - all read-only
    virtual const ClassInfo* classInfo() const { return &info; }
    static const ClassInfo info;
    enum { AttrChange, RelatedNode, AttrName, PrevValue, NewValue,
           InitMutationEvent };
    DOM::MutationEvent toMutationEvent() const { return static_cast<DOM::MutationEvent>(event); }
  };
  
  class Clipboard : public DOMObject {
  friend class ClipboardProtoFunc;
  public:
    Clipboard(ExecState *exec, DOM::ClipboardImpl *ds);
    ~Clipboard();
    virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
    Value getValueProperty(ExecState *exec, int token) const;
    virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
    void putValue(ExecState *exec, int token, const Value& value, int /*attr*/);
    virtual bool toBoolean(ExecState *) const { return true; }
    virtual const ClassInfo* classInfo() const { return &info; }
    static const ClassInfo info;
    enum { ClearData, GetData, SetData, Types, SetDragImage, DropEffect, EffectAllowed };
  private:
    DOM::ClipboardImpl *clipboard;
  };
  
  
}; // namespace

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频色一区| 蜜桃av噜噜一区二区三区小说| 国产精品原创巨作av| 日韩欧美的一区| 精品无人区卡一卡二卡三乱码免费卡| 91精品国产aⅴ一区二区| 丝袜美腿亚洲综合| 日韩欧美色电影| 国产一区二区视频在线| 久久女同性恋中文字幕| 成人午夜电影久久影院| 亚洲人成影院在线观看| 在线观看成人免费视频| 日韩精彩视频在线观看| 欧美精品一区二区蜜臀亚洲| av电影在线不卡| 亚洲午夜在线电影| 欧美一区二区三区小说| 国产91综合一区在线观看| 亚洲欧美另类小说视频| 欧美精品三级在线观看| 日韩专区在线视频| 国产日韩精品一区二区浪潮av | 亚洲欧美综合色| 欧美在线三级电影| 麻豆精品一区二区三区| 欧美极品美女视频| 欧美性猛片aaaaaaa做受| 久久精品国产精品青草| 国产欧美日韩在线| 91在线高清观看| 美女视频第一区二区三区免费观看网站| 2023国产精品视频| 91国在线观看| 国产乱码精品一区二区三区av | 国产精品99久久久久| 中文字幕在线一区免费| 5858s免费视频成人| 丁香激情综合国产| 日韩在线一区二区三区| 欧美激情一区二区在线| 欧美日韩精品免费观看视频 | 久久精品国产一区二区三| 国产精品人人做人人爽人人添| 欧美欧美欧美欧美| 成人国产精品免费观看| 精品在线视频一区| 亚洲mv在线观看| 一色屋精品亚洲香蕉网站| 日韩精品一区在线| 欧美性大战久久久久久久| 成人午夜私人影院| 久久国产麻豆精品| 一区二区三区日韩精品视频| 久久免费电影网| 欧美一区二区日韩一区二区| 91色婷婷久久久久合中文| 激情偷乱视频一区二区三区| 午夜精品aaa| 有码一区二区三区| 国产精品久久久久婷婷| 国产亲近乱来精品视频| 欧美成人欧美edvon| 欧美一级理论片| 在线播放国产精品二区一二区四区 | 精品国产伦理网| 日韩美一区二区三区| 欧美日韩一区成人| 欧洲精品中文字幕| 91国偷自产一区二区三区成为亚洲经典 | 欧美日韩一区国产| 91麻豆swag| 99久久综合精品| 成人理论电影网| 成人h动漫精品一区二区| 国产成人精品午夜视频免费| 国产精品1024久久| 国产麻豆成人精品| 国产一区二区三区蝌蚪| 国产精品一区二区三区99| 国产一区高清在线| 国产综合久久久久久鬼色| 激情综合亚洲精品| 国产精品一区二区在线观看不卡| 国产东北露脸精品视频| 国产精品一区二区黑丝| 国产成人精品亚洲日本在线桃色| 成人av网站在线观看| 99在线精品一区二区三区| 99久久婷婷国产| 在线观看国产一区二区| 欧美视频日韩视频| 777精品伊人久久久久大香线蕉| 欧美日韩精品一区二区三区四区| 欧美精品久久99| 欧美成人aa大片| 国产精品欧美久久久久一区二区| 亚洲欧美国产77777| 亚洲韩国一区二区三区| 日本 国产 欧美色综合| 国产精品一二三四| 99久久99久久精品国产片果冻| 欧美在线制服丝袜| 欧美成人r级一区二区三区| 国产日韩欧美综合一区| 亚洲色图.com| 日韩av一级电影| 懂色中文一区二区在线播放| 日本电影亚洲天堂一区| 欧美精品高清视频| 欧美国产丝袜视频| 亚洲一区二区三区国产| 免费在线看一区| 99久久久免费精品国产一区二区| 欧美亚洲自拍偷拍| 26uuu国产日韩综合| 亚洲日本一区二区| 毛片av一区二区| 97久久人人超碰| 欧美电影免费观看高清完整版在线观看| 国产日产欧美一区| 午夜av一区二区三区| 国产传媒日韩欧美成人| 欧美人妇做爰xxxⅹ性高电影| 欧美激情一区在线观看| 午夜a成v人精品| 99vv1com这只有精品| 日韩一级成人av| 伊人一区二区三区| 国产黄色成人av| 欧美一区二区三区四区高清| 国产精品久久久久久久裸模| 热久久久久久久| 在线观看www91| 国产精品另类一区| 日本美女一区二区三区| 色偷偷成人一区二区三区91| 久久久久久黄色| 三级欧美在线一区| 91麻豆高清视频| 中文字幕日韩精品一区| 国产一区二区三区精品欧美日韩一区二区三区 | 在线中文字幕一区二区| 久久精品视频免费| 日韩电影免费在线看| 色婷婷综合久久久| 欧美激情一区二区| 韩国av一区二区| 91精品国产高清一区二区三区蜜臀 | 国产自产高清不卡| 欧美日韩在线三级| 亚洲欧美日韩国产另类专区| 东方aⅴ免费观看久久av| 日韩美女一区二区三区| 奇米888四色在线精品| 欧美日韩国产高清一区二区三区 | 欧美日韩国产首页| 一区二区三区日韩在线观看| 91色乱码一区二区三区| 国产精品久久久久久久蜜臀 | 国产在线精品一区二区不卡了| 欧美精品在线观看播放| 亚洲国产综合色| 欧美丝袜丝交足nylons图片| 亚洲综合小说图片| 在线免费亚洲电影| 一区二区三区.www| 欧美三区在线观看| 亚洲午夜激情网页| 欧美日韩精品免费| 日韩专区一卡二卡| 欧美mv日韩mv国产| 国产综合色精品一区二区三区| 国产日韩影视精品| 不卡av电影在线播放| 日韩一区日韩二区| 日本道免费精品一区二区三区| 亚洲综合色成人| 91麻豆精品国产自产在线| 日本人妖一区二区| xnxx国产精品| www.成人在线| 亚洲一级片在线观看| 欧美日韩黄色影视| 日产国产欧美视频一区精品| 欧美电影免费观看完整版| 国产精品一二三| 亚洲免费av高清| 欧美日韩成人在线| 九九精品一区二区| 欧美国产1区2区| 欧美视频一区二区三区四区| 日本va欧美va精品发布| 久久色在线观看| 91麻豆福利精品推荐| 视频在线观看一区| 久久久国际精品| 在线这里只有精品| 狠狠色伊人亚洲综合成人| 国产精品福利一区二区|