-// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 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
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : SMESHGUI_MakeNodeAtPointDlg.cxx
#include <SALOME_ListIO.hxx>
#include <SUIT_Desktop.h>
#include <SVTK_ViewModel.h>
+#include <SVTK_ViewWindow.h>
#include <SalomeApp_Tools.h>
#include <SalomeApp_TypeFilter.h>
#include <SUIT_ResourceMgr.h>
aCoordGrpLayout->addWidget(myY);
aCoordGrpLayout->addWidget(aZLabel);
aCoordGrpLayout->addWidget(myZ);
+ aCoordGrpLayout->setStretchFactor(myX, 1);
+ aCoordGrpLayout->setStretchFactor(myY, 1);
+ aCoordGrpLayout->setStretchFactor(myZ, 1);
// node ID
aCoordLayout->addWidget(myDY, 1, 3);
aCoordLayout->addWidget(aDZLabel, 1, 4);
aCoordLayout->addWidget(myDZ, 1, 5);
+ aCoordLayout->setColumnStretch(1, 1);
+ aCoordLayout->setColumnStretch(3, 1);
+ aCoordLayout->setColumnStretch(5, 1);
myAutoSearchChkBox = new QCheckBox( tr("AUTO_SEARCH"), myNodeToMoveGrp);
myPreviewChkBox = new QCheckBox( tr("PREVIEW"), myNodeToMoveGrp);
connect(myDlg->myId,SIGNAL (textChanged(const QString&)),SLOT(redisplayPreview()));
connect(myDlg->myPreviewChkBox, SIGNAL (toggled(bool)),SLOT(redisplayPreview()));
connect(myDlg->myAutoSearchChkBox,SIGNAL (toggled(bool)),SLOT(redisplayPreview()));
+
+ // IPAL22913: TC6.5.0: selected in "Move node" dialog box node is not highlighted
+ // note: this slot seems to be lost together with removed obsolete SMESHGUI_MoveNodesDlg class
+ connect(myDlg->myId,SIGNAL (textChanged(const QString&)),SLOT(onTextChange(const QString&)));
}
//=======================================================================
onSelectionDone(); // init myMeshActor
if ( myMeshActor ) {
-// myMeshOldDisplayMode = myMeshActor->GetRepresentation();
// myMeshActor->SetRepresentation( VTK_WIREFRAME );
myMeshActor->SetPointRepresentation(true);
SMESH::RepaintCurrentView();
myNoPreview = true;
mySimulation->SetVisibility(false);
if ( myMeshActor ) {
-// myMeshActor->SetRepresentation( myMeshOldDisplayMode );
myMeshActor->SetPointRepresentation(false);
SMESH::RepaintCurrentView();
myMeshActor = 0;
return false;
}
+ QStringList aParameters;
+ aParameters << myDlg->myX->text();
+ aParameters << myDlg->myY->text();
+ aParameters << myDlg->myZ->text();
try {
SMESH::SMESH_Mesh_var aMesh = SMESH::GetMeshByIO(myMeshActor->getIO());
if (aMeshEditor->_is_nil())
return true;
+ aMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
+
bool ok;
int anId = myDlg->myId->text().toInt( &ok );
if( !ok || anId < 1 )
if (aResult)
{
- QStringList aParameters;
- aParameters << myDlg->myX->text();
- aParameters << myDlg->myY->text();
- aParameters << myDlg->myZ->text();
- aMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
-
myDlg->myCurrentX->SetValue(0);
myDlg->myCurrentY->SetValue(0);
myDlg->myCurrentZ->SetValue(0);
myNoPreview = false;
}
+//================================================================================
+/*!
+ * \brief SLOT called when the node id is manually changed
+ */
+//================================================================================
+
+void SMESHGUI_MakeNodeAtPointOp::onTextChange( const QString& theText )
+{
+ if( myMeshActor )
+ {
+ if( SMDS_Mesh* aMesh = myMeshActor->GetObject()->GetMesh() )
+ {
+ Handle(SALOME_InteractiveObject) anIO = myMeshActor->getIO();
+ SALOME_ListIO aList;
+ aList.Append( anIO );
+ selectionMgr()->setSelectedObjects( aList, false );
+
+ if( const SMDS_MeshNode* aNode = aMesh->FindNode( theText.toInt() ) )
+ {
+ TColStd_MapOfInteger aListInd;
+ aListInd.Add( aNode->GetID() );
+ selector()->AddOrRemoveIndex( anIO, aListInd, false );
+ if( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( SMESHGUI::GetSMESHGUI() ) )
+ aViewWindow->highlight( anIO, true, true );
+ }
+ }
+ }
+}
+
//================================================================================
/*!
* \brief Activate Node selection