mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-29 02:40:36 +05:00
0022751: [EDF] Publish results of the Check Free Faces operation
This commit is contained in:
parent
b0f59ad904
commit
79f33ff735
Binary file not shown.
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 12 KiB |
@ -8,6 +8,8 @@ A free face is a face, which is not shared between several sub-shapes of the sha
|
|||||||
|
|
||||||
\image html repair10.png
|
\image html repair10.png
|
||||||
|
|
||||||
|
Press \b Apply or <b>Apply and Close</b> button to publish the corresponding faces in the study.
|
||||||
|
|
||||||
<b>TUI Command:</b> <em>GetFreeFacesIDs(Shape),</em> where \em Shape is
|
<b>TUI Command:</b> <em>GetFreeFacesIDs(Shape),</em> where \em Shape is
|
||||||
a shape to be checked.
|
a shape to be checked.
|
||||||
|
|
||||||
@ -15,4 +17,4 @@ a shape to be checked.
|
|||||||
|
|
||||||
See also a \ref tui_free_faces_page "TUI example".
|
See also a \ref tui_free_faces_page "TUI example".
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@ -836,6 +836,10 @@ Please, select face, shell or solid and try again</translation>
|
|||||||
<source>GEOM_FREE_FACES</source>
|
<source>GEOM_FREE_FACES</source>
|
||||||
<translation>Free faces</translation>
|
<translation>Free faces</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>GEOM_FREE_FACES_NAME</source>
|
||||||
|
<translation>Free_face</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>GEOM_FREE_FACES_TITLE</source>
|
<source>GEOM_FREE_FACES_TITLE</source>
|
||||||
<translation>Free faces</translation>
|
<translation>Free faces</translation>
|
||||||
|
@ -26,38 +26,35 @@
|
|||||||
//
|
//
|
||||||
#include "RepairGUI_FreeFacesDlg.h"
|
#include "RepairGUI_FreeFacesDlg.h"
|
||||||
|
|
||||||
#include <LightApp_Application.h>
|
#include <GEOMBase.h>
|
||||||
#include <LightApp_SelectionMgr.h>
|
#include <GeometryGUI.h>
|
||||||
#include <SalomeApp_Application.h>
|
|
||||||
#include <SalomeApp_Tools.h>
|
|
||||||
#include <SalomeApp_Study.h>
|
|
||||||
|
|
||||||
#include <SUIT_MessageBox.h>
|
|
||||||
#include <SUIT_Session.h>
|
|
||||||
#include <SUIT_OverrideCursor.h>
|
|
||||||
#include <SUIT_Desktop.h>
|
|
||||||
#include <SUIT_ResourceMgr.h>
|
|
||||||
#include <SUIT_ViewWindow.h>
|
|
||||||
#include <SUIT_ViewManager.h>
|
|
||||||
|
|
||||||
#include <GEOMImpl_Types.hxx>
|
#include <GEOMImpl_Types.hxx>
|
||||||
#include <GEOM_Constants.h>
|
#include <GEOM_Constants.h>
|
||||||
|
|
||||||
#include <TopTools_IndexedMapOfShape.hxx>
|
#include <LightApp_Application.h>
|
||||||
|
#include <LightApp_SelectionMgr.h>
|
||||||
|
#include <SalomeApp_Application.h>
|
||||||
|
#include <SalomeApp_Study.h>
|
||||||
|
#include <SalomeApp_Tools.h>
|
||||||
|
#include <SUIT_Desktop.h>
|
||||||
|
#include <SUIT_OverrideCursor.h>
|
||||||
|
#include <SUIT_ResourceMgr.h>
|
||||||
|
#include <SUIT_Session.h>
|
||||||
|
#include <SUIT_ViewManager.h>
|
||||||
|
#include <SUIT_ViewWindow.h>
|
||||||
|
|
||||||
#include <TColStd_MapOfInteger.hxx>
|
#include <TColStd_MapOfInteger.hxx>
|
||||||
#include <TopExp.hxx>
|
#include <TopExp.hxx>
|
||||||
|
#include <TopTools_IndexedMapOfShape.hxx>
|
||||||
|
|
||||||
#include <GEOMBase.h>
|
|
||||||
#include <GeometryGUI.h>
|
|
||||||
#include <GEOM_Displayer.h>
|
|
||||||
|
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QLabel>
|
|
||||||
#include <QGroupBox>
|
#include <QGroupBox>
|
||||||
#include <QPushButton>
|
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QLineEdit>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QRadioButton>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QKeyEvent>
|
|
||||||
|
|
||||||
#define SPACING 6
|
#define SPACING 6
|
||||||
#define MARGIN 9
|
#define MARGIN 9
|
||||||
@ -71,27 +68,32 @@
|
|||||||
// TRUE to construct a modal dialog.
|
// TRUE to construct a modal dialog.
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
RepairGUI_FreeFacesDlg::RepairGUI_FreeFacesDlg( GeometryGUI* GUI, QWidget* parent,
|
RepairGUI_FreeFacesDlg::RepairGUI_FreeFacesDlg( GeometryGUI* GUI, QWidget* parent,
|
||||||
bool modal )
|
bool modal)
|
||||||
: QDialog( parent, 0 ),
|
: GEOMBase_Skeleton(GUI, parent, modal),
|
||||||
GEOMBase_Helper( dynamic_cast<SUIT_Desktop*>( parent ) ),
|
myDisplayer (0),
|
||||||
myGeomGUI( GUI ),
|
myEdit (0)
|
||||||
myDisplayer( 0 )
|
|
||||||
{
|
{
|
||||||
setAttribute( Qt::WA_DeleteOnClose );
|
QPixmap image0 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_FREE_FACES")));
|
||||||
|
|
||||||
setSizeGripEnabled( true );
|
|
||||||
|
|
||||||
QPixmap image1( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_SELECT" ) ) );
|
QPixmap image1( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_SELECT" ) ) );
|
||||||
|
|
||||||
setWindowTitle( tr( "GEOM_FREE_FACES_TITLE" ) );
|
setWindowTitle( tr( "GEOM_FREE_FACES_TITLE" ) );
|
||||||
|
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
|
|
||||||
|
mainFrame()->GroupConstructors->setTitle(tr("GEOM_FREE_FACES"));
|
||||||
|
mainFrame()->RadioButton1->setIcon(image0);
|
||||||
|
mainFrame()->RadioButton2->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
|
mainFrame()->RadioButton2->close();
|
||||||
|
mainFrame()->RadioButton3->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
|
mainFrame()->RadioButton3->close();
|
||||||
|
|
||||||
|
mainFrame()->GroupBoxName->hide();
|
||||||
|
|
||||||
QGroupBox* aMainGrp = new QGroupBox( tr( "GEOM_SELECTED_SHAPE" ), this );
|
QGroupBox* aMainGrp = new QGroupBox( tr( "GEOM_SELECTED_SHAPE" ), this );
|
||||||
|
|
||||||
QLabel* lab = new QLabel( tr( "GEOM_OBJECT" ), aMainGrp );
|
QLabel* lab = new QLabel( tr( "GEOM_OBJECT" ), aMainGrp );
|
||||||
mySelBtn = new QPushButton( aMainGrp );
|
QPushButton *aSelBtn = new QPushButton( aMainGrp );
|
||||||
mySelBtn->setIcon( image1 );
|
aSelBtn->setIcon( image1 );
|
||||||
myEdit = new QLineEdit( aMainGrp );
|
myEdit = new QLineEdit( aMainGrp );
|
||||||
myEdit->setReadOnly( true );
|
myEdit->setReadOnly( true );
|
||||||
myEdit->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
|
myEdit->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
|
||||||
@ -101,37 +103,19 @@ RepairGUI_FreeFacesDlg::RepairGUI_FreeFacesDlg( GeometryGUI* GUI, QWidget* paren
|
|||||||
aMainLay->setSpacing( SPACING );
|
aMainLay->setSpacing( SPACING );
|
||||||
aMainLay->setMargin( MARGIN );
|
aMainLay->setMargin( MARGIN );
|
||||||
aMainLay->addWidget( lab );
|
aMainLay->addWidget( lab );
|
||||||
aMainLay->addWidget( mySelBtn );
|
aMainLay->addWidget( aSelBtn );
|
||||||
aMainLay->addWidget( myEdit );
|
aMainLay->addWidget( myEdit );
|
||||||
|
|
||||||
QFrame* aFrame = new QFrame( this );
|
QVBoxLayout* aLay = new QVBoxLayout (centralWidget());
|
||||||
aFrame->setFrameStyle( QFrame::Box | QFrame::Sunken );
|
aLay->setSpacing(SPACING);
|
||||||
QPushButton* aCloseBtn = new QPushButton( tr( "GEOM_BUT_CLOSE" ), aFrame );
|
aLay->setMargin(MARGIN);
|
||||||
QPushButton* aHelpBtn = new QPushButton( tr( "GEOM_BUT_HELP" ), aFrame );
|
aLay->addWidget(aMainGrp);
|
||||||
|
|
||||||
QHBoxLayout* aBtnLay = new QHBoxLayout( aFrame );
|
resize(minimumSizeHint());
|
||||||
aBtnLay->setSpacing( SPACING );
|
/***************************************************************/
|
||||||
aBtnLay->setMargin( MARGIN );
|
|
||||||
aBtnLay->addWidget( aCloseBtn );
|
|
||||||
aBtnLay->addSpacing( SPACING );
|
|
||||||
aBtnLay->addStretch();
|
|
||||||
aBtnLay->addWidget( aHelpBtn );
|
|
||||||
|
|
||||||
QVBoxLayout* aLay = new QVBoxLayout( this );
|
|
||||||
aLay->setSpacing( SPACING );
|
|
||||||
aLay->setMargin( MARGIN );
|
|
||||||
aLay->addWidget( aMainGrp );
|
|
||||||
aLay->addStretch();
|
|
||||||
aLay->addWidget( aFrame );
|
|
||||||
|
|
||||||
myHelpFileName = "using_measurement_tools_page.html#faces_anchor";
|
myHelpFileName = "using_measurement_tools_page.html#faces_anchor";
|
||||||
|
|
||||||
connect( aCloseBtn, SIGNAL( clicked() ), SLOT( onClose() ) );
|
|
||||||
connect( aHelpBtn, SIGNAL( clicked() ), SLOT( onHelp() ) );
|
|
||||||
connect( mySelBtn, SIGNAL( clicked() ),
|
|
||||||
this, SLOT ( onSetEditCurrentArgument() ) );
|
|
||||||
/***************************************************************/
|
|
||||||
|
|
||||||
Init();
|
Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,70 +129,6 @@ RepairGUI_FreeFacesDlg::~RepairGUI_FreeFacesDlg()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
|
||||||
// function : onClose
|
|
||||||
// purpose : SLOT. Called when "close" button pressed. Close dialog
|
|
||||||
//=================================================================================
|
|
||||||
void RepairGUI_FreeFacesDlg::onClose()
|
|
||||||
{
|
|
||||||
globalSelection();
|
|
||||||
disconnect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(), 0, this, 0 );
|
|
||||||
myGeomGUI->SetActiveDialogBox( 0 );
|
|
||||||
reject();
|
|
||||||
erasePreview();
|
|
||||||
}
|
|
||||||
|
|
||||||
//=================================================================================
|
|
||||||
// function : onHelp()
|
|
||||||
// purpose :
|
|
||||||
//=================================================================================
|
|
||||||
void RepairGUI_FreeFacesDlg::onHelp()
|
|
||||||
{
|
|
||||||
LightApp_Application* app = (LightApp_Application*)( SUIT_Session::session()->activeApplication() );
|
|
||||||
if ( app )
|
|
||||||
app->onHelpContextModule( myGeomGUI ? app->moduleName( myGeomGUI->moduleName() ) : QString(""), myHelpFileName );
|
|
||||||
else {
|
|
||||||
QString platform;
|
|
||||||
#ifdef WIN32
|
|
||||||
platform = "winapplication";
|
|
||||||
#else
|
|
||||||
platform = "application";
|
|
||||||
#endif
|
|
||||||
SUIT_MessageBox::warning( this,
|
|
||||||
tr( "WRN_WARNING" ),
|
|
||||||
tr( "EXTERNAL_BROWSER_CANNOT_SHOW_PAGE" ).
|
|
||||||
arg( app->resourceMgr()->stringValue( "ExternalBrowser",
|
|
||||||
platform ) ).
|
|
||||||
arg( myHelpFileName ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//=================================================================================
|
|
||||||
// function : onDeactivate
|
|
||||||
// purpose : Deactivate this dialog
|
|
||||||
//=================================================================================
|
|
||||||
void RepairGUI_FreeFacesDlg::onDeactivate()
|
|
||||||
{
|
|
||||||
setEnabled( false );
|
|
||||||
globalSelection();
|
|
||||||
disconnect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(), 0, this, 0 );
|
|
||||||
myGeomGUI->SetActiveDialogBox( 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
//=================================================================================
|
|
||||||
// function : onActivate
|
|
||||||
// purpose : Activate this dialog
|
|
||||||
//=================================================================================
|
|
||||||
void RepairGUI_FreeFacesDlg::onActivate()
|
|
||||||
{
|
|
||||||
myGeomGUI->EmitSignalDeactivateDialog();
|
|
||||||
setEnabled( true );
|
|
||||||
myGeomGUI->SetActiveDialogBox( this );
|
|
||||||
connect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(),
|
|
||||||
SIGNAL( currentSelectionChanged() ), SLOT( onSelectionDone() ) );
|
|
||||||
activateSelection();
|
|
||||||
}
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : Init()
|
// function : Init()
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -216,22 +136,76 @@ void RepairGUI_FreeFacesDlg::onActivate()
|
|||||||
void RepairGUI_FreeFacesDlg::Init()
|
void RepairGUI_FreeFacesDlg::Init()
|
||||||
{
|
{
|
||||||
myObj = GEOM::GEOM_Object::_nil();
|
myObj = GEOM::GEOM_Object::_nil();
|
||||||
|
myEditCurrentArgument = myEdit;
|
||||||
|
|
||||||
/* signals and slots connections */
|
connect(buttonOk(), SIGNAL(clicked()), this, SLOT(ClickOnOk()));
|
||||||
connect( myGeomGUI, SIGNAL( SignalDeactivateActiveDialog() ), SLOT ( onDeactivate() ) );
|
connect(buttonApply(), SIGNAL(clicked()), this, SLOT(ClickOnApply()));
|
||||||
connect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(),
|
connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()),
|
||||||
SIGNAL( currentSelectionChanged() ), SLOT ( onSelectionDone() ) );
|
this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
|
initName(tr("GEOM_FREE_FACES_NAME"));
|
||||||
|
buttonOk()->setEnabled(false);
|
||||||
|
buttonApply()->setEnabled(false);
|
||||||
activateSelection();
|
activateSelection();
|
||||||
onSelectionDone();
|
SelectionIntoArgument();
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : onSelectionDone
|
// function : ClickOnOk()
|
||||||
|
// purpose :
|
||||||
|
//=================================================================================
|
||||||
|
void RepairGUI_FreeFacesDlg::ClickOnOk()
|
||||||
|
{
|
||||||
|
if (ClickOnApply())
|
||||||
|
ClickOnCancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : ClickOnApply()
|
||||||
|
// purpose :
|
||||||
|
//=================================================================================
|
||||||
|
bool RepairGUI_FreeFacesDlg::ClickOnApply()
|
||||||
|
{
|
||||||
|
if (!onAccept())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
initName();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : ActivateThisDialog()
|
||||||
|
// purpose :
|
||||||
|
//=================================================================================
|
||||||
|
void RepairGUI_FreeFacesDlg::ActivateThisDialog()
|
||||||
|
{
|
||||||
|
GEOMBase_Skeleton::ActivateThisDialog();
|
||||||
|
|
||||||
|
connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()),
|
||||||
|
this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
|
activateSelection();
|
||||||
|
displayPreview(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : enterEvent()
|
||||||
|
// purpose :
|
||||||
|
//=================================================================================
|
||||||
|
void RepairGUI_FreeFacesDlg::enterEvent(QEvent*)
|
||||||
|
{
|
||||||
|
if (!mainFrame()->GroupConstructors->isEnabled())
|
||||||
|
ActivateThisDialog();
|
||||||
|
}
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : SelectionIntoArgument
|
||||||
// purpose : SLOT. Called when selection changed.
|
// purpose : SLOT. Called when selection changed.
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
void RepairGUI_FreeFacesDlg::onSelectionDone()
|
void RepairGUI_FreeFacesDlg::SelectionIntoArgument()
|
||||||
{
|
{
|
||||||
|
myEditCurrentArgument->setText("");
|
||||||
|
myObj = GEOM::GEOM_Object::_nil();
|
||||||
erasePreview();
|
erasePreview();
|
||||||
|
|
||||||
LightApp_SelectionMgr* aSelMgr = myGeomGUI->getApp()->selectionMgr();
|
LightApp_SelectionMgr* aSelMgr = myGeomGUI->getApp()->selectionMgr();
|
||||||
@ -239,7 +213,8 @@ void RepairGUI_FreeFacesDlg::onSelectionDone()
|
|||||||
aSelMgr->selectedObjects(aSelList);
|
aSelMgr->selectedObjects(aSelList);
|
||||||
|
|
||||||
if ( aSelList.Extent() != 1 ) {
|
if ( aSelList.Extent() != 1 ) {
|
||||||
myEdit->setText( "" );
|
buttonOk()->setEnabled(false);
|
||||||
|
buttonApply()->setEnabled(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,27 +222,19 @@ void RepairGUI_FreeFacesDlg::onSelectionDone()
|
|||||||
GEOMBase::ConvertIOinGEOMObject( aSelList.First() );
|
GEOMBase::ConvertIOinGEOMObject( aSelList.First() );
|
||||||
|
|
||||||
if ( !GEOMBase::IsShape( anObj ) ) {
|
if ( !GEOMBase::IsShape( anObj ) ) {
|
||||||
myEdit->setText( "" );
|
buttonOk()->setEnabled(false);
|
||||||
|
buttonApply()->setEnabled(false);
|
||||||
return;
|
return;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
myObj = anObj;
|
myObj = anObj;
|
||||||
|
myEditCurrentArgument->setText(GEOMBase::GetName(myObj));
|
||||||
displayPreview( true, false, true, true, 3 );
|
displayPreview( true, false, true, true, 3 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
|
||||||
// function : enterEvent()
|
|
||||||
// purpose : Mouse enter onto the dialog to activate it
|
|
||||||
//=================================================================================
|
|
||||||
void RepairGUI_FreeFacesDlg::enterEvent( QEvent* )
|
|
||||||
{
|
|
||||||
onActivate();
|
|
||||||
}
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : activateSelection
|
// function : activateSelection
|
||||||
// purpose : activate selection of faces, shells, and solids
|
// purpose : activate selection of solids
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
void RepairGUI_FreeFacesDlg::activateSelection()
|
void RepairGUI_FreeFacesDlg::activateSelection()
|
||||||
{
|
{
|
||||||
@ -277,15 +244,6 @@ void RepairGUI_FreeFacesDlg::activateSelection()
|
|||||||
globalSelection( aMap );
|
globalSelection( aMap );
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
|
||||||
// function : closeEvent()
|
|
||||||
// purpose :
|
|
||||||
//=================================================================================
|
|
||||||
void RepairGUI_FreeFacesDlg::closeEvent( QCloseEvent* )
|
|
||||||
{
|
|
||||||
onClose();
|
|
||||||
}
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : createOperation
|
// function : createOperation
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -316,11 +274,15 @@ bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects )
|
|||||||
TopoDS_Shape aSelShape;
|
TopoDS_Shape aSelShape;
|
||||||
TopoDS_Shape aFace;
|
TopoDS_Shape aFace;
|
||||||
TopTools_IndexedMapOfShape anIndices;
|
TopTools_IndexedMapOfShape anIndices;
|
||||||
|
int aNbObj = 0;
|
||||||
|
|
||||||
if ( !myObj->_is_nil() && GEOMBase::GetShape( myObj, aSelShape ) ) {
|
if ( !myObj->_is_nil() && GEOMBase::GetShape( myObj, aSelShape ) ) {
|
||||||
myEdit->setText( GEOMBase::GetName( myObj ) );
|
myEdit->setText( GEOMBase::GetName( myObj ) );
|
||||||
QString aMess;
|
QString aMess;
|
||||||
if ( !isValid( aMess ) ) {
|
if ( !isValid( aMess ) ) {
|
||||||
erasePreview( true );
|
erasePreview( true );
|
||||||
|
buttonOk()->setEnabled(false);
|
||||||
|
buttonApply()->setEnabled(false);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -349,8 +311,11 @@ bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( int i = 0, n = aFaceLst->length(); i < n; i++ ) {
|
int i;
|
||||||
|
int n = aFaceLst->length();
|
||||||
|
|
||||||
|
for (i = 0; i < n; i++ ) {
|
||||||
aFace = anIndices.FindKey( aFaceLst[i] );
|
aFace = anIndices.FindKey( aFaceLst[i] );
|
||||||
try {
|
try {
|
||||||
getDisplayer()->SetColor( Quantity_NOC_RED );
|
getDisplayer()->SetColor( Quantity_NOC_RED );
|
||||||
@ -363,9 +328,27 @@ bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects )
|
|||||||
catch( const SALOME::SALOME_Exception& e )
|
catch( const SALOME::SALOME_Exception& e )
|
||||||
{
|
{
|
||||||
SalomeApp_Tools::QtCatchCorbaException( e );
|
SalomeApp_Tools::QtCatchCorbaException( e );
|
||||||
|
buttonOk()->setEnabled(false);
|
||||||
|
buttonApply()->setEnabled(false);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create sub-objects
|
||||||
|
GEOM::ListOfGO_var aList = anOper->MakeSubShapes(myObj, aFaceLst);
|
||||||
|
|
||||||
|
aNbObj = aList->length();
|
||||||
|
|
||||||
|
for (i = 0; i < aNbObj; i++) {
|
||||||
|
objects.push_back(GEOM::GEOM_Object::_duplicate(aList[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
aResult = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buttonOk()->setEnabled(aNbObj > 0);
|
||||||
|
buttonApply()->setEnabled(aNbObj > 0);
|
||||||
|
|
||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -380,28 +363,12 @@ GEOM_Displayer* RepairGUI_FreeFacesDlg::getDisplayer()
|
|||||||
return myDisplayer;
|
return myDisplayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//================================================================
|
||||||
// function : SetEditCurrentArgument
|
// Function : getFather
|
||||||
// purpose :
|
// Purpose : Get father object for object to be added in study
|
||||||
//=================================================================================
|
// (called with addInStudy method)
|
||||||
void RepairGUI_FreeFacesDlg::onSetEditCurrentArgument()
|
//================================================================
|
||||||
|
GEOM::GEOM_Object_ptr RepairGUI_FreeFacesDlg::getFather (GEOM::GEOM_Object_ptr)
|
||||||
{
|
{
|
||||||
myEdit->setFocus();
|
return myObj;
|
||||||
onSelectionDone();
|
|
||||||
}
|
|
||||||
|
|
||||||
//=================================================================================
|
|
||||||
// function : keyPressEvent()
|
|
||||||
// purpose :
|
|
||||||
//=================================================================================
|
|
||||||
void RepairGUI_FreeFacesDlg::keyPressEvent( QKeyEvent* e )
|
|
||||||
{
|
|
||||||
QDialog::keyPressEvent( e );
|
|
||||||
if ( e->isAccepted() )
|
|
||||||
return;
|
|
||||||
|
|
||||||
if ( e->key() == Qt::Key_F1 ) {
|
|
||||||
e->accept();
|
|
||||||
onHelp();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -27,11 +27,9 @@
|
|||||||
#ifndef REPAIRGUI_FREEFACESDLG_H
|
#ifndef REPAIRGUI_FREEFACESDLG_H
|
||||||
#define REPAIRGUI_FREEFACESDLG_H
|
#define REPAIRGUI_FREEFACESDLG_H
|
||||||
|
|
||||||
#include <QDialog>
|
#include <GEOMBase_Skeleton.h>
|
||||||
#include <GEOMBase_Helper.h>
|
|
||||||
|
|
||||||
class GEOM_Displayer;
|
class GEOM_Displayer;
|
||||||
class QPushButton;
|
|
||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
class GeometryGUI;
|
class GeometryGUI;
|
||||||
|
|
||||||
@ -39,8 +37,7 @@ class GeometryGUI;
|
|||||||
// class : RepairGUI_FreeFacesDlg
|
// class : RepairGUI_FreeFacesDlg
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
class RepairGUI_FreeFacesDlg : public QDialog,
|
class RepairGUI_FreeFacesDlg : public GEOMBase_Skeleton
|
||||||
public GEOMBase_Helper
|
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
@ -53,30 +50,24 @@ protected:
|
|||||||
virtual GEOM::GEOM_IOperations_ptr createOperation();
|
virtual GEOM::GEOM_IOperations_ptr createOperation();
|
||||||
virtual bool isValid( QString& );
|
virtual bool isValid( QString& );
|
||||||
virtual bool execute( ObjectList& );
|
virtual bool execute( ObjectList& );
|
||||||
|
virtual GEOM::GEOM_Object_ptr getFather (GEOM::GEOM_Object_ptr);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Init();
|
void Init();
|
||||||
void enterEvent( QEvent* );
|
void enterEvent( QEvent* );
|
||||||
void closeEvent( QCloseEvent* );
|
|
||||||
void keyPressEvent( QKeyEvent* );
|
|
||||||
void activateSelection();
|
void activateSelection();
|
||||||
GEOM_Displayer* getDisplayer();
|
GEOM_Displayer* getDisplayer();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onClose();
|
void ClickOnOk();
|
||||||
void onHelp();
|
bool ClickOnApply();
|
||||||
void onDeactivate();
|
void SelectionIntoArgument();
|
||||||
void onActivate();
|
void ActivateThisDialog();
|
||||||
void onSelectionDone();
|
|
||||||
void onSetEditCurrentArgument();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
GEOM_Displayer* myDisplayer;
|
GEOM_Displayer* myDisplayer;
|
||||||
GEOM::GEOM_Object_var myObj;
|
GEOM::GEOM_Object_var myObj;
|
||||||
QPushButton* mySelBtn;
|
|
||||||
QLineEdit* myEdit;
|
QLineEdit* myEdit;
|
||||||
GeometryGUI* myGeomGUI;
|
|
||||||
QString myHelpFileName;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // REPAIRGUI_FREEFACESDLG_H
|
#endif // REPAIRGUI_FREEFACESDLG_H
|
||||||
|
Loading…
Reference in New Issue
Block a user