Commit 6507389b authored by Jan Möbius's avatar Jan Möbius

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@4613 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 3c8c8e5f
<?xml version = '1.0' encoding = 'UTF-8'?>
<!DOCTYPE KDevPrjSession>
<KDevPrjSession>
<DocsAndViews NumberOfDocuments="3" >
<Doc0 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/Plugin-TemplateModeling/Init.cc" >
<View0 Encoding="" line="1151" Type="Source" />
<DocsAndViews NumberOfDocuments="14" >
<Doc0 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/OpenFlipper/Core/ParseIni.cc" >
<View0 Encoding="" line="548" Type="Source" />
</Doc0>
<Doc1 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/OpenFlipper/widgets/glWidget/QtBaseViewer.hh" >
<View0 Encoding="" line="875" Type="Source" />
<Doc1 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/OpenFlipper/Core/openFunctions.cc" >
<View0 Encoding="" line="266" Type="Source" />
</Doc1>
<Doc2 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/OpenFlipper/widgets/glWidget/QtGLGraphicsScene.cc" >
<View0 Encoding="" line="0" Type="Source" />
<Doc2 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/Plugin-FilePolyLine/FilePolyLine.hh" >
<View0 Encoding="" line="51" Type="Source" />
</Doc2>
<Doc3 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/OpenFlipper/Core/Core.cc" >
<View0 Encoding="" line="550" Type="Source" />
</Doc3>
<Doc4 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/OpenFlipper/BasePlugin/PluginFunctions.cc" >
<View0 Encoding="" line="258" Type="Source" />
</Doc4>
<Doc5 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/OpenFlipper/widgets/glWidget/QtBaseViewer.cc" >
<View0 Encoding="" line="1033" Type="Source" />
</Doc5>
<Doc6 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/OpenFlipper/widgets/glWidget/QtBaseViewerPicking.cc" >
<View0 Encoding="" line="65" Type="Source" />
</Doc6>
<Doc7 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/ACG/Scenegraph/TranslationManipulatorNode.cc" >
<View0 Encoding="" line="572" Type="Source" />
</Doc7>
<Doc8 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/Plugin-Move/MovePlugin.cc" >
<View0 Encoding="" line="71" Type="Source" />
</Doc8>
<Doc9 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/ACG/QtWidgets/QtBaseViewerPicking.cc" >
<View0 Encoding="" line="78" Type="Source" />
</Doc9>
<Doc10 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/Plugin-Scissor/QtPlaneSelect.cc" >
<View0 Encoding="" line="130" Type="Source" />
</Doc10>
<Doc11 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/ACG/Scenegraph/ManipulatorNode.cc" >
<View0 Encoding="" line="394" Type="Source" />
</Doc11>
<Doc12 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/ACG/QtWidgets/QtLasso.cc" >
<View0 Encoding="" line="391" Type="Source" />
</Doc12>
<Doc13 NumberOfViews="1" URL="file:///data/home1/moebius/projects/OpenFlipper/ACG/Scenegraph/TrackballNode.cc" >
<View0 Encoding="" line="261" Type="Source" />
</Doc13>
</DocsAndViews>
<pluginList>
<kdevdebugger>
......
......@@ -90,7 +90,6 @@ CoreWidget( QVector<ViewMode*>& _viewModes,
functionMenu_(0),
contextSelectionMenu_(0),
stackMenu_(0),
stackedWidget_(0),
helpBrowserDeveloper_(0),
helpBrowserUser_(0),
aboutWidget_(0),
......@@ -104,6 +103,38 @@ CoreWidget( QVector<ViewMode*>& _viewModes,
setCentralWidget(splitter_);
stackedWidget_ = new QStackedWidget(splitter_);
QGLFormat format;
QGLFormat::setDefaultFormat(format);
format.setStereo( OpenFlipper::Options::stereo() );
format.setAlpha(true);
// Construct GL context & widget
glWidget_ = new QGLWidget(format);
glView_ = new QtGLGraphicsView(stackedWidget_);
glScene_ = new QtGLGraphicsScene (&examiner_widgets_);
// is stereo possible ?
if (format.stereo())
std::cerr << "Stereo buffer requested: "
<< (glWidget_->format().stereo() ? "ok\n" : "failed\n");
glView_->setViewport(glWidget_);
glView_->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
glView_->setScene(glScene_);
baseLayout_ = new QGraphicsGridLayout;
baseLayout_->setContentsMargins(0,0,0,0);
centerWidget_ = new QGraphicsWidget;
glScene_->addItem(centerWidget_);
centerWidget_->setGeometry (glScene_->sceneRect ());
connect ( glView_, SIGNAL( sceneRectChanged( const QRectF & ) ),
this, SLOT( sceneRectChanged( const QRectF & ) ) );
stackedWidget_->addWidget(glView_);
stackWidgetList_.push_back( StackWidgetInfo( false, "3D Examiner Widget", glView_ ) );
// ======================================================================
// Set up the logging window
// ======================================================================
......@@ -124,47 +155,34 @@ CoreWidget( QVector<ViewMode*>& _viewModes,
// ======================================================================
// Create examiner
// ======================================================================
QGLFormat format;
QGLFormat::setDefaultFormat(format);
format.setStereo( OpenFlipper::Options::stereo() );
QWidget* tmp = 0;
if ( !OpenFlipper::Options::multiView() ) {
glViewer* examinerWidget = new glViewer(stackedWidget_,
"Examiner Widget",
statusBar_ ,
&format);
glViewer* examinerWidget = new glViewer(glScene_,
glWidget_,
centerWidget_,
"Examiner Widget",
statusBar_);
examiner_widgets_.push_back(examinerWidget);
examinerWidget->sceneGraph( PluginFunctions::getSceneGraphRootNode() );
stackedWidget_->addWidget(examinerWidget);
glScene_->addItem(examinerWidget);
baseLayout_->addItem(examinerWidget, 0, 0);
} else {
// Create collector widget which holds all viewers
tmp = new QWidget(stackedWidget_);
// Create master examiner widget
glViewer* examinerWidget = new glViewer(tmp,
"Examiner Widget",
statusBar_ ,
&format,
0);
examiner_widgets_.push_back(examinerWidget);
// Create all other examiners using the same gl context as the others
for ( unsigned int i = 1 ; i < OpenFlipper::Options::examinerWidgets() ; ++i ) {
glViewer* newWidget = new glViewer(tmp,
"Examiner Widget",
statusBar_ ,
&format,
examinerWidget);
// Create examiners
for ( unsigned int i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i ) {
glViewer* newWidget = new glViewer(glScene_,
glWidget_,
centerWidget_,
"Examiner Widget",
statusBar_ );
examiner_widgets_.push_back(newWidget);
glScene_->addItem(newWidget);
}
// Initialize all examiners
......@@ -172,22 +190,20 @@ CoreWidget( QVector<ViewMode*>& _viewModes,
examiner_widgets_[i]->sceneGraph( PluginFunctions::getSceneGraphRootNode() );
}
QGridLayout* layout = new QGridLayout(tmp);
layout->addWidget(examiner_widgets_[0],0,0);
layout->addWidget(examiner_widgets_[1],0,1);
layout->addWidget(examiner_widgets_[2],1,0);
layout->addWidget(examiner_widgets_[3],1,1);
baseLayout_->addItem(examiner_widgets_[0],0,0);
baseLayout_->addItem(examiner_widgets_[1],0,1);
baseLayout_->addItem(examiner_widgets_[2],1,0);
baseLayout_->addItem(examiner_widgets_[3],1,1);
for ( unsigned int i = 1 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
examiner_widgets_[i]->hide();
stackedWidget_->addWidget(tmp);
}
// Make examiner available to the plugins ( defined in PluginFunctions.hh)
PluginFunctions::setViewers( examiner_widgets_ );
centerWidget_->setLayout(baseLayout_);
// ======================================================================
......@@ -397,13 +413,6 @@ CoreWidget( QVector<ViewMode*>& _viewModes,
addToolBar(Qt::TopToolBarArea,viewerToolbar_);
if ( !OpenFlipper::Options::multiView() ) {
stackWidgetList_.push_back( StackWidgetInfo( false, "3D Examiner Widget", examiner_widgets_[0] ) );
} else {
stackWidgetList_.push_back( StackWidgetInfo( false, "3D Examiner Widget", tmp ) );
}
// Remember logger size
wsizes = splitter_->sizes();
originalLoggerSize_ = wsizes[1];
......@@ -654,6 +663,15 @@ CoreWidget::slotShowSceneGraphDialog()
}
}
//-----------------------------------------------------------------------------
void
CoreWidget::sceneRectChanged(const QRectF &rect)
{
centerWidget_->setGeometry (rect);
}
//=============================================================================
......@@ -57,6 +57,8 @@
#include <OpenFlipper/widgets/glWidget/QtBaseViewer.hh>
#include <OpenFlipper/widgets/glWidget/QtGLGraphicsScene.hh>
#include <OpenFlipper/widgets/glWidget/QtGLGraphicsView.hh>
// QT INCLUDES
#include <QMainWindow>
......@@ -366,6 +368,22 @@ public:
/// Help Menu
QMenu* helpMenu_;
/// gl widget used as drawing area to paint the graphics scene
QGLWidget* glWidget_;
/// graphics scene used to paint gl context and widgets
QtGLGraphicsScene* glScene_;
/// graphics view that holds the gl scene
QtGLGraphicsView* glView_;
/// center widged
QGraphicsWidget* centerWidget_;
/// Base layout that holds gl views
QGraphicsGridLayout* baseLayout_;
// widget showing the scenegraph
ACG::QtWidgets::QtSceneGraphDialog* sceneGraphDialog_;
......@@ -384,6 +402,10 @@ public:
*/
void slotLog(Logtype _type, QString _message);
/** Updates the size of the main graphics widget in the scene
*/
void sceneRectChanged(const QRectF &rect);
//===========================================================================
/** @name Menubar controls
* @{ */
......
......@@ -108,7 +108,7 @@ void CoreWidget::startDrag ( QMouseEvent* _event )
QString view;
examiner_widgets_[PluginFunctions::activeExaminer()]->encodeView ( view );
QDrag * drag = new QDrag ( examiner_widgets_[PluginFunctions::activeExaminer()] );
QDrag * drag = new QDrag ( this );
QMimeData * mime_data = new QMimeData;
mime_data->setText ( view );
......
......@@ -445,9 +445,10 @@ void CoreWidget::coreKeyPressEvent (QKeyEvent* _e){
case Qt::Key_Space:
if ( OpenFlipper::Options::multiView() ) {
emit log( "Switch to MultiView");
if ( examiner_widgets_[1]->isHidden() ) {
for ( uint i = 1 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
if ( !examiner_widgets_[1]->isVisible() ) {
for ( uint i = 1 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
examiner_widgets_[i]->show();
} else {
......
This diff is collapsed.
......@@ -66,6 +66,8 @@
#include <QMenu>
#include <QToolBar>
#include <QTime>
#include <QGraphicsWidget>
#include <QGraphicsSceneDragDropEvent>
#include <vector>
#include <string>
......@@ -81,7 +83,6 @@ class QSplitter;
class QTimer;
class QImage;
class QSocketNotifier;
class QGraphicsWidget;
class QGraphicsGridLayout;
......@@ -109,7 +110,7 @@ class QtShiftPopupMenu;
See for example "QtExaminerViewer"
**/
class DLLEXPORT glViewer : public QWidget
class DLLEXPORT glViewer : public QGraphicsWidget
{
Q_OBJECT
......@@ -125,11 +126,11 @@ public:
if \c statusBar==0 then a \a private status bar will be created
\param _format OpenGL context settings, will be passed to glarea()
*/
glViewer( QWidget* _parent=0,
const char* _name=0,
QStatusBar *_statusBar=0,
const QGLFormat* _format=0,
const glViewer* _share=0);
glViewer( QtGLGraphicsScene* _scene,
QGLWidget* _glWidget,
QGraphicsWidget* _parent=0,
const char* _name=0,
QStatusBar *_statusBar=0);
/// Destructor.
virtual ~glViewer();
......@@ -306,12 +307,6 @@ public:
//---------------------------------------------------------------- public slots
public slots:
/** Draws the scene immediately.
This method does \a not trigger a paint event (like updateGL())
but redraws the scene immediately. It does not swap buffers! This
has to be done manually.
*/
virtual void drawNow();
/// Redraw scene. Triggers paint event for updating the view (cf. drawNow()).
virtual void updateGL();
......@@ -410,8 +405,11 @@ protected:
/// draw the scene. Triggered by updateGL().
virtual void paintGL();
/// handle resize events
virtual void resizeGL(int _w, int _h);
virtual void resizeEvent(QGraphicsSceneResizeEvent * _e);
/// handle move events
virtual void moveEvent (QGraphicsSceneMoveEvent * _e);
/// do painting
virtual void paint(QPainter * _painter, const QStyleOptionGraphicsItem * _option, QWidget * _widget = 0);
/// handle mouse press events
virtual void glMousePressEvent(QMouseEvent* _event);
......@@ -424,7 +422,7 @@ protected:
/// handle mouse wheel events
virtual void glMouseWheelEvent(QWheelEvent* _event);
/// handle mouse press events
virtual void glContextMenuEvent(QContextMenuEvent* _event);
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent* _e);
/// specialized viewer: hande mouse events
......@@ -449,9 +447,6 @@ protected:
//------------------------------------------------------------- protected slots
protected slots:
/// process graphics scene size changes
virtual void sceneRectChanged(const QRectF & rect);
/// process signals from wheelX_
virtual void slotWheelX(double _dAngle);
/// process signals from wheelX_
......@@ -479,8 +474,7 @@ private:
glViewer& operator=(const glViewer&);
// create widgets
void createWidgets(const QGLFormat* _format,QStatusBar* _sb,
const glViewer* _share);
void createWidgets(QStatusBar* _sb);
/* Recursively draws each node in the scene graph.
Called by paintGL(). */
......@@ -553,21 +547,15 @@ private:
bool projectionUpdateLocked_;
bool blending_;
// gl widget used as drawing area to paint the graphics scene
QGLWidget* glWidget_;
// graphics scene used to paint gl context and widgets
QtGLGraphicsScene* glScene_;
// graphics view that holds the gl scene
QtGLGraphicsView* glView_;
// Base graphics widget for wheels in the scene
QGraphicsWidget* glBase_;
// gl widget used as drawing area to paint the graphics scene
QGLWidget* glWidget_;
// Base graphics widget layout
QGraphicsGridLayout* glBaseLayout_;
// Layout for the basic widget ( viewer + wheels )
QGridLayout* glLayout_;
// rotate around x-axis
ACG::QtWidgets::QtWheel* wheelX_;
// rotate around y-axis
......@@ -639,7 +627,7 @@ private:
*
* This function is called by the internal gl widget when receiving a key press event.
*/
virtual void glKeyPressEvent(QKeyEvent* _event) { _event->ignore(); };
virtual void keyPressEvent(QKeyEvent* _event) { _event->ignore(); };
/** \brief Get keyRelease events from the glArea
*
......@@ -647,7 +635,7 @@ private:
* Here these events are simply passed to the parent widget.
*
*/
virtual void glKeyReleaseEvent(QKeyEvent* _event) { _event->ignore(); };
virtual void keyReleaseEvent(QKeyEvent* _event) { _event->ignore(); };
/** \brief Handle key events in view mode
*
......@@ -668,9 +656,10 @@ private:
public:
/// drag & drop for modelview copying
void glDragEnterEvent(QDragEnterEvent* _event){ std::cerr << "dragEnter" << std::endl; emit dragEnterEvent(_event); };
virtual void dragEnterEvent(QGraphicsSceneDragDropEvent* _e);
/// drag & drop for modelview copying
void glDropEvent(QDropEvent* _event){ std::cerr << "drop" << std::endl; emit dropEvent( _event ); }
virtual void dropEvent(QGraphicsSceneDragDropEvent* _e);
signals:
/** Signal is emitted when Control modifier is pressed and mouse moded.
......
......@@ -65,9 +65,11 @@ bool glViewer::pick( ACG::SceneGraph::PickTarget _pickTarget,
{
GLint w = glWidth(),
h = glHeight(),
l = scenePos().x(),
b = scene()->height () - scenePos().y() - h,
x = _mousePos.x(),
y = h - _mousePos.y();
GLint viewport[4] = {0,0,w,h};
y = scene()->height () - _mousePos.y();
GLint viewport[4] = {l,b,w,h};
GLuint selectionBuffer[ SELECTION_BUFFER_SIZE ],
nameBuffer[ NAME_STACK_SIZE ];
......@@ -197,7 +199,7 @@ void glViewer::pickMode( int _id )
// adjust Cursor
if ( properties_.pickingMode() )
glView_->setCursor( pick_modes_[pick_mode_idx_].cursor);
setCursor( pick_modes_[pick_mode_idx_].cursor);
// emit signal
emit(signalPickModeChanged(pick_mode_name_));
......@@ -236,7 +238,7 @@ void glViewer::setPickModeCursor(const std::string& _name, QCursor _cursor)
//switch cursor if pickMode is active
if (pick_mode_name_ == _name && properties_.pickingMode() )
glView_->setCursor(_cursor);
setCursor(_cursor);
break;
}
}
......
......@@ -41,6 +41,7 @@
//== INCLUDES =================================================================
#include "QtGLGraphicsScene.hh"
#include <OpenFlipper/widgets/glWidget/QtBaseViewer.hh>
#include <QPainter>
#include <QPaintEngine>
#include <QGraphicsSceneMouseEvent>
......@@ -50,13 +51,13 @@
//== IMPLEMENTATION ===========================================================
QtGLGraphicsScene::QtGLGraphicsScene(glViewer* _w) :
QtGLGraphicsScene::QtGLGraphicsScene(std::vector< glViewer *> *_views) :
QGraphicsScene (),
w_(_w)
views_(_views)
{
}
/*
void QtGLGraphicsScene::drawBackground(QPainter *_painter, const QRectF &)
{
if (_painter->paintEngine()->type() != QPaintEngine::OpenGL) {
......@@ -68,17 +69,31 @@ void QtGLGraphicsScene::drawBackground(QPainter *_painter, const QRectF &)
}
*/
glViewer* QtGLGraphicsScene::findView (const QPointF &p)
{
for (unsigned int i = 0; i < views_->size (); i++)
{
if (views_->at(i)->contains(views_->at(i)->mapFromScene (p)))
return views_->at(i);
}
return NULL;
}
void QtGLGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent* _e)
{
QGraphicsScene::mousePressEvent(_e);
if (_e->isAccepted())
return;
glViewer *v = findView (_e->scenePos());
if (!v)
return;
QPoint p (_e->scenePos().x(), _e->scenePos().y());
QMouseEvent me(QEvent::MouseButtonPress ,p, _e->screenPos(), _e->button(),
_e->buttons(), _e->modifiers());
w_->glMousePressEvent(&me);
v->glMousePressEvent(&me);
_e->accept();
}
......@@ -87,11 +102,14 @@ void QtGLGraphicsScene::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* _e)
QGraphicsScene::mouseDoubleClickEvent(_e);
if (_e->isAccepted())
return;
glViewer *v = findView (_e->scenePos());
if (!v)
return;
QPoint p (_e->scenePos().x(), _e->scenePos().y());
QMouseEvent me(QEvent::MouseButtonDblClick ,p, _e->screenPos(), _e->button(),
_e->buttons(), _e->modifiers());
w_->glMouseDoubleClickEvent(&me);
v->glMouseDoubleClickEvent(&me);
_e->accept();
}
......@@ -100,11 +118,15 @@ void QtGLGraphicsScene::mouseReleaseEvent(QGraphicsSceneMouseEvent* _e)
QGraphicsScene::mouseReleaseEvent(_e);
if (_e->isAccepted())
return;
glViewer *v = findView (_e->scenePos());
if (!v)
return;
QPointF f (v->mapFromScene (_e->scenePos()));
QPoint p (_e->scenePos().x(), _e->scenePos().y());
QMouseEvent me(QEvent::MouseButtonRelease ,p, _e->screenPos(), _e->button(),
_e->buttons(), _e->modifiers());
w_->glMouseReleaseEvent(&me);
v->glMouseReleaseEvent(&me);
_e->accept();
}
......@@ -113,11 +135,14 @@ void QtGLGraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent* _e)
QGraphicsScene::mouseMoveEvent(_e);
if (_e->isAccepted())
return;
glViewer *v = findView (_e->scenePos());
if (!v)
return;
QPoint p (_e->scenePos().x(), _e->scenePos().y());
QMouseEvent me(QEvent::MouseMove ,p, _e->screenPos(), _e->button(),
_e->buttons(), _e->modifiers());
w_->glMouseMoveEvent(&me);
v->glMouseMoveEvent(&me);
_e->accept();
}
......@@ -126,69 +151,18 @@ void QtGLGraphicsScene::wheelEvent(QGraphicsSceneWheelEvent* _e)
QGraphicsScene::wheelEvent(_e);
if (_e->isAccepted())
return;
QPoint p (_e->scenePos().x(), _e->scenePos().y());
QWheelEvent we(p, _e->screenPos(), _e->delta(), _e->buttons(),
_e->modifiers(), _e->orientation());
w_->glMouseWheelEvent(&we);
_e->accept();
}
void QtGLGraphicsScene::keyPressEvent(QKeyEvent* _e)
{
QGraphicsScene::keyPressEvent(_e);
if (_e->isAccepted())
return;
w_->glKeyPressEvent (_e);
}
void QtGLGraphicsScene::keyReleaseEvent(QKeyEvent* _e)
{
QGraphicsScene::keyReleaseEvent(_e);
if (_e->isAccepted())
return;
w_->glKeyReleaseEvent (_e);
}
void QtGLGraphicsScene::contextMenuEvent(QGraphicsSceneContextMenuEvent* _e)
{
QGraphicsScene::contextMenuEvent(_e);
if (_e->isAccepted())
glViewer *v = findView (_e->scenePos());
if (!v)
return;
QPoint p (_e->scenePos().x(), _e->scenePos().y());
QContextMenuEvent ce(static_cast<QContextMenuEvent::Reason> (_e->reason()),
p, _e->screenPos(), _e->modifiers());
w_->glContextMenuEvent(&ce);
_e->accept();
}
void QtGLGraphicsScene::dragEnterEvent(QGraphicsSceneDragDropEvent* _e)
{
std::cerr << "Todo : SceneDragEnterEvent not working with external handling" << std::endl;
QGraphicsScene::dragEnterEvent(_e);
if (_e->isAccepted())
return;
std::cerr << "Not Accepted ... passing to baseviewer" << std::endl;
QPoint p (_e->scenePos().x(), _e->scenePos().y());
QDragEnterEvent de(p, _e->possibleActions(), _e->mimeData(), _e->buttons(),
_e->modifiers ());
w_->glDragEnterEvent(&de);
QWheelEvent we(p, _e->screenPos(), _e->delta(), _e->buttons(),
_e->modifiers(), _e->orientation());
v->glMouseWheelEvent(&we);
_e->accept();
}
void QtGLGraphicsScene::dropEvent(QGraphicsSceneDragDropEvent* _e)
{
std::cerr << "Todo : SceneDropEvent not working with external handling" << std::endl;
QGraphicsScene::dropEvent(_e);