#include <SalomeApp_Application.h>
#include <SalomeApp_Study.h>
#include <LightApp_SelectionMgr.h>
+#include <GEOMImpl_Types.hxx>
#include <SALOME_ListIteratorOfListIO.hxx>
#include <SALOME_Prs.h>
static QString getFileName( QWidget* parent,
const QString& initial,
const FilterMap& filterMap,
+ const QStringList filters,
const QString& caption,
bool open,
QString& format )
{
static QString lastUsedFilter;
- QStringList filters;
- for ( FilterMap::const_iterator it = filterMap.begin(); it != filterMap.end(); ++it )
- filters.push_back( it.key() );
+ //QStringList filters;
+ QString aBrepFilter;
+ for ( FilterMap::const_iterator it = filterMap.begin(); it != filterMap.end(); ++it ) {
+ //filters.push_back( it.key() );
+
+ if (it.key().contains("BREP", false)) {
+ aBrepFilter = it.key();
+ }
+ }
SUIT_FileDlg* fd = new SUIT_FileDlg( parent, open, true, true );
if ( !caption.isEmpty() )
if ( !initial.isEmpty() )
fd->setSelection( initial );
+ fd->setFilters( filters );
+
if ( !lastUsedFilter.isEmpty() && filterMap.contains( lastUsedFilter ) )
fd->setSelectedFilter( lastUsedFilter );
-
- fd->setFilters( filters );
+ else {
+ if (!aBrepFilter.isEmpty()) {
+ fd->setSelectedFilter(aBrepFilter);
+ }
+ }
fd->exec();
QString filename = fd->selectedFile();
Export();
break;
}
+ case 2171: // POPUP VIEWER - SELECT ONLY - VERTEX
+ {
+ OnSelectOnly( GEOM_POINT );
+ break;
+ }
+ case 2172: // POPUP VIEWER - SELECT ONLY - EDGE
+ {
+ OnSelectOnly( GEOM_EDGE );
+ break;
+ }
+ case 2173: // POPUP VIEWER - SELECT ONLY - WIRE
+ {
+ OnSelectOnly( GEOM_WIRE );
+ break;
+ }
+ case 2174: // POPUP VIEWER - SELECT ONLY - FACE
+ {
+ OnSelectOnly( GEOM_FACE );
+ break;
+ }
+ case 2175: // POPUP VIEWER - SELECT ONLY - SHELL
+ {
+ OnSelectOnly( GEOM_SHELL );
+ break;
+ }
+ case 2176: // POPUP VIEWER - SELECT ONLY - SOLID
+ {
+ OnSelectOnly( GEOM_SOLID );
+ break;
+ }
+ case 2177: // POPUP VIEWER - SELECT ONLY - COMPOUND
+ {
+ OnSelectOnly( GEOM_COMPOUND );
+ break;
+ }
+ case 2178: // POPUP VIEWER - SELECT ONLY - SELECT ALL
+ {
+ OnSelectOnly( GEOM_ALLOBJECTS );
+ break;
+ }
case 411: // SETTINGS - ADD IN STUDY
{
// SAN -- TO BE REMOVED !!!
OnNbIsos();
break;
}
+ case 8035: // AUTO COLOR - POPUP VIEWER
+ {
+ OnAutoColor();
+ break;
+ }
+ case 8036: // DISABLE AUTO COLOR - POPUP VIEWER
+ {
+ OnDisableAutoColor();
+ break;
+ }
case 9024 : // OPEN - OBJBROSER POPUP
{
OnOpen();
// VSR 17/11/04: check if all objects selected belong to GEOM component --> start
// modifications of ASV 01.06.05
QString parentComp = getParentComponent( aStudy, selected );
- CORBA::String_var geomIOR = app->orb()->object_to_string( GeometryGUI::GetGeomGen() );
+ CORBA::String_var geomIOR = app->orb()->object_to_string( GeometryGUI::GetGeomGen() );
QString geomComp = getParentComponent( aStudy->FindObjectIOR( geomIOR.in() ) );
if ( parentComp != geomComp ) {
// Obtain a list of available import formats
FilterMap aMap;
+ QStringList filters;
GEOM::string_array_var aFormats, aPatterns;
aInsOp->ImportTranslators( aFormats, aPatterns );
- for ( int i = 0, n = aFormats->length(); i < n; i++ )
+ for ( int i = 0, n = aFormats->length(); i < n; i++ ) {
aMap.insert( (char*)aPatterns[i], (char*)aFormats[i] );
+ filters.push_back( (char*)aPatterns[i] );
+ }
QString fileType;
- QString fileName = getFileName(app->desktop(), "", aMap,
+ QString fileName = getFileName(app->desktop(), "", aMap, filters,
tr("GEOM_MEN_IMPORT"), true, fileType);
if (fileType.isEmpty() )
anObj = aInsOp->Import(fileN, fileT);
if ( !anObj->_is_nil() && aInsOp->IsDone() ) {
- anObj->SetName(GEOMBase::GetDefaultName(QObject::tr("GEOM_IMPORT")).latin1());
QString aPublishObjName =
GEOMBase::GetDefaultName(SUIT_Tools::file(fileName, /*withExten=*/true));
// Obtain a list of available export formats
FilterMap aMap;
+ QStringList filters;
GEOM::string_array_var aFormats, aPatterns;
aInsOp->ExportTranslators( aFormats, aPatterns );
- for ( int i = 0, n = aFormats->length(); i < n; i++ )
+ for ( int i = 0, n = aFormats->length(); i < n; i++ ) {
aMap.insert( (char*)aPatterns[i], (char*)aFormats[i] );
+ filters.push_back( (char*)aPatterns[i] );
+ }
// Get selected objects
LightApp_SelectionMgr* sm = app->selectionMgr();
continue;
QString fileType;
- QString file = getFileName(app->desktop(), QString( IObject->getName() ), aMap,
+ QString file = getFileName(app->desktop(), QString( IObject->getName() ), aMap, filters,
tr("GEOM_MEN_EXPORT"), false, fileType);
// User has pressed "Cancel" --> stop the operation
return false;
}
+//=================================================================================
+// function : deactivate()
+// purpose : Called when GEOM component is deactivated
+//=================================================================================
+void GEOMToolsGUI::deactivate()
+{
+ SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() );
+ if ( app ) {
+ SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>( app->activeStudy() );
+ GEOM_Displayer aDisp (appStudy);
+ aDisp.GlobalSelection();
+ getGeometryGUI()->setLocalSelectionMode(GEOM_ALLOBJECTS);
+ }
+}
+
//=====================================================================================
// EXPORTED METHODS
//=====================================================================================