X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGenerationGUI%2FGenerationGUI_PipeDlg.cxx;h=e02b2c498b160b70170d7568d8877d2bf9e356ae;hb=33989517de8433bf2424a75aeba0b0d906eda520;hp=33b43b09fb49b85ad2c4f82c940f233460f6abd5;hpb=d02f4dc56755302c58f68b51daec391c8c1eaa8b;p=modules%2Fgeom.git diff --git a/src/GenerationGUI/GenerationGUI_PipeDlg.cxx b/src/GenerationGUI/GenerationGUI_PipeDlg.cxx index 33b43b09f..e02b2c498 100644 --- a/src/GenerationGUI/GenerationGUI_PipeDlg.cxx +++ b/src/GenerationGUI/GenerationGUI_PipeDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -50,13 +50,14 @@ //================================================================================= GenerationGUI_PipeDlg::GenerationGUI_PipeDlg (GeometryGUI* theGeometryGUI, QWidget* parent, bool modal, Qt::WindowFlags fl) - : GEOMBase_Skeleton (theGeometryGUI, parent, modal, fl), - myGenGroupCheckGP (0), - myPrefixLblGP (0), - myPrefixEditGP (0), - myGenGroupCheckGMP (0), - myPrefixLblGMP (0), - myPrefixEditGMP (0) + : GEOMBase_Skeleton (theGeometryGUI, parent, modal, fl), + myGenGroupCheckGP (0), + myPrefixLblGP (0), + myPrefixEditGP (0), + myStepByStepCheckGMP (0), + myGenGroupCheckGMP (0), + myPrefixLblGMP (0), + myPrefixEditGMP (0) { QPixmap image0 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_PIPE"))); QPixmap image1 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_SELECT"))); @@ -124,15 +125,18 @@ GenerationGUI_PipeDlg::GenerationGUI_PipeDlg (GeometryGUI* theGeometryGUI, QWidg // Add widgets for group generation QGridLayout *aLayoutGMP = (QGridLayout *)GroupMakePoints->GroupBox1->layout(); - myGenGroupCheckGMP = + myStepByStepCheckGMP = + new QCheckBox(tr("GEOM_STEP_BY_STEP"), GroupMakePoints->GroupBox1); + myGenGroupCheckGMP = new QCheckBox(tr("GEOM_GENERATE_GROUPS"), GroupMakePoints->GroupBox1); - myPrefixLblGMP = + myPrefixLblGMP = new QLabel (tr("GEOM_GROUP_NAME_PREFIX"), GroupMakePoints->GroupBox1); - myPrefixEditGMP = new QLineEdit(GroupMakePoints->GroupBox1); + myPrefixEditGMP = new QLineEdit(GroupMakePoints->GroupBox1); - aLayoutGMP->addWidget(myGenGroupCheckGMP, 8, 0, 1, 3); - aLayoutGMP->addWidget(myPrefixLblGMP, 9, 0, 1, 2); - aLayoutGMP->addWidget(myPrefixEditGMP, 9, 2); + aLayoutGMP->addWidget(myStepByStepCheckGMP, 8, 0, 1, 3); + aLayoutGMP->addWidget(myGenGroupCheckGMP, 9, 0, 1, 3); + aLayoutGMP->addWidget(myPrefixLblGMP, 10, 0, 1, 2); + aLayoutGMP->addWidget(myPrefixEditGMP, 10, 2); QVBoxLayout* layout = new QVBoxLayout(centralWidget()); layout->setMargin(0); layout->setSpacing(6); @@ -201,8 +205,10 @@ void GenerationGUI_PipeDlg::Init() connect(GroupMakePoints->PushButton3, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument())); connect(GroupMakePoints->CheckBox1, SIGNAL(clicked()), this, SLOT(processPreview())); connect(GroupMakePoints->CheckBox2, SIGNAL(clicked()), this, SLOT(processPreview())); - connect(myGenGroupCheckGP, SIGNAL(toggled(bool)), this, SLOT(GenGroupClicked(bool))); - connect(myGenGroupCheckGMP, SIGNAL(toggled(bool)), this, SLOT(GenGroupClicked(bool))); + connect(myStepByStepCheckGMP, SIGNAL(clicked()), this, SLOT(processPreview())); + connect(myGenGroupCheckGP, SIGNAL(toggled(bool)), this, SLOT(GenGroupClicked(bool))); + connect(myGenGroupCheckGMP, SIGNAL(toggled(bool)), this, SLOT(GenGroupClicked(bool))); + connect(myStepByStepCheckGMP, SIGNAL(toggled(bool)), this, SLOT(StepByStepClicked(bool))); initName(tr("GEOM_PIPE")); resize(100,100); @@ -250,6 +256,7 @@ void GenerationGUI_PipeDlg::ConstructorsClicked( int constructorId ) GroupPoints->hide(); GroupMakePoints->show(); GroupMakePoints->PushButton1->click(); + myStepByStepCheckGMP->setChecked(false); myGenGroupCheckGMP->setChecked(false); resetGenGroup(myGenGroupCheckGMP, false, true); break; @@ -273,7 +280,7 @@ void GenerationGUI_PipeDlg::SelectionTypeButtonClicked() { globalSelection(); if ( GroupPoints->CheckButton1->isChecked() ) { - localSelection( GEOM::GEOM_Object::_nil(), TopAbs_EDGE ); + localSelection( TopAbs_EDGE ); } else { TColStd_MapOfInteger aMap; aMap.Add(GEOM_COMPOUND); @@ -375,7 +382,7 @@ void GenerationGUI_PipeDlg::SelectionIntoArgument() } } else if ( myEditCurrentArgument == GroupMakePoints->LineEdit2 ) { - localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX ); + localSelection( TopAbs_VERTEX ); QList objects = getSelected( TopAbs_VERTEX, -1 ); GEOMBase::Synchronize( myLocations, objects ); if ( !myLocations.isEmpty() ) { @@ -421,7 +428,7 @@ void GenerationGUI_PipeDlg::SetEditCurrentArgument() myEditCurrentArgument = GroupPoints->LineEdit2; if ( GroupPoints->CheckButton1->isChecked() ) { - localSelection( GEOM::GEOM_Object::_nil(), TopAbs_EDGE ); + localSelection( TopAbs_EDGE ); } else { TColStd_MapOfInteger aMap; aMap.Add(GEOM_COMPOUND); @@ -434,7 +441,7 @@ void GenerationGUI_PipeDlg::SetEditCurrentArgument() else if(send == GroupPoints->PushButton3) { myEditCurrentArgument = GroupPoints->LineEdit3; GroupPoints->CheckButton1->setEnabled(false); - localSelection(GEOM::GEOM_Object::_nil(), TopAbs_EDGE); + localSelection(TopAbs_EDGE); } GroupMakePoints->PushButton1->setDown(false); @@ -495,7 +502,7 @@ void GenerationGUI_PipeDlg::enterEvent (QEvent*) //================================================================================= GEOM::GEOM_IOperations_ptr GenerationGUI_PipeDlg::createOperation() { - return getGeomEngine()->GetI3DPrimOperations(getStudyId()); + return getGeomEngine()->GetI3DPrimOperations(); } //================================================================================= @@ -583,10 +590,16 @@ bool GenerationGUI_PipeDlg::execute (ObjectList& objects) myGenGroupCheckGMP->isChecked(); } + bool isWithContact = GroupMakePoints->CheckBox1->isEnabled() && + GroupMakePoints->CheckBox1->isChecked(); + bool isWithCorrection = GroupMakePoints->CheckBox2->isEnabled() && + GroupMakePoints->CheckBox2->isChecked(); + aList = anOper->MakePipeWithDifferentSections - (myBaseGO.in(), myLocationsGO.in(), myPath.get(), - GroupMakePoints->CheckBox1->isChecked(), - GroupMakePoints->CheckBox2->isChecked(), doGroups); + (myBaseGO.in(), myLocationsGO.in(), myPath.get(), + isWithContact, isWithCorrection, + myStepByStepCheckGMP->isChecked(), + doGroups); if (aList->length() > 0) { if (doGroups) { @@ -629,8 +642,7 @@ bool GenerationGUI_PipeDlg::extractPrefix() const // purpose : virtual method to restore tree of argument's sub-shapes under // the resulting shape. Redefined from GEOMBase_Helper class. //================================================================================= -void GenerationGUI_PipeDlg::restoreSubShapes - (SALOMEDS::Study_ptr theStudy, SALOMEDS::SObject_ptr theSObject) +void GenerationGUI_PipeDlg::restoreSubShapes(SALOMEDS::SObject_ptr theSObject) { QCheckBox *aGenGroupCheck = NULL; QLineEdit *aPrefixEdit = NULL; @@ -678,8 +690,7 @@ void GenerationGUI_PipeDlg::restoreSubShapes } aName += tr((*it)->GetName()); - getGeomEngine()->AddInStudy(theStudy, (*it).get(), - aName.toStdString().c_str(), aFather); + getGeomEngine()->AddInStudy((*it).get(), aName.toStdString().c_str(), aFather); } } } @@ -706,6 +717,16 @@ void GenerationGUI_PipeDlg::GenGroupClicked(bool isChecked) resetGenGroup((QCheckBox *)sender(), isChecked, false); } +//================================================================================= +// function : StepByStepClicked +// purpose : Slot to treat checking "Step-by-step generation" check box. +//================================================================================= +void GenerationGUI_PipeDlg::StepByStepClicked(bool isChecked) +{ + GroupMakePoints->CheckBox1->setEnabled(!isChecked); + GroupMakePoints->CheckBox2->setEnabled(!isChecked); +} + //================================================================================= // function : updateGenGroup // purpose : Update "Generate groups" widgets depending on the path.