X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMGUI%2FGEOMGUI_Selection.cxx;h=af266c29842d00068b4eaed54508dab773daf614;hb=refs%2Ftags%2FV5_0_0a2;hp=14158e39043034f551d5bdcffa4457bf00ac0987;hpb=49047f7d298f22733ce9bb55676486c1e7115855;p=modules%2Fgeom.git diff --git a/src/GEOMGUI/GEOMGUI_Selection.cxx b/src/GEOMGUI/GEOMGUI_Selection.cxx index 14158e390..af266c298 100644 --- a/src/GEOMGUI/GEOMGUI_Selection.cxx +++ b/src/GEOMGUI/GEOMGUI_Selection.cxx @@ -17,6 +17,10 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // +// File : GEOMGUI_Selection.cxx +// Author : Alexander SOLOVYOV, Open CASCADE S.A.S. (alexander.solovyov@opencascade.com) +// + #include "GEOMGUI_Selection.h" #include "GeometryGUI.h" @@ -40,7 +44,7 @@ #include #include -#include "GEOMImpl_Types.hxx" +#include // OCCT Includes #include @@ -50,8 +54,8 @@ // VTK Includes #include -GEOMGUI_Selection::GEOMGUI_Selection( const QString& client, LightApp_SelectionMgr* mgr ) - :LightApp_Selection( client, mgr ) +GEOMGUI_Selection::GEOMGUI_Selection() +: LightApp_Selection() { } @@ -77,6 +81,8 @@ QVariant GEOMGUI_Selection::parameter( const int ind, const QString& p ) const return QVariant( typeName( ind ) ); else if ( p == "displaymode" ) return QVariant( displayMode( ind ) ); + else if ( p == "isAutoColor" ) + return QVariant( isAutoColor( ind ) ); else return LightApp_Selection::parameter( ind, p ); } @@ -101,12 +107,20 @@ bool GEOMGUI_Selection::isVisible( const int index ) const GEOM::GEOM_Object_var obj = getObject( index ); SALOME_View* view = GEOM_Displayer::GetActiveView(); if ( !CORBA::is_nil( obj ) && view ) { - Handle(SALOME_InteractiveObject) io = new SALOME_InteractiveObject( entry( index ).toLatin1(), "GEOM", "TEMP_IO" ); + Handle(SALOME_InteractiveObject) io = new SALOME_InteractiveObject( entry( index ).toLatin1().constData(), "GEOM", "TEMP_IO" ); return view->isVisible( io ); } return false; } +bool GEOMGUI_Selection::isAutoColor( const int index ) const +{ + GEOM::GEOM_Object_var obj = getObject( index ); + if ( !CORBA::is_nil( obj ) ) + return obj->GetAutoColor(); + return false; +} + QString GEOMGUI_Selection::displayMode( const int index ) const { SALOME_View* view = GEOM_Displayer::GetActiveView(); @@ -200,14 +214,14 @@ GEOM::GEOM_Object_ptr GEOMGUI_Selection::getObject( const int index ) const return GEOM::GEOM_Object::_nil(); } -QString GEOMGUI_Selection:: selectionMode() const -{ +QString GEOMGUI_Selection::selectionMode() const +{ SalomeApp_Application* app = (SalomeApp_Application*)(SUIT_Session::session()->activeApplication()); if (app) { GeometryGUI* aGeomGUI = dynamic_cast( app->module( "Geometry" ) ); - if(aGeomGUI) - switch(aGeomGUI->getLocalSelectionMode()) - { + if (aGeomGUI) { + switch (aGeomGUI->getLocalSelectionMode()) + { case GEOM_POINT : return "VERTEX"; case GEOM_EDGE : return "EDGE"; case GEOM_WIRE : return "WIRE"; @@ -217,7 +231,8 @@ QString GEOMGUI_Selection:: selectionMode() const case GEOM_COMPOUND : return "COMPOUND"; case GEOM_ALLOBJECTS : return "ALL"; default: return ""; - } + } + } } return ""; }