#include "VisuGUI_PopupTools.h"
#include "VisuGUI_Tools.h"
+#include "SalomeApp_Study.h"
+#include "LightApp_Study.h"
#include "VISU_Actor.h"
+#include "VISU_ScalarMapAct.h"
using namespace VISU;
QtxValue VisuGUI_Selection::param( const int ind, const QString& p ) const
{
- QtxValue val( SalomeApp_Selection::param( ind, p ) );
+ QtxValue val( LightApp_Selection::param( ind, p ) );
if ( !val.isValid() ) {
if ( p == "type" ) val = QtxValue( type( ind ) );
else if ( p == "nbComponents" ) val = QtxValue( nbComponents( ind ) );
else if ( p == "isVisible" ) val = QtxValue( isVisible( ind ) );
else if ( p == "isShrunk" ) val = QtxValue( isShrunk( ind ) );
else if ( p == "hasActor" ) val = QtxValue( hasActor( ind ) );
+ else if ( p == "isShading" ) val = QtxValue( isShading( ind ) );
+ else if ( p == "isScalarMapAct" ) val = QtxValue( isScalarMapAct( ind ) );
}
return val;
#define ENUM2STRING( x, y ) \
case y: \
x = QString( #y ); \
- break;
+ break
QString VisuGUI_Selection::type( const int ind ) const
{
- QString aTypeStr;
+ QString aResStr;
VISU::Storable::TRestoringMap aMap;
- CORBA::Object_var anObject = GetSelectedObj( study(), entry( ind ), &aMap );
+ SalomeApp_Study* aStudy = dynamic_cast<SalomeApp_Study*>( ( LightApp_Study* )study() );
+ if ( !aStudy )
+ return aResStr;
+ CORBA::Object_var anObject = GetSelectedObj( aStudy, entry( ind ), &aMap );
VISU::Base_var aVisuObj = VISU::Base::_narrow( anObject );
-
if ( !CORBA::is_nil( aVisuObj ) ){
VISU::VISUType aType = aVisuObj->GetType();
switch (aType) {
- ENUM2STRING( aTypeStr, VISU::TVISUGEN )
- ENUM2STRING( aTypeStr, VISU::TRESULT )
- ENUM2STRING( aTypeStr, VISU::TTABLE )
- ENUM2STRING( aTypeStr, VISU::TCURVE )
- ENUM2STRING( aTypeStr, VISU::TCONTAINER )
- ENUM2STRING( aTypeStr, VISU::TMESH )
- ENUM2STRING( aTypeStr, VISU::TSCALARMAP )
- ENUM2STRING( aTypeStr, VISU::TISOSURFACE )
- ENUM2STRING( aTypeStr, VISU::TDEFORMEDSHAPE )
- ENUM2STRING( aTypeStr, VISU::TCUTPLANES )
- ENUM2STRING( aTypeStr, VISU::TCUTLINES )
- ENUM2STRING( aTypeStr, VISU::TVECTORS )
- ENUM2STRING( aTypeStr, VISU::TSTREAMLINES )
+ ENUM2STRING( aResStr, VISU::TVISUGEN );
+ ENUM2STRING( aResStr, VISU::TRESULT );
+ ENUM2STRING( aResStr, VISU::TTABLE );
+ ENUM2STRING( aResStr, VISU::TCURVE );
+ ENUM2STRING( aResStr, VISU::TCONTAINER );
+ ENUM2STRING( aResStr, VISU::TMESH );
+ ENUM2STRING( aResStr, VISU::TSCALARMAP );
+ ENUM2STRING( aResStr, VISU::TISOSURFACE );
+ ENUM2STRING( aResStr, VISU::TDEFORMEDSHAPE );
+ ENUM2STRING( aResStr, VISU::TCUTPLANES );
+ ENUM2STRING( aResStr, VISU::TCUTLINES );
+ ENUM2STRING( aResStr, VISU::TVECTORS );
+ ENUM2STRING( aResStr, VISU::TSTREAMLINES );
+ ENUM2STRING( aResStr, VISU::TPLOT3D );
+ ENUM2STRING( aResStr, VISU::TANIMATION );
}
}
- else{
+
+ if(aResStr.isNull()){
bool isExist;
VISU::VISUType aType = (VISU::VISUType)VISU::Storable::FindValue( aMap, "myType", &isExist).toInt();
if( isExist ){
switch (aType) {
- ENUM2STRING( aTypeStr, VISU::TENTITY )
- ENUM2STRING( aTypeStr, VISU::TFAMILY )
- ENUM2STRING( aTypeStr, VISU::TGROUP )
- ENUM2STRING( aTypeStr, VISU::TVIEW3D )
- ENUM2STRING( aTypeStr, VISU::TFIELD )
- ENUM2STRING( aTypeStr, VISU::TTIMESTAMP )
+ ENUM2STRING( aResStr, VISU::TENTITY );
+ ENUM2STRING( aResStr, VISU::TFAMILY );
+ ENUM2STRING( aResStr, VISU::TGROUP );
+ ENUM2STRING( aResStr, VISU::TVIEW3D );
+ ENUM2STRING( aResStr, VISU::TFIELD );
+ ENUM2STRING( aResStr, VISU::TTIMESTAMP );
}
}
}
- return aTypeStr;
+ if(aResStr.isNull()){
+ bool isExist;
+ QString aVal = VISU::Storable::FindValue(aMap,"myComment",&isExist);
+ if ( isExist && aVal!="MESH" )
+ aResStr = "VISU::T" + aVal;
+ }
+
+ return aResStr;
}
QString VisuGUI_Selection::nbComponents( const int ind ) const
{
QString aResStr;
VISU::Storable::TRestoringMap aMap;
- GetSelectedObj( study(), entry( ind ), &aMap );
+ SalomeApp_Study* aStudy = dynamic_cast<SalomeApp_Study*>( ( LightApp_Study* )study() );
+ if ( !aStudy )
+ return aResStr;
+ GetSelectedObj( aStudy, entry( ind ), &aMap );
bool isExist;
const QString& aVal = VISU::Storable::FindValue(aMap,"myNumComponent",&isExist);
if ( isExist )
{
QString aResStr;
VISU::Storable::TRestoringMap aMap;
- GetSelectedObj( study(), entry( ind ), &aMap );
+ SalomeApp_Study* aStudy = dynamic_cast<SalomeApp_Study*>( ( LightApp_Study* )study() );
+ if ( !aStudy )
+ return aResStr;
+ GetSelectedObj( aStudy, entry( ind ), &aMap );
bool isExist;
const QString& aVal = VISU::Storable::FindValue(aMap,"myNbTimeStamps",&isExist);
if ( isExist )
if ( VISU_Actor* anVISUActor = FindActor( aView, entry( ind ).latin1() ) ){
int aRepresent = anVISUActor->GetRepresentation();
switch ( aRepresent ){
- ENUM2STRING( aResStr, VISU::POINT )
- ENUM2STRING( aResStr, VISU::WIREFRAME )
- ENUM2STRING( aResStr, VISU::SHADED )
- ENUM2STRING( aResStr, VISU::INSIDEFRAME )
- ENUM2STRING( aResStr, VISU::SURFACEFRAME )
+ ENUM2STRING( aResStr, VISU::POINT );
+ ENUM2STRING( aResStr, VISU::WIREFRAME );
+ ENUM2STRING( aResStr, VISU::SHADED );
+ ENUM2STRING( aResStr, VISU::INSIDEFRAME );
+ ENUM2STRING( aResStr, VISU::SURFACEFRAME );
}
}
}
int VisuGUI_Selection::nbChild( const int ind, const bool named ) const
{
int cnt = 0;
- _PTR(Study) aStudy = GetCStudy( study() );
+ SalomeApp_Study* aSStudy = dynamic_cast<SalomeApp_Study*>( ( LightApp_Study* )study() );
+ if ( !aSStudy )
+ return cnt;
+ _PTR(Study) aStudy = GetCStudy( aSStudy );
if ( aStudy ){
_PTR(SObject) SO = aStudy->FindObjectID( entry( ind ).latin1() );
if ( SO ){
{
return representation( ind ).isEmpty() ? "0" : "1";
}
+
+QString VisuGUI_Selection::isShading( const int ind ) const
+{
+ QString aResStr;
+
+ if ( SVTK_ViewWindow* aView = GetViewWindow( myModule ) )
+ if ( VISU_Actor* anVISUActor = FindActor( aView, entry( ind ).latin1() ) )
+ if ( VISU_ScalarMapAct* anActor = dynamic_cast<VISU_ScalarMapAct*>(anVISUActor) )
+ aResStr = anActor->IsShading() ? "1" : "0";
+
+ return aResStr;
+}
+
+QString VisuGUI_Selection::isScalarMapAct( const int ind ) const
+{
+ QString aResStr;
+
+ if ( SVTK_ViewWindow* aView = GetViewWindow( myModule ) )
+ if ( VISU_Actor* anVISUActor = FindActor( aView, entry( ind ).latin1() ) )
+ {
+ VISU_ScalarMapAct* anActor = dynamic_cast<VISU_ScalarMapAct*>(anVISUActor);
+ aResStr = anActor ? "1" : "0";
+ }
+
+ return aResStr;
+}