Salome HOME
untabify
[modules/geom.git] / src / GEOMGUI / GEOMGUI_Selection.cxx
index 593d80550a2df004769b386ea02693748e394b04..a3e9d133b849598d95f10c653bb678c06271221c 100644 (file)
@@ -83,6 +83,8 @@ QVariant GEOMGUI_Selection::parameter( const int ind, const QString& p ) const
 //  else
   if( p == "type" )
     return QVariant( typeName( ind ) );
+  if( p == "typeid" )
+    return QVariant( typeId( ind ) );
   else if ( p == "displaymode" )
     return QVariant( displayMode( ind ) );
   else if ( p == "isAutoColor" )
@@ -112,6 +114,15 @@ QString GEOMGUI_Selection::typeName( const int index ) const
   return "Unknown";
 }
 
+int GEOMGUI_Selection::typeId( const int index ) const
+{
+  int aType = -1;
+  GEOM::GEOM_Object_var anObj = getObject( index );
+  if ( !CORBA::is_nil( anObj ) )
+    aType = anObj->GetType();
+  return aType;
+}
+
 bool GEOMGUI_Selection::isVisible( const int index ) const
 {
   GEOM::GEOM_Object_var obj = getObject( index );
@@ -195,28 +206,29 @@ bool GEOMGUI_Selection::isVectorsMode( const int index ) const
     SALOME_Prs* prs = view->CreatePrs( entry( index ).toLatin1().constData() );
     if ( prs ) {
       if ( viewType == OCCViewer_Viewer::Type() ) { // assuming OCC
-       SOCC_Prs* occPrs = (SOCC_Prs*) prs;
-       AIS_ListOfInteractive lst;
-       occPrs->GetObjects( lst );
-       if ( lst.Extent() ) {
-         Handle(AIS_InteractiveObject) io = lst.First();
-         if ( !io.IsNull() ) {
-           Handle(GEOM_AISShape) aSh = Handle(GEOM_AISShape)::DownCast(io);
-           ret = aSh->isShowVectors();
-         }
-       }
+        SOCC_Prs* occPrs = (SOCC_Prs*) prs;
+        AIS_ListOfInteractive lst;
+        occPrs->GetObjects( lst );
+        if ( lst.Extent() ) {
+          Handle(AIS_InteractiveObject) io = lst.First();
+          if ( !io.IsNull() ) {
+            Handle(GEOM_AISShape) aSh = Handle(GEOM_AISShape)::DownCast(io);
+            if ( !aSh.IsNull() )
+              ret = aSh->isShowVectors();
+          }
+        }
       } else if ( viewType == SVTK_Viewer::Type() ) { // assuming VTK
-       SVTK_Prs* vtkPrs = dynamic_cast<SVTK_Prs*>( prs );
-       vtkActorCollection* lst = vtkPrs ? vtkPrs->GetObjects() : 0;
-       if ( lst ) {
-         lst->InitTraversal();
-         vtkActor* actor = lst->GetNextActor();
-         if ( actor ) {
-           GEOM_Actor* aGeomActor = GEOM_Actor::SafeDownCast(actor);
-           if ( aGeomActor )
-             ret = aGeomActor->GetVectorMode();
-         }
-       }
+        SVTK_Prs* vtkPrs = dynamic_cast<SVTK_Prs*>( prs );
+        vtkActorCollection* lst = vtkPrs ? vtkPrs->GetObjects() : 0;
+        if ( lst ) {
+          lst->InitTraversal();
+          vtkActor* actor = lst->GetNextActor();
+          if ( actor ) {
+            GEOM_Actor* aGeomActor = GEOM_Actor::SafeDownCast(actor);
+            if ( aGeomActor )
+              ret = aGeomActor->GetVectorMode();
+          }
+        }
       }
     }
   }