delete mySelector;
}
+GraphicsView_ViewFrame* GraphicsView_Viewer::createViewFrame( SUIT_Desktop* theDesktop, QWidget* theWidget )
+{
+ return new GraphicsView_ViewFrame( theDesktop, this, theWidget );
+}
+
//================================================================
// Function : createView
// Purpose :
//================================================================
SUIT_ViewWindow* GraphicsView_Viewer::createView( SUIT_Desktop* theDesktop )
{
- GraphicsView_ViewFrame* aViewFrame = new GraphicsView_ViewFrame( theDesktop, this, myWidget );
+ GraphicsView_ViewFrame* aViewFrame = createViewFrame( theDesktop, myWidget );
connect( aViewFrame, SIGNAL( keyPressed( QKeyEvent* ) ),
this, SLOT( onKeyEvent( QKeyEvent* ) ) );
}
else if( e->button() == Qt::LeftButton &&
!( aViewPort->currentBlock() & GraphicsView_ViewPort::BS_Selection ) &&
- !aViewPort->getHighlightedObject() )
+ !aViewPort->getHighlightedObject() &&
+ ( !aViewPort->isDraggingSelectedByLeftButton() ||
+ aViewPort->isDraggingSelectedByLeftButton() && aViewPort->nbSelected() == 0 ) )
{
// Start rectangular selection if pulling was not started
QPoint p = aViewPort->mapFromScene( e->scenePos() );