Salome HOME
Unicode support
authorrnv <rnv@opencascade.com>
Fri, 13 Jul 2018 06:51:07 +0000 (09:51 +0300)
committerrnv <rnv@opencascade.com>
Fri, 13 Jul 2018 06:51:07 +0000 (09:51 +0300)
35 files changed:
1  2 
src/OBJECT/SMESH_Actor.cxx
src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI_Add0DElemsOnAllNodesDlg.cxx
src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx
src/SMESHGUI/SMESHGUI_ComputeDlg.cxx
src/SMESHGUI/SMESHGUI_ConvToQuadOp.cxx
src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx
src/SMESHGUI/SMESHGUI_CreatePatternDlg.cxx
src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.cxx
src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.cxx
src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx
src/SMESHGUI/SMESHGUI_FilterDlg.cxx
src/SMESHGUI/SMESHGUI_FilterLibraryDlg.cxx
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
src/SMESHGUI/SMESHGUI_GroupOnShapeDlg.cxx
src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx
src/SMESHGUI/SMESHGUI_Make2DFrom3DOp.cxx
src/SMESHGUI/SMESHGUI_MakeNodeAtPointDlg.cxx
src/SMESHGUI/SMESHGUI_MeshOp.cxx
src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx
src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx
src/SMESHGUI/SMESHGUI_NodesDlg.cxx
src/SMESHGUI/SMESHGUI_ReorientFacesDlg.cxx
src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx
src/SMESHGUI/SMESHGUI_RotationDlg.cxx
src/SMESHGUI/SMESHGUI_ScaleDlg.cxx
src/SMESHGUI/SMESHGUI_Selection.cxx
src/SMESHGUI/SMESHGUI_SelectionOp.cxx
src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.cxx
src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx
src/SMESHGUI/SMESHGUI_SplitBiQuad.cxx
src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx
src/SMESHGUI/SMESHGUI_TranslationDlg.cxx
src/StdMeshersGUI/StdMeshersGUI_CartesianParamCreator.cxx
src/StdMeshersGUI/StdMeshersGUI_QuadrangleParamWdg.cxx

index dac3d4a0d6418b22e1e8afcf6d0bd3ef55b6ca24,b3527bc88d5b57f8da011b3492b7735068fcdec8..46bff48d4cc935aeec4fb914019569ad138382d0
@@@ -804,20 -804,12 +804,20 @@@ bool SMESH_ActorDef::GetFacesOrientatio
  }
  
  
 +void SMESH_ActorDef::SetControl(SMESH::Controls::FunctorPtr theFunctor)
 +{
 +  myFunctor = theFunctor;
 +  if ( !theFunctor )
 +    SetControlMode( eNone, true );
 +  else
 +    SetControlMode( eCustomControl, true );
 +}
 +
  void SMESH_ActorDef::SetControlMode(eControl theMode)
  {
    SetControlMode(theMode,true);
  }
  
 -
  void SMESH_ActorDef::SetControlMode( eControl theMode, bool theCheckEntityMode )
  {
    vtkLookupTable* lookupTable = static_cast<vtkLookupTable*>(myScalarBarActor->GetLookupTable());
        myControlActor = myNodeActor;
        break;
      }
 +    case eCustomControl:
 +    {
 +      if ( !myFunctor )
 +        return;
 +      switch ( myFunctor->GetType() ) {
 +      case SMDSAbs_Node          : myControlActor = myNodeActor; break;
 +      case SMDSAbs_Edge          : myControlActor = my1DActor;   break;
 +      case SMDSAbs_Face          : myControlActor = my2DActor;   break;
 +      case SMDSAbs_Volume        : myControlActor = my3DActor;   break;
 +      default                    : return;
 +      }
 +      break;
 +    }
      default:
        return;
      }
      }
      QString aTitle = QString(myScalarBarActor->GetTitle());
      aTitle.replace(QRegExp("(:\\s).*"),"\\1"+ QString::number(GetNumberControlEntities()));
-     myScalarBarActor->SetTitle(aTitle.toLatin1().constData());
+     myScalarBarActor->SetTitle(aTitle.toUtf8().constData());
  
    }
    else {
index 2956e818f2233298276e8288beb9efe0b38022be,59c7b4e3a366e5289d06111cb7bddcdffb1aeca4..e84876d0f01ba9807c8aaa81de22c9b46b105cbc
@@@ -74,7 -74,6 +74,7 @@@
  #include "SMESHGUI_RevolutionDlg.h"
  #include "SMESHGUI_RotationDlg.h"
  #include "SMESHGUI_ScaleDlg.h"
 +#include "SMESHGUI_OffsetDlg.h"
  #include "SMESHGUI_Selection.h"
  #include "SMESHGUI_SewingDlg.h"
  #include "SMESHGUI_SingleEditDlg.h"
@@@ -1655,9 -1654,7 +1655,9 @@@ namespac
      ActionControl.Bind( SMESHOp::OpOverConstrainedVolume, SMESH_Actor::eOverConstrainedVolume );
      ActionControl.Bind( SMESHOp::OpEqualVolume,           SMESH_Actor::eCoincidentElems3D );
  
 -    return theReversed ? ActionControl.Find2( theID ) : ActionControl.Find1( theID );
 +    if ( theReversed )
 +      return ActionControl.IsBound2( theID ) ? ActionControl.Find2( theID ) : 0;
 +    return   ActionControl.IsBound1( theID ) ? ActionControl.Find1( theID ) : 0;
    }
  
    void Control( int theCommandID )
@@@ -1811,24 -1808,20 +1811,24 @@@ void SMESHGUI::OnEditDelete(
    int objectCount = 0;
    QString aNameList;
    QString aParentComponent = QString::null;
 -  Handle(SALOME_InteractiveObject) anIO;
 +  
    for( SALOME_ListIteratorOfListIO anIt( selected ); anIt.More(); anIt.Next() )
    {
 -    anIO = anIt.Value();
 -    QString cur = anIO->getComponentDataType();
 -    _PTR(SObject) aSO = aStudy->FindObjectID(anIO->getEntry());
 +    Handle(SALOME_InteractiveObject) anIO = anIt.Value();
 +    if ( anIO.IsNull() ) continue;
 +    
 +    QString father = "unknown";
 +
 +    _PTR(SObject) aSO = aStudy->FindObjectID( anIO->getEntry() );
      if (aSO) {
 +      father = QString::fromStdString( aSO->GetFatherComponent()->ComponentDataType() );
        // check if object is reference
        _PTR(SObject) aRefSObj;
        aNameList.append("\n    - ");
        if ( aSO->ReferencedObject( aRefSObj ) ) {
          QString aRefName = QString::fromStdString ( aRefSObj->GetName() );
          aNameList.append( aRefName );
 -        cur = QString::fromStdString ( aRefSObj->GetFatherComponent()->ComponentDataType() );
 +        father = QString::fromStdString ( aRefSObj->GetFatherComponent()->ComponentDataType() );
        }
        else
          aNameList.append(anIO->getName());
      }
  
      if( aParentComponent.isNull() )
 -      aParentComponent = cur;
 -    else if( !aParentComponent.isEmpty() && aParentComponent!=cur )
 +      aParentComponent = father;
 +    else if( !aParentComponent.isEmpty() && aParentComponent!=father )
        aParentComponent = "";
    }
  
@@@ -3471,20 -3464,6 +3471,20 @@@ bool SMESHGUI::OnGUIEvent( int theComma
        break;
      }
  
 +  case SMESHOp::OpOffset:
 +    {
 +      if(isStudyLocked()) break;
 +      if ( vtkwnd ) {
 +        EmitSignalDeactivateDialog();
 +        ( new SMESHGUI_OffsetDlg( this ) )->show();
 +      }
 +      else {
 +        SUIT_MessageBox::warning(SMESHGUI::desktop(),
 +                                 tr("SMESH_WRN_WARNING"), tr("SMESH_WRN_VIEWER_VTK"));
 +      }
 +      break;
 +    }
 +
    case SMESHOp::OpSewing:
      {
        if(isStudyLocked()) break;
@@@ -3765,7 -3744,7 +3765,7 @@@ void SMESHGUI::createPopupItem( const i
      popupMgr()->insert( action( id ), pId, 0 );
  
    QString lc = "$";        // VSR : instead of QtxPopupSelection::defEquality();
 -  QString dc = "selcount"; // VSR : insetad of QtxPopupSelection::defSelCountParam()
 +  QString dc = "selcount"; // VSR : instead of QtxPopupSelection::defSelCountParam()
    QString rule = "(%1) and (%2) and (%3)";
    rule = rule.arg( QString( "%1>0" ).arg( dc ) );
    if( clients.isEmpty() )
@@@ -3935,7 -3914,6 +3935,7 @@@ void SMESHGUI::initialize( CAM_Applicat
    createSMESHAction( SMESHOp::OpRotation,               "ROT",             "ICON_DLG_MESH_ROTATION" );
    createSMESHAction( SMESHOp::OpSymmetry,               "SYM",             "ICON_SMESH_SYMMETRY_PLANE" );
    createSMESHAction( SMESHOp::OpScale,                  "SCALE",           "ICON_DLG_MESH_SCALE" );
 +  createSMESHAction( SMESHOp::OpOffset,                 "OFFSET",          "ICON_DLG_MESH_OFFSET" );
    createSMESHAction( SMESHOp::OpSewing,                 "SEW",             "ICON_SMESH_SEWING_FREEBORDERS" );
    createSMESHAction( SMESHOp::OpMergeNodes,             "MERGE",           "ICON_SMESH_MERGE_NODES" );
    createSMESHAction( SMESHOp::OpMergeElements,          "MERGE_ELEMENTS",  "ICON_DLG_MERGE_ELEMENTS" );
    //createMenu( SMESHOp::OpRenumberingNodes,    renumId, -1 );
    //createMenu( SMESHOp::OpRenumberingElements, renumId, -1 );
  
 +  createMenu( SMESHOp::OpMergeNodes,     transfId, -1 );
 +  createMenu( SMESHOp::OpMergeElements,  transfId, -1 );
    createMenu( SMESHOp::OpTranslation,    transfId, -1 );
    createMenu( SMESHOp::OpRotation,       transfId, -1 );
    createMenu( SMESHOp::OpSymmetry,       transfId, -1 );
    createMenu( SMESHOp::OpScale,          transfId, -1 );
 +  createMenu( SMESHOp::OpOffset,         transfId, -1 );
    createMenu( SMESHOp::OpSewing,         transfId, -1 );
 -  createMenu( SMESHOp::OpMergeNodes,     transfId, -1 );
 -  createMenu( SMESHOp::OpMergeElements,  transfId, -1 );
    createMenu( SMESHOp::OpDuplicateNodes, transfId, -1 );
  
 +  createMenu( SMESHOp::OpConvertMeshToQuadratic, modifyId, -1 );
 +  createMenu( SMESHOp::OpCreateBoundaryElements, modifyId, -1 );
 +  createMenu( SMESHOp::OpExtrusion,              modifyId, -1 );
 +  createMenu( SMESHOp::OpExtrusionAlongAPath,    modifyId, -1 );
 +  createMenu( SMESHOp::OpRevolution,             modifyId, -1 );
 +  createMenu( SMESHOp::OpOrientation,            modifyId, -1 );
 +  createMenu( SMESHOp::OpReorientFaces,          modifyId, -1 );
    createMenu( SMESHOp::OpMoveNode,               modifyId, -1 );
    createMenu( SMESHOp::OpDiagonalInversion,      modifyId, -1 );
    createMenu( SMESHOp::OpUnionOfTwoTriangle,     modifyId, -1 );
 -  createMenu( SMESHOp::OpOrientation,            modifyId, -1 );
 -  createMenu( SMESHOp::OpReorientFaces,          modifyId, -1 );
    createMenu( SMESHOp::OpUnionOfTriangles,       modifyId, -1 );
    createMenu( SMESHOp::OpCuttingOfQuadrangles,   modifyId, -1 );
    createMenu( SMESHOp::OpSplitVolumes,           modifyId, -1 );
    createMenu( SMESHOp::OpSplitBiQuadratic,       modifyId, -1 );
    createMenu( SMESHOp::OpSmoothing,              modifyId, -1 );
 -  createMenu( SMESHOp::OpExtrusion,              modifyId, -1 );
 -  createMenu( SMESHOp::OpExtrusionAlongAPath ,   modifyId, -1 );
 -  createMenu( SMESHOp::OpRevolution,             modifyId, -1 );
    createMenu( SMESHOp::OpPatternMapping,         modifyId, -1 );
 -  createMenu( SMESHOp::OpConvertMeshToQuadratic, modifyId, -1 );
 -  createMenu( SMESHOp::OpCreateBoundaryElements, modifyId, -1 );
  
    createMenu( SMESHOp::OpMinimumDistance,  measureId,   -1 );
    createMenu( SMESHOp::OpBoundingBox,      measureId,   -1 );
    //createTool( SMESHOp::OpRenumberingNodes,    renumbTb );
    //createTool( SMESHOp::OpRenumberingElements, renumbTb );
  
 +  createTool( SMESHOp::OpMergeNodes,     transformTb );
 +  createTool( SMESHOp::OpMergeElements,  transformTb );
    createTool( SMESHOp::OpTranslation,    transformTb );
    createTool( SMESHOp::OpRotation,       transformTb );
    createTool( SMESHOp::OpSymmetry,       transformTb );
    createTool( SMESHOp::OpScale,          transformTb );
 +  createTool( SMESHOp::OpOffset,         transformTb );
    createTool( SMESHOp::OpSewing,         transformTb );
 -  createTool( SMESHOp::OpMergeNodes,     transformTb );
 -  createTool( SMESHOp::OpMergeElements,  transformTb );
    createTool( SMESHOp::OpDuplicateNodes, transformTb );
  
 +  createTool( SMESHOp::OpConvertMeshToQuadratic, modifyTb );
 +  createTool( SMESHOp::OpCreateBoundaryElements, modifyTb );
 +  createTool( SMESHOp::OpExtrusion,              modifyTb );
 +  createTool( SMESHOp::OpExtrusionAlongAPath,    modifyTb );
 +  createTool( SMESHOp::OpRevolution,             modifyTb );
 +  createTool( SMESHOp::OpOrientation,            modifyTb );
 +  createTool( SMESHOp::OpReorientFaces,          modifyTb );
    createTool( SMESHOp::OpMoveNode,               modifyTb );
    createTool( SMESHOp::OpDiagonalInversion,      modifyTb );
    createTool( SMESHOp::OpUnionOfTwoTriangle,     modifyTb );
 -  createTool( SMESHOp::OpOrientation,            modifyTb );
 -  createTool( SMESHOp::OpReorientFaces,          modifyTb );
    createTool( SMESHOp::OpUnionOfTriangles,       modifyTb );
    createTool( SMESHOp::OpCuttingOfQuadrangles,   modifyTb );
    createTool( SMESHOp::OpSplitVolumes,           modifyTb );
    createTool( SMESHOp::OpSplitBiQuadratic,       modifyTb );
    createTool( SMESHOp::OpSmoothing,              modifyTb );
 -  createTool( SMESHOp::OpExtrusion,              modifyTb );
 -  createTool( SMESHOp::OpExtrusionAlongAPath,    modifyTb );
 -  createTool( SMESHOp::OpRevolution,             modifyTb );
    createTool( SMESHOp::OpPatternMapping,         modifyTb );
 -  createTool( SMESHOp::OpConvertMeshToQuadratic, modifyTb );
 -  createTool( SMESHOp::OpCreateBoundaryElements, modifyTb );
  
    createTool( SMESHOp::OpMinimumDistance, measuremTb );
  
@@@ -6219,7 -6195,7 +6219,7 @@@ void SMESHGUI::restoreVisualParameters 
  
      // Check that the entry corresponds to a real object in the Study
      // as the object may be deleted or modified after the visual state is saved.
-     _PTR(SObject) so = studyDS->FindObjectID(entry.toLatin1().data());
+     _PTR(SObject) so = studyDS->FindObjectID(entry.toUtf8().data());
      if (!so) continue; //Skip the not existent entry
  
      std::vector<std::string> paramNames = ip->getAllParameterNames( *entIt );
                  SMESH_Actor* aGeomAc = SMESH_Actor::SafeDownCast(ac);
                  if (aGeomAc->hasIO()) {
                    Handle(SALOME_InteractiveObject) io = aGeomAc->getIO();
-                   if (io->hasEntry() && strcmp(io->getEntry(), entry.toLatin1().data()) == 0) {
+                   if (io->hasEntry() && strcmp(io->getEntry(), entry.toUtf8().data()) == 0) {
                      isFound = true;
                      vtkActors.Bind(viewIndex, aGeomAc);
                    }
@@@ -6972,7 -6948,7 +6972,7 @@@ void SMESHGUI::message( const QString& 
        // get study
        _PTR(Study) study = dynamic_cast<SalomeApp_Study*>( application()->activeStudy() )->studyDS();
        // get mesh name
-       _PTR(SObject) obj = study->FindObjectID( entry.toLatin1().constData() );
+       _PTR(SObject) obj = study->FindObjectID( entry.toUtf8().constData() );
        QString name;
        if ( obj )
          name = SMESH::fromUtf8(obj->GetName());
@@@ -7081,7 -7057,7 +7081,7 @@@ bool SMESHGUI::renameObject( const QStr
            aType == SMESH::SUBMESH_EDGE || aType == SMESH::SUBMESH_VERTEX ||
            aType == SMESH::HYPOTHESIS || aType == SMESH::ALGORITHM) {
          if ( !name.isEmpty() ) {
-           SMESHGUI::GetSMESHGen()->SetName(obj->GetIOR().c_str(), qPrintable(name) );
+           SMESHGUI::GetSMESHGen()->SetName(obj->GetIOR().c_str(), qUtf8Printable(name) );
  
            // update name of group object and its actor
            Handle(SALOME_InteractiveObject) IObject =
            if( !aGroupObject->_is_nil() ) {
              aGroupObject->SetName( qPrintable(name) );
              if ( SMESH_Actor *anActor = SMESH::FindActorByEntry( qPrintable(entry) ) )
-               anActor->setName( qPrintable(name) );
+               anActor->setName( qUtf8Printable(name) );
            }
            return true;
          }
index c97769b31ecd2a2a38a620b69e24fc6b3b6f2210,990ca5c802781b7ac39ddf785b57486799d44654..5c6d666c5e05e8dd857969759c352993e01b19ca
@@@ -222,7 -222,7 +222,7 @@@ SMESHGUI_Add0DElemsOnAllNodesOp::SMESHG
     myDlg( new SMESHGUI_Add0DElemsOnAllNodesDlg ),
     myFilterDlg( 0 )
  {
 -  myHelpFileName = "adding_nodes_and_elements_page.html#adding_0delems_on_all_nodes_anchor";
 +  myHelpFileName = "adding_nodes_and_elements.html#adding-0delems-on-all-nodes-anchor";
  
    connect( myDlg,              SIGNAL( selTypeChanged(int) ), SLOT( onSelTypeChange(int)));
    connect( myDlg->myFilterBtn, SIGNAL( clicked()),            SLOT( onSetFilter() ));
@@@ -442,7 -442,7 +442,7 @@@ bool SMESHGUI_Add0DElemsOnAllNodesOp::o
  
      QString groupName = myDlg->myGroupListCmBox->currentText();
      SMESH::SMESH_IDSource_var newObj =
-       editor->Create0DElementsOnAllNodes( meshObject, groupName.toLatin1().data(),
+       editor->Create0DElementsOnAllNodes( meshObject, groupName.toUtf8().data(),
                                            myDlg->myDuplicateElemsChkBox->isChecked() );
  
      int newNb0D = mesh->Nb0DElements() - prevNb0D;
index 1791c6b3a019bcd6826094ed8f59d6dcf16ba082,e865d823e52120ffa305108b34a26373f73d0a5c..3159231f814d6dc25863523998608b673a42a4b5
@@@ -179,7 -179,7 +179,7 @@@ SMESHGUI_BuildCompoundDlg::SMESHGUI_Bui
    aTopLayout->addWidget(GroupArgs);
    aTopLayout->addWidget(GroupButtons);
  
 -  myHelpFileName = "building_compounds_page.html";
 +  myHelpFileName = "building_compounds.html";
  
    Init(); // Initialisations
  }
@@@ -268,7 -268,7 +268,7 @@@ QString SMESHGUI_BuildCompoundDlg::GetD
    bool isUnique = false;
    while (!isUnique) {
      aName = theOperation + "_" + QString::number(++aNumber);
-     isUnique = (aSet.count(aName.toLatin1().data()) == 0);
+     isUnique = (aSet.count(aName.toUtf8().data()) == 0);
    }
  
    return aName;
@@@ -299,7 -299,7 +299,7 @@@ bool SMESHGUI_BuildCompoundDlg::ClickOn
      try {
  
        aMesh = myMeshArray[0]->GetMesh();
-       aMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+       aMesh->SetParameters( aParameters.join(":").toUtf8().constData() );
  
        SMESH::SMESH_Gen_var aSMESHGen = SMESHGUI::GetSMESHGen();
        // concatenate meshes
index e4b23363e053429e8052ec490e72aca4cd42a12d,74b9f61e37cbbf737308aec55b919136f71e9fe2..62acf2ef500617f920a08f687090892ae6bc2667
@@@ -657,7 -657,7 +657,7 @@@ SMESHGUI_BaseComputeOp::SMESHGUI_BaseCo
    myBadMeshDisplayer = 0;
  
    //myHelpFileName = "/files/about_meshes.htm"; // V3
 -  myHelpFileName = "about_meshes_page.html"; // V4
 +  myHelpFileName = "about_meshes.html"; // V4
  }
  
  SMESH::SMESH_Mesh_ptr SMESHGUI_BaseComputeOp::getMesh()
@@@ -1280,7 -1280,7 +1280,7 @@@ void SMESHGUI_BaseComputeOp::onPublishS
        {
          QString name = GEOMBase::GetDefaultName( SMESH::shapeTypeName( myMainShape, "MAIN_SHAPE" ));
          SALOMEDS::SObject_wrap so = geomGen->AddInStudy( myMainShape,
-                                                          name.toLatin1().data(),
+                                                          name.toUtf8().data(),
                                                           GEOM::GEOM_Object::_nil());
          // look for myMainShape in the table
          for ( int r = 0, nr = table()->rowCount(); r < nr; ++r ) {
        }
        QString name = GEOMBase::GetDefaultName( SMESH::shapeTypeName( shape, "ERROR_SHAPE" ));
        SALOMEDS::SObject_wrap so = geomGen->AddInStudy( shape,
-                                                        name.toLatin1().data(), myMainShape);
+                                                        name.toUtf8().data(), myMainShape);
        if ( !so->_is_nil() ) {
          CORBA::String_var name  = so->GetName();
          CORBA::String_var entry = so->GetID();
@@@ -1370,7 -1370,7 +1370,7 @@@ void SMESHGUI_BaseComputeOp::onGroupOfB
        else                    grName = "bad mesh of " + grName;
        SMESH::SMESH_Gen_var gen = getSMESHGUI()->GetSMESHGen();
        SMESH::ListOfGroups_var groups
-         ( gen->MakeGroupsOfBadInputElements(myMesh,curSub,grName.toLatin1().data()) );
+         ( gen->MakeGroupsOfBadInputElements(myMesh,curSub,grName.toUtf8().data()) );
        update( UF_ObjBrowser | UF_Model );
        if( LightApp_Application* anApp = dynamic_cast<LightApp_Application*>( application() ))
        {
@@@ -1529,7 -1529,7 +1529,7 @@@ QTableWidget* SMESHGUI_BaseComputeOp::t
  SMESHGUI_ComputeOp::SMESHGUI_ComputeOp()
   : SMESHGUI_BaseComputeOp()
  {
 -  myHelpFileName = "constructing_meshes_page.html#compute_anchor";
 +  myHelpFileName = "constructing_meshes.html#compute-anchor";
  }
  
  
@@@ -1639,7 -1639,7 +1639,7 @@@ LightApp_Dialog* SMESHGUI_PrecomputeOp:
  
  void SMESHGUI_PrecomputeOp::startOperation()
  {
 -  myHelpFileName = "constructing_meshes_page.html#preview_anchor"; // other anchor onCompute()
 +  myHelpFileName = "constructing_meshes.html#preview-anchor"; // other anchor onCompute()
  
    if ( !myDlg )
    {
@@@ -1876,7 -1876,7 +1876,7 @@@ void SMESHGUI_PrecomputeOp::onCompute(
      myOrderMgr->SetMeshOrder();
    myMapShapeId.clear();
    myActiveDlg = computeDlg();
 -  myHelpFileName = "constructing_meshes_page.html#compute_anchor";
 +  myHelpFileName = "constructing_meshes.html#compute-anchor";
    computeMesh();
  }
  
@@@ -1988,7 -1988,7 +1988,7 @@@ void SMESHGUI_PrecomputeOp::onPreview(
      {
        computeFailed = false;
        myPreviewDisplayer->SetData( previewRes );
 -      // append shape indeces with computed mesh entities
 +      // append shape indices with computed mesh entities
        for ( int i = 0, n = aShapesId->length(); i < n; i++ )
          myMapShapeId[ aShapesId[ i ] ] = 0;
      }
@@@ -2142,7 -2142,7 +2142,7 @@@ SMESHGUI_MeshOrderBox* SMESHGUI_Precomp
  SMESHGUI_EvaluateOp::SMESHGUI_EvaluateOp()
   : SMESHGUI_BaseComputeOp()
  {
 -  myHelpFileName = "constructing_meshes_page.html#evaluate_anchor";
 +  myHelpFileName = "constructing_meshes.html#evaluate-anchor";
  }
  
  
index 4d2b01e0b12bccb85bf9d61568f71142e58aac0b,b2e7c993ec1e8360252b5367fc9782c3ab7561e9..43ffce19a67f367f4949264da0ed02afac0ab0f1
@@@ -101,7 -101,7 +101,7 @@@ void SMESHGUI_ConvToQuadOp::startOperat
    }
    connect( myDlg, SIGNAL( onClicked( int ) ), SLOT( ConnectRadioButtons( int ) ) );
  
 -  myHelpFileName = "convert_to_from_quadratic_mesh_page.html";
 +  myHelpFileName = "convert_to_from_quadratic_mesh.html";
  
    SMESHGUI_SelectionOp::startOperation();
  
@@@ -129,7 -129,7 +129,7 @@@ void SMESHGUI_ConvToQuadOp::selectionDo
    try
    {
      QString anObjEntry = myDlg->selectedObject( 0 );
-     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toLatin1().data() );
+     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toUtf8().data() );
      if ( !pObj ) return;
  
      SMESH::SMESH_IDSource_var idSource = 
@@@ -204,7 -204,7 +204,7 @@@ bool SMESHGUI_ConvToQuadOp::onApply(
    QString aMess;
  
    QString anObjEntry = myDlg->selectedObject( 0 );
-   _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toLatin1().data() );
+   _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toUtf8().data() );
    if ( !pObj )
    {
      dlg()->show();
@@@ -383,7 -383,7 +383,7 @@@ SMESHGUI_ConvToQuadOp::DestinationMesh
  void SMESHGUI_ConvToQuadOp::ConnectRadioButtons( int id )
  {
    QString anObjEntry = myDlg->selectedObject( 0 );
-   _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toLatin1().data() );
+   _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toUtf8().data() );
    if ( !pObj ) return;
  
    SMESH::SMESH_IDSource_var idSource = 
index f1d45f3880c65b01a6894ebb35f9fad11443c43e,27e70ac4318b6d91f04d00b04a9291b9ea3126e4..4dabf6c90cf4e2c0b825bc574e52af6764094233
@@@ -218,7 -218,7 +218,7 @@@ SMESHGUI_CopyMeshDlg::SMESHGUI_CopyMesh
    // Selection filter
    myIdSourceFilter = new SMESH_TypeFilter( SMESH::IDSOURCE );
  
 -  myHelpFileName = "copy_mesh_page.html";
 +  myHelpFileName = "copy_mesh.html";
  
    Init();
  
@@@ -331,7 -331,7 +331,7 @@@ bool SMESHGUI_CopyMeshDlg::ClickOnApply
        SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
        aPartToCopy = aMeshEditor->MakeIDSource( anElementsId, SMESH::ALL );
      }
-     QByteArray meshName = myMeshNameEdit->text().toLatin1();
+     QByteArray meshName = myMeshNameEdit->text().toUtf8();
      bool toCopyGroups = ( myCopyGroupsCheck->isChecked() );
      bool toKeepIDs    = ( myKeepIdsCheck->isChecked() );
  
@@@ -452,7 -452,7 +452,7 @@@ void SMESHGUI_CopyMeshDlg::onTextChang
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  
 -  // hilight entered elements
 +  // highlight entered elements
    SMDS_Mesh* aMesh = 0;
    if (myActor)
      aMesh = myActor->GetObject()->GetMesh();
index 6f7e51b7b0e66d9e7219718dda3275daadc5728b,ab1d1e63b94c8fa16af0204f590698c85c3c0777..2c2698b5b2b14a3b6e59072d4ff6d3654bbbf32e
@@@ -105,7 -105,7 +105,7 @@@ SMESHGUI_CreatePatternDlg::SMESHGUI_Cre
  
    aDlgLay->setStretchFactor( aMainFrame, 1 );
  
 -  myHelpFileName = "pattern_mapping_page.html";
 +  myHelpFileName = "pattern_mapping.html";
  
    Init( theType );
  }
@@@ -399,7 -399,7 +399,7 @@@ void SMESHGUI_CreatePatternDlg::onSave(
  
      QFile aFile( fName );
      aFile.open( QIODevice::WriteOnly );
-     long aWritten = aFile.write( aData.toLatin1(), aLen );
+     long aWritten = aFile.write( aData.toUtf8(), aLen );
      aFile.close();
  
      if ( aWritten != aLen ) {
@@@ -622,7 -622,7 +622,7 @@@ void SMESHGUI_CreatePatternDlg::onSelec
  
  //=======================================================================
  // function : onDeactivate()
 -// purpose  : SLOT called when dialog must be deativated
 +// purpose  : SLOT called when dialog must be deactivated
  //=======================================================================
  void SMESHGUI_CreatePatternDlg::onDeactivate()
  {
index d288a5b1d5d23ee964c21cd9d593ef116058c53a,16ad3b2553fe156ebeba207611faee849c62feac..ae86d977c09a65a31459f2942f74ea06b35102d2
@@@ -477,7 -477,7 +477,7 @@@ bool SMESHGUI_DuplicateNodesDlg::onAppl
        for ( int i = 0; i < myGroups1.count(); i++ )
        {
          SMESH::SMESH_Group_var group =
-           aMeshEditor->DoubleElements( myGroups1[i], groupName.toLatin1().data() );
+           aMeshEditor->DoubleElements( myGroups1[i], groupName.toUtf8().data() );
          if ( group->_is_nil() )
          {
            if ( toCreateElemGroup )
@@@ -688,7 -688,7 +688,7 @@@ bool SMESHGUI_DuplicateNodesDlg::isVali
  }
  
  /*!
 -  \brief SLOT called when dialog shoud be deativated.
 +  \brief SLOT called when dialog should be deactivated.
  */
  void SMESHGUI_DuplicateNodesDlg::onDeactivate()
  {
index a49334d9800c2971e4ab29bd853581cfcf45fd71,ff4d6c9b44b9b9b5df938c8356acd49dbf33423e..cae3a05892a015315369923fbf68dc4b1a261309
@@@ -289,7 -289,7 +289,7 @@@ SMESHGUI_ExtrusionAlongPathDlg::SMESHGU
  
    myPathMeshFilter = new SMESH_TypeFilter(SMESH::MESHorSUBMESH);
  
 -  myHelpFileName = "extrusion_along_path_page.html";
 +  myHelpFileName = "extrusion_along_path.html";
  
    Init();
  
@@@ -442,7 -442,7 +442,7 @@@ bool SMESHGUI_ExtrusionAlongPathDlg::Cl
  
      SMESH::SMESH_Mesh_var mesh = SelectorWdg->GetMesh();
  
-     mesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+     mesh->SetParameters( aParameters.join(":").toUtf8().constData() );
  
      SMESH::ListOfIDSources_var nodes = new SMESH::ListOfIDSources();
      SMESH::ListOfIDSources_var edges = new SMESH::ListOfIDSources();
index b2aa6bd4534258d9505430dede8ce4564af2727f,b46875689238ac421dd85f90814899816d8ce06c..b1e89e0124805e0bdc921e992b6115fee8c8d749
@@@ -337,7 -337,7 +337,7 @@@ void SMESHGUI_3TypesSelector::onTextCha
  
    myBusy = true;
  
 -  // hilight entered elements/nodes
 +  // highlight entered elements/nodes
  
    myIDSource[ iType ]->length( 0 );
  
@@@ -819,7 -819,7 +819,7 @@@ SMESHGUI_ExtrusionDlg::SMESHGUI_Extrusi
  
    mySMESHGUI->SetActiveDialogBox(this);
  
 -  myHelpFileName = "extrusion_page.html";
 +  myHelpFileName = "extrusion.html";
  
    Init();
  
@@@ -1159,7 -1159,7 +1159,7 @@@ bool SMESHGUI_ExtrusionDlg::ClickOnAppl
        SMESH::SMESH_MeshEditor_var meshEditor = mesh->GetMeshEditor();
        SMESH::ListOfGroups_var groups;
  
-       mesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+       mesh->SetParameters( aParameters.join(":").toUtf8().constData() );
  
        if ( ExtrMethod_RBut2->isVisible() &&
             ExtrMethod_RBut2->isChecked() ) // Extrusion by normal
@@@ -1289,7 -1289,7 +1289,7 @@@ void SMESHGUI_ExtrusionDlg::ClickOnHelp
  #endif
      SUIT_MessageBox::warning(this, tr("WRN_WARNING"),
                               tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
 -                             arg(app->resourceMgr()->stringValue("ExternalBrowser", 
 +                             arg(app->resourceMgr()->stringValue("ExternalBrowser",
                                                                   platform)).
                               arg(myHelpFileName));
    }
@@@ -1323,7 -1323,7 +1323,7 @@@ void SMESHGUI_ExtrusionDlg::SelectionIn
        return;
  
      const SMDS_MeshFace* face =
 -      dynamic_cast<const SMDS_MeshFace*>(aMesh->FindElement(aMapIndex(1)));
 +      aMesh->DownCast< SMDS_MeshFace >(aMesh->FindElement(aMapIndex(1)));
      if (!face)
        return;
  
index 0ba67824f8501b7c2aa7b96461a4470c03e02eb9,8c42b0c86019ab6f21759f212d7755cb6871db6a..c153396ac6769e5f2e91de803b2a236cbc69e0fe
@@@ -856,7 -856,7 +856,7 @@@ QList<int> SMESHGUI_FilterTable::Table:
  
  /*
    Class       : SMESHGUI_FilterTable
 -  Description : Frame containig
 +  Description : Frame containing
                    - Button group for switching entity type
                    - Table for displaying filter criterions
                    - Buttons for editing table and filter libraries
@@@ -2057,7 -2057,7 +2057,7 @@@ void SMESHGUI_FilterTable::addRow (Tabl
    }
    myIsLocked = false;
  
 -  // IPAL19372 - to prevent calling onCriterionChaged() slot before completion of setItem()
 +  // IPAL19372 - to prevent calling onCriterionChanged() slot before completion of setItem()
    bool isSignalsBlocked = theTable->signalsBlocked();
    theTable->blockSignals( true );
  
@@@ -2740,7 -2740,7 +2740,7 @@@ void SMESHGUI_FilterDlg::construct (con
  
    aDlgLay->setStretchFactor(myMainFrame, 1);
  
 -  myHelpFileName = "selection_filter_library_page.html";
 +  myHelpFileName = "selection_filter_library.html";
  
    Init(myTypes);
  }
@@@ -3072,7 -3072,7 +3072,7 @@@ void SMESHGUI_FilterDlg::onHelp(
  
  //=======================================================================
  // name    : SMESHGUI_FilterDlg::onDeactivate
 -// Purpose : SLOT called when dialog must be deativated
 +// Purpose : SLOT called when dialog must be deactivated
  //=======================================================================
  void SMESHGUI_FilterDlg::onDeactivate()
  {
@@@ -3198,7 -3198,7 +3198,7 @@@ bool SMESHGUI_FilterDlg::isValid() cons
        QString aName;
        myTable->GetThreshold(i, aName);
  
-       std::vector<_PTR(SObject)> aList = SMESH::getStudy()->FindObjectByName(aName.toLatin1().constData(), "GEOM");
+       std::vector<_PTR(SObject)> aList = SMESH::getStudy()->FindObjectByName(aName.toUtf8().constData(), "GEOM");
        if (aList.size() == 0) {
          SUIT_MessageBox::information(SMESHGUI::desktop(), tr("SMESH_INSUFFICIENT_DATA"),
                                       tr("BAD_SHAPE_NAME").arg(aName));
index dd11becb0d08c28db7744048766c00139952ebd4,ef1a2aa1b874a787ebe8cf6e3401c47c3722e703..ed2c421c7a806b59ce9df20999b4aa01d37674a5
@@@ -153,7 -153,7 +153,7 @@@ void SMESHGUI_FilterLibraryDlg::constru
  
    aDlgLay->setStretchFactor(myMainFrame, 1);
  
 -  myHelpFileName = "selection_filter_library_page.html";
 +  myHelpFileName = "selection_filter_library.html";
    
    Init(myTypes, myMode);
  }
@@@ -430,7 -430,7 +430,7 @@@ bool SMESHGUI_FilterLibraryDlg::onApply
    }
  
    if (myFileName->text() != myLibrary->GetFileName())
-     myLibrary->SetFileName( myFileName->text().toLatin1().constData() );
+     myLibrary->SetFileName( myFileName->text().toUtf8().constData() );
  
    bool aResult = false;
  
    } else if (myMode == EDIT || myMode == ADD_TO) {
      SMESH::Filter_var aFilter = createFilter();
      if (!myListBox->selectedItems().empty() && 
-         !myLibrary->Replace(myCurrFilterName.toLatin1().constData(),
-                             myName->text().toLatin1().constData(),
+         !myLibrary->Replace(myCurrFilterName.toUtf8().constData(),
+                             myName->text().toUtf8().constData(),
                              aFilter.in())) {
        SUIT_MessageBox::information(SMESHGUI::desktop(), tr("SMESH_ERROR"),
                                     tr("ERROR_OF_EDITING"));
@@@ -517,7 -517,7 +517,7 @@@ void SMESHGUI_FilterLibraryDlg::onHelp(
  
  //=======================================================================
  // name    : SMESHGUI_FilterLibraryDlg::onDeactivate
 -// Purpose : SLOT called when dialog must be deativated
 +// Purpose : SLOT called when dialog must be deactivated
  //=======================================================================
  void SMESHGUI_FilterLibraryDlg::onDeactivate()
  {
@@@ -602,7 -602,7 +602,7 @@@ QStringList SMESHGUI_FilterLibraryDlg::
  
  //================================================================
  // Function : onBrowse
 -// Purpose  : SLOT. Display "Open file" dialog for chosing library name
 +// Purpose  : SLOT. Display "Open file" dialog for choosing library name
  //================================================================
  void SMESHGUI_FilterLibraryDlg::onBrowse()
  {
@@@ -662,7 -662,7 +662,7 @@@ void SMESHGUI_FilterLibraryDlg::process
    if (aFilterMgr->_is_nil())
      return;
  
-   myLibrary = aFilterMgr->LoadLibrary(autoExtension(getFileName()).toLatin1().constData());
+   myLibrary = aFilterMgr->LoadLibrary(autoExtension(getFileName()).toUtf8().constData());
    if (myLibrary->_is_nil()) {
      if (myMode == COPY_FROM) {
        SUIT_MessageBox::information(SMESHGUI::desktop(), tr("SMESH_ERROR"),
        return;
      } else {
        myLibrary = aFilterMgr->CreateLibrary();
-       myLibrary->SetFileName(getFileName().toLatin1().constData());
+       myLibrary->SetFileName(getFileName().toUtf8().constData());
      }
    }
  
@@@ -822,14 -822,14 +822,14 @@@ void SMESHGUI_FilterLibraryDlg::onFilte
      }
  
      SMESH::Filter_var aFilter = createFilter();
-     myLibrary->Replace(myCurrFilterName.toLatin1().constData(), 
-                        myName->text().toLatin1().constData(), 
+     myLibrary->Replace(myCurrFilterName.toUtf8().constData(), 
+                        myName->text().toUtf8().constData(), 
                         aFilter);
    }
  
    // Fill table with filter parameters
  
-   SMESH::Filter_var aFilter = myLibrary->Copy(theName.toLatin1().constData());
+   SMESH::Filter_var aFilter = myLibrary->Copy(theName.toUtf8().constData());
    myCurrFilterName = theName;
    myCurrFilter = myListBox->currentRow();
    myName->setText(theName);
@@@ -892,7 -892,7 +892,7 @@@ void SMESHGUI_FilterLibraryDlg::enableM
  
  //=======================================================================
  // name    : SMESHGUI_FilterLibraryDlg::createFilter
 -// Purpose : Cerate filter in accordance with library
 +// Purpose : Create filter in accordance with library
  //=======================================================================
  SMESH::Filter_ptr SMESHGUI_FilterLibraryDlg::createFilter(const int theType)
  {
@@@ -929,8 -929,8 +929,8 @@@ void SMESHGUI_FilterLibraryDlg::onAddBt
        return;
  
      SMESH::Filter_var aFilter = createFilter();
-     myLibrary->Replace(myCurrFilterName.toLatin1().constData(), 
-                        myName->text().toLatin1().constData(), 
+     myLibrary->Replace(myCurrFilterName.toUtf8().constData(), 
+                        myName->text().toUtf8().constData(), 
                         aFilter);
    }
    myTable->Clear(myTable->GetType());
@@@ -966,8 -966,8 +966,8 @@@ void SMESHGUI_FilterLibraryDlg::addFilt
  
    // add new filter in library
    bool aResult = !aFilter->GetPredicate()->_is_nil()
-     ? myLibrary->Add(aName.toLatin1().constData(), aFilter)
-     : myLibrary->AddEmpty(aName.toLatin1().constData(), (SMESH::ElementType)myTable->GetType());
+     ? myLibrary->Add(aName.toUtf8().constData(), aFilter)
+     : myLibrary->AddEmpty(aName.toUtf8().constData(), (SMESH::ElementType)myTable->GetType());
  
    if (!aResult) {
      SUIT_MessageBox::information(SMESHGUI::desktop(), tr("SMESH_ERROR"),
@@@ -1087,7 -1087,7 +1087,7 @@@ void SMESHGUI_FilterLibraryDlg::onDelet
  
    int anIndex = getIndex(myCurrFilterName);
  
-   if (anIndex == -1 || !myLibrary->Delete(myCurrFilterName.toLatin1().constData())) {
+   if (anIndex == -1 || !myLibrary->Delete(myCurrFilterName.toUtf8().constData())) {
      SUIT_MessageBox::information(SMESHGUI::desktop(), tr("SMESH_ERROR"),
                                   tr("ERROR_OF_DELETING"));
    } else {
@@@ -1179,8 -1179,8 +1179,8 @@@ void SMESHGUI_FilterLibraryDlg::onNeedV
      if (valid)
      {
        SMESH::Filter_var aFilter = createFilter(myTable->GetType());
-       myLibrary->Replace(myCurrFilterName.toLatin1().constData(),
-                          myName->text().toLatin1().constData(),
+       myLibrary->Replace(myCurrFilterName.toUtf8().constData(),
+                          myName->text().toUtf8().constData(),
                           aFilter);
      }
    }
index 9a0d91656d17eb576dc8981fbfa746044eac57d8,1425aaf2b111208d07032f6b6196acd583a7c12b..b0cce7c3738547364771e2dc9eb085da92b382a5
@@@ -192,7 -192,7 +192,7 @@@ void SMESHGUI_GroupDlg::initDialog( boo
    QPixmap image0( SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap( "SMESH", tr( "ICON_SELECT" ) ) );
  
    setWindowTitle( create ? tr( "SMESH_CREATE_GROUP_TITLE" ) : tr( "SMESH_EDIT_GROUP_TITLE" ) );
 -  myHelpFileName = create ? "creating_groups_page.html" : "editing_groups_page.html";
 +  myHelpFileName = create ? "creating_groups.html" : "editing_groups.html";
  
    setSizeGripEnabled( true);
  
@@@ -516,7 -516,7 +516,7 @@@ QString SMESHGUI_GroupDlg::GetDefaultNa
    bool isUnique = false;
    while (!isUnique) {
      aName = theOperation + "_" + QString::number(++aNumber);
-     isUnique = (aSet.count(std::string(SMESH::toUtf8(aName))) == 0);
+     isUnique = (aSet.count(std::string(aName.toUtf8().constData())) == 0);
    }
  
    return aName;
@@@ -531,7 -531,7 +531,7 @@@ void  SMESHGUI_GroupDlg::setDefaultName
    do
    {
      aResName = aPrefix + QString::number( i++ );
-     anObj = SMESH::getStudy()->FindObject( SMESH::toUtf8(aResName) );
+     anObj = SMESH::getStudy()->FindObject( aResName.toUtf8().constData() );
    }
    while ( anObj );
    myName->setText(aResName); 
@@@ -597,7 -597,7 +597,7 @@@ void SMESHGUI_GroupDlg::init (SMESH::SM
    SALOMEDS::Color aColor = theGroup->GetColor();
    setGroupColor( aColor );
  
-   myMeshGroupLine->setText(SMESH::fromUtf8(theGroup->GetName()));
+   myMeshGroupLine->setText(theGroup->GetName());
  
    int aType = 0;
    switch(theGroup->GetType()) {
    {
      myNameChanged = true;
      myName->blockSignals(true);
-     myName->setText(SMESH::fromUtf8(theGroup->GetName()));
+     myName->setText(theGroup->GetName());
      myName->blockSignals(false);
    }
  
@@@ -1050,7 -1050,7 +1050,7 @@@ bool SMESHGUI_GroupDlg::onApply(
  
        if (myGeomObjects->length() == 1) {
          myGroupOnGeom = myMesh->CreateGroupFromGEOM(aType,
-                                                     SMESH::toUtf8(myName->text()),
+                                                     myName->text().toUtf8(),
                                                      myGeomObjects[0]);
        }
        else {
            aNewGeomGroupName += myName->text();
            SALOMEDS::SObject_var aNewGroupSO =
              geomGen->AddInStudy(aGroupVar,
-                                 SMESH::toUtf8(aNewGeomGroupName), aMeshShape);
+                                 aNewGeomGroupName.toUtf8(), aMeshShape);
          }
  
          myGroupOnGeom = myMesh->CreateGroupFromGEOM(aType,
-                                                     SMESH::toUtf8(myName->text()),
+                                                     myName->text().toUtf8(),
                                                      aGroupVar);
        }
        resultGroup = SMESH::SMESH_GroupBase::_narrow( myGroupOnGeom );
          return false;
  
        myGroupOnFilter = myMesh->CreateGroupFromFilter(aType,
-                                                       SMESH::toUtf8(myName->text()),
-                                                       myFilter);
+                                                       myName->text().toUtf8(),
+                                                     myFilter);
        resultGroup = SMESH::SMESH_GroupBase::_narrow( myGroupOnFilter );
        isCreation = true;
      }
      if( aMeshGroupSO )
        anEntryList.append( aMeshGroupSO->GetID().c_str() );
  
-     resultGroup->SetName(SMESH::toUtf8(myName->text().trimmed()));
+     resultGroup->SetName(myName->text().trimmed().toUtf8());
  
      if ( isCreation )
      {
              if ( !anActor ) return false;
              myActorsList.append( anActor );
            }
-           anActor->setName(SMESH::toUtf8(myName->text()));
+           anActor->setName(myName->text().toUtf8());
            QColor c;
            int delta;
            switch ( myTypeId ) {
              anActor->SetSufaceColor( aColor.R, aColor.G, aColor.B, delta ); break;          
              break;
            }
 -          // update a visible group accoding to a changed contents
 +          // update a visible group according to a changed contents
            if ( !isConversion && anActor->GetVisibility() )
            {
              SMESH::Update( anIO, true );
@@@ -1420,9 -1420,8 +1420,9 @@@ void SMESHGUI_GroupDlg::onObjectSelecti
            aGroupMainShape = aGeomGroup;
            aGroupMainShape->Register();
          }
 +        CORBA::String_var entry = aGroupMainShape->GetStudyEntry();
          _PTR(SObject) aGroupMainShapeSO =
 -          SMESH::getStudy()->FindObjectID(aGroupMainShape->GetStudyEntry());
 +          SMESH::getStudy()->FindObjectID( entry.in() );
  
          _PTR(SObject) anObj, aRef;
          bool isRefOrSubShape = false;
  
        myGeomObjects->length(i);
        if ( i == 0 )
 -        {
 -          myIsBusy = false;
 -          return;
 -        }
 +      {
 +        myIsBusy = false;
 +        return;
 +      }
  
        aNbSel = i;
      }
@@@ -2304,7 -2303,7 +2304,7 @@@ void SMESHGUI_GroupDlg::onHelp(
  
  //=================================================================================
  // function : SMESHGUI_GroupDlg::onDeactivate
 -// purpose  : SLOT called when dialog must be deativated
 +// purpose  : SLOT called when dialog must be deactivated
  //=================================================================================
  void SMESHGUI_GroupDlg::onDeactivate()
  {
index 263e6e368612a8478ad0a757340e4b68fa665b1c,ade4db03d5201927c6a107680091f5325bf68b21..294c3c6b20cfd1438164103c3a4208ea7541b39a
@@@ -134,7 -134,7 +134,7 @@@ SMESHGUI_GroupOnShapeDlg::~SMESHGUI_Gro
  
  //================================================================================
  /*!
 - * \brief slot to enable/diable [Apply]
 + * \brief slot to enable/disable [Apply]
   */
  //================================================================================
  
@@@ -180,7 -180,7 +180,7 @@@ SMESHGUI_GroupOnShapeOp::SMESHGUI_Group
    : SMESHGUI_SelectionOp(ActorSelection),
      myDlg( 0 )
  {
 -  myHelpFileName = "create_groups_from_geometry_page.html";
 +  myHelpFileName = "create_groups_from_geometry.html";
  }
  
  SMESHGUI_GroupOnShapeOp::~SMESHGUI_GroupOnShapeOp()
@@@ -304,7 -304,7 +304,7 @@@ bool SMESHGUI_GroupOnShapeOp::onApply(
    if ( !aStudy ) return false;
  
    // mesh
-   _PTR(SObject) meshSO = aStudy->FindObjectID( myMeshID.toLatin1().data() );
+   _PTR(SObject) meshSO = aStudy->FindObjectID( myMeshID.toUtf8().data() );
    SMESH::SMESH_Mesh_var mesh = SMESH::SObjectToInterface<SMESH::SMESH_Mesh>( meshSO );
    if ( mesh->_is_nil() ) return false;
  
      for ( int i = 0; geomID != geomEnd; ++geomID, ++i )
      {
        // selected geom
-       _PTR(SObject) geomSO = aStudy->FindObjectID( geomID->toLatin1().data() );
+       _PTR(SObject) geomSO = aStudy->FindObjectID( geomID->toUtf8().data() );
        GEOM::GEOM_Object_var geom = SMESH::SObjectToInterface<GEOM::GEOM_Object>(geomSO);
        if ( geom->_is_nil() ) continue;
  
  //       groupNames.append( name );
  
        //printf( "apply() %s %s\n", (*geomID).latin1(), name.latin1() );
-       group = mesh->CreateGroupFromGEOM( elemType, name.toLatin1().data(), geom );
+       group = mesh->CreateGroupFromGEOM( elemType, name.toUtf8().data(), geom );
        if( !group->_is_nil() )
          if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( group ) )
            anEntryList.append( aSObject->GetID().c_str() );
@@@ -462,7 -462,7 +462,7 @@@ void SMESHGUI_GroupOnShapeOp::selection
      // study
      if (_PTR(Study) aStudy = SMESH::getStudy()) {
        // mesh
-       if (_PTR(SObject)  meshSO = aStudy->FindObjectID( myMeshID.toLatin1().data() )) {
+       if (_PTR(SObject)  meshSO = aStudy->FindObjectID( myMeshID.toUtf8().data() )) {
          // shape to mesh
          _PTR(SObject) anObj, shapeToMesh;
          if (meshSO->FindSubObject(1, anObj) && anObj->ReferencedObject(shapeToMesh)) {
            QStringList::iterator name = names.begin(), id = ids.begin(), idEnd = ids.end();
            for (; id != idEnd; ++id, ++name ) {
              // shape SO
-             if (_PTR(SObject) shapeSO = aStudy->FindObjectID( id->toLatin1().data() )) {
+             if (_PTR(SObject) shapeSO = aStudy->FindObjectID( id->toUtf8().data() )) {
              // check if shape SO is a child of shape to mesh 
                while ( shapeSO && shapeSO->GetID() != shapeToMesh->GetID() )
                  if  ( shapeSO->Depth() < 2 )
      myNodeGeoIDs = goodIds;
    }
  
 -  // enable/diable Apply, which can change at selection
 +  // enable/disable Apply, which can change at selection
    myDlg->updateButtons();
  }
index 408546d464ba7321ad81d6752c01c445406aa343,c89878cd6447b4ac5d75c95a6b635d92b8fcb93f..c63879413fc1de112763cd07c2d13ec2a9af6adb
@@@ -482,7 -482,7 +482,7 @@@ void SMESHGUI_GroupOpDlg::setVisible( b
  }
  
  /*!
 -  \brief SLOT called when dialog must be deativated
 +  \brief SLOT called when dialog must be deactivated
  */
  void SMESHGUI_GroupOpDlg::onDeactivate()
  {
@@@ -510,7 -510,7 +510,7 @@@ void SMESHGUI_GroupOpDlg::enterEvent(QE
  /*!
    \brief Resets state of the dialog, initializes its fields with default value, etc. 
    Usually called by onApply() slot to reinitialize dialog  fields. This virtual method 
 -  should be redefined in derived class to update its own fileds
 +  should be redefined in derived class to update its own fields
  */
  void SMESHGUI_GroupOpDlg::reset()
  {
@@@ -596,7 -596,7 +596,7 @@@ SMESHGUI_UnionGroupsDlg::SMESHGUI_Union
  : SMESHGUI_GroupOpDlg( theModule )
  {
    setWindowTitle(tr("UNION_OF_GROUPS"));
 -  setHelpFileName( "using_operations_on_groups_page.html#union_anchor" );
 +  setHelpFileName( "using_operations_on_groups.html#union-anchor" );
  
    QGroupBox* anArgGrp = getArgGrp();
    myListWg = new QListWidget( anArgGrp );
@@@ -652,7 -652,7 +652,7 @@@ bool SMESHGUI_UnionGroupsDlg::onApply(
    {
      SMESH::ListOfGroups_var aList = convert( myGroups );
      SMESH::SMESH_Group_var aNewGrp = 
-       aMesh->UnionListOfGroups( aList, aName.toLatin1().constData() );
+       aMesh->UnionListOfGroups( aList, aName.toUtf8().constData() );
      if ( !CORBA::is_nil( aNewGrp ) )
      {
        aNewGrp->SetColor(  getColor() );
@@@ -705,7 -705,7 +705,7 @@@ SMESHGUI_IntersectGroupsDlg::SMESHGUI_I
  : SMESHGUI_GroupOpDlg( theModule )
  {
    setWindowTitle(tr("INTERSECTION_OF_GROUPS"));
 -  setHelpFileName( "using_operations_on_groups_page.html#intersection_anchor" );
 +  setHelpFileName( "using_operations_on_groups.html#intersection-anchor" );
  
    QGroupBox* anArgGrp = getArgGrp();
    myListWg = new QListWidget( anArgGrp );
@@@ -761,7 -761,7 +761,7 @@@ bool SMESHGUI_IntersectGroupsDlg::onApp
    {
      SMESH::ListOfGroups_var aList = convert( myGroups );
      SMESH::SMESH_Group_var aNewGrp = 
-       aMesh->IntersectListOfGroups( aList, aName.toLatin1().constData() );
+       aMesh->IntersectListOfGroups( aList, aName.toUtf8().constData() );
      if ( !CORBA::is_nil( aNewGrp ) )
      {
        aNewGrp->SetColor(  getColor() );
@@@ -814,7 -814,7 +814,7 @@@ SMESHGUI_CutGroupsDlg::SMESHGUI_CutGrou
  : SMESHGUI_GroupOpDlg( theModule )
  {
    setWindowTitle(tr("CUT_OF_GROUPS"));
 -  setHelpFileName( "using_operations_on_groups_page.html#cut_anchor" );
 +  setHelpFileName( "using_operations_on_groups.html#cut-anchor" );
  
    QGroupBox* anArgGrp = getArgGrp();
  
@@@ -934,7 -934,7 +934,7 @@@ bool SMESHGUI_CutGroupsDlg::onApply(
      SMESH::ListOfGroups_var aList1 = convert( myGroups1 );
      SMESH::ListOfGroups_var aList2 = convert( myGroups2 );
      SMESH::SMESH_Group_var aNewGrp = 
-       aMesh->CutListOfGroups( aList1, aList2, aName.toLatin1().constData() );
+       aMesh->CutListOfGroups( aList1, aList2, aName.toUtf8().constData() );
      if ( !CORBA::is_nil( aNewGrp ) )
      {
        aNewGrp->SetColor(  getColor() );
@@@ -996,7 -996,7 +996,7 @@@ SMESHGUI_DimGroupDlg::SMESHGUI_DimGroup
    : SMESHGUI_GroupOpDlg( theModule )
  {
    setWindowTitle( tr( "CREATE_GROUP_OF_UNDERLYING_ELEMS" ) );
 -  setHelpFileName( "group_of_underlying_elements_page.html" );
 +  setHelpFileName( "group_of_underlying_elements.html" );
  
    QGroupBox* anArgGrp = getArgGrp();
  
@@@ -1120,7 -1120,7 +1120,7 @@@ bool SMESHGUI_DimGroupDlg::onApply(
        (SMESH::NB_COMMON_NODES_ENUM) myNbNoCombo->currentIndex();
  
      SMESH::SMESH_Group_var aNewGrp =
-       aMesh->CreateDimGroup( aList, anElemType, aName.toLatin1().constData(),
+       aMesh->CreateDimGroup( aList, anElemType, aName.toUtf8().constData(),
                               aNbCoNodes, myUnderlOnlyChk->isChecked() );
      if ( !CORBA::is_nil( aNewGrp ) )
      {
index 54918c0f6e92c88f6eaf7108fbf66c919916be76,125c5ae19a83632f1d1a02c426a76b2746f11f11..f03216cbe343847b62b0818843895251ec3f15b0
@@@ -238,7 -238,7 +238,7 @@@ void SMESHGUI_Make2DFrom3DOp::startOper
    if( !myDlg )
      myDlg = new SMESHGUI_Make2DFrom3DDlg( desktop() );
  
 -  myHelpFileName = "make_2dmesh_from_3d_page.html";
 +  myHelpFileName = "make_2dmesh_from_3d.html";
  
    SMESHGUI_SelectionOp::startOperation();
  
@@@ -302,7 -302,7 +302,7 @@@ void SMESHGUI_Make2DFrom3DOp::selection
        bool isMesh = true;
        for ( int i = 0; i < ids.count() && isMesh; ++i )
        {
-         _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( ids[i].toLatin1().constData() );
+         _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( ids[i].toUtf8().constData() );
          mySrcMesh = SMESH::SObjectToInterface<SMESH::SMESH_Mesh>( sobj );  
          //isMesh = !mySrcMesh->_is_nil(); // EAP - it's sometimes necessary to copy to a new mesh
        }
@@@ -355,7 -355,7 +355,7 @@@ bool SMESHGUI_Make2DFrom3DOp::isValid( 
      for ( int i = 0; i < entries.count(); ++i )
      {
        SMESH::SMESH_GroupBase_var grp;
-       if ( _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entries[i].toLatin1().constData() ))
+       if ( _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entries[i].toUtf8().constData() ))
          grp = SMESH::SObjectToInterface<SMESH::SMESH_GroupBase>( sobj );
        if ( grp->_is_nil() ) {
          msg = tr( "SMESH_NOT_ONLY_GROUPS" );
    for ( int i = 0; i < entries.count(); ++i )
    {
      SMESH::SMESH_IDSource_var idSource;
-     if ( _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entries[i].toLatin1().constData() ))
+     if ( _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entries[i].toUtf8().constData() ))
        idSource = SMESH::SObjectToInterface<SMESH::SMESH_IDSource>( sobj );
      if ( !idSource->_is_nil() ) {
        SMESH::array_of_ElementType_var types = idSource->GetTypes();
@@@ -427,7 -427,7 +427,7 @@@ bool SMESHGUI_Make2DFrom3DOp::compute2D
        groups->length( entries.count() );
        for ( int i = 0; i < entries.count(); ++i )
        {
-         _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entries[i].toLatin1().constData() );
+         _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entries[i].toUtf8().constData() );
          SMESH::SMESH_IDSource_var grp = SMESH::SObjectToInterface<SMESH::SMESH_IDSource>( sobj );  
          SMESH::array_of_ElementType_var types = grp->GetTypes();
          if ( types->length() < 1 || types[0] != goodType )
        SMESH::SMESH_Group_var newGrp;
        SMESH::SMESH_Mesh_var newMesh;
        CORBA::Long nbAdded = aMeshEditor->MakeBoundaryElements( mode,
-                                                                groupName.toLatin1().constData(),
-                                                                meshName.toLatin1().constData(),
+                                                                groupName.toUtf8().constData(),
+                                                                meshName.toUtf8().constData(),
                                                                 copyAll,
                                                                 groups,
                                                                 newMesh.out(),
        ok = true;
  
        for ( int i = 0; i < entries.count(); ++i )
-         if ( SMESH_Actor* actor = SMESH::FindActorByEntry( entries[i].toLatin1().constData() ))
+         if ( SMESH_Actor* actor = SMESH::FindActorByEntry( entries[i].toUtf8().constData() ))
            SMESH::Update(actor->getIO(),actor->GetVisibility());
        SMESH::RepaintCurrentView();
      }
index bc3fd0723d7b19cbc6834966bbcf5adcd6152315,4892b91929c2dd48bf1f28c84e020070283b5001..3c131f2b10199f144ed3079efe64fd58305f3d94
@@@ -355,7 -355,7 +355,7 @@@ SMESHGUI_MakeNodeAtPointOp::SMESHGUI_Ma
    mySMESHGUI = 0;
    myDlg = new SMESHGUI_MakeNodeAtPointDlg;
    myFilter = 0;
 -  myHelpFileName = "mesh_through_point_page.html";
 +  myHelpFileName = "mesh_through_point.html";
  
    myNoPreview = false;
    myUpdateDestination = false;
@@@ -528,7 -528,7 +528,7 @@@ bool SMESHGUI_MakeNodeAtPointOp::onAppl
      if (aMeshEditor->_is_nil())
        return true;
  
-     aMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+     aMesh->SetParameters( aParameters.join(":").toUtf8().constData() );
  
      bool ok;
      int anId = myDlg->myId->text().toInt( &ok );
index 8aefab0ab52d2a54e4f747f428e4204b882769db,314eabf523765b3b9ec38405113770bd3fb4fa34..9378e4d402070083339119e6913f0f636c57160e
@@@ -218,11 -218,11 +218,11 @@@ void SMESHGUI_MeshOp::startOperation(
      connect( myDlg, SIGNAL( geomSelectionByMesh( bool )), SLOT( onGeomSelectionByMesh( bool )));
      connect( myDlg, SIGNAL( selectMeshType( const int, const int ) ), SLOT( onAlgoSetByMeshType( const int, const int)));
      if ( myToCreate ) {
 -      if ( myIsMesh ) myHelpFileName = "constructing_meshes_page.html";
 -      else            myHelpFileName = "constructing_submeshes_page.html";
 +      if ( myIsMesh ) myHelpFileName = "constructing_meshes.html";
 +      else            myHelpFileName = "constructing_submeshes.html";
      }
      else {
 -      myHelpFileName = "editing_meshes_page.html";
 +      myHelpFileName = "editing_meshes.html";
      }
    }
    SMESHGUI_SelectionOp::startOperation();
@@@ -329,7 -329,7 +329,7 @@@ bool SMESHGUI_MeshOp::isSubshapeOk() co
  
    // mesh
    QString aMeshEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Mesh );
-   _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() );
+   _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() );
    if (!pMesh) return false;
  
    SMESH::SMESH_Mesh_var mesh = SMESH::SObjectToInterface<SMESH::SMESH_Mesh>( pMesh );
      QStringList::const_iterator aSubShapesIter = aGEOMs.begin();
      for ( ; aSubShapesIter != aGEOMs.end(); aSubShapesIter++) {
        QString aSubGeomEntry = (*aSubShapesIter);
-       _PTR(SObject) pSubGeom = SMESH::getStudy()->FindObjectID(aSubGeomEntry.toLatin1().data());
+       _PTR(SObject) pSubGeom = SMESH::getStudy()->FindObjectID(aSubGeomEntry.toUtf8().data());
        if (!pSubGeom) return false;
  
        GEOM::GEOM_Object_var aSubGeomVar =
@@@ -416,7 -416,7 +416,7 @@@ char* SMESHGUI_MeshOp::isSubmeshIgnored
  
      QString aMeshEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Mesh );
      QString aGeomEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
-     _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() );
+     _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() );
      if ( pMesh ) {
  
        QStringList algoNames;
          if ( algo &&
               algo->InputTypes.empty() && // builds all dimensions it-self
               !algo->IsSupportSubmeshes )
-           return CORBA::string_dup( algoNames[0].toLatin1().data() );
+           return CORBA::string_dup( algoNames[0].toUtf8().data() );
        }
  
  //       GEOM::GEOM_Object_var geom;
- //       if (_PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toLatin1().data() ))
+ //       if (_PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toUtf8().data() ))
  //         geom = SMESH::SObjectToInterface<GEOM::GEOM_Object>( pGeom );
  
  //       if ( !geom->_is_nil() && geom->GetShapeType() >= GEOM::FACE ) { // WIRE, EDGE as well
            if ( algo &&
                 algo->InputTypes.empty() && // builds all dimensions it-self
                 !algo->IsSupportSubmeshes )
-             return CORBA::string_dup( algoNames[0].toLatin1().data() );
+             return CORBA::string_dup( algoNames[0].toUtf8().data() );
          }
  //       }
      }
@@@ -461,8 -461,8 +461,8 @@@ _PTR(SObject) SMESHGUI_MeshOp::getSubme
  {
    QString aMeshEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Mesh );
    QString aGeomEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
-   _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() );
-   _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toLatin1().data() );
+   _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() );
+   _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toUtf8().data() );
    if ( pMesh && pGeom ) {
      GEOM::GEOM_Object_var geom = SMESH::SObjectToInterface<GEOM::GEOM_Object>( pGeom );
      if ( !geom->_is_nil() ) {
@@@ -522,7 -522,7 +522,7 @@@ void SMESHGUI_MeshOp::selectionDone(
  
      //Check geometry for mesh
      QString anObjEntry = myDlg->selectedObject(SMESHGUI_MeshDlg::Obj);
-     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID(anObjEntry.toLatin1().data());
+     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID(anObjEntry.toUtf8().data());
      if (pObj)
      {
        SMESH::SMESH_Mesh_var aMeshVar =
          int iSubSh = 0;
          for ( ; aSubShapesIter != aGEOMs.end(); aSubShapesIter++, iSubSh++) {
            QString aSubGeomEntry = (*aSubShapesIter);
-           _PTR(SObject) pSubGeom = SMESH::getStudy()->FindObjectID(aSubGeomEntry.toLatin1().data());
+           _PTR(SObject) pSubGeom = SMESH::getStudy()->FindObjectID(aSubGeomEntry.toUtf8().data());
           
            if( pSubGeom ) { 
              SALOMEDS_SObject* sobj = _CAST(SObject,pSubGeom);
        } else {
          // get geometry by selected sub-mesh
          QString anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
-         _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toLatin1().data() );
+         _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toUtf8().data() );
          GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
          if (!aGeomVar->_is_nil()) {
            aSeq->length(1);
          // enable/disable popup for choice of geom selection way
          bool enable = false;
          QString aMeshEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Mesh );
-         if ( _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() )) {
+         if ( _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() )) {
            SMESH::SMESH_Mesh_var mesh = SMESH::SObjectToInterface<SMESH::SMESH_Mesh>( pMesh );
            if ( !mesh->_is_nil() ) {
              //rnv: issue 21056: EDF 1608 SMESH: Dialog Box "Create Sub Mesh": focus should automatically switch to geometry
              QString aGeomEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
-             _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toLatin1().data() );
+             _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toUtf8().data() );
              if ( !pGeom || GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() )->_is_nil() )
                myDlg->activateObject(SMESHGUI_MeshDlg::Geom);
              enable = ( shapeDim > 1 ) && ( mesh->NbEdges() > 0 );
@@@ -773,7 -773,7 +773,7 @@@ bool SMESHGUI_MeshOp::isValid( QString
    {
      QString aMeshEntry = myDlg->selectedObject
        ( myToCreate ? SMESHGUI_MeshDlg::Mesh : SMESHGUI_MeshDlg::Obj );
-     if ( _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() )) {
+     if ( _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() )) {
        SMESH::SMESH_Mesh_var mesh = SMESH::SObjectToInterface<SMESH::SMESH_Mesh>( pMesh );
        if ( !mesh->_is_nil() && CORBA::is_nil( mesh->GetShapeToMesh() )) {
          theMess = tr( "IMPORTED_MESH" );
        }
        return true;
      }
-     _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toLatin1().data() );
+     _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toUtf8().data() );
      if ( !pGeom || GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() )->_is_nil() )
      {
        theMess = tr( "GEOMETRY_OBJECT_IS_NULL" );
          theMess = tr( "MESH_IS_NOT_DEFINED" );
          return false;
        }
-       _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() );
+       _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() );
        if ( !pMesh || SMESH::SMESH_Mesh::_narrow( _CAST( SObject,pMesh )->GetObject() )->_is_nil() )
        {
          theMess = tr( "MESH_IS_NULL" );
@@@ -945,7 -945,7 +945,7 @@@ void SMESHGUI_MeshOp::availableHyps( co
    QString aCurrentGeomToSelect;
    if ( !theMeshType.isEmpty() ) {
      aCurrentGeomToSelect = myDlg->selectedObject( myToCreate ? SMESHGUI_MeshDlg::Geom : SMESHGUI_MeshDlg::Obj );
-     if ( _PTR(SObject) so = SMESH::getStudy()->FindObjectID( aCurrentGeomToSelect.toLatin1().data() )) {
+     if ( _PTR(SObject) so = SMESH::getStudy()->FindObjectID( aCurrentGeomToSelect.toUtf8().data() )) {
        aGeomVar = SMESH::GetGeom( so );
      }
     if ( aCurrentGeomToSelect != myLastGeomToSelect )
@@@ -1120,14 -1120,14 +1120,14 @@@ SMESHGUI_MeshOp::getInitParamsHypothesi
    {
      anEntry = myDlg->selectedObject
        ( myToCreate ? SMESHGUI_MeshDlg::Mesh : SMESHGUI_MeshDlg::Obj );
-     if ( _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anEntry.toLatin1().data() ))
+     if ( _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anEntry.toUtf8().data() ))
      {
        CORBA::Object_ptr Obj = _CAST( SObject,pObj )->GetObject();
        if ( myToCreate ) // mesh and geom may be selected
        {
          aMeshVar = SMESH::SMESH_Mesh::_narrow( Obj );
          anEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
-         if ( _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( anEntry.toLatin1().data() ))
+         if ( _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( anEntry.toUtf8().data() ))
            aGeomVar= GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() );
        }
        else // edition: sub-mesh may be selected
      if ( !myToCreate ) // mesh to edit can be selected
      {
        anEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
-       if ( _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( anEntry.toLatin1().data() ))
+       if ( _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( anEntry.toUtf8().data() ))
        {
          aMeshVar = SMESH::SMESH_Mesh::_narrow( _CAST( SObject,pMesh )->GetObject() );
          if ( !aMeshVar->_is_nil() )
      }
      if ( aGeomVar->_is_nil() ) {
        anEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
-       if ( _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( anEntry.toLatin1().data() ))
+       if ( _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( anEntry.toUtf8().data() ))
        {
          aGeomVar= GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() );
        }
    }
  
    SMESH::SMESH_Hypothesis_var hyp =
-     SMESHGUI::GetSMESHGen()->GetHypothesisParameterValues( aHypType.toLatin1().data(),
-                                                            aServerLib.toLatin1().data(),
+     SMESHGUI::GetSMESHGen()->GetHypothesisParameterValues( aHypType.toUtf8().data(),
+                                                            aServerLib.toUtf8().data(),
                                                             aMeshVar,
                                                             aGeomVar,
                                                             /*byMesh = */isSubMesh);
    if ( hyp->_is_nil() && isSubMesh )
      hyp = SMESHGUI::GetSMESHGen()->GetHypothesisParameterValues( aHypType.toLatin1().data(),
-                                                                  aServerLib.toLatin1().data(),
+                                                                  aServerLib.toUtf8().data(),
                                                                   aMeshVar,
                                                                   aGeomVar,
                                                                   /*byMesh = */false);
@@@ -1197,13 -1197,13 +1197,13 @@@ void SMESHGUI_MeshOp::initHypCreator( S
      aMeshEntry = aGeomEntry;
  
    if ( aMeshEntry != aGeomEntry ) { // Get Geom object from Mesh of a sub-mesh being edited
-     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() );
+     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() );
      GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
      aMeshEntry = ( aGeomVar->_is_nil() ) ? QString() : SMESH::toQStr( aGeomVar->GetStudyEntry() );
    }
  
    if ( aMeshEntry == "" && aGeomEntry == "" ) { // get geom of an object being edited
-     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toLatin1().data() );
+     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toUtf8().data() );
      bool isMesh;
      GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj, &isMesh );
      if ( !aGeomVar->_is_nil() )
  
    if ( anObjEntry != "" && aGeomEntry != "" && aMeshEntry == "" ) {
      // take geometry from submesh being created
-     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toLatin1().data() );
+     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toUtf8().data() );
      if ( pObj ) {
        // if current object is sub-mesh
        SMESH::SMESH_subMesh_var aSubMeshVar =
@@@ -1261,7 -1261,7 +1261,7 @@@ static int getTabDim (const QObject* ta
  /*!
   * \brief Create hypothesis
    * \param theHypType - hypothesis category (main or additional)
 -  * \param theIndex - index of type of hypothesis to be cerated
 +  * \param theIndex - index of type of hypothesis to be created
   *
   * Specifies dimension of hypothesis to be created (using sender() method),
   * specifies its type and calls method for hypothesis creation
@@@ -1827,7 -1827,7 +1827,7 @@@ bool SMESHGUI_MeshOp::createMesh( QStri
    for ( int i = 0; it!=aList.end(); it++, ++i )
    {
      QString aGeomEntry = *it;
-     _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toLatin1().data() );
+     _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toUtf8().data() );
      GEOM::GEOM_Object_var aGeomVar =
        GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() );
  
@@@ -1894,7 -1894,7 +1894,7 @@@ bool SMESHGUI_MeshOp::createSubMesh( QS
  
    // get mesh object
    QString aMeshEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Mesh );
-   _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() );
+   _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() );
    SMESH::SMESH_Mesh_var aMeshVar =
      SMESH::SMESH_Mesh::_narrow( _CAST( SObject,pMesh )->GetObject() );
    if (aMeshVar->_is_nil())
    {
      //QString aGeomEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
      QString aGeomEntry = aGEOMs.first();
-     _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toLatin1().data() );
+     _PTR(SObject) pGeom = SMESH::getStudy()->FindObjectID( aGeomEntry.toUtf8().data() );
      aGeomVar = GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() );
    }
    else if (aGEOMs.count() > 1)
          QStringList::const_iterator aSubShapesIter = aGEOMs.begin();
          for ( ; aSubShapesIter != aGEOMs.end(); aSubShapesIter++, iSubSh++) {
            QString aSubGeomEntry = (*aSubShapesIter);
-           _PTR(SObject) pSubGeom = SMESH::getStudy()->FindObjectID(aSubGeomEntry.toLatin1().data());
+           _PTR(SObject) pSubGeom = SMESH::getStudy()->FindObjectID(aSubGeomEntry.toUtf8().data());
            GEOM::GEOM_Object_var aSubGeomVar =
              GEOM::GEOM_Object::_narrow(_CAST(SObject,pSubGeom)->GetObject());
            TopAbs_ShapeEnum aSubShapeType = (TopAbs_ShapeEnum)aSubGeomVar->GetShapeType();
            aNewGeomGroupName += aName;
            SALOMEDS::SObject_wrap aNewGroupSO =
              geomGen->AddInStudy( aGeomVar,
-                                  aNewGeomGroupName.toLatin1().data(), mainGeom);
+                                  aNewGeomGroupName.toUtf8().data(), mainGeom);
          }
        }
      }
    SUIT_OverrideCursor aWaitCursor;
  
    // create sub-mesh
-   SMESH::SMESH_subMesh_var aSubMeshVar = aMeshVar->GetSubMesh( aGeomVar, aName.toLatin1().data() );
+   SMESH::SMESH_subMesh_var aSubMeshVar = aMeshVar->GetSubMesh( aGeomVar, aName.toUtf8().data() );
    _PTR(SObject) aSubMeshSO = SMESH::FindSObject( aSubMeshVar.in() );
    if ( aSubMeshSO ) {
-     SMESH::SetName( aSubMeshSO, aName.toLatin1().data() );
+     SMESH::SetName( aSubMeshSO, aName.toUtf8().data() );
      theEntryList.append( aSubMeshSO->GetID().c_str() );
    }
  
@@@ -2124,7 -2124,7 +2124,7 @@@ void SMESHGUI_MeshOp::setDefaultName( c
    do
    {
      aResName = aPrefix + QString::number( i++ );
-     anObj = aStudy->FindObject( aResName.toLatin1().data() );
+     anObj = aStudy->FindObject( aResName.toUtf8().data() );
    }
    while ( anObj );
  
@@@ -2229,7 -2229,7 +2229,7 @@@ SMESH::SMESH_Hypothesis_var SMESHGUI_Me
  void SMESHGUI_MeshOp::readMesh()
  {
    QString anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
-   _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toLatin1().data() );
+   _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toUtf8().data() );
    if ( !pObj )
      return;
  
@@@ -2395,7 -2395,7 +2395,7 @@@ bool SMESHGUI_MeshOp::editMeshOrSubMesh
      return false;
  
    QString anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
-   _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toLatin1().data() );
+   _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( anObjEntry.toUtf8().data() );
    if ( !pObj )
      return false;
  
@@@ -2578,7 -2578,7 +2578,7 @@@ void SMESHGUI_MeshOp::onGeomSelectionBy
      }
      // set mesh object to SMESHGUI_ShapeByMeshOp and start it
      QString aMeshEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Mesh );
-     if ( _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toLatin1().data() )) {
+     if ( _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( aMeshEntry.toUtf8().data() )) {
        SMESH::SMESH_Mesh_var aMeshVar =
          SMESH::SMESH_Mesh::_narrow( _CAST( SObject,pMesh )->GetObject() );
        if ( !aMeshVar->_is_nil() ) {
@@@ -2607,7 -2607,7 +2607,7 @@@ void SMESHGUI_MeshOp::onPublishShapeByM
      if ( !aGeomVar->_is_nil() )
      {
        QString ID = SMESH::toQStr( aGeomVar->GetStudyEntry() );
-       if ( _PTR(SObject) aGeomSO = SMESH::getStudy()->FindObjectID( ID.toLatin1().data() )) {
+       if ( _PTR(SObject) aGeomSO = SMESH::getStudy()->FindObjectID( ID.toUtf8().data() )) {
          selectObject( aGeomSO );
          selectionDone();
        }
index d2f545b740a3d7931b5ab9d1cfe2191d6b95a853,26ab559541cf7cdf5ce619b6076275e46fdeeb3d..09ec2ce4cd5c999a47af9e8322b1ead92f91e771
@@@ -129,7 -129,7 +129,7 @@@ SMESHGUI_MeshPatternDlg::SMESHGUI_MeshP
  
    mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector();
  
 -  myHelpFileName = "pattern_mapping_page.html";
 +  myHelpFileName = "pattern_mapping.html";
  
    Init();
  }
@@@ -475,7 -475,7 +475,7 @@@ bool SMESHGUI_MeshPatternDlg::onApply(
          aParameters << myNode1->text();
          if(myType == Type_3d )
            aParameters << myNode2->text();
-         myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+         myMesh->SetParameters( aParameters.join(":").toUtf8().constData() );
        }
        QList<int> ids;
        getIds(ids);
@@@ -723,7 -723,7 +723,7 @@@ void SMESHGUI_MeshPatternDlg::resetSelI
  
  //=======================================================================
  // name    : SMESHGUI_MeshPatternDlg::onDeactivate
 -// Purpose : SLOT called when dialog must be deativated
 +// Purpose : SLOT called when dialog must be deactivated
  //=======================================================================
  void SMESHGUI_MeshPatternDlg::onDeactivate()
  {
@@@ -904,7 -904,7 +904,7 @@@ void SMESHGUI_MeshPatternDlg::onNew(
  
  //=======================================================================
  // name    : SMESHGUI_MeshPatternDlg::onReverse
 -// Purpose : SLOT. Called when state of "Reverse order..." checkbox chaged
 +// Purpose : SLOT. Called when state of "Reverse order..." checkbox changed
  //           Calculate new points of the mesh to be created. Redisplay preview
  //=======================================================================
  void SMESHGUI_MeshPatternDlg::onReverse (bool)
@@@ -1149,7 -1149,7 +1149,7 @@@ bool SMESHGUI_MeshPatternDlg::loadFromF
    try {
      SMESH::SMESH_Pattern_var aPattern = SMESH::GetPattern();
  
-     if (!aPattern->LoadFromFile(theName.toLatin1().data()) ||
+     if (!aPattern->LoadFromFile(theName.toUtf8().data()) ||
          (myType == Type_2d && !aPattern->Is2D())) {
        SMESH::SMESH_Pattern::ErrorCode aCode = aPattern->GetErrorCode();
        QString aMess;
@@@ -1400,7 -1400,7 +1400,7 @@@ void SMESHGUI_MeshPatternDlg::onTextCha
      activateSelection();
    }
  
 -  // hilight entered elements/nodes
 +  // highlight entered elements/nodes
    SMDS_Mesh* aMesh = 0;
    SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh);
    if (anActor)
index 09a7c6055a2087915a89b3660f91e6f03d133b5e,b3a43c86116fb7e5e913e2bb1ce3c36d6047c77d..a1d1f3e6be952cb73c714a6a2e7d01c2db0b7fac
@@@ -600,7 -600,7 +600,7 @@@ void SMESHGUI_MultiEditDlg::onSelection
  
  //=======================================================================
  // name    : SMESHGUI_MultiEditDlg::onDeactivate
 -// Purpose : SLOT called when dialog must be deativated
 +// Purpose : SLOT called when dialog must be deactivated
  //=======================================================================
  void SMESHGUI_MultiEditDlg::onDeactivate()
  {
@@@ -883,7 -883,7 +883,7 @@@ void SMESHGUI_MultiEditDlg::onListSelec
      if (myListBox->item(i)->isSelected())
      {
        int anId = myListBox->item(i)->text().toInt();
 -      if (anObj->GetElemVTKId(anId) >= 0) // avoid exception in hilight
 +      if (anObj->GetElemVTKId(anId) >= 0) // avoid exception in highlight
          anIndexes.Add(anId);
      }
    }
@@@ -1093,7 -1093,7 +1093,7 @@@ SMESHGUI_ChangeOrientationDl
    SMESHGUI_MultiEditDlg(theModule, SMESH::FaceFilter, true)
  {
    setWindowTitle(tr("CAPTION"));
 -  myHelpFileName = "changing_orientation_of_elements_page.html";
 +  myHelpFileName = "changing_orientation_of_elements.html";
  }
  
  SMESHGUI_ChangeOrientationDlg::~SMESHGUI_ChangeOrientationDlg()
@@@ -1161,7 -1161,7 +1161,7 @@@ SMESHGUI_UnionOfTrianglesDl
    myPreviewCheckBox->setChecked(false);
    onDisplaySimulation(false);
  
 -  myHelpFileName = "uniting_set_of_triangles_page.html";
 +  myHelpFileName = "uniting_set_of_triangles.html";
  }
  
  SMESHGUI_UnionOfTrianglesDlg::~SMESHGUI_UnionOfTrianglesDlg()
@@@ -1196,7 -1196,7 +1196,7 @@@ bool SMESHGUI_UnionOfTrianglesDlg::proc
    {
      QStringList aParameters;
      aParameters << myMaxAngleSpin->text();
-     myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+     myMesh->SetParameters( aParameters.join(":").toUtf8().constData() );
    }
    SMESH::NumericalFunctor_var aCriterion = getNumericalFunctor();
    double aMaxAngle = myMaxAngleSpin->GetValue() * M_PI / 180.0;
@@@ -1289,7 -1289,7 +1289,7 @@@ SMESHGUI_CuttingOfQuadsDl
    connect(myComboBoxFunctor, SIGNAL(activated(int)),       this, SLOT(onPreviewChk()));
    connect(this,              SIGNAL(ListContensChanged()), this, SLOT(onPreviewChk()));
  
 -  myHelpFileName = "cutting_quadrangles_page.html";
 +  myHelpFileName = "cutting_quadrangles.html";
  }
  
  SMESHGUI_CuttingOfQuadsDlg::~SMESHGUI_CuttingOfQuadsDlg()
@@@ -1551,7 -1551,7 +1551,7 @@@ SMESHGUI_SplitVolumesDlg::SMESHGUI_Spli
    : SMESHGUI_MultiEditDlg(theModule, SMESH::VolumeFilter, /*the3d2d=*/true, /*doInit=*/false)
  {
    setWindowTitle(tr("CAPTION"));
 -  myHelpFileName = "split_to_tetra_page.html";
 +  myHelpFileName = "split_to_tetra.html";
    myEntityType = 1;
    myCellSize = -1.;
  
        gb->setTitle( tr("TARGET_ELEM_TYPE"));
    }
  
 -  myToAllChk->setChecked( true ); //aplly to the whole mesh by default
 +  myToAllChk->setChecked( true ); //apply to the whole mesh by default
  
    bool hasHexa = true;//myMesh->_is_nil() ? false : myMesh->NbHexas();
    if ( hasHexa )
@@@ -1666,7 -1666,7 +1666,7 @@@ bool SMESHGUI_SplitVolumesDlg::process 
        aParameters << myDirSpin[0]->text();
        aParameters << myDirSpin[1]->text();
        aParameters << myDirSpin[2]->text();
-       myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+       myMesh->SetParameters( aParameters.join(":").toUtf8().constData() );
  
        SMESH::PointStruct_var point = new SMESH::PointStruct;
        point->x  = myPointSpin[0]->GetValue();
index 3a2d3308cf06fa7f83de4d86bf823f68627e7dab,fb44fa471a648299df16857f4bab3d1212921942..6900743272a5a9acd875ca1eb93f00b273048ac4
@@@ -100,7 -100,7 +100,7 @@@ namespace SMES
      try {
        _PTR(SObject) aSobj = SMESH::FindSObject( theMesh );
        SMESH::SMESH_MeshEditor_var aMeshEditor = theMesh->GetMeshEditor();
-       theMesh->SetParameters( theParameters.join(":").toLatin1().constData() );
+       theMesh->SetParameters( theParameters.join(":").toUtf8().constData() );
        aNodeId = aMeshEditor->AddNode( x, y, z );
        if (TVisualObjPtr aVisualObj = SMESH::GetVisualObj( aSobj->GetID().c_str() ) ) {
          aVisualObj->Update( true );
@@@ -329,7 -329,7 +329,7 @@@ SMESHGUI_NodesDlg::SMESHGUI_NodesDlg( S
    SMESHGUI_NodesDlgLayout->addWidget( GroupGroups );
    SMESHGUI_NodesDlgLayout->addWidget( GroupButtons );
  
 -  myHelpFileName = "adding_nodes_and_elements_page.html#adding_nodes_anchor";
 +  myHelpFileName = "adding_nodes_and_elements.html#adding-nodes-anchor";
  
    /* Initialisation and display */
    Init();
index 0f84e9a19c0cbd851a6c2ab1a95e21a1b40b0cd4,22bf3cf3afcfe0c9eff8850a2a22c88937da1691..51c993fd598498d41d51b4a4ea64c8afcf5a30b2
@@@ -96,7 -96,7 +96,7 @@@ enum { CONSTRUCTOR_POINT=0, CONSTRUCTOR
  
  //=======================================================================
  /*!
 - * \brief Dialog to reorient faces acoording to vector
 + * \brief Dialog to reorient faces according to vector
   */
  //=======================================================================
  
@@@ -331,7 -331,7 +331,7 @@@ SMESHGUI_ReorientFacesOp::SMESHGUI_Reor
    :SMESHGUI_SelectionOp( ActorSelection )
  {
    //myVectorPreview = 0;
 -  myHelpFileName = "reorient_faces_page.html";
 +  myHelpFileName = "reorient_faces.html";
  
    myDlg = new SMESHGUI_ReorientFacesDlg;
    myDlg->constructorChange( CONSTRUCTOR_POINT );
@@@ -693,7 -693,7 +693,7 @@@ bool SMESHGUI_ReorientFacesOp::onApply(
        point.y = myDlg->myY->GetValue();
        point.z = myDlg->myZ->GetValue();
  
-       aMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+       aMesh->SetParameters( aParameters.join(":").toUtf8().constData() );
  
        aResult = aMeshEditor->Reorient2D( myObject, direction, face, point );
      }
@@@ -728,7 -728,7 +728,7 @@@ bool SMESHGUI_ReorientFacesOp::isValid
  {
    // check object
    QString objectEntry = myDlg->selectedObject( EObject );
-   _PTR(SObject) pSObject = SMESH::getStudy()->FindObjectID( objectEntry.toLatin1().data() );
+   _PTR(SObject) pSObject = SMESH::getStudy()->FindObjectID( objectEntry.toUtf8().data() );
    myObject = SMESH::SMESH_IDSource::_narrow( _CAST( SObject,pSObject )->GetObject() );
    if ( myObject->_is_nil() )
    {
    if ( myDlg->myConstructorGrp->checkedId() == CONSTRUCTOR_VOLUME )
    {
      objectEntry = myDlg->selectedObject( EVolumes );
-     _PTR(SObject) pSObject = SMESH::getStudy()->FindObjectID( objectEntry.toLatin1().data() );
+     _PTR(SObject) pSObject = SMESH::getStudy()->FindObjectID( objectEntry.toUtf8().data() );
      myVolumeObj = SMESH::SObjectToInterface< SMESH::SMESH_IDSource>( pSObject );
      if ( myVolumeObj->_is_nil() )
      {
index 034c854caed5464edb4af06a0a798ecded22162a,73d3991afeecd5667ec5bed48815c76e09a77166..30be2c543a61ce512e328ae7ebf2a0452c5fcb20
@@@ -261,7 -261,7 +261,7 @@@ SMESHGUI_RevolutionDlg::SMESHGUI_Revolu
  
    mySMESHGUI->SetActiveDialogBox((QDialog*)this);
  
 -  myHelpFileName = "revolution_page.html";
 +  myHelpFileName = "revolution.html";
  
    Init();
  
@@@ -436,7 -436,7 +436,7 @@@ bool SMESHGUI_RevolutionDlg::ClickOnApp
  
        SMESH::SMESH_Mesh_var mesh = SelectorWdg->GetMesh();
  
-       mesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+       mesh->SetParameters( aParameters.join(":").toUtf8().constData() );
  
        SMESH::ListOfIDSources_var nodes = new SMESH::ListOfIDSources();
        SMESH::ListOfIDSources_var edges = new SMESH::ListOfIDSources();
@@@ -641,7 -641,7 +641,7 @@@ void SMESHGUI_RevolutionDlg::SelectionI
      else if ( isFaceSelected )
      {
        const SMDS_MeshFace* face =
 -        dynamic_cast<const SMDS_MeshFace*>(aMesh->FindElement(aMapIndex(1)));
 +        SMDS_Mesh::DownCast<SMDS_MeshFace>( aMesh->FindElement( aMapIndex( 1 )));
        if (!face)
          return;
        gp_XYZ aNormale = SMESH::getNormale(face);
index 50e40b3f3573f451f8f9ac9e076da65686044727,d647c024488a53d2c7799a1314705e3d5933cb4f..a51154659b37771eb6bb10ab957d4c6ec20b7b71
@@@ -287,7 -287,7 +287,7 @@@ SMESHGUI_RotationDlg::SMESHGUI_Rotation
    myMeshOrSubMeshOrGroupFilter =
      new SMESH_LogicalFilter (aListOfFilters, SMESH_LogicalFilter::LO_OR);
  
 -  myHelpFileName = "rotation_page.html";
 +  myHelpFileName = "rotation.html";
  
    Init();
  
@@@ -446,13 -446,13 +446,13 @@@ bool SMESHGUI_RotationDlg::ClickOnApply
          if(CheckBoxMesh->isChecked()) {
            for ( int i = 0; i < myObjects.count(); i++ ) {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-             myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              aMeshEditor->RotateObject(myObjects[i], anAxis, anAngle, false);
            }
          }
          else {
            SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-           myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+           myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
            aMeshEditor->Rotate(anElementsId, anAxis, anAngle, false);
          }
          break;
            if(CheckBoxMesh->isChecked()) {
              for ( int i = 0; i < myObjects.count(); i++ ) {
                SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-               myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+               myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
                groups = aMeshEditor->RotateObjectMakeGroups(myObjects[i], anAxis, anAngle);
              }
            }
            else {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-             myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              groups = aMeshEditor->RotateMakeGroups(anElementsId, anAxis, anAngle);
            }
          }
            if(CheckBoxMesh->isChecked()) {
              for ( int i = 0; i < myObjects.count(); i++ ) {
                SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-               myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+               myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
                aMeshEditor->RotateObject(myObjects[i], anAxis, anAngle, true);
              }
            }
            else {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-             myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              aMeshEditor->Rotate(anElementsId, anAxis, anAngle, true);
            }
          }
            for ( int i = 0; i < myObjects.count(); i++ ) {
              QString aName = SMESH::UniqueMeshName( LineEditNewMesh->text().replace( "*", myObjectsNames[i] ) );
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-             myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              mesh = aMeshEditor->RotateObjectMakeMesh(myObjects[i], anAxis, anAngle, makeGroups,
-                                                      aName.toLatin1().data());
+                                                      aName.toUtf8().data());
              if (!mesh->_is_nil()) {
                if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
                  anEntryList.append( aSObject->GetID().c_str() );
          }
          else {
            SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-           myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+           myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
            mesh = aMeshEditor->RotateMakeMesh(anElementsId, anAxis, anAngle, makeGroups,
-                                              LineEditNewMesh->text().toLatin1().data());
+                                              LineEditNewMesh->text().toUtf8().data());
            if (!mesh->_is_nil()) {
              if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
                anEntryList.append( aSObject->GetID().c_str() );
@@@ -635,7 -635,7 +635,7 @@@ void SMESHGUI_RotationDlg::onTextChang
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  
 -  // hilight entered elements
 +  // highlight entered elements
    SMDS_Mesh* aMesh = 0;
    if (myActor)
      aMesh = myActor->GetObject()->GetMesh();
index 87310c71b6925568e56ba5d906c36f1274f0edd9,e86d61c80b200162bf66c832c43e2ab7bf19e6f9..071a99afd3cdc33a8eda665448be878ba83d07f7
@@@ -291,7 -291,7 +291,7 @@@ SMESHGUI_ScaleDlg::SMESHGUI_ScaleDlg( S
    myMeshOrSubMeshOrGroupFilter =
      new SMESH_LogicalFilter(aListOfFilters, SMESH_LogicalFilter::LO_OR);
  
 -  myHelpFileName = "scale_page.html";
 +  myHelpFileName = "scale.html";
  
    Init();
  
@@@ -484,13 -484,13 +484,13 @@@ bool SMESHGUI_ScaleDlg::ClickOnApply(
          if ( CheckBoxMesh->isChecked() )
            for ( int i = 0; i < myObjects.count(); i++ ) {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-             myMeshes[i]->SetParameters( aParameters.join( ":" ).toLatin1().constData() );
+             myMeshes[i]->SetParameters( aParameters.join( ":" ).toUtf8().constData() );
              aMeshEditor->Scale(myObjects[i], aPoint, aScaleFact, false);
            }
          else {
            SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
            SMESH::IDSource_wrap src = aMeshEditor->MakeIDSource(anElementsId, SMESH::ALL);
-           myMeshes[0]->SetParameters( aParameters.join( ":" ).toLatin1().constData() );
+           myMeshes[0]->SetParameters( aParameters.join( ":" ).toUtf8().constData() );
            aMeshEditor->Scale( src, aPoint, aScaleFact, false);
          }
          break;
            if(CheckBoxMesh->isChecked())
              for ( int i = 0; i < myObjects.count(); i++ ) {
                SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-               myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+               myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
                groups = aMeshEditor->ScaleMakeGroups(myObjects[i], aPoint, aScaleFact);
              }
            else {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
              SMESH::IDSource_wrap src = aMeshEditor->MakeIDSource(anElementsId, SMESH::ALL);
-             myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              groups = aMeshEditor->ScaleMakeGroups( src, aPoint, aScaleFact);
            }
          }
            if(CheckBoxMesh->isChecked()) {
              for ( int i = 0; i < myObjects.count(); i++ ) {
                SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-               myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+               myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
                aMeshEditor->Scale(myObjects[i], aPoint, aScaleFact, true);
              }
            }
            else {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
              SMESH::IDSource_wrap src = aMeshEditor->MakeIDSource(anElementsId, SMESH::ALL);
-             myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              aMeshEditor->Scale( src, aPoint, aScaleFact, true);
            }
          }
            for ( int i = 0; i < myObjects.count(); i++ ) {
              QString aName = SMESH::UniqueMeshName( LineEditNewMesh->text().replace( "*", myObjectsNames[i] ) );
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-             myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              mesh = aMeshEditor->ScaleMakeMesh(myObjects[i], aPoint, aScaleFact, makeGroups,
-                                               aName.toLatin1().data());
+                                               aName.toUtf8().data());
              if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
                anEntryList.append( aSObject->GetID().c_str() );
            }
          }
          else {
            SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-           myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+           myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
            SMESH::IDSource_wrap src = aMeshEditor->MakeIDSource(anElementsId, SMESH::ALL);
            mesh = aMeshEditor->ScaleMakeMesh( src, aPoint, aScaleFact, makeGroups,
-                                              LineEditNewMesh->text().toLatin1().data());
+                                              LineEditNewMesh->text().toUtf8().data());
            if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
              anEntryList.append( aSObject->GetID().c_str() );
          }
@@@ -674,7 -674,7 +674,7 @@@ void SMESHGUI_ScaleDlg::onTextChange (c
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  
 -  // hilight entered elements
 +  // highlight entered elements
    SMDS_Mesh* aMesh = 0;
    if (myActor)
      aMesh = myActor->GetObject()->GetMesh();
index b04d9fabe143d50e04e03c752f86a3d54bb2d3f4,450fda1191f80da6df74466af6acbbc31dcf7258..fbc43c922d46b397ad32b2e0236898043b67c281
@@@ -198,7 -198,7 +198,7 @@@ QList<QVariant> SMESHGUI_Selection::ele
    {
      if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] != "Unknown" )
      {
-       _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+       _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
        CORBA::Object_var obj = SMESH::SObjectToObject( sobj );
        SMESH::SMESH_IDSource_var idSrc = SMESH::SMESH_IDSource::_narrow( obj );
        if ( !CORBA::is_nil( idSrc ) )
@@@ -263,7 -263,7 +263,7 @@@ QString SMESHGUI_Selection::displayMode
  
  bool SMESHGUI_Selection::isQuadratic( int ind ) const
  {
-   _PTR(SObject) so = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+   _PTR(SObject) so = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
    if ( !so )
      return false;
    SMESH::SMESH_IDSource_var idSource =  SMESH::SObjectToInterface<SMESH::SMESH_IDSource>( so );
@@@ -384,7 -384,6 +384,7 @@@ QString SMESHGUI_Selection::controlMode
      case SMESH_Actor::eCoincidentElems1D:     mode = "eCoincidentElems1D";     break;
      case SMESH_Actor::eCoincidentElems2D:     mode = "eCoincidentElems2D";     break;
      case SMESH_Actor::eCoincidentElems3D:     mode = "eCoincidentElems3D";     break;
 +    case SMESH_Actor::eCustomControl:         mode = "eCustomControl";         break;
      default:break;
      }
    }
@@@ -466,7 -465,7 +466,7 @@@ bool SMESHGUI_Selection::isAutoColor( i
  {
    if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] != "Unknown" )
    {
-     _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+     _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
      CORBA::Object_var obj = SMESH::SObjectToObject( sobj );
  
      if ( !CORBA::is_nil( obj ) ) {
@@@ -487,7 -486,7 +487,7 @@@ int SMESHGUI_Selection::numberOfNodes( 
  {
    if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] != "Unknown" )
    {
-     _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+     _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
      CORBA::Object_var obj = SMESH::SObjectToObject( sobj );
  
      if ( !CORBA::is_nil( obj ) ) {
@@@ -518,7 -517,7 +518,7 @@@ int SMESHGUI_Selection::dim( int ind ) 
    int dim = -1;
    if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] != "Unknown" )
    {
-     _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+     _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
      CORBA::Object_var obj = SMESH::SObjectToObject( sobj );
  
      if ( !CORBA::is_nil( obj ) ) {
@@@ -553,7 -552,7 +553,7 @@@ bool SMESHGUI_Selection::isComputable( 
                                                myTypes[ind].startsWith("Mesh " )))
    {
      QMap<int,int> modeMap;
-     _PTR(SObject) meshSO = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+     _PTR(SObject) meshSO = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
  
      _PTR(SComponent) component = meshSO->GetFatherComponent();
      if ( meshSO->Depth() - component->Depth() > 1 ) // sub-mesh, get a mesh
@@@ -579,7 -578,7 +579,7 @@@ bool SMESHGUI_Selection::isPreComputabl
      if ( maxDim < 2 ) // we can preview 1D or 2D
      {
        QMap<int,int> modeMap;
-       _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+       _PTR(SObject) pMesh = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
        SMESHGUI_PrecomputeOp::getAssignedAlgos( pMesh, modeMap );
        if ( modeMap.size() > 1 )
          return (( modeMap.contains( SMESH::DIM_3D )) ||
@@@ -598,7 -597,7 +598,7 @@@ bool SMESHGUI_Selection::hasGeomReferen
  {
    if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] != "Unknown" )
    {
-     _PTR(SObject) so = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+     _PTR(SObject) so = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
      GEOM::GEOM_Object_var shape = SMESH::GetShapeOnMeshOrSubMesh( so );
      return !shape->_is_nil();
    }
@@@ -615,7 -614,7 +615,7 @@@ bool SMESHGUI_Selection::isEditableHyp
    bool isEditable = true;
    if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] == "Hypothesis" )
    {
-     _PTR(SObject) so = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+     _PTR(SObject) so = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
      SMESH::SMESH_Hypothesis_var hyp = SMESH::SObjectToInterface<SMESH::SMESH_Hypothesis>( so );
      if ( !hyp->_is_nil() )
      {
@@@ -634,7 -633,7 +634,7 @@@ bool SMESHGUI_Selection::isVisible( in
  {
    if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] != "Unknown" )
    {
-     SMESH_Actor* actor = SMESH::FindActorByEntry( entry( ind ).toLatin1().data() );
+     SMESH_Actor* actor = SMESH::FindActorByEntry( entry( ind ).toUtf8().data() );
      if ( actor && actor->hasIO() ) {
        if ( SVTK_ViewWindow* aViewWindow = SMESH::GetCurrentVtkView() )
          return aViewWindow->isVisible( actor->getIO() );
@@@ -652,7 -651,7 +652,7 @@@ bool SMESHGUI_Selection::hasChildren( i
  {
    if ( ind >= 0 )
    {
-     _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().data() );
+     _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().data() );
      if ( sobj ) 
        return SMESH::getStudy()->GetUseCaseBuilder()->HasChildren( sobj );
    }
@@@ -670,7 -669,7 +670,7 @@@ int SMESHGUI_Selection::nbChildren( in
    if ( ind >= 0 )
    {
      _PTR(Study) study = SMESH::getStudy();
-     _PTR(SObject) sobj = study->FindObjectID( entry( ind ).toLatin1().data() );
+     _PTR(SObject) sobj = study->FindObjectID( entry( ind ).toUtf8().data() );
      if ( sobj && study->GetUseCaseBuilder()->IsUseCaseNode( sobj ) ) {
        _PTR(UseCaseIterator) it = study->GetUseCaseBuilder()->GetUseCaseIterator( sobj );
        for ( it->Init( false ); it->More(); it->Next() ) nb++;
@@@ -697,7 -696,7 +697,7 @@@ bool SMESHGUI_Selection::isContainer( i
  int SMESHGUI_Selection::type( const QString& entry )
  {
    int res = -1;
-   _PTR(SObject) obj = SalomeApp_Application::getStudy()->FindObjectID( entry.toLatin1().data() );
+   _PTR(SObject) obj = SalomeApp_Application::getStudy()->FindObjectID( entry.toUtf8().data() );
    if ( obj ) {
      _PTR(SObject) ref;
      if ( obj->ReferencedObject( ref ) )
@@@ -793,7 -792,7 +793,7 @@@ QString SMESHGUI_Selection::typeName( c
  bool SMESHGUI_Selection::isImported( const int ind ) const
  {
    bool res = false;
-   _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().constData() );
+   _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().constData() );
    if ( sobj )
    {
      SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_narrow( SMESH::SObjectToObject( sobj ) );
@@@ -823,7 -822,7 +823,7 @@@ int SMESHGUI_Selection::guiState(
  
  QString SMESHGUI_Selection::groupType( int ind ) const
  {
-   _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toLatin1().constData() );
+   _PTR(SObject) sobj = SMESH::getStudy()->FindObjectID( entry( ind ).toUtf8().constData() );
    if ( sobj )
    {
      SMESH::SMESH_Group_var g = SMESH::SObjectToInterface<SMESH::SMESH_Group>( sobj );
index e57e65c7711bedca692cd47332a097e093a75e7b,bbf493e35e0ac4f262f1e670b788c95a87668255..6b1f68f7bf76f93cd1551500ef84b1ef78817f2d
@@@ -250,11 -250,11 +250,11 @@@ void SMESHGUI_SelectionOp::setSelection
  // Purpose : Highlight object in 3d viewer
  //=======================================================================
  void SMESHGUI_SelectionOp::highlight( const Handle( SALOME_InteractiveObject )& obj,
 -                                      const bool hilight, const bool immediately )
 +                                      const bool highlight, const bool immediately )
  {
    SVTK_ViewWindow* wnd = viewWindow();
    if( wnd )
 -    wnd->highlight( obj, hilight, immediately );
 +    wnd->highlight( obj, highlight, immediately );
  }
  
  //=======================================================================
@@@ -304,7 -304,7 +304,7 @@@ int SMESHGUI_SelectionOp::typeById( con
      if( t<0 )
      {
        //try to get GEOM type
-       _PTR( SObject ) sobj = aStudy->FindObjectID( str.toLatin1().data() );
+       _PTR( SObject ) sobj = aStudy->FindObjectID( str.toUtf8().data() );
        if( sobj )
        {
          GEOM::GEOM_Object_var obj = GEOM::GEOM_Object::_narrow(
      int id = _id.toInt( &ok );
      if( ok )
      {
-       _PTR( SObject ) sobj = aStudy->FindObjectID( entry.toLatin1().data() );
+       _PTR( SObject ) sobj = aStudy->FindObjectID( entry.toUtf8().data() );
        SMESH::SMESH_Mesh_var mesh = SMESH::SMESH_Mesh::_narrow( 
          dynamic_cast<SALOMEDS_SObject*>( sobj.get() )->GetObject() );
        SMESH::SMESH_subMesh_var submesh = SMESH::SMESH_subMesh::_narrow( 
index b17fed16fd0713ebb412cca2a8daf608201d8229,73d9727dce5c82f2340542eae0fb96d54c36a262..409c700b7a8b552be6d80a140812573166e0c068
@@@ -287,7 -287,7 +287,7 @@@ void SMESHGUI_ShapeByMeshOp::SetMesh (S
        myHasSolids = nbShapes[ TopAbs_SOLID ];
      }
  
 -  // disable inexistant elem types
 +  // disable inexistent elem types
    for ( int i = 0; i < myDlg->myElemTypeGroup->buttons().count(); ++i ) {
      if ( QAbstractButton* button = myDlg->myElemTypeGroup->button( i ) )
        button->setEnabled( hasElement[ i ] );
@@@ -314,7 -314,7 +314,7 @@@ void SMESHGUI_ShapeByMeshOp::commitOper
        // GEOM_Object is published -> no need to UnRegister()
        myGeomObj = GEOM::GEOM_Object::_duplicate
          (SMESHGUI::GetSMESHGen()->GetGeometryByMeshElement
-          ( myMesh.in(), elemID, myDlg->myGeomName->text().toLatin1().constData()) );
+          ( myMesh.in(), elemID, myDlg->myGeomName->text().toUtf8().constData()) );
      }
      else
      {
        QString aNewGeomGroupName ( myDlg->myGeomName->text() );
        SALOMEDS::SObject_wrap aNewGroupSO =
          geomGen->AddInStudy( aGeomObject,
-                              aNewGeomGroupName.toLatin1().data(), aMeshShape);
+                              aNewGeomGroupName.toUtf8().data(), aMeshShape);
  
        // get a GEOM_Object already published, which doesn't need UnRegister()
        CORBA::Object_var obj = aNewGroupSO->GetObject();
index f79817a8cda1eeefd120d971975128aa06afb2aa,5c27f3bd85a41f20dd97443c8f2945b08ca352cb..45161fbb06cca0b9c61e618c0765c233c703bc42
@@@ -268,7 -268,7 +268,7 @@@ SMESHGUI_SmoothingDlg::SMESHGUI_Smoothi
    myMeshOrSubMeshOrGroupFilter =
      new SMESH_LogicalFilter (aListOfFilters, SMESH_LogicalFilter::LO_OR);
  
 -  myHelpFileName = "smoothing_page.html";
 +  myHelpFileName = "smoothing.html";
  
    Init();
  
@@@ -382,7 -382,7 +382,7 @@@ bool SMESHGUI_SmoothingDlg::ClickOnAppl
        SUIT_OverrideCursor aWaitCursor;
        SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
  
-       myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+       myMesh->SetParameters( aParameters.join(":").toUtf8().constData() );
  
        if ( CheckBoxParametric->isChecked() ) {
          if(CheckBoxMesh->isChecked())
@@@ -518,7 -518,7 +518,7 @@@ void SMESHGUI_SmoothingDlg::onTextChang
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  
 -  // hilight entered elements/nodes
 +  // highlight entered elements/nodes
    SMDS_Mesh* aMesh = myActor ? myActor->GetObject()->GetMesh() : 0;
    QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts);
  
index d7b8a1a910534aff5ccdf843667919a2cc763e91,6bd868a8069602ca0e70a00ca63a5d6f48cf4ac4..bdf464aa0b2cd974d664fa50d9665d300d3e454f
@@@ -125,7 -125,7 +125,7 @@@ void SMESHGUI_SplitBiQuadOp::startOpera
    {
      myDlg = new SMESHGUI_SplitBiQuadDlg();
    }
 -  myHelpFileName = "split_biquad_to_linear_page.html";
 +  myHelpFileName = "split_biquad_to_linear.html";
  
    SMESHGUI_SelectionOp::startOperation();
  
@@@ -202,7 -202,7 +202,7 @@@ bool SMESHGUI_SplitBiQuadOp::onApply(
    int nbObj = 0;
    for ( int i = 0; i < entries.count() ; ++i )
    {
-     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( entries[i].toLatin1().data() );
+     _PTR(SObject) pObj = SMESH::getStudy()->FindObjectID( entries[i].toUtf8().data() );
      SMESH::SMESH_IDSource_var obj = SMESH::SObjectToInterface<SMESH::SMESH_IDSource>( pObj );
      if( !CORBA::is_nil( obj ))
      {
index c7e65a36df4d0b91e9b37b94cad52fb3ed5db1ce,873c8a4b80466b974ee3bb5727a2080efdc9d5ac..bcd945b1dfe1be5c0299fd4915a1692bccc2d121
@@@ -289,7 -289,7 +289,7 @@@ SMESHGUI_SymmetryDlg::SMESHGUI_Symmetry
    myMeshOrSubMeshOrGroupFilter =
      new SMESH_LogicalFilter (aListOfFilters, SMESH_LogicalFilter::LO_OR);
  
 -  myHelpFileName = "symmetry_page.html";
 +  myHelpFileName = "symmetry.html";
  
    Init();
  
@@@ -512,12 -512,12 +512,12 @@@ bool SMESHGUI_SymmetryDlg::ClickOnApply
          if(CheckBoxMesh->isChecked())
            for ( int i = 0; i < myObjects.count(); i++ ) {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-             myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              aMeshEditor->MirrorObject(myObjects[i], aMirror, aMirrorType, false );
            }
          else {
            SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-           myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+           myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
            aMeshEditor->Mirror(anElementsId, aMirror, aMirrorType, false );
          }
          break;
            if(CheckBoxMesh->isChecked())
              for ( int i = 0; i < myObjects.count(); i++ ) {
                SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-               myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+               myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
                groups = aMeshEditor->MirrorObjectMakeGroups(myObjects[i], aMirror, aMirrorType);
              }
            else {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-             myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              groups = aMeshEditor->MirrorMakeGroups(anElementsId, aMirror, aMirrorType);
            }
          }
            if(CheckBoxMesh->isChecked())
              for ( int i = 0; i < myObjects.count(); i++ ) {
                SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-               myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+               myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
                aMeshEditor->MirrorObject(myObjects[i], aMirror, aMirrorType, true);
              }
            else {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-             myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              aMeshEditor->Mirror(anElementsId, aMirror, aMirrorType, true);
            }
          }
            for ( int i = 0; i < myObjects.count(); i++ ) {
              QString aName = SMESH::UniqueMeshName( LineEditNewMesh->text().replace( "*", myObjectsNames[i] ) );
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-             myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              mesh = aMeshEditor->MirrorObjectMakeMesh(myObjects[i], aMirror, aMirrorType, makeGroups,
-                                                      aName.toLatin1().data());
+                                                      aName.toUtf8().data());
              if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
                anEntryList.append( aSObject->GetID().c_str() );
            }
          else {
            SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-           myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+           myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
            mesh = aMeshEditor->MirrorMakeMesh(anElementsId, aMirror, aMirrorType, makeGroups,
-                                              LineEditNewMesh->text().toLatin1().data());
+                                              LineEditNewMesh->text().toUtf8().data());
            if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
              anEntryList.append( aSObject->GetID().c_str() );
          }
@@@ -693,7 -693,7 +693,7 @@@ void SMESHGUI_SymmetryDlg::onTextChang
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  
 -  // hilight entered elements
 +  // highlight entered elements
    SMDS_Mesh* aMesh = 0;
    if (myActor)
      aMesh = myActor->GetObject()->GetMesh();
index e162e6ae299af2c7797917811b7f21d6a35e445f,ecd742a77fcbfdf707e986ef50ff7fd95ef87aac..52ea6813b62c717b3bc5ec9cd77b5c2cc3b930c2
@@@ -295,7 -295,7 +295,7 @@@ SMESHGUI_TranslationDlg::SMESHGUI_Trans
    myMeshOrSubMeshOrGroupFilter =
      new SMESH_LogicalFilter(aListOfFilters, SMESH_LogicalFilter::LO_OR);
  
 -  myHelpFileName = "translation_page.html";
 +  myHelpFileName = "translation.html";
  
    Init();
  
@@@ -520,12 -520,12 +520,12 @@@ bool SMESHGUI_TranslationDlg::ClickOnAp
          if(CheckBoxMesh->isChecked())
            for ( int i = 0; i < myObjects.count(); i++ ) {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-             myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              aMeshEditor->TranslateObject(myObjects[i], aVector, false);
            }
          else {
            SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-           myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+           myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
            aMeshEditor->Translate(anElementsId, aVector, false);
          }
          break;
            if(CheckBoxMesh->isChecked()) {
              for ( int i = 0; i < myObjects.count(); i++ ) {
                SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-               myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+               myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
                groups = aMeshEditor->TranslateObjectMakeGroups(myObjects[i],aVector);
              }
            }
            else {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-             myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              groups = aMeshEditor->TranslateMakeGroups(anElementsId, aVector);
            }
          }
            if(CheckBoxMesh->isChecked()) {
              for ( int i = 0; i < myObjects.count(); i++ ) {
                SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-               myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+               myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
                aMeshEditor->TranslateObject(myObjects[i], aVector, true);
              }
            }
            else {
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-             myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              aMeshEditor->Translate(anElementsId, aVector, true);
            }
          }
            for ( int i = 0; i < myObjects.count(); i++ ) {
              QString aName = SMESH::UniqueMeshName( LineEditNewMesh->text().replace( "*", myObjectsNames[i] ) );
              SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor();
-             myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+             myMeshes[i]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
              mesh = aMeshEditor->TranslateObjectMakeMesh(myObjects[i], aVector, makeGroups,
-                                                         aName.toLatin1().data());
+                                                         aName.toUtf8().data());
              if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
                anEntryList.append( aSObject->GetID().c_str() );
            }
          }
          else {
            SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor();
-           myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData());
+           myMeshes[0]->SetParameters(aParameters.join( ":" ).toUtf8().constData());
            mesh = aMeshEditor->TranslateMakeMesh(anElementsId, aVector, makeGroups,
-                                                 LineEditNewMesh->text().toLatin1().data());
+                                                 LineEditNewMesh->text().toUtf8().data());
            if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
              anEntryList.append( aSObject->GetID().c_str() );
          }
@@@ -705,7 -705,7 +705,7 @@@ void SMESHGUI_TranslationDlg::onTextCha
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  
 -  // hilight entered elements
 +  // highlight entered elements
    SMDS_Mesh* aMesh = 0;
    if (myActor)
      aMesh = myActor->GetObject()->GetMesh();
index f424fb6dcdde740cb7e3a2b4b512ce8d7880e45a,e016bb1ea3620173b6476a4510230018474dc17d..7273b404b437db940b40fd2d276659fa2336f32d
@@@ -177,7 -177,7 +177,7 @@@ namespace StdMeshersGU
      myStepSpin->SetStep( 1. );
      myStepSpin->SetValue( myStep = 1. );
  
 -    // 3) Coodrinates/Spacing group
 +    // 3) Coordinates/Spacing group
      QFrame*    csFrame = new QFrame( this );
      QVBoxLayout* scLay = new QVBoxLayout( csFrame );
      scLay->setMargin( 0 );
@@@ -1080,7 -1080,7 +1080,7 @@@ QString StdMeshersGUI_CartesianParamCre
    try
    {
      if( isCreation() )
-       SMESH::SetName( SMESH::FindSObject( h ), myName->text().toLatin1().constData() );
+       SMESH::SetName( SMESH::FindSObject( h ), myName->text().toUtf8().constData() );
  
      // threshold
      h->SetVarParameter( myThreshold->text().toLatin1().constData(), "SetSizeThreshold" );
      params << myPointSpin[0]->text();
      params << myPointSpin[1]->text();
      params << myPointSpin[2]->text();
-     h->SetVarParameter( params.join(":").toLatin1().constData(), "SetFixedPoint" );
+     h->SetVarParameter( params.join(":").toUtf8().constData(), "SetFixedPoint" );
      params.clear();
  
      SMESH::PointStruct ps;
        params << spins[ax][1]->text();
        params << spins[ax][2]->text();
      }
-     h->SetVarParameter( params.join(":").toLatin1().constData(), "SetAxesDirs" );
+     h->SetVarParameter( params.join(":").toUtf8().constData(), "SetAxesDirs" );
  
      SMESH::DirStruct axDir[3];
      for ( int ax = 0; ax < 3; ++ax )
  
  QString StdMeshersGUI_CartesianParamCreator::helpPage() const
  {
 -  return "cartesian_algo_page.html#cartesian_hyp_anchor";
 +  return "cartesian_algo.html#cartesian-hyp-anchor";
  }
  
  //================================================================================
index d034a08d0ad7df74413e4dbd7ba15c038696c02f,42c6ac2b9da46a6da14d7e8093a362bc079ab522..1cec406e2f3564e4103afc3d4b1cf346042f37d9
@@@ -74,7 -74,7 +74,7 @@@ StdMeshersGUI_QuadrangleParamCreator::S
  
  QString  StdMeshersGUI_QuadrangleParamCreator::helpPage() const
  {
 -  return "a2d_meshing_hypo_page.html#hypo_quad_params_anchor";
 +  return "2d_meshing_hypo.html#hypo-quad-params-anchor";
  }
  
  //=======================================================================
@@@ -249,7 -249,7 +249,7 @@@ QString  StdMeshersGUI_QuadrangleParamC
  
    // name
    if( myName )
-     SMESH::SetName( SMESH::FindSObject( h ), myName->text().toLatin1().constData() );
+     SMESH::SetName( SMESH::FindSObject( h ), myName->text().toUtf8().constData() );
  
    // transition
    h->SetQuadType( StdMeshers::QuadType( myTypeWdg->GetType()) );