Change in name generation + behavior of apply buttons

This commit is contained in:
skv 2014-10-10 11:17:09 +04:00
parent f3658d864a
commit 84055170e9
4 changed files with 24 additions and 15 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -838,7 +838,7 @@ Please, select face, shell or solid and try again</translation>
</message> </message>
<message> <message>
<source>GEOM_FREE_FACES_NAME</source> <source>GEOM_FREE_FACES_NAME</source>
<translation>Free_face_%1</translation> <translation>Free_face</translation>
</message> </message>
<message> <message>
<source>GEOM_FREE_FACES_TITLE</source> <source>GEOM_FREE_FACES_TITLE</source>

View File

@ -143,6 +143,9 @@ void RepairGUI_FreeFacesDlg::Init()
connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()),
this, SLOT(SelectionIntoArgument())); this, SLOT(SelectionIntoArgument()));
initName(tr("GEOM_FREE_FACES_NAME"));
buttonOk()->setEnabled(false);
buttonApply()->setEnabled(false);
activateSelection(); activateSelection();
SelectionIntoArgument(); SelectionIntoArgument();
} }
@ -165,6 +168,8 @@ bool RepairGUI_FreeFacesDlg::ClickOnApply()
{ {
if (!onAccept()) if (!onAccept())
return false; return false;
initName();
return true; return true;
} }
@ -208,6 +213,8 @@ void RepairGUI_FreeFacesDlg::SelectionIntoArgument()
aSelMgr->selectedObjects(aSelList); aSelMgr->selectedObjects(aSelList);
if ( aSelList.Extent() != 1 ) { if ( aSelList.Extent() != 1 ) {
buttonOk()->setEnabled(false);
buttonApply()->setEnabled(false);
return; return;
} }
@ -215,6 +222,8 @@ void RepairGUI_FreeFacesDlg::SelectionIntoArgument()
GEOMBase::ConvertIOinGEOMObject( aSelList.First() ); GEOMBase::ConvertIOinGEOMObject( aSelList.First() );
if ( !GEOMBase::IsShape( anObj ) ) { if ( !GEOMBase::IsShape( anObj ) ) {
buttonOk()->setEnabled(false);
buttonApply()->setEnabled(false);
return; return;
} else { } else {
myObj = anObj; myObj = anObj;
@ -265,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;
} }
@ -315,6 +328,8 @@ 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; return false;
} }
} }
@ -322,12 +337,18 @@ bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects )
// Create sub-objects // Create sub-objects
GEOM::ListOfGO_var aList = anOper->MakeSubShapes(myObj, aFaceLst); GEOM::ListOfGO_var aList = anOper->MakeSubShapes(myObj, aFaceLst);
for (i = 0, n = aList->length(); i < n; i++) { aNbObj = aList->length();
for (i = 0; i < aNbObj; i++) {
objects.push_back(GEOM::GEOM_Object::_duplicate(aList[i])); objects.push_back(GEOM::GEOM_Object::_duplicate(aList[i]));
} }
aResult = true; aResult = true;
} }
buttonOk()->setEnabled(aNbObj > 0);
buttonApply()->setEnabled(aNbObj > 0);
return aResult; return aResult;
} }
@ -342,17 +363,6 @@ GEOM_Displayer* RepairGUI_FreeFacesDlg::getDisplayer()
return myDisplayer; return myDisplayer;
} }
//================================================================
// Function : getNewObjectName
// Purpose : Redefine this method to return proper name for a new object
//================================================================
QString RepairGUI_FreeFacesDlg::getNewObjectName (int currObj) const
{
QString aName = tr("GEOM_FREE_FACES_NAME").arg(currObj);
return aName;
}
//================================================================ //================================================================
// Function : getFather // Function : getFather
// Purpose : Get father object for object to be added in study // Purpose : Get father object for object to be added in study

View File

@ -50,8 +50,7 @@ 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); virtual GEOM::GEOM_Object_ptr getFather (GEOM::GEOM_Object_ptr);
virtual QString getNewObjectName (int CurrObj = -1) const;
private: private:
void Init(); void Init();