mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-12 09:40:35 +05:00
fix bug with "Compute" operation invoked from Preview dialog (The problem that dialog with mesh result info appear and disappear very quickly)
This commit is contained in:
parent
728f9a0bad
commit
103c6cfb67
@ -1433,6 +1433,17 @@ SMESHGUI_ComputeDlg* SMESHGUI_BaseComputeOp::computeDlg() const
|
||||
return myCompDlg;
|
||||
}
|
||||
|
||||
//================================================================================
|
||||
/*!
|
||||
* \brief returns from compute mesh result dialog
|
||||
*/
|
||||
//================================================================================
|
||||
|
||||
bool SMESHGUI_BaseComputeOp::onApply()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//================================================================================
|
||||
/*!
|
||||
* \brief Return a table
|
||||
@ -1479,17 +1490,6 @@ void SMESHGUI_ComputeOp::startOperation()
|
||||
computeMesh();
|
||||
}
|
||||
|
||||
//================================================================================
|
||||
/*!
|
||||
* \brief perform it's intention action: compute mesh
|
||||
*/
|
||||
//================================================================================
|
||||
|
||||
bool SMESHGUI_ComputeOp::onApply()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//================================================================================
|
||||
/*!
|
||||
* \brief Gets dialog of this operation
|
||||
@ -1559,6 +1559,8 @@ void SMESHGUI_PrecomputeOp::startOperation()
|
||||
|
||||
// connect signals
|
||||
connect( myDlg, SIGNAL( preview() ), this, SLOT( onPreview() ) );
|
||||
connect( myDlg, SIGNAL( dlgOk() ), this, SLOT( onCompute() ) );
|
||||
connect( myDlg, SIGNAL( dlgApply() ), this, SLOT( onCompute() ) );
|
||||
}
|
||||
myActiveDlg = myDlg;
|
||||
|
||||
@ -1588,6 +1590,10 @@ void SMESHGUI_PrecomputeOp::startOperation()
|
||||
|
||||
SMESHGUI_BaseComputeOp::startOperation();
|
||||
|
||||
// disconnect slot from preview dialog to have Apply from results of compute operation only
|
||||
disconnect( myDlg, SIGNAL( dlgOk() ), this, SLOT( onOk() ) );
|
||||
disconnect( myDlg, SIGNAL( dlgApply() ), this, SLOT( onApply() ) );
|
||||
|
||||
myDlg->show();
|
||||
}
|
||||
|
||||
@ -1675,24 +1681,16 @@ void SMESHGUI_PrecomputeOp::initDialog()
|
||||
|
||||
//================================================================================
|
||||
/*!
|
||||
* \brief perform it's intention action:
|
||||
* \brief perform it's intention action: compute mesh
|
||||
*/
|
||||
//================================================================================
|
||||
|
||||
bool SMESHGUI_PrecomputeOp::onApply()
|
||||
void SMESHGUI_PrecomputeOp::onCompute()
|
||||
{
|
||||
QObject* obj = sender();
|
||||
if ( obj != myDlg && myActiveDlg == myDlg )
|
||||
return true; // just return from error messages
|
||||
if ( myActiveDlg == myDlg )
|
||||
{
|
||||
myDlg->hide();
|
||||
myMapShapeId.clear();
|
||||
myActiveDlg = computeDlg();
|
||||
computeMesh();
|
||||
}
|
||||
|
||||
return true;
|
||||
myDlg->hide();
|
||||
myMapShapeId.clear();
|
||||
myActiveDlg = computeDlg();
|
||||
computeMesh();
|
||||
}
|
||||
|
||||
//================================================================================
|
||||
@ -1704,11 +1702,10 @@ bool SMESHGUI_PrecomputeOp::onApply()
|
||||
void SMESHGUI_PrecomputeOp::onCancel()
|
||||
{
|
||||
QObject* curDlg = sender();
|
||||
if ( curDlg == computeDlg() )
|
||||
if ( curDlg == computeDlg() && myActiveDlg == myDlg )
|
||||
{
|
||||
if ( myActiveDlg == myDlg ) // return from error messages
|
||||
myDlg->show();
|
||||
|
||||
// return from error messages
|
||||
myDlg->show();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -84,6 +84,7 @@ protected:
|
||||
const QString& );
|
||||
|
||||
protected slots:
|
||||
virtual bool onApply();
|
||||
void onPreviewShape();
|
||||
void onPublishShape();
|
||||
void onShowBadMesh();
|
||||
@ -120,7 +121,6 @@ protected:
|
||||
virtual void startOperation();
|
||||
|
||||
protected slots:
|
||||
virtual bool onApply();
|
||||
};
|
||||
|
||||
/*!
|
||||
@ -144,11 +144,11 @@ protected:
|
||||
virtual void initDialog();
|
||||
|
||||
protected slots:
|
||||
virtual bool onApply();
|
||||
virtual void onCancel();
|
||||
|
||||
private slots:
|
||||
void onPreview();
|
||||
void onCompute();
|
||||
|
||||
private:
|
||||
QMap< int, int > myMapShapeId;
|
||||
|
Loading…
Reference in New Issue
Block a user