20 #include <QtOpenGL/QGLWidget>
21 #include <osgViewer/Viewer>
22 #include <QtCore/QTimer>
24 #include <boost/signal.hpp>
28 class GraphicsContext;
36 class DtOsgAdapterQtWidgetLogic;
49 const QGLFormat& format,
51 Qt::WindowFlags f = 0 );
57 osgViewer::GraphicsWindow* graphicsWindow();
64 osgGA::GUIEventAdapter::KeySymbol osgKeyFromQtKeyEvent( QKeyEvent* event );
68 void processKeyPressEvent( QKeyEvent* keyEvent );
72 void processKeyReleaseEvent( QKeyEvent* keyEvent );
74 virtual void mouseMoveEvent( QMouseEvent* event );
76 virtual void focusInEvent( QFocusEvent * event );
77 virtual void focusOutEvent( QFocusEvent * event );
80 static QGLFormat createFormatFromTraits(
81 const osg::GraphicsContext::Traits* contextTraits);
83 virtual QSize sizeHint();
86 virtual void slot_onRightClickTerrainMenuRequest(
double mouseX,
90 virtual void slot_onRightClickSelectionMenuRequest(
double mouseX,
101 virtual bool channelInThisWidget(
const DtChannel& channel );
103 virtual void resizeEvent( QResizeEvent* event);
104 virtual void keyPressEvent(QKeyEvent *);
105 virtual void keyReleaseEvent(QKeyEvent *);
106 virtual void mousePressEvent( QMouseEvent* event );
107 virtual void mouseReleaseEvent( QMouseEvent* event );
108 virtual void enterEvent( QEvent* event );
109 virtual void leaveEvent( QEvent* event );
111 int qtButtonToOsgButton( QMouseEvent* event);
112 virtual void mouseDoubleClickEvent(QMouseEvent* event);
113 virtual void wheelEvent(QWheelEvent *);
114 virtual void closeEvent(QCloseEvent*);
115 virtual void slot_ctrlEnterPressed(
const DtChannel& channel );
147 osg::GraphicsContext::Traits* contextTraits,
const QGLFormat& format,
148 QWidget * parent = 0, Qt::WindowFlags f = 0);