+SMESHGUI_EXPORT
+ int GetNameOfSelectedIObjects( LightApp_SelectionMgr*, QString& );
+
+SMESHGUI_EXPORT
+ QString GetName( const Handle(SALOME_InteractiveObject)& theIO );
+
+SMESHGUI_EXPORT
+ _PTR(SObject) GetMeshOrSubmesh( _PTR(SObject) );
+
+SMESHGUI_EXPORT
+ void ShowHelpFile( const QString& );
+
+ /*!
+ * \brief Return the normal to a face
+ * \param theFace - input face
+ * \retval gp_XYZ - normal to a face
+ */
+SMESHGUI_EXPORT
+ gp_XYZ getNormale( const SMDS_MeshFace* theFace );
+
+
+ // type to use instead of SMESH_IDSource_var for automatic UnRegister()
+ 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(); }
+ };