mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 08:50:35 +05:00
The selections of elements corrected.
This commit is contained in:
parent
255ab4e2ee
commit
783b5a717c
@ -438,34 +438,19 @@ void SMESHGUI_ExtrusionDlg::onTextChange (const QString& theNewText)
|
||||
aMesh = myActor->GetObject()->GetMesh();
|
||||
|
||||
if (aMesh) {
|
||||
//mySelectionMgr->clearSelected();
|
||||
//mySelectionMgr->AddIObject(myActor->getIO());
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(myActor->getIO());
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
|
||||
QStringList aListId = QStringList::split(" ", theNewText, false);
|
||||
|
||||
if (send == LineEditElements) {
|
||||
const Handle(SALOME_InteractiveObject)& anIO = myActor->getIO();
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex(anIO, selectedIndices);
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());
|
||||
if (e) {
|
||||
//if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) {
|
||||
if (selectedIndices.Add(e->GetID())) {
|
||||
//mySelectionMgr->AddOrRemoveIndex(myActor->getIO(), e->GetID(), true);
|
||||
if (e)
|
||||
newIndices.Add(e->GetID());
|
||||
}
|
||||
myNbOkElements++;
|
||||
}
|
||||
}
|
||||
if (newIndices.Extent() > 0) {
|
||||
mySelector->AddOrRemoveIndex(anIO, newIndices, true);
|
||||
mySelector->AddOrRemoveIndex(anIO, newIndices, false);
|
||||
myViewWindow->highlight( anIO, true, true );
|
||||
}
|
||||
myElementsId = theNewText;
|
||||
}
|
||||
}
|
||||
|
@ -261,9 +261,7 @@ void SMESHGUI_RemoveElementsDlg::ClickOnApply()
|
||||
}
|
||||
|
||||
if (aResult) {
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(myActor->getIO());
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
myEditCurrentArgument->clear();
|
||||
SMESH::UpdateView();
|
||||
}
|
||||
}
|
||||
@ -314,30 +312,21 @@ void SMESHGUI_RemoveElementsDlg::onTextChange (const QString& theNewText)
|
||||
if(myActor){
|
||||
if(SMDS_Mesh* aMesh = myActor->GetObject()->GetMesh()){
|
||||
Handle(SALOME_InteractiveObject) anIO = myActor->getIO();
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(anIO);
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex(anIO,selectedIndices);
|
||||
|
||||
QStringList aListId = QStringList::split(" ", theNewText, false);
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
if(const SMDS_MeshElement *anElem = aMesh->FindElement(aListId[i].toInt())) {
|
||||
if (selectedIndices.Add(anElem->GetID())) {
|
||||
newIndices.Add(anElem->GetID());
|
||||
}
|
||||
myNbOkElements++;
|
||||
}
|
||||
}
|
||||
|
||||
if (newIndices.Extent() > 0){
|
||||
mySelector->AddOrRemoveIndex(anIO,newIndices,true);
|
||||
mySelector->AddOrRemoveIndex(anIO,newIndices,false);
|
||||
myViewWindow->highlight(anIO,true,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (myNbOkElements) {
|
||||
buttonOk->setEnabled(true);
|
||||
|
@ -214,6 +214,10 @@ void SMESHGUI_RemoveNodesDlg::Init()
|
||||
connect(SelectButtonC1A1, SIGNAL (clicked()), this, SLOT(SetEditCurrentArgument()));
|
||||
connect(mySMESHGUI, SIGNAL (SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog()));
|
||||
connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||
/* to close dialog if study change */
|
||||
connect(mySMESHGUI, SIGNAL (SignalCloseAllDialogs()), this, SLOT(ClickOnCancel()));
|
||||
connect(myEditCurrentArgument, SIGNAL(textChanged(const QString&)),
|
||||
SLOT(onTextChange(const QString&)));
|
||||
|
||||
/* Move widget on the botton right corner of main widget */
|
||||
int x, y;
|
||||
@ -259,9 +263,7 @@ void SMESHGUI_RemoveNodesDlg::ClickOnApply()
|
||||
}
|
||||
|
||||
if (aResult) {
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(myActor->getIO());
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
myEditCurrentArgument->clear();
|
||||
SMESH::UpdateView();
|
||||
}
|
||||
|
||||
@ -311,30 +313,21 @@ void SMESHGUI_RemoveNodesDlg::onTextChange (const QString& theNewText)
|
||||
if(myActor){
|
||||
if(SMDS_Mesh* aMesh = myActor->GetObject()->GetMesh()){
|
||||
Handle(SALOME_InteractiveObject) anIO = myActor->getIO();
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(anIO);
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex(anIO,selectedIndices);
|
||||
|
||||
QStringList aListId = QStringList::split(" ", theNewText, false);
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
if (const SMDS_MeshNode *aNode = aMesh->FindNode(aListId[ i ].toInt())) {
|
||||
if (selectedIndices.Add(aNode->GetID())) {
|
||||
if (const SMDS_MeshNode *aNode = aMesh->FindNode(aListId[i].toInt())) {
|
||||
newIndices.Add(aNode->GetID());
|
||||
}
|
||||
myNbOkNodes++;
|
||||
}
|
||||
}
|
||||
|
||||
if(newIndices.Extent() > 0){
|
||||
mySelector->AddOrRemoveIndex(anIO,newIndices,true);
|
||||
mySelector->AddOrRemoveIndex(anIO,newIndices,false);
|
||||
myViewWindow->highlight(anIO,true,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (myNbOkNodes) {
|
||||
buttonOk->setEnabled(true);
|
||||
|
@ -522,34 +522,21 @@ void SMESHGUI_RevolutionDlg::onTextChange (const QString& theNewText)
|
||||
|
||||
if (aMesh) {
|
||||
if (send == LineEditElements) {
|
||||
//mySelectionMgr->clearSelected();
|
||||
//mySelectionMgr->AddIObject(myActor->getIO());
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(myActor->getIO());
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
Handle(SALOME_InteractiveObject) anIO = myActor->getIO();
|
||||
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex(myActor->getIO(), selectedIndices);
|
||||
|
||||
QStringList aListId = QStringList::split(" ", theNewText, false);
|
||||
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());
|
||||
if (e) {
|
||||
//if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) {
|
||||
if (selectedIndices.Add(e->GetID())) {
|
||||
//mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), e->GetID(), true);
|
||||
if (e)
|
||||
newIndices.Add(e->GetID());
|
||||
}
|
||||
myNbOkElements++;
|
||||
}
|
||||
}
|
||||
|
||||
if (newIndices.Extent() > 0)
|
||||
{
|
||||
mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, true);
|
||||
mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, false);
|
||||
myViewWindow->highlight( myActor->getIO(), true, true );
|
||||
}
|
||||
|
||||
myElementsId = theNewText;
|
||||
}
|
||||
|
@ -479,33 +479,20 @@ void SMESHGUI_RotationDlg::onTextChange (const QString& theNewText)
|
||||
|
||||
if (aMesh) {
|
||||
if (send == LineEditElements) {
|
||||
//mySelectionMgr->clearSelected();
|
||||
//mySelectionMgr->AddIObject(myActor->getIO());
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(myActor->getIO());
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
Handle(SALOME_InteractiveObject) anIO = myActor->getIO();
|
||||
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex( myActor->getIO(), selectedIndices);
|
||||
|
||||
QStringList aListId = QStringList::split(" ", theNewText, false);
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());
|
||||
if (e) {
|
||||
//if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) {
|
||||
if (selectedIndices.Add(e->GetID())) {
|
||||
//mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), e->GetID(), true);
|
||||
if (e)
|
||||
newIndices.Add(e->GetID());
|
||||
}
|
||||
myNbOkElements++;
|
||||
}
|
||||
}
|
||||
|
||||
if (newIndices.Extent() > 0){
|
||||
mySelector->AddOrRemoveIndex( myActor->getIO(), newIndices, true );
|
||||
myViewWindow->highlight( myActor->getIO(), true, true );
|
||||
}
|
||||
mySelector->AddOrRemoveIndex( anIO, newIndices, false );
|
||||
myViewWindow->highlight( anIO, true, true );
|
||||
|
||||
myElementsId = theNewText;
|
||||
}
|
||||
|
@ -86,9 +86,9 @@ QtxValue SMESHGUI_Selection::param( const int ind, const QString& p ) const
|
||||
else if ( p=="hasReference" ) val = QtxValue( hasReference( ind ) );
|
||||
else if ( p=="isVisible" ) val = QtxValue( isVisible( ind ) );
|
||||
|
||||
// printf( "--> param() : [%s] = %s (%s)\n", p.latin1(), val.toString().latin1(), val.typeName() );
|
||||
// if ( val.type() == QVariant::List )
|
||||
// cout << "size: " << val.toList().count() << endl;
|
||||
printf( "--> param() : [%s] = %s (%s)\n", p.latin1(), val.toString().latin1(), val.typeName() );
|
||||
if ( val.type() == QVariant::List )
|
||||
cout << "size: " << val.toList().count() << endl;
|
||||
return val;
|
||||
}
|
||||
|
||||
|
@ -321,6 +321,7 @@ void SMESHGUI_SmoothingDlg::Init()
|
||||
|
||||
myEditCurrentArgument = LineEditElements;
|
||||
LineEditElements->setFocus();
|
||||
LineEditElements->clear();
|
||||
LineEditNodes->clear();
|
||||
myElementsId = "";
|
||||
myNbOkElements = 0;
|
||||
@ -456,59 +457,35 @@ void SMESHGUI_SmoothingDlg::onTextChange (const QString& theNewText)
|
||||
aMesh = myActor->GetObject()->GetMesh();
|
||||
|
||||
if (aMesh) {
|
||||
//mySelectionMgr->clearSelected();
|
||||
//mySelectionMgr->AddIObject(myActor->getIO());
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(myActor->getIO());
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
|
||||
QStringList aListId = QStringList::split(" ", theNewText, false);
|
||||
|
||||
if (send == LineEditElements) {
|
||||
const Handle(SALOME_InteractiveObject)& anIO = myActor->getIO();
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex( anIO, selectedIndices );
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());
|
||||
if (e) {
|
||||
//if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) {
|
||||
if (selectedIndices.Add(e->GetID())) {
|
||||
//mySelectionMgr->AddOrRemoveIndex(myActor->getIO(), e->GetID(), true);
|
||||
if (e)
|
||||
newIndices.Add(e->GetID());
|
||||
}
|
||||
myNbOkElements++;
|
||||
}
|
||||
}
|
||||
if (newIndices.Extent() > 0) {
|
||||
mySelector->AddOrRemoveIndex(anIO, newIndices, true);
|
||||
mySelector->AddOrRemoveIndex(anIO, newIndices, false);
|
||||
myViewWindow->highlight( anIO, true, true );
|
||||
}
|
||||
myElementsId = theNewText;
|
||||
|
||||
} else if (send == LineEditNodes) {
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex(myActor->getIO(), selectedIndices);
|
||||
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
const SMDS_MeshNode * n = aMesh->FindNode(aListId[ i ].toInt());
|
||||
if (n) {
|
||||
//if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), n->GetID())) {
|
||||
if (selectedIndices.Add(n->GetID())) {
|
||||
//mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), n->GetID(), true);
|
||||
if (n)
|
||||
newIndices.Add(n->GetID());
|
||||
}
|
||||
myNbOkNodes++;
|
||||
}
|
||||
}
|
||||
if (newIndices.Extent() > 0)
|
||||
{
|
||||
mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, true);
|
||||
mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, false);
|
||||
myViewWindow->highlight( myActor->getIO(), true, true );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (myNbOkElements && (myNbOkNodes || LineEditNodes->text().stripWhiteSpace().isEmpty())) {
|
||||
buttonOk->setEnabled(true);
|
||||
|
@ -537,35 +537,22 @@ void SMESHGUI_SymmetryDlg::onTextChange (const QString& theNewText)
|
||||
aMesh = myActor->GetObject()->GetMesh();
|
||||
|
||||
if (aMesh) {
|
||||
//mySelectionMgr->clearSelected();
|
||||
//mySelectionMgr->AddIObject(myActor->getIO());
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(myActor->getIO());
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
Handle(SALOME_InteractiveObject) anIO = myActor->getIO();
|
||||
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex(myActor->getIO(), selectedIndices);
|
||||
|
||||
QStringList aListId = QStringList::split(" ", theNewText, false);
|
||||
|
||||
if (send == LineEditElements) {
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());
|
||||
if (e) {
|
||||
//if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) {
|
||||
if (selectedIndices.Add(e->GetID())) {
|
||||
//mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), e->GetID(), true);
|
||||
if (e)
|
||||
newIndices.Add(e->GetID());
|
||||
}
|
||||
myNbOkElements++;
|
||||
}
|
||||
}
|
||||
|
||||
if (newIndices.Extent() > 0){
|
||||
mySelector->AddOrRemoveIndex( myActor->getIO(), newIndices, true );
|
||||
myViewWindow->highlight( myActor->getIO(), true, true );
|
||||
}
|
||||
mySelector->AddOrRemoveIndex( anIO, newIndices, false );
|
||||
myViewWindow->highlight( anIO, true, true );
|
||||
|
||||
myElementsId = theNewText;
|
||||
}
|
||||
|
@ -502,39 +502,26 @@ void SMESHGUI_TranslationDlg::onTextChange (const QString& theNewText)
|
||||
aMesh = myActor->GetObject()->GetMesh();
|
||||
|
||||
if (aMesh) {
|
||||
//mySelectionMgr->clearSelected();
|
||||
//mySelectionMgr->AddIObject(myActor->getIO());
|
||||
SALOME_ListIO aList;
|
||||
aList.Append(myActor->getIO());
|
||||
mySelectionMgr->setSelectedObjects(aList, false);
|
||||
Handle(SALOME_InteractiveObject) anIO = myActor->getIO();
|
||||
|
||||
TColStd_IndexedMapOfInteger selectedIndices;
|
||||
TColStd_MapOfInteger newIndices;
|
||||
mySelector->GetIndex( myActor->getIO(), selectedIndices );
|
||||
|
||||
QStringList aListId = QStringList::split(" ", theNewText, false);
|
||||
|
||||
if (send == LineEditElements) {
|
||||
for (int i = 0; i < aListId.count(); i++) {
|
||||
const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());
|
||||
if (e) {
|
||||
//if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) {
|
||||
if (selectedIndices.Add(e->GetID())) {
|
||||
//mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), e->GetID(), true);
|
||||
if (e)
|
||||
newIndices.Add(e->GetID());
|
||||
}
|
||||
myNbOkElements++;
|
||||
}
|
||||
}
|
||||
|
||||
if (newIndices.Extent() > 0){
|
||||
mySelector->AddOrRemoveIndex( myActor->getIO(), newIndices, true );
|
||||
myViewWindow->highlight( myActor->getIO(), true, true );
|
||||
}
|
||||
mySelector->AddOrRemoveIndex( anIO, newIndices, false );
|
||||
myViewWindow->highlight( anIO, true, true );
|
||||
|
||||
myElementsId = theNewText;
|
||||
}
|
||||
}
|
||||
|
||||
if (myNbOkElements) {
|
||||
buttonOk->setEnabled(true);
|
||||
|
Loading…
Reference in New Issue
Block a user