Salome HOME
updated copyright message
[modules/geom.git] / src / TransformationGUI / TransformationGUI_OffsetDlg.cxx
index 083428f9b756d3ca37b264de42c1454546a587e1..502285bf4e4b5a4994092a0883a5aa59780e09ab 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -37,7 +37,7 @@
 
 //=================================================================================
 // class    : TransformationGUI_OffsetDlg()
-// purpose  : Constructs a TransformationGUI_OffsetDlg which is a child of 'parent', with the 
+// purpose  : Constructs a TransformationGUI_OffsetDlg which is a child of 'parent', with the
 //            name 'name' and widget flags set to 'f'.
 //            The dialog will by default be modeless, unless you set 'modal' to
 //            TRUE to construct a modal dialog.
@@ -58,26 +58,24 @@ TransformationGUI_OffsetDlg::TransformationGUI_OffsetDlg( GeometryGUI* theGeomet
   mainFrame()->RadioButton2->close();
   mainFrame()->RadioButton3->setAttribute( Qt::WA_DeleteOnClose );
   mainFrame()->RadioButton3->close();
+
   GroupPoints = new DlgRef_1Sel1Spin1Check( centralWidget() );
   GroupPoints->GroupBox1->setTitle( tr( "GEOM_ARGUMENTS" ) );
   GroupPoints->TextLabel1->setText( tr( "GEOM_OBJECTS" ) );
   GroupPoints->TextLabel2->setText( tr( "GEOM_OFFSET" ) );
-  GroupPoints->CheckButton1->setText( tr( "GEOM_CREATE_COPY" ) );
-
-  // san -- modification of an exisitng object by offset is not allowed
-  GroupPoints->CheckButton1->hide();
+  GroupPoints->CheckButton1->setText( tr( "GEOM_JOIN_BY_PIPES" ) );
+  GroupPoints->CheckButton1->setChecked( true );
 
   GroupPoints->PushButton1->setIcon( image1 );
-  
+
   QVBoxLayout* layout = new QVBoxLayout( centralWidget() );
   layout->setMargin( 0 ); layout->setSpacing( 6 );
   layout->addWidget( GroupPoints );
-  
+
   /***************************************************************/
 
   setHelpFileName( "offset_operation_page.html" );
-  
+
   Init();
 }
 
@@ -87,7 +85,7 @@ TransformationGUI_OffsetDlg::TransformationGUI_OffsetDlg( GeometryGUI* theGeomet
 // purpose  : Destroys the object and frees any allocated resources
 //=================================================================================
 TransformationGUI_OffsetDlg::~TransformationGUI_OffsetDlg()
-{  
+{
   /* no need to delete child widgets, Qt does it all for us */
 }
 
@@ -97,37 +95,33 @@ TransformationGUI_OffsetDlg::~TransformationGUI_OffsetDlg()
 // purpose  :
 //=================================================================================
 void TransformationGUI_OffsetDlg::Init()
-{  
+{
   /* init variables */
   myEditCurrentArgument = GroupPoints->LineEdit1;
   GroupPoints->LineEdit1->setReadOnly( true );
 
   myObjects.clear();
-  
+
   /* Get setting of step value from file configuration */
   double step = 1;
-   
+
   /* min, max, step and decimals for spin boxes & initial values */
   initSpinBox( GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
   GroupPoints->SpinBox_DX->setValue( 1e-05 );
-  
-  // Activate Create a Copy mode
-  GroupPoints->CheckButton1->setChecked( true );
-  CreateCopyModeChanged();
 
   mainFrame()->GroupBoxPublish->show();
 
   /* signals and slots connections */
   connect( buttonOk(),    SIGNAL( clicked() ), this, SLOT( ClickOnOk() ) );
   connect( buttonApply(), SIGNAL( clicked() ), this, SLOT( ClickOnApply() ) );
-  
+
   connect( GroupPoints->PushButton1, SIGNAL( clicked() ), this, SLOT( SetEditCurrentArgument() ) );
-  connect( myGeomGUI->getApp()->selectionMgr(), 
+  connect( myGeomGUI->getApp()->selectionMgr(),
            SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) );
 
   connect( GroupPoints->SpinBox_DX,   SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox() ) );
-  connect( GroupPoints->CheckButton1, SIGNAL( toggled( bool ) ),        this, SLOT( CreateCopyModeChanged() ) );
-  
+  connect( GroupPoints->CheckButton1, SIGNAL( toggled( bool ) ),        this, SLOT( JoinModeChanged() ) );
+
   initName( tr( "GEOM_OFFSET" ) );
 
   globalSelection( GEOM_ALLSHAPES );
@@ -154,9 +148,9 @@ void TransformationGUI_OffsetDlg::ClickOnOk()
 //=================================================================================
 bool TransformationGUI_OffsetDlg::ClickOnApply()
 {
-  if ( !onAccept( GroupPoints->CheckButton1->isChecked() ) )
+  if ( !onAccept( /*copy=*/true ))
     return false;
-  
+
   initName();
   return true;
 }
@@ -188,7 +182,7 @@ void TransformationGUI_OffsetDlg::SelectionIntoArgument()
 void TransformationGUI_OffsetDlg::SetEditCurrentArgument()
 {
   QPushButton* send = (QPushButton*)sender();
-  
+
   if ( send == GroupPoints->PushButton1 ) {
     GroupPoints->PushButton1->setDown(true);
     myEditCurrentArgument = GroupPoints->LineEdit1;
@@ -216,7 +210,7 @@ void TransformationGUI_OffsetDlg::enterEvent( QEvent* )
 void TransformationGUI_OffsetDlg::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
-  connect( myGeomGUI->getApp()->selectionMgr(), 
+  connect( myGeomGUI->getApp()->selectionMgr(),
            SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) );
   globalSelection( GEOM_ALLSHAPES );
   myEditCurrentArgument = GroupPoints->LineEdit1;
@@ -266,18 +260,18 @@ bool TransformationGUI_OffsetDlg::isValid( QString& msg )
 bool TransformationGUI_OffsetDlg::execute( ObjectList& objects )
 {
   bool res = false;
-  
+
   GEOM::GEOM_Object_var anObj;
-  
+
   GEOM::GEOM_ITransformOperations_var anOper = GEOM::GEOM_ITransformOperations::_narrow(getOperation());
 
-  if ( GroupPoints->CheckButton1->isChecked() || IsPreview() ) {
+  if ( true /*GroupPoints->CheckButton1->isChecked() || IsPreview()*/ ) {
     for ( int i = 0; i < myObjects.count(); i++ ) {
-      
-      anObj = anOper->OffsetShapeCopy( myObjects[i].get(), GetOffset() );
+
+      anObj = anOper->OffsetShapeCopy( myObjects[i].get(), GetOffset(), GetIsJoinByPipes() );
       if ( !anObj->_is_nil() ) {
         if(!IsPreview()) {
-          anObj->SetParameters(GroupPoints->SpinBox_DX->text().toLatin1().constData());
+          anObj->SetParameters(GroupPoints->SpinBox_DX->text().toUtf8().constData());
         }
         objects.push_back( anObj._retn() );
       }
@@ -285,13 +279,13 @@ bool TransformationGUI_OffsetDlg::execute( ObjectList& objects )
   }
   else {
     for ( int i = 0; i < myObjects.count(); i++ ) {
-      anObj = anOper->OffsetShape( myObjects[i].get(), GetOffset() );
+      anObj = anOper->OffsetShape( myObjects[i].get(), GetOffset(), GetIsJoinByPipes()  );
       if ( !anObj->_is_nil() )
         objects.push_back( anObj._retn() );
     }
   }
   res = true;
-    
+
   return res;
 }
 
@@ -319,13 +313,24 @@ double TransformationGUI_OffsetDlg::GetOffset() const
   return GroupPoints->SpinBox_DX->value();
 }
 
+//=======================================================================
+//function : GetIsJoinByPipes
+//purpose  :
+//=======================================================================
+
+bool TransformationGUI_OffsetDlg::GetIsJoinByPipes() const
+{
+  return GroupPoints->CheckButton1->isChecked();
+}
+
 //=================================================================================
-// function :  CreateCopyModeChanged()
+// function :  JoinModeChanged()
 // purpose  :
 //=================================================================================
-void TransformationGUI_OffsetDlg::CreateCopyModeChanged()
+void TransformationGUI_OffsetDlg::JoinModeChanged()
 {
-  mainFrame()->GroupBoxName->setEnabled( GroupPoints->CheckButton1->isChecked() );
+  processPreview();
+  //mainFrame()->GroupBoxName->setEnabled( GroupPoints->CheckButton1->isChecked() );
 }
 
 //=================================================================================