• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

kjsembed

  • kjsembed
  • kjsembed
jseventmapper.cpp
Go to the documentation of this file.
1/* This file is part of the KDE libraries
2 Copyright (C) 2001,2002,2003,2004,2005,2006 Ian Reinhart Geiser <geiseri@kde.org>
3 Copyright (C) 2001,2002,2003,2004,2005,2006 Matt Broadstone <mbroadst@gmail.com>
4 Copyright (C) 2001,2002,2003,2004,2005,2006 Richard J. Moore <rich@kde.org>
5 Copyright (C) 2001,2002,2003,2004,2005,2006 Erik L. Bunce <kde@bunce.us>
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
16
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
21*/
22#include "jseventmapper.h"
23
24#include "kjseglobal.h"
25
26namespace KJSEmbed {
27
28JSEventMapper *JSEventMapper::m_inst = 0;
29
31struct EventType
32{
33 EventType( KJS::Identifier _id, QEvent::Type _type ) :
34 id(_id), type(_type) {;}
35
36 const KJS::Identifier id;
37 const QEvent::Type type;
38};
39/*
40Qt4 events as of Qt 4.0
41 None = 0, // invalid event
42 Timer = 1, // timer event
43 MouseButtonPress = 2, // mouse button pressed
44 MouseButtonRelease = 3, // mouse button released
45 MouseButtonDblClick = 4, // mouse button double click
46 MouseMove = 5, // mouse move
47 KeyPress = 6, // key pressed
48 KeyRelease = 7, // key released
49 FocusIn = 8, // keyboard focus received
50 FocusOut = 9, // keyboard focus lost
51 Enter = 10, // mouse enters widget
52 Leave = 11, // mouse leaves widget
53 Paint = 12, // paint widget
54 Move = 13, // move widget
55 Resize = 14, // resize widget
56 Create = 15, // after widget creation
57 Destroy = 16, // during widget destruction
58 Show = 17, // widget is shown
59 Hide = 18, // widget is hidden
60 Close = 19, // request to close widget
61 Quit = 20, // request to quit application
62 ParentChange = 21, // widget has been reparented
63 ParentAboutToChange = 131, // sent just before the parent change is done
64 ThreadChange = 22, // object has changed threads
65 WindowActivate = 24, // window was activated
66 WindowDeactivate = 25, // window was deactivated
67 ShowToParent = 26, // widget is shown to parent
68 HideToParent = 27, // widget is hidden to parent
69 Wheel = 31, // wheel event
70 WindowTitleChange = 33, // window title changed
71 WindowIconChange = 34, // icon changed
72 ApplicationWindowIconChange = 35, // application icon changed
73 ApplicationFontChange = 36, // application font changed
74 ApplicationLayoutDirectionChange = 37, // application layout direction changed
75 ApplicationPaletteChange = 38, // application palette changed
76 PaletteChange = 39, // widget palette changed
77 Clipboard = 40, // internal clipboard event
78 Speech = 42, // reserved for speech input
79 MetaCall = 43, // meta call event
80 SockAct = 50, // socket activation
81 WinEventAct = 123, // win event activation
82 DeferredDelete = 52, // deferred delete event
83 DragEnter = 60, // drag moves into widget
84 DragMove = 61, // drag moves in widget
85 DragLeave = 62, // drag leaves or is canceled
86 Drop = 63, // actual drop
87 DragResponse = 64, // drag accepted/rejected
88 ChildAdded = 68, // new child widget
89 ChildPolished = 69, // polished child widget
90 ChildRemoved = 71, // deleted child widget
91 ShowWindowRequest = 73, // widget's window should be mapped
92 PolishRequest = 74, // widget should be polished
93 Polish = 75, // widget is polished
94 LayoutRequest = 76, // widget should be relayouted
95 UpdateRequest = 77, // widget should be repainted
96 EmbeddingControl = 79, // ActiveX embedding
97 ActivateControl = 80, // ActiveX activation
98 DeactivateControl = 81, // ActiveX deactivation
99 ContextMenu = 82, // context popup menu
100 InputMethod = 83, // input method
101 AccessibilityPrepare = 86, // accessibility information is requested
102 TabletMove = 87, // Wacom tablet event
103 LocaleChange = 88, // the system locale changed
104 LanguageChange = 89, // the application language changed
105 LayoutDirectionChange = 90, // the layout direction changed
106 Style = 91, // internal style event
107 TabletPress = 92, // tablet press
108 TabletRelease = 93, // tablet release
109 OkRequest = 94, // CE (Ok) button pressed
110 HelpRequest = 95, // CE (?) button pressed
111 IconDrag = 96, // proxy icon dragged
112 FontChange = 97, // font has changed
113 EnabledChange = 98, // enabled state has changed
114 ActivationChange = 99, // window activation has changed
115 StyleChange = 100, // style has changed
116 IconTextChange = 101, // icon text has changed
117 ModifiedChange = 102, // modified state has changed
118 MouseTrackingChange = 109, // mouse tracking state has changed
119 WindowBlocked = 103, // window is about to be blocked modally
120 WindowUnblocked = 104, // windows modal blocking has ended
121 WindowStateChange = 105,
122 ToolTip = 110,
123 WhatsThis = 111,
124 StatusTip = 112,
125 ActionChanged = 113,
126 ActionAdded = 114,
127 ActionRemoved = 115,
128 FileOpen = 116, // file open request
129 Shortcut = 117, // shortcut triggered
130 ShortcutOverride = 51, // shortcut override request
131 WhatsThisClicked = 118,
132 ToolBarChange = 120, // toolbar visibility toggled
133 ApplicationActivated = 121, // application has been changed to active
134 ApplicationDeactivated = 122, // application has been changed to inactive
135 QueryWhatsThis = 123, // query what's this widget help
136 EnterWhatsThisMode = 124,
137 LeaveWhatsThisMode = 125,
138 ZOrderChange = 126, // child widget has had its z-order changed
139 HoverEnter = 127, // mouse cursor enters a hover widget
140 HoverLeave = 128, // mouse cursor leaves a hover widget
141 HoverMove = 129, // mouse cursor move inside a hover widget
142 AccessibilityHelp = 119, // accessibility help text request
143 AccessibilityDescription = 130
144*/
145static EventType events[] = {
146 EventType( KJS::Identifier("onTimerEvent"), QEvent::Timer ),
147 EventType( KJS::Identifier("onMouseButtonPressEvent"), QEvent::MouseButtonPress ),
148 EventType( KJS::Identifier("onMouseButtonReleaseEvent"), QEvent::MouseButtonRelease ),
149 EventType( KJS::Identifier("onMouseButtonDblClickEvent"), QEvent::MouseButtonDblClick ),
150 EventType( KJS::Identifier("onMouseMoveEvent"), QEvent::MouseMove ),
151 EventType( KJS::Identifier("onKeyPressEvent"), QEvent::KeyPress ),
152 EventType( KJS::Identifier("onKeyReleaseEvent"), QEvent::KeyRelease ),
153 EventType( KJS::Identifier("onFocusInEvent"), QEvent::FocusIn ),
154 EventType( KJS::Identifier("onFocusOutEvent"), QEvent::FocusOut ),
155 EventType( KJS::Identifier("onEnterEvent"), QEvent::Enter ),
156 EventType( KJS::Identifier("onLeaveEvent"), QEvent::Leave ),
157 EventType( KJS::Identifier("onPaintEvent"), QEvent::Paint ),
158 EventType( KJS::Identifier("onMoveEvent"), QEvent::Move ),
159 EventType( KJS::Identifier("onResizeEvent"), QEvent::Resize ),
160 EventType( KJS::Identifier("onCreateEvent"), QEvent::Create ),
161 EventType( KJS::Identifier("onDestroyEvent"), QEvent::Destroy ),
162 EventType( KJS::Identifier("onShowEvent"), QEvent::Show ),
163 EventType( KJS::Identifier("onHideEvent"), QEvent::Hide ),
164 EventType( KJS::Identifier("onCloseEvent"), QEvent::Close ),
165 EventType( KJS::Identifier("onQuitEvent"), QEvent::Quit ),
166 EventType( KJS::Identifier("onParentChangeEvent"), QEvent::ParentChange ),
167 EventType( KJS::Identifier("onParentAboutToChangeEvent"), QEvent::ParentAboutToChange ),
168 EventType( KJS::Identifier("onThreadChangeEvent"), QEvent::ThreadChange ),
169 EventType( KJS::Identifier("onWindowActivateEvent"), QEvent::WindowActivate ),
170 EventType( KJS::Identifier("onWindowDeactivateEvent"), QEvent::WindowDeactivate ),
171 EventType( KJS::Identifier("onShowToParentEvent"), QEvent::ShowToParent ),
172 EventType( KJS::Identifier("onHideToParentEvent"), QEvent::HideToParent ),
173 EventType( KJS::Identifier("onWheelEvent"), QEvent::Wheel ),
174 EventType( KJS::Identifier("onWindowTitleChangeEvent"), QEvent::WindowTitleChange ),
175 EventType( KJS::Identifier("onWindowIconChangeEvent"), QEvent::WindowIconChange ),
176 EventType( KJS::Identifier("onApplicationWindowIconChangeEvent"), QEvent::ApplicationWindowIconChange ),
177 EventType( KJS::Identifier("onApplicationFontChangeEvent"), QEvent::ApplicationFontChange ),
178 EventType( KJS::Identifier("onApplicationLayoutDirectionChangeEvent"), QEvent::ApplicationLayoutDirectionChange ),
179 EventType( KJS::Identifier("onApplicationPaletteChangeEvent"), QEvent::ApplicationPaletteChange ),
180 EventType( KJS::Identifier("onPaletteChangeEvent"), QEvent::PaletteChange ),
181 EventType( KJS::Identifier("onClipboardEvent"), QEvent::Clipboard ),
182 EventType( KJS::Identifier("onSpeechEvent"), QEvent::Speech ),
183 EventType( KJS::Identifier("onMetaCallEvent"), QEvent::MetaCall ),
184 EventType( KJS::Identifier("onSockActEvent"), QEvent::SockAct ),
185 EventType( KJS::Identifier("onWinEventActEvent"), QEvent::WinEventAct ),
186 EventType( KJS::Identifier("onDeferredDeleteEvent"), QEvent::DeferredDelete ),
187 EventType( KJS::Identifier("onDragEnterEvent"), QEvent::DragEnter ),
188 EventType( KJS::Identifier("onDragMoveEvent"), QEvent::DragMove ),
189 EventType( KJS::Identifier("onDragLeaveEvent"), QEvent::DragLeave ),
190 EventType( KJS::Identifier("onDropEvent"), QEvent::Drop ),
191 EventType( KJS::Identifier("onDragResponseEvent"), QEvent::DragResponse ),
192 EventType( KJS::Identifier("onChildAddedEvent"), QEvent::ChildAdded ),
193 EventType( KJS::Identifier("onChildPolishedEvent"), QEvent::ChildRemoved ),
194 EventType( KJS::Identifier("onShowWindowRequestEvent"), QEvent::ShowWindowRequest ),
195 EventType( KJS::Identifier("onPolishRequestEvent"), QEvent::PolishRequest ),
196 EventType( KJS::Identifier("onPolishEvent"), QEvent::Polish ),
197 EventType( KJS::Identifier("onLayoutRequestEvent"), QEvent::LayoutRequest ),
198 EventType( KJS::Identifier("onUpdateRequestEvent"), QEvent::UpdateRequest ),
199 EventType( KJS::Identifier("onEmbeddingControlEvent"), QEvent::EmbeddingControl ),
200 EventType( KJS::Identifier("onActivateControlEvent"), QEvent::ActivateControl ),
201 EventType( KJS::Identifier("onDeactivateControlEvent"), QEvent::DeactivateControl ),
202 EventType( KJS::Identifier("onContextMenuEvent"), QEvent::ContextMenu ),
203 EventType( KJS::Identifier("onInputMethodEvent"), QEvent::InputMethod ),
204 EventType( KJS::Identifier("onAccessibilityPrepareEvent"), QEvent::AccessibilityPrepare ),
205 EventType( KJS::Identifier("onTabletMoveEvent"), QEvent::TabletMove ),
206 EventType( KJS::Identifier("onLocaleChangeEvent"), QEvent::LocaleChange ),
207 EventType( KJS::Identifier("onLanguageChangeEvent"), QEvent::LanguageChange ),
208 EventType( KJS::Identifier("onLayoutDirectionChangeEvent"), QEvent::LayoutDirectionChange ),
209 EventType( KJS::Identifier("onStyleEvent"), QEvent::Style ),
210 EventType( KJS::Identifier("onTabletPressEvent"), QEvent::TabletPress ),
211 EventType( KJS::Identifier("onTabletReleaseEvent"), QEvent::TabletRelease ),
212 EventType( KJS::Identifier("onOkRequestEvent"), QEvent::OkRequest ),
213 EventType( KJS::Identifier("onHelpRequestEvent"), QEvent::HelpRequest ),
214 EventType( KJS::Identifier("onIconDragEvent"), QEvent::IconDrag ),
215 EventType( KJS::Identifier("onFontChangeEvent"), QEvent::FontChange ),
216 EventType( KJS::Identifier("onEnabledChangeEvent"), QEvent::EnabledChange ),
217 EventType( KJS::Identifier("onActivationChangeEvent"), QEvent::ActivationChange ),
218 EventType( KJS::Identifier("onStyleChangeEvent"), QEvent::StyleChange ),
219 EventType( KJS::Identifier("onIconTextChangeEvent"), QEvent::IconTextChange ),
220 EventType( KJS::Identifier("onModifiedChangeEvent"), QEvent::ModifiedChange ),
221 EventType( KJS::Identifier("onMouseTrackingChangeEvent"), QEvent::MouseTrackingChange ),
222 EventType( KJS::Identifier("onWindowBlockedEvent"), QEvent::WindowBlocked ),
223 EventType( KJS::Identifier("onWindowUnblockedEvent"), QEvent::WindowUnblocked ),
224 EventType( KJS::Identifier("onWindowStateChangeEvent"), QEvent::WindowStateChange ),
225 EventType( KJS::Identifier("onToolTipEvent"), QEvent::ToolTip ),
226 EventType( KJS::Identifier("onWhatsThisEvent"), QEvent::WhatsThis ),
227 EventType( KJS::Identifier("onStatusTipEvent"), QEvent::StatusTip ),
228 EventType( KJS::Identifier("onActionChangedEvent"), QEvent::ActionChanged ),
229 EventType( KJS::Identifier("onActionAddedEvent"), QEvent::ActionAdded ),
230 EventType( KJS::Identifier("onActionRemovedEvent"), QEvent::ActionRemoved ),
231 EventType( KJS::Identifier("onFileOpenEvent"), QEvent::FileOpen ),
232 EventType( KJS::Identifier("onShortcutEvent"), QEvent::Shortcut ),
233 EventType( KJS::Identifier("onShortcutOverrideEvent"), QEvent::ShortcutOverride ),
234 EventType( KJS::Identifier("onWhatsThisClickedEvent"), QEvent::WhatsThisClicked ),
235 EventType( KJS::Identifier("onToolBarChangeEvent"), QEvent::ToolBarChange ),
236 EventType( KJS::Identifier("onApplicationActivatedEvent"), QEvent::ApplicationActivated ),
237 EventType( KJS::Identifier("onApplicationDeactivatedEvent"), QEvent::ApplicationDeactivated ),
238 EventType( KJS::Identifier("onQueryWhatsThisEvent"), QEvent::QueryWhatsThis ),
239 EventType( KJS::Identifier("onEnterWhatsThisModeEvent"), QEvent::EnterWhatsThisMode ),
240 EventType( KJS::Identifier("onLeaveWhatsThisModeEvent"), QEvent::LeaveWhatsThisMode ),
241 EventType( KJS::Identifier("onZOrderChangeEvent"), QEvent::ZOrderChange ),
242 EventType( KJS::Identifier("onHoverEnterEvent"), QEvent::HoverEnter ),
243 EventType( KJS::Identifier("onHoverLeaveEvent"), QEvent::HoverLeave ),
244 EventType( KJS::Identifier("onHoverMoveEvent"), QEvent::HoverMove ),
245 EventType( KJS::Identifier("onAccessibilityHelpEvent"), QEvent::AccessibilityHelp ),
246 EventType( KJS::Identifier("onAccessibilityDescriptionEvent"), QEvent::AccessibilityDescription ),
247 EventType(KJS::Identifier(), QEvent::None )
248};
249
250JSEventMapper::JSEventMapper()
251{
252 int i = 0;
253 do {
254 addEvent( events[i].id, events[i].type );
255 i++;
256 } while( events[i].type != QEvent::None );
257}
258
259JSEventMapper::~JSEventMapper()
260{
261}
262
263void JSEventMapper::addEvent( const KJS::Identifier &name, QEvent::Type t )
264{
265 m_handlerToEvent[ toQString(name) ] = t;
266 m_eventToHandler[ t ] = name;
267}
268
269QEvent::Type JSEventMapper::findEventType( const KJS::Identifier &name ) const
270{
271 return m_handlerToEvent[ toQString(name) ];
272}
273
274bool JSEventMapper::isEventHandler( const KJS::Identifier &name ) const
275{
276 return m_handlerToEvent.contains( toQString(name) );
277}
278
279KJS::Identifier JSEventMapper::findEventHandler( QEvent::Type t ) const
280{
281 return m_eventToHandler[t];
282}
283
284JSEventMapper *JSEventMapper::mapper()
285{
286 if ( m_inst )
287 return m_inst;
288 m_inst = new JSEventMapper();
289 return m_inst;
290}
291
292
293} // namespace KJSEmbed
294
295// Local Variables:
296// c-basic-offset: 4
297// End:
298
299//kate: indent-spaces on; indent-width 4; replace-tabs on; indent-mode cstyle;
KJSEmbed::JSEventMapper
Maintains a map between the types of QEvent and the names of their event handlers.
Definition: jseventmapper.h:50
KJSEmbed::JSEventMapper::isEventHandler
bool isEventHandler(const KJS::Identifier &name) const
Returns true iff the specified name is the identifier for an event handler.
Definition: jseventmapper.cpp:274
KJSEmbed::JSEventMapper::~JSEventMapper
virtual ~JSEventMapper()
Definition: jseventmapper.cpp:259
KJSEmbed::JSEventMapper::mapper
static JSEventMapper * mapper()
Return the global event mapper.
Definition: jseventmapper.cpp:284
KJSEmbed::JSEventMapper::addEvent
void addEvent(const KJS::Identifier &name, QEvent::Type t)
Adds an event to the map.
Definition: jseventmapper.cpp:263
KJSEmbed::JSEventMapper::findEventType
QEvent::Type findEventType(const KJS::Identifier &name) const
Returns the type of the events handled by the specified handler.
Definition: jseventmapper.cpp:269
KJSEmbed::JSEventMapper::findEventHandler
KJS::Identifier findEventHandler(QEvent::Type t) const
Returns the name of the handler method for the specified event type.
Definition: jseventmapper.cpp:279
jseventmapper.h
kjseglobal.h
DomDocumentNS::id
END_VALUE_METHOD QString id
Definition: dom.cpp:380
KJSEmbed
Definition: application.h:33
KJSEmbed::events
static EventType events[]
Definition: jseventmapper.cpp:145
KJSEmbed::toQString
QString toQString(const KJS::UString &u)
Definition: kjseglobal.h:58
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kjsembed

Skip menu "kjsembed"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal