From b99155c653dc5249ab0f20a2fe6cdb86da028ef8 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sun, 1 Jan 2012 13:40:53 +0000 Subject: [PATCH] + implement multi-selection for Inventor style git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5374 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d --- src/Gui/InventorNavigationStyle.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Gui/InventorNavigationStyle.cpp b/src/Gui/InventorNavigationStyle.cpp index 5c9afd6fc..42993e755 100644 --- a/src/Gui/InventorNavigationStyle.cpp +++ b/src/Gui/InventorNavigationStyle.cpp @@ -331,13 +331,14 @@ SbBool InventorNavigationStyle::processSoEvent(const SoEvent * const ev) newmode = NavigationStyle::DRAGGING; break; case BUTTON3DOWN: - case SHIFTDOWN|BUTTON1DOWN: + case CTRLDOWN|SHIFTDOWN: + case CTRLDOWN|SHIFTDOWN|BUTTON1DOWN: newmode = NavigationStyle::PANNING; break; case CTRLDOWN: case CTRLDOWN|BUTTON1DOWN: - case CTRLDOWN|SHIFTDOWN: - case CTRLDOWN|SHIFTDOWN|BUTTON1DOWN: + case SHIFTDOWN: + case SHIFTDOWN|BUTTON1DOWN: newmode = NavigationStyle::SELECTION; break; case BUTTON1DOWN|BUTTON3DOWN: @@ -369,7 +370,9 @@ SbBool InventorNavigationStyle::processSoEvent(const SoEvent * const ev) // If not handled in this class, pass on upwards in the inheritance // hierarchy. - if ((curmode == NavigationStyle::SELECTION || viewer->isEditing()) && !processed) + if ((curmode == NavigationStyle::SELECTION || + newmode == NavigationStyle::SELECTION || + viewer->isEditing()) && !processed) processed = inherited::processSoEvent(ev); else return TRUE;