22 #include <QtOpenGL/QGLWidget>
23 #include <osgViewer/Viewer>
24 #include <QtCore/QTimer>
26 #include <boost/signal.hpp>
32 class GraphicsContext;
40 class DtOsgAdapterQtWidgetLogic;
53 const QGLFormat& format,
55 Qt::WindowFlags f = 0 );
61 osgViewer::GraphicsWindow* graphicsWindow();
68 virtual osgGA::GUIEventAdapter::KeySymbol osgKeyFromQtKeyEvent( QKeyEvent* event );
72 virtual void processKeyPressEvent( QKeyEvent* keyEvent );
76 virtual void processKeyReleaseEvent( QKeyEvent* keyEvent );
84 virtual bool processTouchEvent( QTouchEvent* touchEvent );
86 virtual void mouseMoveEvent( QMouseEvent* event );
88 virtual void focusInEvent( QFocusEvent * event );
89 virtual void focusOutEvent( QFocusEvent * event );
90 virtual bool event(
QEvent* event );
93 static QGLFormat createFormatFromTraits(
94 const osg::GraphicsContext::Traits* contextTraits);
96 virtual QSize sizeHint()
const;
99 virtual void slot_onRightClickTerrainMenuRequest(
double mouseX,
103 virtual void slot_onRightClickSelectionMenuRequest(
double mouseX,
114 virtual bool channelInThisWidget(
const DtChannel& channel );
116 virtual void resizeEvent( QResizeEvent* event);
117 virtual void keyPressEvent(QKeyEvent *);
118 virtual void keyReleaseEvent(QKeyEvent *);
119 virtual void mousePressEvent( QMouseEvent* event );
120 virtual void mouseReleaseEvent( QMouseEvent* event );
121 virtual void enterEvent(
QEvent* event );
122 virtual void leaveEvent(
QEvent* event );
124 int qtButtonToOsgButton( QMouseEvent* event);
125 virtual void mouseDoubleClickEvent(QMouseEvent* event);
126 virtual void wheelEvent(QWheelEvent *);
127 virtual void closeEvent(QCloseEvent*);
128 virtual void slot_ctrlEnterPressed(
const DtChannel& channel );
134 virtual void getTouchPointPositions(
const QTouchEvent& touchEvent,
135 osg::Vec2& p0, osg::Vec2& p1 );
141 virtual void startOsgTouch(
const osg::Vec2& p0,
const osg::Vec2& p1 );
145 virtual void continueOsgTouch(
const osg::Vec2& p0,
const osg::Vec2& p1 );
149 virtual void endOsgTouch(
const osg::Vec2& p0 );
185 osg::GraphicsContext::Traits* contextTraits,
const QGLFormat& format,
186 QWidget * parent = 0, Qt::WindowFlags f = 0);