-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
return TInterface::_nil();
}
+SMESHGUI_EXPORT
+ CORBA::Object_var EntryToObject( const QString& );
+
+ template<class TInterface> typename TInterface::_var_type
+ EntryToInterface( const QString& theEntry )
+ {
+ CORBA::Object_var anObj = EntryToObject( theEntry );
+ if ( !CORBA::is_nil( anObj ) )
+ return TInterface::_narrow( anObj );
+ return TInterface::_nil();
+ }
+
SMESHGUI_EXPORT
int GetNameOfSelectedIObjects( LightApp_SelectionMgr*, QString& );
// type to use instead of SMESH_IDSource_var for automatic UnRegister()
- typedef SALOME::GenericObj_wrap<SMESH_IDSource> SMESH_IDSource_wrap;
+ typedef SALOME::GenericObj_wrap<SMESH_IDSource> IDSource_wrap;
+ /*!
+ * \brief Class useful to convert a string returned from a CORBA call
+ * to other string types w/o memory leak.
+ *
+ * Usage (of instantiations): QString s = toQStr( objVar->GetName() );
+ * std::string ss = toStdStr( objVar->GetName() );
+ */
+ template < class _STRING >
+ class toStrT : public _STRING {
+ CORBA::String_var myStr;
+ public:
+ toStrT( char* s ): _STRING( s ), myStr(s)
+ {}
+ operator const char*() const
+ { return myStr.in(); }
+ };
+ // Instantiations:
+ struct toQStr : public toStrT< QString > {
+ toQStr( char* s ): toStrT< QString >(s) {}
+ };
+ struct toStdStr : public toStrT< std::string > {
+ toStdStr( char* s ): toStrT< std::string >(s) {}
+ };
+
+ QString fromUtf8( const char* txt );
+ QString fromUtf8( const std::string& txt );
+ struct toUtf8: public std::string
+ {
+ toUtf8( const QString& txt );
+ operator const char*() const { return c_str(); }
+ };
}
#endif // SMESHGUI_UTILS_H