13 #ifndef DtOsgAdapterQtWidget_H_
14 #define DtOsgAdapterQtWidget_H_
23 #include <QtOpenGL/QGLWidget>
24 #include <osgViewer/Viewer>
25 #include <QtCore/QTimer>
27 #include <boost/signal.hpp>
31 class GraphicsContext;
39 class DtOsgAdapterQtWidgetLogic;
52 const QGLFormat& format,
54 Qt::WindowFlags f = 0 );
60 osgViewer::GraphicsWindow* graphicsWindow();
67 osgGA::GUIEventAdapter::KeySymbol osgKeyFromQtKeyEvent( QKeyEvent* event );
71 void processKeyPressEvent( QKeyEvent* keyEvent );
75 void processKeyReleaseEvent( QKeyEvent* keyEvent );
77 virtual void mouseMoveEvent( QMouseEvent* event );
79 virtual void focusInEvent( QFocusEvent * event );
80 virtual void focusOutEvent( QFocusEvent * event );
83 static QGLFormat createFormatFromTraits(
84 const osg::GraphicsContext::Traits* contextTraits);
86 virtual QSize sizeHint();
89 virtual void slot_onRightClickTerrainMenuRequest(
double mouseX,
93 virtual void slot_onRightClickSelectionMenuRequest(
double mouseX,
104 virtual bool channelInThisWidget(
const DtChannel& channel );
106 virtual void resizeEvent( QResizeEvent* event);
107 virtual void keyPressEvent(QKeyEvent *);
108 virtual void keyReleaseEvent(QKeyEvent *);
109 virtual void mousePressEvent( QMouseEvent* event );
110 virtual void mouseReleaseEvent( QMouseEvent* event );
111 virtual void enterEvent( QEvent* event );
112 virtual void leaveEvent( QEvent* event );
114 int qtButtonToOsgButton( QMouseEvent* event);
115 virtual void mouseDoubleClickEvent(QMouseEvent* event);
116 virtual void wheelEvent(QWheelEvent *);
117 virtual void closeEvent(QCloseEvent*);
118 virtual void slot_ctrlEnterPressed(
const DtChannel& channel );