+ disconnect( myGeomGUI->getApp()->selectionMgr(), 0, this, 0 );
+
+ switch ( constructorId ) {
+ case 0:
+ {
+ globalSelection(); // close local contexts, if any
+ localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX ); //Select Vertex on All Shapes
+
+ Group3Pnts->show();
+ Group3Pnts2->hide();
+ Group3Pnts3->hide();
+ Group3Pnts->PushButton1->setDown(true);
+ Group3Pnts->PushButton2->setDown(false);
+ Group3Pnts->PushButton3->setDown(false);
+ Group3Pnts->LineEdit1->setText( "" );
+ Group3Pnts->LineEdit2->setText( "" );
+ Group3Pnts->LineEdit3->setText( "" );
+ Group3Pnts->LineEdit1->setEnabled(true);
+ Group3Pnts->LineEdit2->setEnabled(false);
+ Group3Pnts->LineEdit3->setEnabled(false);
+ myPoint1 = myPoint2 = myPoint3 = GEOM::GEOM_Object::_nil();
+
+ myEditCurrentArgument = Group3Pnts->LineEdit1;
+ break;
+ }
+ case 1:
+ {
+ globalSelection(); // close local contexts, if any
+ localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX ); //Select Vertex on All Shapes
+
+ Group3Pnts->hide();
+ Group3Pnts2->show();
+ Group3Pnts3->hide();
+ Group3Pnts2->PushButton1->setDown(true);
+ Group3Pnts2->PushButton2->setDown(false);
+ Group3Pnts2->PushButton3->setDown(false);
+ Group3Pnts2->LineEdit1->setText( "" );
+ Group3Pnts2->LineEdit2->setText( "" );
+ Group3Pnts2->LineEdit3->setText( "" );
+ Group3Pnts2->LineEdit1->setEnabled(true);
+ Group3Pnts2->LineEdit2->setEnabled(false);
+ Group3Pnts2->LineEdit3->setEnabled(false);
+ myPoint1 = myPoint2 = myPoint3 = GEOM::GEOM_Object::_nil();
+
+ myEditCurrentArgument = Group3Pnts2->LineEdit1;
+ break;
+ }
+ case 2:
+ {
+ globalSelection(); // close local contexts, if any
+ localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX ); //Select Vertex on All Shapes
+
+ Group3Pnts->hide();
+ Group3Pnts2->hide();
+ Group3Pnts3->show();
+ Group3Pnts3->PushButton1->setDown(true);
+ Group3Pnts3->PushButton2->setDown(false);
+ Group3Pnts3->PushButton3->setDown(false);
+ Group3Pnts3->LineEdit1->setText( "" );
+ Group3Pnts3->LineEdit2->setText( "" );
+ Group3Pnts3->LineEdit3->setText( "" );
+ Group3Pnts3->LineEdit1->setEnabled(true);
+ Group3Pnts3->LineEdit2->setEnabled(false);
+ Group3Pnts3->LineEdit3->setEnabled(false);
+ myPoint1 = myPoint2 = myPoint3 = GEOM::GEOM_Object::_nil();
+
+ myEditCurrentArgument = Group3Pnts3->LineEdit1;
+ break;
+ }
+ }
+
+ qApp->processEvents();
+ updateGeometry();
+ resize( minimumSizeHint() );
+
+ myEditCurrentArgument->setFocus();
+ connect( myGeomGUI->getApp()->selectionMgr(), SIGNAL( currentSelectionChanged() ),
+ this, SLOT( SelectionIntoArgument() ) );
+
+ if ( CORBA::is_nil( myPoint1 ) )
+ SelectionIntoArgument();
+
+ displayPreview();
+}
+
+//=================================================================================
+// function : ReverseSense()
+// purpose : Orientation of the arc
+//=================================================================================
+void BasicGUI_ArcDlg::ReverseSense()
+{
+ displayPreview();
+}
+
+//=================================================================================
+// function : addSubshapeToStudy
+// purpose : virtual method to add new SubObjects if local selection
+//=================================================================================
+void BasicGUI_ArcDlg::addSubshapesToStudy()
+{
+ QMap<QString, GEOM::GEOM_Object_var> objMap;
+
+ switch ( getConstructorId() ) {
+ case 0:
+ objMap[Group3Pnts->LineEdit1->text()] = myPoint1;
+ objMap[Group3Pnts->LineEdit2->text()] = myPoint2;
+ objMap[Group3Pnts->LineEdit3->text()] = myPoint3;
+ break;
+ case 1:
+ objMap[Group3Pnts2->LineEdit1->text()] = myPoint1;
+ objMap[Group3Pnts2->LineEdit2->text()] = myPoint2;
+ objMap[Group3Pnts2->LineEdit3->text()] = myPoint3;
+ break;
+ case 2:
+ objMap[Group3Pnts3->LineEdit1->text()] = myPoint1;
+ objMap[Group3Pnts3->LineEdit2->text()] = myPoint2;
+ objMap[Group3Pnts3->LineEdit3->text()] = myPoint3;
+ break;
+ }
+ addSubshapesToFather( objMap );