#include "SMESH_Actor.h"
#include "SMDS_Mesh.hxx"
-#include "SalomeApp_SelectionMgr.h"
+#include "LightApp_SelectionMgr.h"
#include "SUIT_ResourceMgr.h"
#include "SUIT_MessageBox.h"
#include "SUIT_Desktop.h"
WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),
mySelector(SMESH::GetViewWindow(theModule)->GetSelector()),
mySelectionMgr(SMESH::GetSelectionMgr(theModule)),
- myViewWindow(SMESH::GetViewWindow(theModule)),
mySMESHGUI(theModule)
{
QVBoxLayout* aDlgLay = new QVBoxLayout(this, MARGIN, SPACING);
this->show();
// set selection mode
- myViewWindow->SetSelectionMode(EdgeOfCellSelection);
+ if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+ aViewWindow->SetSelectionMode(EdgeOfCellSelection);
onSelectionDone();
}
//=======================================================================
void SMESHGUI_SingleEditDlg::onClose()
{
- myViewWindow->SetSelectionMode(ActorSelection);
- mySelectionMgr->clearSelected();
+ if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+ aViewWindow->SetSelectionMode(ActorSelection);
+ //mySelectionMgr->clearSelected();
disconnect(mySelectionMgr, 0, this, 0);
disconnect(mySMESHGUI, 0, this, 0);
mySMESHGUI->ResetState();
// find a triangle and an edge nb
const SMDS_MeshElement* tria[2];
allOk &= a2Nodes[0] != a2Nodes[1] && findTriangles(a2Nodes[0],a2Nodes[1],tria[0],tria[1]);
- if(allOk){
- myBusy = true; // block onSelectionDone()
+ myBusy = true; // block onSelectionDone()
+ if(allOk)
+ {
newIndices.Add(tria[0]->GetID());
- mySelector->AddOrRemoveIndex(anIO,newIndices, true);
const SMDS_MeshNode* a3Nodes [3];
SMDS_ElemIteratorPtr it;
}
}
}
-
- newIndices.Clear();
newIndices.Add(-edgeInd-1);
- mySelector->AddOrRemoveIndex(anIO,newIndices,true);
- myBusy = false;
myOkBtn->setEnabled(true);
myApplyBtn->setEnabled(true);
}
+ mySelector->AddOrRemoveIndex(anIO,newIndices, false);
+ SMESH::GetViewWindow(mySMESHGUI)->highlight( anIO, true, true );
+
+ myBusy = false;
}
}
}
myActor = SMESH::FindActorByEntry(anIO->getEntry());
if(myActor){
TVisualObjPtr aVisualObj = myActor->GetObject();
- if(SMDS_Mesh* aMesh = aVisualObj->GetMesh()){
- if(SMESH::GetEdgeNodes(mySelector, aVisualObj, anId1, anId2) >= 1){
+ if(SMDS_Mesh* aMesh = aVisualObj->GetMesh())
+ {
+ const SMDS_MeshElement* tria[2];
+ if( SMESH::GetEdgeNodes( mySelector, aVisualObj, anId1, anId2 ) >= 1 &&
+ findTriangles( aMesh->FindNode( anId1 ), aMesh->FindNode( anId2 ), tria[0],tria[1] ) )
+ {
QString aText = QString("%1-%2").arg(anId1).arg(anId2);
myBusy = true;
myEdge->setText(aText);
myBusy = false;
- const SMDS_MeshElement* tria[2];
- if (findTriangles(aMesh->FindNode(anId1), aMesh->FindNode(anId2), tria[0],tria[1])) {
- myOkBtn->setEnabled(true);
- myApplyBtn->setEnabled(true);
- }
- } else {
+ myOkBtn->setEnabled(true);
+ myApplyBtn->setEnabled(true);
+ }
+ else
+ {
myEdge->clear();
}
}
{
if (!isEnabled()) {
mySMESHGUI->EmitSignalDeactivateDialog();
- myViewWindow->SetSelectionMode(EdgeOfCellSelection);
+ if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+ aViewWindow->SetSelectionMode(EdgeOfCellSelection);
setEnabled(true);
}
}
// update actor
if (aResult) {
+ mySelector->ClearIndex();
mySelectionMgr->setSelectedObjects(aList, false);
+ onSelectionDone();
SMESH::UpdateView();
}