Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Nerge with PAL/SALOME 2.1.0d
[modules/smesh.git]
/
src
/
SMESHGUI
/
SMESHGUI.cxx
diff --git
a/src/SMESHGUI/SMESHGUI.cxx
b/src/SMESHGUI/SMESHGUI.cxx
index ec54348ba66b135ef6586129d577d6bbd16b1363..49baea8a3950b61dee8fbd43bdb2d0594156aab5 100644
(file)
--- a/
src/SMESHGUI/SMESHGUI.cxx
+++ b/
src/SMESHGUI/SMESHGUI.cxx
@@
-676,8
+676,8
@@
namespace{
// Remove object(s) from data structures
SALOMEDS::SObject_var obj = aStudy->FindObjectID(IObject->getEntry());
if(!obj->_is_nil()){
// Remove object(s) from data structures
SALOMEDS::SObject_var obj = aStudy->FindObjectID(IObject->getEntry());
if(!obj->_is_nil()){
- SMESH::SMESH_Group
_var aGroup = SMESH::SMESH_Group
::_narrow(obj->GetObject());
- SMESH::SMESH_subMesh_var aSubMesh = SMESH::SMESH_subMesh::_narrow(obj->GetObject());
+ SMESH::SMESH_Group
Base_var aGroup = SMESH::SMESH_GroupBase
::_narrow(obj->GetObject());
+ SMESH::SMESH_subMesh_var
aSubMesh = SMESH::SMESH_subMesh::_narrow(obj->GetObject());
if ( !aGroup->_is_nil() ) { // DELETE GROUP
SMESH::SMESH_Mesh_var aMesh = aGroup->GetMesh();
if ( !aGroup->_is_nil() ) { // DELETE GROUP
SMESH::SMESH_Mesh_var aMesh = aGroup->GetMesh();
@@
-1378,16
+1378,15
@@
bool SMESHGUI::OnGUIEvent(int theCommandID, QAD_Desktop * parent)
{
if(checkLock(aStudy)) break;
EmitSignalDeactivateDialog();
{
if(checkLock(aStudy)) break;
EmitSignalDeactivateDialog();
+ SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_nil();
SALOME_Selection *Sel = SALOME_Selection::Selection(myActiveStudy->getSelection());
int nbSel = Sel->IObjectCount();
if (nbSel == 1) {
// check if mesh is selected
SALOME_Selection *Sel = SALOME_Selection::Selection(myActiveStudy->getSelection());
int nbSel = Sel->IObjectCount();
if (nbSel == 1) {
// check if mesh is selected
- SMESH::SMESH_Mesh_var aMesh = SMESH::GetMeshByIO(Sel->firstIObject());
- if (!aMesh->_is_nil()) {
- SMESHGUI_GroupDlg *aDlg = new SMESHGUI_GroupDlg(parent, "", Sel, aMesh);
- aDlg->show();
- }
+ aMesh = SMESH::GetMeshByIO(Sel->firstIObject());
}
}
+ SMESHGUI_GroupDlg *aDlg = new SMESHGUI_GroupDlg(parent, "", Sel, aMesh);
+ aDlg->show();
break;
}
break;
}
@@
-1448,15
+1447,22
@@
bool SMESHGUI::OnGUIEvent(int theCommandID, QAD_Desktop * parent)
SALOME_Selection *Sel = SALOME_Selection::Selection(myActiveStudy->getSelection());
SALOME_ListIO IOs; IOs = Sel->StoredIObjects(); // list copy
SALOME_ListIteratorOfListIO It (IOs);
SALOME_Selection *Sel = SALOME_Selection::Selection(myActiveStudy->getSelection());
SALOME_ListIO IOs; IOs = Sel->StoredIObjects(); // list copy
SALOME_ListIteratorOfListIO It (IOs);
+ int nbSelectedGroups = 0;
for ( ; It.More(); It.Next() )
{
SMESH::SMESH_Group_var aGroup =
SMESH::IObjectToInterface<SMESH::SMESH_Group>(It.Value());
if (!aGroup->_is_nil()) {
for ( ; It.More(); It.Next() )
{
SMESH::SMESH_Group_var aGroup =
SMESH::IObjectToInterface<SMESH::SMESH_Group>(It.Value());
if (!aGroup->_is_nil()) {
+ nbSelectedGroups++;
SMESHGUI_GroupDlg *aDlg = new SMESHGUI_GroupDlg(parent, "", Sel, aGroup);
aDlg->show();
}
}
SMESHGUI_GroupDlg *aDlg = new SMESHGUI_GroupDlg(parent, "", Sel, aGroup);
aDlg->show();
}
}
+ if (nbSelectedGroups == 0)
+ {
+ SMESHGUI_GroupDlg *aDlg = new SMESHGUI_GroupDlg(parent, "", Sel, SMESH::SMESH_Group::_nil());
+ aDlg->show();
+ }
break;
}
break;
}
@@
-1733,7
+1739,8
@@
bool SMESHGUI::OnGUIEvent(int theCommandID, QAD_Desktop * parent)
myActiveStudy->renameIObject( IObject, newName );
// if current object is group update group's name
myActiveStudy->renameIObject( IObject, newName );
// if current object is group update group's name
- SMESH::SMESH_Group_var aGroup = SMESH::IObjectToInterface<SMESH::SMESH_Group>(IObject);
+ SMESH::SMESH_GroupBase_var aGroup =
+ SMESH::IObjectToInterface<SMESH::SMESH_GroupBase>(IObject);
if (!aGroup->_is_nil() )
aGroup->SetName( newName.latin1() );
}
if (!aGroup->_is_nil() )
aGroup->SetName( newName.latin1() );
}
@@
-1979,9
+1986,9
@@
bool SMESHGUI::OnGUIEvent(int theCommandID, QAD_Desktop * parent)
SALOMEDS::SObject_var SO = aStudy->FindObjectID( Sel->firstIObject()->getEntry() );
if ( !SO->_is_nil() ) {
CORBA::Object_var aObject = SO->GetObject();
SALOMEDS::SObject_var SO = aStudy->FindObjectID( Sel->firstIObject()->getEntry() );
if ( !SO->_is_nil() ) {
CORBA::Object_var aObject = SO->GetObject();
- SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_narrow( aObject );
- SMESH::SMESH_subMesh_var aSubMesh = SMESH::SMESH_subMesh::_narrow( aObject );
- SMESH::SMESH_Group
_var aGroup = SMESH::SMESH_Group
::_narrow( aObject );
+ SMESH::SMESH_Mesh_var
aMesh = SMESH::SMESH_Mesh::_narrow( aObject );
+ SMESH::SMESH_subMesh_var
aSubMesh = SMESH::SMESH_subMesh::_narrow( aObject );
+ SMESH::SMESH_Group
Base_var aGroup = SMESH::SMESH_GroupBase
::_narrow( aObject );
if ( !aMesh->_is_nil() || !aSubMesh->_is_nil() || !aGroup->_is_nil() ) {
::Control( theCommandID );
break;
if ( !aMesh->_is_nil() || !aSubMesh->_is_nil() || !aGroup->_is_nil() ) {
::Control( theCommandID );
break;
@@
-2267,6
+2274,11
@@
bool SMESHGUI::CustomPopup(QAD_Desktop* parent, QPopupMenu* popup, const QString
popup->removeItem( 705 ); // Edit hypothesis
popup->removeItem( 706 ); // ...
}
popup->removeItem( 705 ); // Edit hypothesis
popup->removeItem( 706 ); // ...
}
+ SMESH::SMESH_GroupOnGeom_var aGeomGroup =
+ SMESH::SMESH_GroupOnGeom::_narrow( SO->GetObject() );
+ if ( !aGeomGroup->_is_nil() ) // group linked on geometry
+ popup->removeItem( 803 ); // EDIT GROUP
+
SMESH_Actor* ac = SMESH::FindActorByEntry(IObject->getEntry());
// if object has actor
if ( ac && studyFrame->getTypeView() == VIEW_VTK ) {
SMESH_Actor* ac = SMESH::FindActorByEntry(IObject->getEntry());
// if object has actor
if ( ac && studyFrame->getTypeView() == VIEW_VTK ) {
@@
-2377,7
+2389,7
@@
bool SMESHGUI::CustomPopup(QAD_Desktop* parent, QPopupMenu* popup, const QString
SMESH::SMESH_subMesh_var aSubMeshObj = SMESH::SMESH_subMesh::_narrow( anObject );
if ( !aSubMeshObj->_is_nil() && ( aSubMeshObj->GetNumberOfNodes(false) > 0 || aSubMeshObj->GetNumberOfElements() > 0 ) )
bDisplay = true;
SMESH::SMESH_subMesh_var aSubMeshObj = SMESH::SMESH_subMesh::_narrow( anObject );
if ( !aSubMeshObj->_is_nil() && ( aSubMeshObj->GetNumberOfNodes(false) > 0 || aSubMeshObj->GetNumberOfElements() > 0 ) )
bDisplay = true;
- SMESH::SMESH_Group
_var aGroupObj = SMESH::SMESH_Group
::_narrow( anObject );
+ SMESH::SMESH_Group
Base_var aGroupObj = SMESH::SMESH_GroupBase
::_narrow( anObject );
if ( !aGroupObj->_is_nil() && aGroupObj->Size() > 0 )
bDisplay = true;
}
if ( !aGroupObj->_is_nil() && aGroupObj->Size() > 0 )
bDisplay = true;
}
@@
-2441,7
+2453,8
@@
bool SMESHGUI::CustomPopup(QAD_Desktop* parent, QPopupMenu* popup, const QString
* Purpose: ensures that the actor for the given <theIO> exists in the active VTK view
*/
//=============================================================================
* Purpose: ensures that the actor for the given <theIO> exists in the active VTK view
*/
//=============================================================================
-void SMESHGUI::BuildPresentation(const Handle(SALOME_InteractiveObject) & theIO)
+void SMESHGUI::BuildPresentation( const Handle(SALOME_InteractiveObject) & theIO,
+ QAD_ViewFrame* )
{
if(theIO->hasEntry()){
QAD_Study* aStudy = SMESHGUI::GetSMESHGUI()->GetActiveStudy();
{
if(theIO->hasEntry()){
QAD_Study* aStudy = SMESHGUI::GetSMESHGUI()->GetActiveStudy();