IPAL22913: TC6.5.0: selected in "Move node" dialog box node is not highlighted

This commit is contained in:
ouv 2012-04-20 12:58:07 +00:00
parent 8a5a32d1a4
commit 547f8b8e54
2 changed files with 35 additions and 0 deletions

View File

@ -47,6 +47,7 @@
#include <SALOME_ListIO.hxx> #include <SALOME_ListIO.hxx>
#include <SUIT_Desktop.h> #include <SUIT_Desktop.h>
#include <SVTK_ViewModel.h> #include <SVTK_ViewModel.h>
#include <SVTK_ViewWindow.h>
#include <SalomeApp_Tools.h> #include <SalomeApp_Tools.h>
#include <SalomeApp_TypeFilter.h> #include <SalomeApp_TypeFilter.h>
#include <SUIT_ResourceMgr.h> #include <SUIT_ResourceMgr.h>
@ -324,6 +325,10 @@ SMESHGUI_MakeNodeAtPointOp::SMESHGUI_MakeNodeAtPointOp()
connect(myDlg->myId,SIGNAL (textChanged(const QString&)),SLOT(redisplayPreview())); connect(myDlg->myId,SIGNAL (textChanged(const QString&)),SLOT(redisplayPreview()));
connect(myDlg->myPreviewChkBox, SIGNAL (toggled(bool)),SLOT(redisplayPreview())); connect(myDlg->myPreviewChkBox, SIGNAL (toggled(bool)),SLOT(redisplayPreview()));
connect(myDlg->myAutoSearchChkBox,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&)));
} }
//======================================================================= //=======================================================================
@ -717,6 +722,35 @@ void SMESHGUI_MakeNodeAtPointOp::redisplayPreview()
myNoPreview = false; 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 * \brief Activate Node selection

View File

@ -68,6 +68,7 @@ protected slots:
private slots: private slots:
void onSelectionDone(); void onSelectionDone();
void redisplayPreview(); void redisplayPreview();
void onTextChange( const QString& );
private: private:
SMESHGUI_MakeNodeAtPointDlg* myDlg; SMESHGUI_MakeNodeAtPointDlg* myDlg;