-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include "SVTK_Functor.h"
#include "VTKViewer_Algorithm.h"
#include <vtkRenderer.h>
+ #include "SVTK_ViewModel.h"
#endif
#ifndef DISABLE_SALOMEOBJECT
#include "SALOME_Actor.h"
- #include "SALOME_ListIteratorOfListIO.hxx"
+ #include "SALOME_ListIO.hxx"
#endif
-
+#include <utilities.h>
#ifndef DISABLE_VTKVIEWER
#ifndef DISABLE_SALOMEOBJECT
}
}
- return -1;
+ return ActorSelection; // workaround for embedded VTK viewer in a module : is it safe ?
}
/*!
LightApp_VTKSelector
::getSelection( SUIT_DataOwnerPtrList& aList ) const
{
- if(myViewer){
+ if( myViewer ) {
+ if( SVTK_Viewer* aSViewer = dynamic_cast<SVTK_Viewer*>(myViewer) ) {
+ if( !aSViewer->isSelectionEnabled() )
+ return;
+ }
if(SUIT_ViewManager* aViewManager = myViewer->getViewManager()){
if(SVTK_ViewManager* aViewMgr = dynamic_cast<SVTK_ViewManager*>(aViewManager)){
if(SVTK_ViewWindow* aView = dynamic_cast<SVTK_ViewWindow*>(aViewMgr->getActiveView())){
LightApp_VTKSelector
::setSelection( const SUIT_DataOwnerPtrList& theList )
{
- if(myViewer){
+ SVTK_Viewer* aViewer = dynamic_cast<SVTK_Viewer*>(myViewer);
+ if(myViewer && aViewer && aViewer->isSelectionEnabled()){
if(SUIT_ViewManager* aViewMgr = myViewer->getViewManager()){
if(SVTK_ViewWindow* aView = dynamic_cast<SVTK_ViewWindow*>(aViewMgr->getActiveView())){
if(SVTK_Selector* aSelector = aView->GetSelector()){
for(; anIter != theList.end(); ++anIter){
const SUIT_DataOwner* aDataOwner = (*anIter).get();
if(const LightApp_SVTKDataOwner* anOwner = dynamic_cast<const LightApp_SVTKDataOwner*>(aDataOwner)){
+ MESSAGE("aSelector->SetSelectionMode("<<anOwner->GetMode()<<");");
aSelector->SetSelectionMode(anOwner->GetMode());
Handle(SALOME_InteractiveObject) anIO = anOwner->IO();
aSelector->AddOrRemoveIndex(anIO,anOwner->GetIds(),false);
}else if(const LightApp_DataOwner* anOwner = dynamic_cast<const LightApp_DataOwner*>(aDataOwner)){
Handle(SALOME_InteractiveObject) anIO =
- new SALOME_InteractiveObject(anOwner->entry().toLatin1(),"");
+ new SALOME_InteractiveObject(anOwner->entry().toUtf8(),"");
aSelector->AddIObject(anIO);
anAppendList.Append(anIO);
}