📄 dom2_events.cpp
字号:
/** * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * */#include "dom/dom2_views.h"#include "dom/dom_exception.h"#include "xml/dom2_eventsimpl.h"using namespace DOM;EventListener::EventListener(){}EventListener::~EventListener(){}void EventListener::handleEvent(Event &/*evt*/){}DOMString EventListener::eventListenerType(){ return "";}// -----------------------------------------------------------------------------Event::Event(){ impl = 0;}Event::Event(const Event &other){ impl = other.impl; if (impl) impl->ref();}Event::Event(EventImpl *i){ impl = i; if (impl) impl->ref();}Event::~Event(){ if (impl) impl->deref();}Event &Event::operator = (const Event &other){ if ( impl != other.impl ) { if(impl) impl->deref(); impl = other.impl; if(impl) impl->ref(); } return *this;}DOMString Event::type() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return impl->type();}Node Event::target() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return impl->target();}Node Event::currentTarget() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return impl->currentTarget();}unsigned short Event::eventPhase() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return impl->eventPhase();}bool Event::bubbles() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return impl->bubbles();}bool Event::cancelable() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return impl->cancelable();}DOMTimeStamp Event::timeStamp() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return impl->timeStamp();}void Event::stopPropagation(){ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); impl->stopPropagation(true);}void Event::preventDefault(){ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); impl->preventDefault(true);}void Event::initEvent(const DOMString &eventTypeArg, bool canBubbleArg, bool cancelableArg){ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); impl->initEvent(eventTypeArg,canBubbleArg,cancelableArg);}EventImpl *Event::handle() const{ return impl;}bool Event::isNull() const{ return (impl == 0);}// -----------------------------------------------------------------------------#ifndef SAVE_SPACEEventException::EventException(unsigned short _code){ code = _code;}EventException::EventException(const EventException &other){ code = other.code;}EventException & EventException::operator = (const EventException &other){ code = other.code; return *this;}#endif// -----------------------------------------------------------------------------UIEvent::UIEvent() : Event(){}UIEvent::UIEvent(const UIEvent &other) : Event(other){}UIEvent::UIEvent(const Event &other) : Event(){ (*this)=other;}UIEvent::UIEvent(UIEventImpl *impl) : Event(impl){}UIEvent &UIEvent::operator = (const UIEvent &other){ Event::operator = (other); return *this;}UIEvent &UIEvent::operator = (const Event &other){ Event e; e = other; if (!e.isNull() && !e.handle()->isUIEvent()) { if ( impl ) impl->deref(); impl = 0; } else Event::operator = (other); return *this;}UIEvent::~UIEvent(){}AbstractView UIEvent::view() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return static_cast<UIEventImpl*>(impl)->view();}long UIEvent::detail() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); return static_cast<UIEventImpl*>(impl)->detail();}int UIEvent::keyCode() const{ if ( !impl ) throw DOMException( DOMException::INVALID_STATE_ERR ); if( impl->isTextEvent() ) return static_cast<TextEventImpl*>( impl )->keyCode(); return 0;}int UIEvent::charCode() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); if( impl->isTextEvent() ) return static_cast<TextEventImpl*>( impl )->charCode(); return 0;}int UIEvent::pageX() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); if (impl->isMouseEvent() ) return static_cast<MouseEventImpl*>( impl )->pageX(); else return 0;}int UIEvent::pageY() const{ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); if ( impl->isMouseEvent() ) return static_cast<MouseEventImpl*>( impl )->pageY(); else return 0;}int UIEvent::layerX() const{ if( !impl ) throw DOMException( DOMException::INVALID_STATE_ERR ); if( impl->isMouseEvent() ) return static_cast<MouseEventImpl*>( impl )->layerX(); return 0;}int UIEvent::layerY() const{ if( !impl ) throw DOMException( DOMException::INVALID_STATE_ERR ); if( impl->isMouseEvent() ) return static_cast<MouseEventImpl*>( impl )->layerY(); return 0;}int UIEvent::which() const{ if( !impl ) throw DOMException( DOMException::INVALID_STATE_ERR ); if( impl->isMouseEvent() ) return static_cast<MouseEventImpl*>( impl )->button() + 1; else if( impl->isTextEvent() ) return static_cast<TextEventImpl*>( impl )->keyCode(); return 0;}void UIEvent::initUIEvent(const DOMString &typeArg, bool canBubbleArg, bool cancelableArg, const AbstractView &viewArg, long detailArg){ if (!impl) throw DOMException(DOMException::INVALID_STATE_ERR); static_cast<UIEventImpl*>(impl)->initUIEvent(typeArg,canBubbleArg,cancelableArg, viewArg,detailArg);}// -----------------------------------------------------------------------------MouseEvent::MouseEvent() : UIEvent(){}MouseEvent::MouseEvent(const MouseEvent &other) : UIEvent(other){}MouseEvent::MouseEvent(const Event &other) : UIEvent()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -