X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshPatternDlg.cxx;h=cc7df43eee0a445a077168f67c0c228f5bfa0214;hp=46bf3ef55f73d3773143e785055c307d01a84b01;hb=499f29d24922cec66e41b41a0039a954993bc6df;hpb=5d68554076bbca0e1e95fb0db215a6c2b84b6c54 diff --git a/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx b/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx old mode 100755 new mode 100644 index 46bf3ef55..cc7df43ee --- a/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -58,7 +58,7 @@ #include #include -#include +//#include // SALOME KERNEL includes #include @@ -129,7 +129,7 @@ SMESHGUI_MeshPatternDlg::SMESHGUI_MeshPatternDlg( SMESHGUI* theModule ) mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector(); - myHelpFileName = "pattern_mapping_page.html"; + myHelpFileName = "pattern_mapping.html"; Init(); } @@ -391,6 +391,8 @@ void SMESHGUI_MeshPatternDlg::Init() connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone())); connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate())); connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(reject())); + connect(mySMESHGUI, SIGNAL(SignalActivatedViewManager()), SLOT( onOpenView())); + connect(mySMESHGUI, SIGNAL(SignalCloseView()), SLOT( onCloseView())); myTypeGrp->button(Type_2d)->setChecked(true); onTypeChanged(Type_2d); @@ -473,13 +475,13 @@ 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 ids; getIds(ids); - SMESH::long_array_var varIds = new SMESH::long_array(); + SMESH::smIdType_array_var varIds = new SMESH::smIdType_array(); varIds->length(ids.count()); - int i = 0; + CORBA::ULong i = 0; for (QList::iterator it = ids.begin(); it != ids.end(); ++it) varIds[i++] = *it; myType == Type_2d @@ -502,7 +504,7 @@ bool SMESHGUI_MeshPatternDlg::onApply() _PTR(SObject) aSO = SMESH::FindSObject(myMesh.in()); SMESH_Actor* anActor = SMESH::FindActorByEntry(aSO->GetID().c_str()); if (!anActor) { - anActor = SMESH::CreateActor(aSO->GetStudy(), aSO->GetID().c_str()); + anActor = SMESH::CreateActor(aSO->GetID().c_str()); if (anActor) { SMESH::DisplayActor(SMESH::GetActiveWindow(), anActor); SMESH::FitAll(); @@ -548,6 +550,7 @@ void SMESHGUI_MeshPatternDlg::onOk() void SMESHGUI_MeshPatternDlg::reject() { mySelectionMgr->clearFilters(); + mySelInput = Mesh; SMESH::SetPickable(); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(ActorSelection); @@ -558,6 +561,32 @@ void SMESHGUI_MeshPatternDlg::reject() QDialog::reject(); } +//================================================================================= +// function : onOpenView() +// purpose : +//================================================================================= +void SMESHGUI_MeshPatternDlg::onOpenView() +{ + if(!mySelector) { + mySelector = SMESH::GetViewWindow( mySMESHGUI )->GetSelector(); + mySMESHGUI->EmitSignalDeactivateDialog(); + setEnabled(true); + activateSelection(); + connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone())); + } +} + +//================================================================================= +// function : onCloseView() +// purpose : +//================================================================================= +void SMESHGUI_MeshPatternDlg::onCloseView() +{ + onDeactivate(); + mySelector = 0; +} + + //================================================================================= // function : onHelp() // purpose : @@ -695,7 +724,7 @@ void SMESHGUI_MeshPatternDlg::resetSelInput() //======================================================================= // name : SMESHGUI_MeshPatternDlg::onDeactivate -// Purpose : SLOT called when dialog must be deativated +// Purpose : SLOT called when dialog must be deactivated //======================================================================= void SMESHGUI_MeshPatternDlg::onDeactivate() { @@ -715,8 +744,13 @@ void SMESHGUI_MeshPatternDlg::enterEvent (QEvent*) if (myIsCreateDlgOpen) return; - if (myReverseChk->isChecked()) + if (myReverseChk->isChecked()) { + SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ); + if ( aViewWindow && !mySelector) { + mySelector = aViewWindow->GetSelector(); + } displayPreview(); + } mySMESHGUI->EmitSignalDeactivateDialog(); setEnabled(true); activateSelection(); @@ -776,10 +810,10 @@ void SMESHGUI_MeshPatternDlg::onOpen() SUIT_FileDlg* aDlg = new SUIT_FileDlg (this, true); aDlg->setWindowTitle(tr("LOAD_PATTERN")); aDlg->setFileMode(QFileDialog::ExistingFile); - aDlg->setFilters(prepareFilters()); + aDlg->setNameFilters(prepareFilters()); if (!myName->text().isEmpty()) aDlg->selectFile(myName->text() + ".smp"); - QPushButton* anOkBtn = qFindChild( aDlg, "OK" ); + QPushButton* anOkBtn = aDlg->findChild( "OK" ); if (anOkBtn != 0) anOkBtn->setText(tr("SMESH_BUT_OK")); @@ -793,9 +827,9 @@ void SMESHGUI_MeshPatternDlg::onOpen() if (QFileInfo(fName).suffix().isEmpty()) fName = autoExtension(fName); - fName = QDir::convertSeparators(fName); + fName = QDir::toNativeSeparators(fName); - QString prev = QDir::convertSeparators(myName->text()); + QString prev = QDir::toNativeSeparators(myName->text()); if (prev == fName) return; @@ -871,7 +905,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) @@ -1116,7 +1150,7 @@ bool SMESHGUI_MeshPatternDlg::loadFromFile (const QString& theName) 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; @@ -1224,9 +1258,9 @@ vtkUnstructuredGrid* SMESHGUI_MeshPatternDlg::getGrid() SMESH::point_array_var pnts; QList ids; if (isRefine() && getIds(ids)) { - SMESH::long_array_var varIds = new SMESH::long_array(); + SMESH::smIdType_array_var varIds = new SMESH::smIdType_array(); varIds->length(ids.count()); - int i = 0; + CORBA::ULong i = 0; for (QList::iterator it = ids.begin(); it != ids.end(); ++it) varIds[i++] = *it; pnts = myType == Type_2d @@ -1269,7 +1303,7 @@ vtkUnstructuredGrid* SMESHGUI_MeshPatternDlg::getGrid() for (int i = 0, n = elemPoints->length(); i < n; i++) aCellsSize += elemPoints[ i ].length(); - // Create unstructured grid and other usefull arrays + // Create unstructured grid and other useful arrays vtkUnstructuredGrid* aGrid = vtkUnstructuredGrid::New(); vtkCellArray* aConnectivity = vtkCellArray::New(); @@ -1305,12 +1339,13 @@ vtkUnstructuredGrid* SMESHGUI_MeshPatternDlg::getGrid() else aCellTypesArray->InsertNextValue(VTK_EMPTY_CELL); } - VTKViewer_CellLocationsArray* aCellLocationsArray = VTKViewer_CellLocationsArray::New(); + vtkIdTypeArray* aCellLocationsArray = vtkIdTypeArray::New(); aCellLocationsArray->SetNumberOfComponents(1); aCellLocationsArray->SetNumberOfTuples(aNbCells); aConnectivity->InitTraversal(); - for (vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell(npts, pts); idType++) + vtkIdType const *pts(nullptr); + for (vtkIdType idType = 0, npts; aConnectivity->GetNextCell(npts, pts); idType++) aCellLocationsArray->SetValue(idType, aConnectivity->GetTraversalLocation(npts)); aGrid->SetPoints(aPoints); @@ -1367,7 +1402,7 @@ void SMESHGUI_MeshPatternDlg::onTextChanged (const QString& theNewText) activateSelection(); } - // hilight entered elements/nodes + // highlight entered elements/nodes SMDS_Mesh* aMesh = 0; SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh); if (anActor) @@ -1376,7 +1411,7 @@ void SMESHGUI_MeshPatternDlg::onTextChanged (const QString& theNewText) if (aMesh) { QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts); - TColStd_MapOfInteger newIndices; + SVTK_TVtkIDsMap newIndices; for (int i = 0; i < aListId.count(); i++) { const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());