0020660: EDF 1238 GEOM: Missing equivalent of 2nd contructor of LCS in TUI

This commit is contained in:
dmv 2010-01-26 12:05:38 +00:00
parent 5372961c34
commit 133e92c4a3

View File

@ -431,41 +431,47 @@ void BasicGUI_MarkerDlg::onSelectionDone()
TColStd_IndexedMapOfInteger aMap; TColStd_IndexedMapOfInteger aMap;
aSelMgr->GetIndexes( anIO, aMap ); aSelMgr->GetIndexes( anIO, aMap );
if ( !aMap.IsEmpty() ) { if ( aMap.Extent() == 1 ) { // Local Selection
int anIndex = aMap( 1 ); int anIndex = aMap( 1 );
if ( aNeedType == TopAbs_EDGE ) if ( aNeedType == TopAbs_EDGE )
aName += QString( "_edge_%1" ).arg( anIndex ); aName += QString( ":edge_%1" ).arg( anIndex );
else else
aName += QString( "_vertex_%1" ).arg( anIndex ); aName += QString( ":vertex_%1" ).arg( anIndex );
TopTools_IndexedMapOfShape aShapes; //Find SubShape Object in Father
TopExp::MapShapes( aShape, aShapes ); GEOM::GEOM_Object_var aFindedObject = GEOMBase_Helper::findObjectInFather( aSelectedObj, aName );
aShape = aShapes.FindKey( anIndex ); if ( aFindedObject == GEOM::GEOM_Object::_nil() ) { // Object not found in study
} GEOM::GEOM_IShapesOperations_var aShapesOp = getGeomEngine()->GetIShapesOperations( getStudyId() );
aSelectedObj = aShapesOp->GetSubShape( aSelectedObj, anIndex );
if ( myEditCurrentArgument == Group2->LineEdit1 ) { }
if ( !aShape.IsNull() && aShape.ShapeType() == TopAbs_VERTEX ) { else {
myPoint = aSelectedObj; aSelectedObj = aFindedObject; // get Object from study
myEditCurrentArgument->setText( aName );
if (Group2->LineEdit2->text() == "")
Group2->PushButton2->click();
} }
} }
else { // Global Selection
if ( aShape.ShapeType() != aNeedType ) {
aSelectedObj = GEOM::GEOM_Object::_nil();
aName = "";
}
}
if ( myEditCurrentArgument == Group2->LineEdit1 ) {
myPoint = aSelectedObj;
myEditCurrentArgument->setText( aName );
if (!myPoint->_is_nil() && Group2->LineEdit2->text() == "")
Group2->PushButton2->click();
}
else if (myEditCurrentArgument == Group2->LineEdit2) { else if (myEditCurrentArgument == Group2->LineEdit2) {
if ( !aShape.IsNull() && aShape.ShapeType() == TopAbs_EDGE ) { myVectorX = aSelectedObj;
myVectorX = aSelectedObj; myEditCurrentArgument->setText( aName );
myEditCurrentArgument->setText( aName ); if (!myVectorX->_is_nil() && Group2->LineEdit3->text() == "")
if (Group2->LineEdit3->text() == "") Group2->PushButton3->click();
Group2->PushButton3->click();
}
} }
else if ( myEditCurrentArgument == Group2->LineEdit3 ) { else if ( myEditCurrentArgument == Group2->LineEdit3 ) {
if ( !aShape.IsNull() && aShape.ShapeType() == TopAbs_EDGE ) { myVectorY = aSelectedObj;
myVectorY = aSelectedObj; myEditCurrentArgument->setText( aName );
myEditCurrentArgument->setText( aName ); if (!myVectorX->_is_nil() && Group2->LineEdit1->text() == "")
if (Group2->LineEdit1->text() == "")
Group2->PushButton1->click(); Group2->PushButton1->click();
}
} }
} }
} }