0028416: Visualization - SelectMgr_SelectionManager::Activate() should not implicitly...
authorkgv <kgv@opencascade.com>
Tue, 31 Jan 2017 08:26:48 +0000 (11:26 +0300)
committerkgv <kgv@opencascade.com>
Thu, 30 Nov 2017 20:08:56 +0000 (23:08 +0300)
commitf47849f49ece72237f905d1ca6a933cbfe904d1e
tree47dc06e42fe2e7dd1bdc89cb6a3fb9fab135d329
parent81a55a6996dd7db9210fa3cb1518825d1f87148b
0028416: Visualization - SelectMgr_SelectionManager::Activate() should not implicitly deactivate Global Selection Mode

Implicit deactivation of global selection mode has been removed from SelectMgr_SelectionManager::Activate().

Added new method AIS_InteractiveContext::SetSelectionModeActive() as replacement
of AIS_InteractiveContext::Activate() / ::Deactivate().
New method takes an argument AIS_SelectionModesConcurrency which defines
what to do with already activated selection modes in 3 ways:
- AIS_SelectionModesConcurrency_Single, only one selection mode can be activated at
  the same moment - previously activated should be deactivated
- AIS_SelectionModesConcurrency_GlobalOrLocal, either Global (AIS_InteractiveObject::GlobalSelectionMode()
  or Local (multiple) selection modes can be active at the same moment
- AIS_SelectionModesConcurrency_Multiple, any combination of selection modes can be activated.
src/AIS/AIS_InteractiveContext.hxx
src/AIS/AIS_InteractiveContext_2.cxx
src/AIS/AIS_LocalContext.cxx
src/AIS/AIS_LocalContext.hxx
src/AIS/AIS_SelectionModesConcurrency.hxx [new file with mode: 0644]
src/AIS/FILES
src/SelectMgr/SelectMgr_SelectionManager.cxx
src/SelectMgr/SelectMgr_ToleranceMap.cxx
src/ViewerTest/ViewerTest_ObjectCommands.cxx