+ respect Selectable property in SoFCUnifiedSelection node

git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5136 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
This commit is contained in:
wmayer
2011-11-15 10:04:21 +00:00
parent 1ca9395fd9
commit 73dd4ab9eb
4 changed files with 13 additions and 3 deletions

View File

@@ -250,7 +250,7 @@ void SoFCUnifiedSelection::doAction(SoAction *action)
App::Document* doc = App::GetApplication().getDocument(selaction->SelChange.pDocName);
App::DocumentObject* obj = doc->getObject(selaction->SelChange.pObjectName);
ViewProvider*vp = Application::Instance->getViewProvider(obj);
if (vp && vp->useNewSelectionModel()) {
if (vp && vp->useNewSelectionModel() && vp->isSelectable()) {
SoSelectionElementAction::Type type = SoSelectionElementAction::None;
if (selaction->SelChange.Type == SelectionChanges::AddSelection)
type = SoSelectionElementAction::All;
@@ -269,7 +269,7 @@ void SoFCUnifiedSelection::doAction(SoAction *action)
for (std::vector<ViewProvider*>::iterator it = vps.begin(); it != vps.end(); ++it) {
ViewProviderDocumentObject* vpd = static_cast<ViewProviderDocumentObject*>(*it);
if (vpd->useNewSelectionModel()) {
if (Selection().isSelected(vpd->getObject())) {
if (Selection().isSelected(vpd->getObject()) && vpd->isSelectable()) {
SoSelectionElementAction action(SoSelectionElementAction::All);
action.setColor(this->colorSelection.getValue());
action.apply(vpd->getRoot());