1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* vim: set ts=4 et sw=4 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
10 #include "moziqwidget.h"
11 #include "nsIWidget.h"
13 class MozQWidget
: public IMozQWidget
17 MozQWidget(nsWindow
* aReceiver
, QGraphicsItem
*aParent
);
24 virtual void setModal(bool);
25 virtual void SetCursor(nsCursor aCursor
);
26 virtual void dropReceiver() { mReceiver
= 0x0; };
27 virtual nsWindow
* getReceiver() { return mReceiver
; };
29 virtual void activate();
30 virtual void deactivate();
33 * VirtualKeyboardIntegration
35 static void requestVKB(int aTimeout
= 0, QObject
* aWidget
= 0);
36 static void hideVKB();
37 virtual bool isVKBOpen();
39 virtual void NotifyVKB(const QRect
& rect
);
40 virtual void SwitchToForeground();
41 virtual void SwitchToBackground();
44 static void showVKB();
46 #ifdef MOZ_ENABLE_QTMOBILITY
47 void orientationChanged();
51 virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent
* aEvent
);
52 virtual void dragEnterEvent(QGraphicsSceneDragDropEvent
* aEvent
);
53 virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent
* aEvent
);
54 virtual void dragMoveEvent(QGraphicsSceneDragDropEvent
* aEvent
);
55 virtual void dropEvent(QGraphicsSceneDragDropEvent
* aEvent
);
56 virtual void focusInEvent(QFocusEvent
* aEvent
);
57 virtual void focusOutEvent(QFocusEvent
* aEvent
);
58 virtual void hoverEnterEvent(QGraphicsSceneHoverEvent
* aEvent
);
59 virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent
* aEvent
);
60 virtual void hoverMoveEvent(QGraphicsSceneHoverEvent
* aEvent
);
61 virtual void keyPressEvent(QKeyEvent
* aEvent
);
62 virtual void keyReleaseEvent(QKeyEvent
* aEvent
);
63 virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent
* aEvent
);
64 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent
* aEvent
);
65 virtual void mousePressEvent(QGraphicsSceneMouseEvent
* aEvent
);
66 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent
* aEvent
);
67 virtual void inputMethodEvent(QInputMethodEvent
* aEvent
);
69 virtual void wheelEvent(QGraphicsSceneWheelEvent
* aEvent
);
70 virtual void paint(QPainter
* aPainter
, const QStyleOptionGraphicsItem
* aOption
, QWidget
* aWidget
= 0);
71 virtual void resizeEvent(QGraphicsSceneResizeEvent
* aEvent
);
72 virtual void closeEvent(QCloseEvent
* aEvent
);
73 virtual void hideEvent(QHideEvent
* aEvent
);
74 virtual void showEvent(QShowEvent
* aEvent
);
75 virtual bool event(QEvent
* aEvent
);
76 virtual QVariant
inputMethodQuery(Qt::InputMethodQuery aQuery
) const;
78 void SetCursor(const QPixmap
& aPixmap
, int, int);
81 void sendPressReleaseKeyEvent(int key
, const QChar
* letter
= 0, bool autorep
= false, ushort count
= 1);