NPAL17002: EDF578: Problem when trying to import some ACIS and IGES files. Correct order of import/export patterns.

This commit is contained in:
jfa 2007-10-04 12:43:45 +00:00
parent 46c358c504
commit b4d723ae76

View File

@ -72,15 +72,16 @@ typedef QMap<QString, QString> FilterMap;
static QString getFileName( QWidget* parent, static QString getFileName( QWidget* parent,
const QString& initial, const QString& initial,
const FilterMap& filterMap, const FilterMap& filterMap,
const QStringList filters,
const QString& caption, const QString& caption,
bool open, bool open,
QString& format ) QString& format )
{ {
static QString lastUsedFilter; static QString lastUsedFilter;
QStringList filters; //QStringList filters;
QString aBrepFilter; QString aBrepFilter;
for ( FilterMap::const_iterator it = filterMap.begin(); it != filterMap.end(); ++it ) { for ( FilterMap::const_iterator it = filterMap.begin(); it != filterMap.end(); ++it ) {
filters.push_back( it.key() ); //filters.push_back( it.key() );
if (it.key().contains("BREP", false)) { if (it.key().contains("BREP", false)) {
aBrepFilter = it.key(); aBrepFilter = it.key();
@ -474,15 +475,18 @@ bool GEOMToolsGUI::Import()
// Obtain a list of available import formats // Obtain a list of available import formats
FilterMap aMap; FilterMap aMap;
QStringList filters;
GEOM::string_array_var aFormats, aPatterns; GEOM::string_array_var aFormats, aPatterns;
aInsOp->ImportTranslators( 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] ); aMap.insert( (char*)aPatterns[i], (char*)aFormats[i] );
filters.push_back( (char*)aPatterns[i] );
}
QString fileType; QString fileType;
QString fileName = getFileName(app->desktop(), "", aMap, QString fileName = getFileName(app->desktop(), "", aMap, filters,
tr("GEOM_MEN_IMPORT"), true, fileType); tr("GEOM_MEN_IMPORT"), true, fileType);
if (fileType.isEmpty() ) if (fileType.isEmpty() )
@ -579,10 +583,13 @@ bool GEOMToolsGUI::Export()
// Obtain a list of available export formats // Obtain a list of available export formats
FilterMap aMap; FilterMap aMap;
QStringList filters;
GEOM::string_array_var aFormats, aPatterns; GEOM::string_array_var aFormats, aPatterns;
aInsOp->ExportTranslators( 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] ); aMap.insert( (char*)aPatterns[i], (char*)aFormats[i] );
filters.push_back( (char*)aPatterns[i] );
}
// Get selected objects // Get selected objects
LightApp_SelectionMgr* sm = app->selectionMgr(); LightApp_SelectionMgr* sm = app->selectionMgr();
@ -602,7 +609,7 @@ bool GEOMToolsGUI::Export()
continue; continue;
QString fileType; 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); tr("GEOM_MEN_EXPORT"), false, fileType);
// User has pressed "Cancel" --> stop the operation // User has pressed "Cancel" --> stop the operation