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

kjsembed

  • sources
  • kde-4.12
  • kdelibs
  • 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 
26 namespace KJSEmbed {
27 
28 JSEventMapper *JSEventMapper::m_inst = 0;
29 
31 struct 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 /*
40 Qt4 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 */
145 static 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 
250 JSEventMapper::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 
259 JSEventMapper::~JSEventMapper()
260 {
261 }
262 
263 void JSEventMapper::addEvent( const KJS::Identifier &name, QEvent::Type t )
264 {
265  m_handlerToEvent[ toQString(name) ] = t;
266  m_eventToHandler[ t ] = name;
267 }
268 
269 QEvent::Type JSEventMapper::findEventType( const KJS::Identifier &name ) const
270 {
271  return m_handlerToEvent[ toQString(name) ];
272 }
273 
274 bool JSEventMapper::isEventHandler( const KJS::Identifier &name ) const
275 {
276  return m_handlerToEvent.contains( toQString(name) );
277 }
278 
279 KJS::Identifier JSEventMapper::findEventHandler( QEvent::Type t ) const
280 {
281  return m_eventToHandler[t];
282 }
283 
284 JSEventMapper *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;
None
Definition: variant_binding.cpp:130
KJSEmbed::JSEventMapper::addEvent
void addEvent(const KJS::Identifier &name, QEvent::Type t)
Adds an event to the map.
Definition: jseventmapper.cpp:263
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
DomNodeNS::name
END_VALUE_METHOD QString name
Definition: dom.cpp:82
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
DomDocumentNS::id
END_VALUE_METHOD QString id
Definition: dom.cpp:380
KJSEmbed::JSEventMapper::~JSEventMapper
virtual ~JSEventMapper()
Definition: jseventmapper.cpp:259
KJSEmbed::events
static EventType events[]
Definition: jseventmapper.cpp:145
kjseglobal.h
KJSEmbed::JSEventMapper::mapper
static JSEventMapper * mapper()
Return the global event mapper.
Definition: jseventmapper.cpp:284
KJSEmbed::JSEventMapper
Maintains a map between the types of QEvent and the names of their event handlers.
Definition: jseventmapper.h:49
jseventmapper.h
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::toQString
QString toQString(const KJS::UString &u)
Definition: kjseglobal.h:58
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:47:53 by doxygen 1.8.7 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 API Reference

Skip menu "kdelibs 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
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



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