mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-11 16:19:17 +05:00
Improve reaction of 'Divide edge' dialog on Display of objects
This commit is contained in:
parent
c1745184cb
commit
b6b2fb7cd6
@ -1,23 +1,23 @@
|
|||||||
// GEOM GEOMGUI : GUI for Geometry component
|
// GEOM GEOMGUI : GUI for Geometry component
|
||||||
//
|
//
|
||||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Lesser General Public
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
// License as published by the Free Software Foundation; either
|
// License as published by the Free Software Foundation; either
|
||||||
// version 2.1 of the License.
|
// version 2.1 of the License.
|
||||||
//
|
//
|
||||||
// This library is distributed in the hope that it will be useful,
|
// This library is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
// Lesser General Public License for more details.
|
// Lesser General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
// License along with this library; if not, write to the Free Software
|
// License along with this library; if not, write to the Free Software
|
||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@ -48,14 +48,16 @@ using namespace std;
|
|||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// class : BasicGUI_ArcDlg()
|
// class : BasicGUI_ArcDlg()
|
||||||
// purpose : Constructs a BasicGUI_ArcDlg which is a child of 'parent', with the
|
// purpose : Constructs a BasicGUI_ArcDlg which is a child of 'parent', with the
|
||||||
// name 'name' and widget flags set to 'f'.
|
// name 'name' and widget flags set to 'f'.
|
||||||
// The dialog will by default be modeless, unless you set 'modal' to
|
// The dialog will by default be modeless, unless you set 'modal' to
|
||||||
// TRUE to construct a modal dialog.
|
// TRUE to construct a modal dialog.
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
BasicGUI_ArcDlg::BasicGUI_ArcDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl)
|
BasicGUI_ArcDlg::BasicGUI_ArcDlg(GeometryGUI* theGeometryGUI, QWidget* parent,
|
||||||
:GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),
|
const char* name, bool modal, WFlags fl)
|
||||||
myGeometryGUI()
|
: GEOMBase_Skeleton(parent, name, modal, WStyle_Customize |
|
||||||
|
WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),
|
||||||
|
myGeometryGUI(theGeometryGUI)
|
||||||
{
|
{
|
||||||
QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ARC")));
|
QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ARC")));
|
||||||
QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT")));
|
QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT")));
|
||||||
@ -77,7 +79,7 @@ BasicGUI_ArcDlg::BasicGUI_ArcDlg(GeometryGUI* theGeometryGUI, QWidget* parent, c
|
|||||||
Group3Pnts->LineEdit1->setReadOnly( true );
|
Group3Pnts->LineEdit1->setReadOnly( true );
|
||||||
Group3Pnts->LineEdit2->setReadOnly( true );
|
Group3Pnts->LineEdit2->setReadOnly( true );
|
||||||
Group3Pnts->LineEdit3->setReadOnly( true );
|
Group3Pnts->LineEdit3->setReadOnly( true );
|
||||||
|
|
||||||
Group3Pnts->PushButton1->setPixmap(image1);
|
Group3Pnts->PushButton1->setPixmap(image1);
|
||||||
Group3Pnts->PushButton2->setPixmap(image1);
|
Group3Pnts->PushButton2->setPixmap(image1);
|
||||||
Group3Pnts->PushButton3->setPixmap(image1);
|
Group3Pnts->PushButton3->setPixmap(image1);
|
||||||
@ -128,8 +130,8 @@ void BasicGUI_ArcDlg::Init()
|
|||||||
connect(Group3Pnts->LineEdit2, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
connect(Group3Pnts->LineEdit2, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
connect(Group3Pnts->LineEdit3, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
connect(Group3Pnts->LineEdit3, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
|
|
||||||
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
||||||
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
initName( tr( "GEOM_ARC" ) );
|
initName( tr( "GEOM_ARC" ) );
|
||||||
}
|
}
|
||||||
@ -145,10 +147,10 @@ void BasicGUI_ArcDlg::ClickOnOk()
|
|||||||
ClickOnCancel();
|
ClickOnCancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=================================================================================
|
||||||
// function : ClickOnCancel()
|
// function : ClickOnCancel()
|
||||||
// purpose :
|
// purpose :
|
||||||
//=======================================================================
|
//=================================================================================
|
||||||
void BasicGUI_ArcDlg::ClickOnCancel()
|
void BasicGUI_ArcDlg::ClickOnCancel()
|
||||||
{
|
{
|
||||||
GEOMBase_Skeleton::ClickOnCancel();
|
GEOMBase_Skeleton::ClickOnCancel();
|
||||||
@ -171,7 +173,7 @@ bool BasicGUI_ArcDlg::ClickOnApply()
|
|||||||
Group3Pnts->LineEdit2->setText( "" );
|
Group3Pnts->LineEdit2->setText( "" );
|
||||||
Group3Pnts->LineEdit3->setText( "" );
|
Group3Pnts->LineEdit3->setText( "" );
|
||||||
myEditCurrentArgument = Group3Pnts->LineEdit1;
|
myEditCurrentArgument = Group3Pnts->LineEdit1;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,8 +185,8 @@ bool BasicGUI_ArcDlg::ClickOnApply()
|
|||||||
void BasicGUI_ArcDlg::SelectionIntoArgument()
|
void BasicGUI_ArcDlg::SelectionIntoArgument()
|
||||||
{
|
{
|
||||||
myEditCurrentArgument->setText("");
|
myEditCurrentArgument->setText("");
|
||||||
|
|
||||||
if ( IObjectCount() != 1 )
|
if ( IObjectCount() != 1 )
|
||||||
{
|
{
|
||||||
if ( myEditCurrentArgument == Group3Pnts->LineEdit1 ) myPoint1 = GEOM::GEOM_Object::_nil();
|
if ( myEditCurrentArgument == Group3Pnts->LineEdit1 ) myPoint1 = GEOM::GEOM_Object::_nil();
|
||||||
else if ( myEditCurrentArgument == Group3Pnts->LineEdit2 ) myPoint2 = GEOM::GEOM_Object::_nil();
|
else if ( myEditCurrentArgument == Group3Pnts->LineEdit2 ) myPoint2 = GEOM::GEOM_Object::_nil();
|
||||||
@ -196,8 +198,8 @@ void BasicGUI_ArcDlg::SelectionIntoArgument()
|
|||||||
Standard_Boolean aRes = Standard_False;
|
Standard_Boolean aRes = Standard_False;
|
||||||
GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject( firstIObject(), aRes );
|
GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject( firstIObject(), aRes );
|
||||||
if ( !CORBA::is_nil( aSelectedObject ) && aRes )
|
if ( !CORBA::is_nil( aSelectedObject ) && aRes )
|
||||||
{
|
{
|
||||||
myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) );
|
myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) );
|
||||||
if ( myEditCurrentArgument == Group3Pnts->LineEdit1 ) myPoint1 = aSelectedObject;
|
if ( myEditCurrentArgument == Group3Pnts->LineEdit1 ) myPoint1 = aSelectedObject;
|
||||||
else if ( myEditCurrentArgument == Group3Pnts->LineEdit2 ) myPoint2 = aSelectedObject;
|
else if ( myEditCurrentArgument == Group3Pnts->LineEdit2 ) myPoint2 = aSelectedObject;
|
||||||
else if ( myEditCurrentArgument == Group3Pnts->LineEdit3 ) myPoint3 = aSelectedObject;
|
else if ( myEditCurrentArgument == Group3Pnts->LineEdit3 ) myPoint3 = aSelectedObject;
|
||||||
@ -218,7 +220,7 @@ void BasicGUI_ArcDlg::SetEditCurrentArgument()
|
|||||||
if ( send == Group3Pnts->PushButton1 ) myEditCurrentArgument = Group3Pnts->LineEdit1;
|
if ( send == Group3Pnts->PushButton1 ) myEditCurrentArgument = Group3Pnts->LineEdit1;
|
||||||
else if ( send == Group3Pnts->PushButton2 ) myEditCurrentArgument = Group3Pnts->LineEdit2;
|
else if ( send == Group3Pnts->PushButton2 ) myEditCurrentArgument = Group3Pnts->LineEdit2;
|
||||||
else if ( send == Group3Pnts->PushButton3 ) myEditCurrentArgument = Group3Pnts->LineEdit3;
|
else if ( send == Group3Pnts->PushButton3 ) myEditCurrentArgument = Group3Pnts->LineEdit3;
|
||||||
|
|
||||||
myEditCurrentArgument->setFocus();
|
myEditCurrentArgument->setFocus();
|
||||||
SelectionIntoArgument();
|
SelectionIntoArgument();
|
||||||
}
|
}
|
||||||
@ -229,7 +231,7 @@ void BasicGUI_ArcDlg::SetEditCurrentArgument()
|
|||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
void BasicGUI_ArcDlg::LineEditReturnPressed()
|
void BasicGUI_ArcDlg::LineEditReturnPressed()
|
||||||
{
|
{
|
||||||
QLineEdit* send = (QLineEdit*)sender();
|
QLineEdit* send = (QLineEdit*)sender();
|
||||||
if ( send == Group3Pnts->LineEdit1 ||
|
if ( send == Group3Pnts->LineEdit1 ||
|
||||||
send == Group3Pnts->LineEdit2 ||
|
send == Group3Pnts->LineEdit2 ||
|
||||||
@ -248,8 +250,8 @@ void BasicGUI_ArcDlg::LineEditReturnPressed()
|
|||||||
void BasicGUI_ArcDlg::ActivateThisDialog()
|
void BasicGUI_ArcDlg::ActivateThisDialog()
|
||||||
{
|
{
|
||||||
GEOMBase_Skeleton::ActivateThisDialog();
|
GEOMBase_Skeleton::ActivateThisDialog();
|
||||||
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
||||||
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
// myGeometryGUI->SetState( 0 );
|
// myGeometryGUI->SetState( 0 );
|
||||||
globalSelection( GEOM_POINT );
|
globalSelection( GEOM_POINT );
|
||||||
@ -317,7 +319,8 @@ bool BasicGUI_ArcDlg::isValid( QString& msg )
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool BasicGUI_ArcDlg::execute( ObjectList& objects )
|
bool BasicGUI_ArcDlg::execute( ObjectList& objects )
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var anObj = GEOM::GEOM_ICurvesOperations::_narrow( getOperation() )->MakeArc( myPoint1, myPoint2, myPoint3 );
|
GEOM::GEOM_Object_var anObj =
|
||||||
|
GEOM::GEOM_ICurvesOperations::_narrow(getOperation())->MakeArc(myPoint1, myPoint2, myPoint3);
|
||||||
if ( !anObj->_is_nil() )
|
if ( !anObj->_is_nil() )
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
return true;
|
return true;
|
||||||
|
@ -111,11 +111,13 @@ bool DisplayGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent)
|
|||||||
}
|
}
|
||||||
case 212: // MENU VIEW - DISPLAY ALL
|
case 212: // MENU VIEW - DISPLAY ALL
|
||||||
{
|
{
|
||||||
|
getGeometryGUI()->EmitSignalDeactivateDialog();
|
||||||
myDisplayGUI->DisplayAll();
|
myDisplayGUI->DisplayAll();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 213: // MENU VIEW - DISPLAY ONLY
|
case 213: // MENU VIEW - DISPLAY ONLY
|
||||||
{
|
{
|
||||||
|
getGeometryGUI()->EmitSignalDeactivateDialog();
|
||||||
myDisplayGUI->DisplayOnly();
|
myDisplayGUI->DisplayOnly();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -131,6 +133,7 @@ bool DisplayGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent)
|
|||||||
}
|
}
|
||||||
case 216: // MENU VIEW - DISPLAY
|
case 216: // MENU VIEW - DISPLAY
|
||||||
{
|
{
|
||||||
|
getGeometryGUI()->EmitSignalDeactivateDialog();
|
||||||
myDisplayGUI->Display();
|
myDisplayGUI->Display();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ bool RepairGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent)
|
|||||||
aDlg = new RepairGUI_RemoveIntWiresDlg( parent, "" );
|
aDlg = new RepairGUI_RemoveIntWiresDlg( parent, "" );
|
||||||
break;
|
break;
|
||||||
case 608: // ADD POINT ON EDGE
|
case 608: // ADD POINT ON EDGE
|
||||||
aDlg = new RepairGUI_DivideEdgeDlg( parent, "" );
|
aDlg = new RepairGUI_DivideEdgeDlg( getGeometryGUI(), parent, "" );
|
||||||
break;
|
break;
|
||||||
case 609: // FREE BOUNDARIES
|
case 609: // FREE BOUNDARIES
|
||||||
aDlg = new RepairGUI_FreeBoundDlg( getGeometryGUI(), parent );
|
aDlg = new RepairGUI_FreeBoundDlg( getGeometryGUI(), parent );
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
// GEOM GEOMGUI : GUI for Geometry component
|
// GEOM GEOMGUI : GUI for Geometry component
|
||||||
//
|
//
|
||||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Lesser General Public
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
// License as published by the Free Software Foundation; either
|
// License as published by the Free Software Foundation; either
|
||||||
// version 2.1 of the License.
|
// version 2.1 of the License.
|
||||||
//
|
//
|
||||||
// This library is distributed in the hope that it will be useful,
|
// This library is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
// Lesser General Public License for more details.
|
// Lesser General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
// License along with this library; if not, write to the Free Software
|
// License along with this library; if not, write to the Free Software
|
||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@ -48,9 +48,13 @@ using namespace std;
|
|||||||
// The dialog will by default be modeless, unless you set 'modal' to
|
// The dialog will by default be modeless, unless you set 'modal' to
|
||||||
// TRUE to construct a modal dialog.
|
// TRUE to construct a modal dialog.
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
RepairGUI_DivideEdgeDlg::RepairGUI_DivideEdgeDlg(QWidget* parent, const char* name, bool modal, WFlags fl)
|
RepairGUI_DivideEdgeDlg::RepairGUI_DivideEdgeDlg (GeometryGUI* theGeometryGUI, QWidget* parent,
|
||||||
:GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
|
const char* name, bool modal, WFlags fl)
|
||||||
|
: GEOMBase_Skeleton(parent, name, modal, WStyle_Customize |
|
||||||
|
WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
|
||||||
{
|
{
|
||||||
|
myGeomGUI = theGeometryGUI;
|
||||||
|
|
||||||
QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_DIVIDE_EDGE")));
|
QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_DIVIDE_EDGE")));
|
||||||
QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT")));
|
QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT")));
|
||||||
|
|
||||||
@ -76,7 +80,7 @@ RepairGUI_DivideEdgeDlg::RepairGUI_DivideEdgeDlg(QWidget* parent, const char* na
|
|||||||
myIsParameterGr->find( 0 )->toggle();
|
myIsParameterGr->find( 0 )->toggle();
|
||||||
|
|
||||||
QGridLayout* aLay = new QGridLayout( 0, 1, 2, 0, 6, "aLay" );
|
QGridLayout* aLay = new QGridLayout( 0, 1, 2, 0, 6, "aLay" );
|
||||||
myValEdt = new QtxDblSpinBox(0., 1., 0.1, GroupPoints->GroupBox1);// QAD_SpinBoxDbl( GroupPoints->GroupBox1, 0., 1., 0.1, 3 );
|
myValEdt = new QtxDblSpinBox(0., 1., 0.1, GroupPoints->GroupBox1);
|
||||||
myValEdt->setPrecision( 3 );
|
myValEdt->setPrecision( 3 );
|
||||||
myValEdt->setValue( 0.5 );
|
myValEdt->setValue( 0.5 );
|
||||||
QLabel* aLbl1 = new QLabel( tr( "GEOM_VALUE" ), GroupPoints->GroupBox1 );
|
QLabel* aLbl1 = new QLabel( tr( "GEOM_VALUE" ), GroupPoints->GroupBox1 );
|
||||||
@ -127,8 +131,8 @@ void RepairGUI_DivideEdgeDlg::Init()
|
|||||||
connect(GroupPoints->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
|
connect(GroupPoints->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
|
||||||
connect(GroupPoints->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
connect(GroupPoints->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
|
|
||||||
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
||||||
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ;
|
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
initName( tr( "DEVIDE_EDGE_NEW_OBJECT_NAME" ) );
|
initName( tr( "DEVIDE_EDGE_NEW_OBJECT_NAME" ) );
|
||||||
}
|
}
|
||||||
@ -145,7 +149,6 @@ void RepairGUI_DivideEdgeDlg::ClickOnOk()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : ClickOnApply()
|
// function : ClickOnApply()
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -153,7 +156,7 @@ void RepairGUI_DivideEdgeDlg::ClickOnOk()
|
|||||||
bool RepairGUI_DivideEdgeDlg::ClickOnApply()
|
bool RepairGUI_DivideEdgeDlg::ClickOnApply()
|
||||||
{
|
{
|
||||||
if ( !onAccept() )
|
if ( !onAccept() )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
initName();
|
initName();
|
||||||
|
|
||||||
@ -199,32 +202,34 @@ void RepairGUI_DivideEdgeDlg::SelectionIntoArgument()
|
|||||||
TopoDS_Shape aShape;
|
TopoDS_Shape aShape;
|
||||||
if ( myGeomBase->GetShape( aSelectedObj, aShape, TopAbs_SHAPE ) )
|
if ( myGeomBase->GetShape( aSelectedObj, aShape, TopAbs_SHAPE ) )
|
||||||
{
|
{
|
||||||
const int aType = aShape.ShapeType();
|
const int aType = aShape.ShapeType();
|
||||||
if ( aType <= TopAbs_EDGE ) // edge, wire, face, shell, solid, compound
|
if ( aType <= TopAbs_EDGE ) // edge, wire, face, shell, solid, compound
|
||||||
{
|
{
|
||||||
GEOM::short_array anIndexes;
|
GEOM::short_array anIndexes;
|
||||||
|
|
||||||
TColStd_IndexedMapOfInteger aMap;
|
|
||||||
((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr()->GetIndexes( anIO, aMap );
|
|
||||||
|
|
||||||
if ( !aMap.IsEmpty() ) // subshape selection
|
TColStd_IndexedMapOfInteger aMap;
|
||||||
{
|
SalomeApp_Application* anApp =
|
||||||
myIndex = aMap( 1 );
|
(SalomeApp_Application*)(SUIT_Session::session()->activeApplication());
|
||||||
myObject = aSelectedObj;
|
anApp->selectionMgr()->GetIndexes( anIO, aMap );
|
||||||
myEditCurrentArgument->setText( tr( "GEOM_EDGE" ) + "_1" );
|
|
||||||
}
|
if ( !aMap.IsEmpty() ) // subshape selection
|
||||||
else if ( aType == TopAbs_EDGE ) // single shape selection
|
{
|
||||||
{
|
myIndex = aMap( 1 );
|
||||||
myIndex = -1;
|
myObject = aSelectedObj;
|
||||||
myObject = aSelectedObj;
|
myEditCurrentArgument->setText( tr( "GEOM_EDGE" ) + "_1" );
|
||||||
myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
|
}
|
||||||
}
|
else if ( aType == TopAbs_EDGE ) // single shape selection
|
||||||
else // face, shell, solid or compound was selected, and NOT its subshape.
|
{
|
||||||
{
|
myIndex = -1;
|
||||||
myIndex = -1;
|
myObject = aSelectedObj;
|
||||||
myObject = GEOM::GEOM_Object::_nil();
|
myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
|
||||||
}
|
}
|
||||||
}
|
else // face, shell, solid or compound was selected, and NOT its subshape.
|
||||||
|
{
|
||||||
|
myIndex = -1;
|
||||||
|
myObject = GEOM::GEOM_Object::_nil();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -254,8 +259,8 @@ void RepairGUI_DivideEdgeDlg::LineEditReturnPressed()
|
|||||||
if( sender() == GroupPoints->LineEdit1 )
|
if( sender() == GroupPoints->LineEdit1 )
|
||||||
{
|
{
|
||||||
myEditCurrentArgument = GroupPoints->LineEdit1;
|
myEditCurrentArgument = GroupPoints->LineEdit1;
|
||||||
GEOMBase_Skeleton::LineEditReturnPressed();
|
GEOMBase_Skeleton::LineEditReturnPressed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -269,7 +274,6 @@ void RepairGUI_DivideEdgeDlg::DeactivateActiveDialog()
|
|||||||
GEOMBase_Skeleton::DeactivateActiveDialog();
|
GEOMBase_Skeleton::DeactivateActiveDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : ActivateThisDialog()
|
// function : ActivateThisDialog()
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -277,8 +281,8 @@ void RepairGUI_DivideEdgeDlg::DeactivateActiveDialog()
|
|||||||
void RepairGUI_DivideEdgeDlg::ActivateThisDialog()
|
void RepairGUI_DivideEdgeDlg::ActivateThisDialog()
|
||||||
{
|
{
|
||||||
GEOMBase_Skeleton::ActivateThisDialog();
|
GEOMBase_Skeleton::ActivateThisDialog();
|
||||||
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
||||||
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ;
|
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
myObject = GEOM::GEOM_Object::_nil();
|
myObject = GEOM::GEOM_Object::_nil();
|
||||||
myIndex = -1;
|
myIndex = -1;
|
||||||
@ -287,7 +291,6 @@ void RepairGUI_DivideEdgeDlg::ActivateThisDialog()
|
|||||||
initSelection();
|
initSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : enterEvent()
|
// function : enterEvent()
|
||||||
// purpose : Mouse enter onto the dialog to activate it
|
// purpose : Mouse enter onto the dialog to activate it
|
||||||
@ -298,7 +301,6 @@ void RepairGUI_DivideEdgeDlg::enterEvent(QEvent* e)
|
|||||||
ActivateThisDialog();
|
ActivateThisDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : closeEvent()
|
// function : closeEvent()
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -309,6 +311,7 @@ void RepairGUI_DivideEdgeDlg::closeEvent(QCloseEvent* e)
|
|||||||
GEOMBase_Skeleton::closeEvent( e );
|
GEOMBase_Skeleton::closeEvent( e );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : createOperation
|
// function : createOperation
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -324,7 +327,7 @@ GEOM::GEOM_IOperations_ptr RepairGUI_DivideEdgeDlg::createOperation()
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool RepairGUI_DivideEdgeDlg::isValid( QString& msg )
|
bool RepairGUI_DivideEdgeDlg::isValid( QString& msg )
|
||||||
{
|
{
|
||||||
return !myObject->_is_nil();
|
return !myObject->_is_nil();
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -333,13 +336,13 @@ bool RepairGUI_DivideEdgeDlg::isValid( QString& msg )
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool RepairGUI_DivideEdgeDlg::execute( ObjectList& objects )
|
bool RepairGUI_DivideEdgeDlg::execute( ObjectList& objects )
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->DivideEdge(
|
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->DivideEdge
|
||||||
myObject, myIndex, myValEdt->value(), getIsByParameter() );
|
( myObject, myIndex, myValEdt->value(), getIsByParameter() );
|
||||||
bool aResult = !anObj->_is_nil();
|
bool aResult = !anObj->_is_nil();
|
||||||
if ( aResult )
|
if ( aResult )
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
|
|
||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -348,7 +351,7 @@ bool RepairGUI_DivideEdgeDlg::execute( ObjectList& objects )
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool RepairGUI_DivideEdgeDlg::getIsByParameter() const
|
bool RepairGUI_DivideEdgeDlg::getIsByParameter() const
|
||||||
{
|
{
|
||||||
return myIsParameterGr->find( 0 )->isOn();
|
return myIsParameterGr->find( 0 )->isOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -360,6 +363,3 @@ void RepairGUI_DivideEdgeDlg::initSelection()
|
|||||||
GEOM::GEOM_Object_var aNullGeomObject;
|
GEOM::GEOM_Object_var aNullGeomObject;
|
||||||
localSelection( aNullGeomObject, TopAbs_EDGE ); // load local selection on ALL objects
|
localSelection( aNullGeomObject, TopAbs_EDGE ); // load local selection on ALL objects
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
// GEOM GEOMGUI : GUI for Geometry component
|
// GEOM GEOMGUI : GUI for Geometry component
|
||||||
//
|
//
|
||||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Lesser General Public
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
// License as published by the Free Software Foundation; either
|
// License as published by the Free Software Foundation; either
|
||||||
// version 2.1 of the License.
|
// version 2.1 of the License.
|
||||||
//
|
//
|
||||||
// This library is distributed in the hope that it will be useful,
|
// This library is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
// Lesser General Public License for more details.
|
// Lesser General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
// License along with this library; if not, write to the Free Software
|
// License along with this library; if not, write to the Free Software
|
||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@ -47,7 +47,8 @@ class RepairGUI_DivideEdgeDlg : public GEOMBase_Skeleton
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RepairGUI_DivideEdgeDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0);
|
RepairGUI_DivideEdgeDlg (GeometryGUI* theGeometryGUI, QWidget* parent = 0,
|
||||||
|
const char* name = 0, bool modal = FALSE, WFlags fl = 0);
|
||||||
~RepairGUI_DivideEdgeDlg();
|
~RepairGUI_DivideEdgeDlg();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -64,14 +65,14 @@ private :
|
|||||||
|
|
||||||
bool getIsByParameter() const;
|
bool getIsByParameter() const;
|
||||||
|
|
||||||
GEOM::GEOM_Object_var myObject;
|
GEOM::GEOM_Object_var myObject;
|
||||||
int myIndex;
|
int myIndex;
|
||||||
|
|
||||||
DlgRef_1Sel_Ext* GroupPoints;
|
DlgRef_1Sel_Ext* GroupPoints;
|
||||||
QButtonGroup* myIsParameterGr;
|
QButtonGroup* myIsParameterGr;
|
||||||
QtxDblSpinBox* myValEdt;
|
QtxDblSpinBox* myValEdt;
|
||||||
|
|
||||||
private slots:
|
protected slots:
|
||||||
void ClickOnOk();
|
void ClickOnOk();
|
||||||
bool ClickOnApply();
|
bool ClickOnApply();
|
||||||
void ClickOnCancel();
|
void ClickOnCancel();
|
||||||
|
Loading…
Reference in New Issue
Block a user