X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_GroupOpDlg.cxx;h=915933dc40e028d5e138cbc5b3c2133f0a8a940d;hp=bfcf3189502170562df58bd22adcedb98fdf9983;hb=30ce546b0c5099ad1112929e2db94810e683e54b;hpb=bb40f7c1d3542da1ff59b6c3bface0574789dded diff --git a/src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx b/src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx index bfcf31895..915933dc4 100644 --- a/src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -31,6 +31,7 @@ #include "SMESHGUI_Utils.h" #include "SMESHGUI_VTKUtils.h" #include "SMESH_TypeFilter.hxx" +#include #include #include @@ -225,11 +226,15 @@ void SMESHGUI_GroupOpDlg::Init() connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone())); connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate())); connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(reject())); + connect(mySMESHGUI, SIGNAL(SignalActivatedViewManager()), SLOT(onOpenView())); + connect(mySMESHGUI, SIGNAL(SignalCloseView()), SLOT(onCloseView())); // set selection mode if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(ActorSelection); mySelectionMgr->installFilter(new SMESH_TypeFilter (SMESH::GROUP)); + + setDefaultGroupColor(); } /*! @@ -253,7 +258,7 @@ bool SMESHGUI_GroupOpDlg::isValid( const QList& theL { SMESH::SMESH_GroupBase_var aGrp = *anIter; if ( CORBA::is_nil( aGrp ) ) - continue; // nonsence + continue; // nonsense SMESH::SMESH_Mesh_var aMesh = aGrp->GetMesh(); if ( CORBA::is_nil( aMesh ) ) @@ -331,6 +336,32 @@ void SMESHGUI_GroupOpDlg::reject() QDialog::reject(); } +//================================================================================= +// function : onOpenView() +// purpose : +//================================================================================= +void SMESHGUI_GroupOpDlg::onOpenView() +{ + if ( mySelector ) { + SMESH::SetPointRepresentation(false); + } + else { + mySelector = SMESH::GetViewWindow( mySMESHGUI )->GetSelector(); + mySMESHGUI->EmitSignalDeactivateDialog(); + setEnabled(true); + } +} + +//================================================================================= +// function : onCloseView() +// purpose : +//================================================================================= +void SMESHGUI_GroupOpDlg::onCloseView() +{ + onDeactivate(); + mySelector = 0; +} + /*! \brief SLOT called when "Help" button pressed shows "Help" page */ @@ -419,6 +450,14 @@ SALOMEDS::Color SMESHGUI_GroupOpDlg::getColor() const return aColor; } +/*! + \brief Set default color for group +*/ +void SMESHGUI_GroupOpDlg::setDefaultGroupColor() +{ + myColorBtn->setColor( SMESH::GetColor( "SMESH", "default_grp_color", QColor( 255, 170, 0 ) ) ); +} + /*! \brief SLOT, called when selection is changed. Current implementation does nothing. The method should be redefined in derived classes to update @@ -459,8 +498,12 @@ void SMESHGUI_GroupOpDlg::enterEvent(QEvent*) { mySMESHGUI->EmitSignalDeactivateDialog(); setEnabled(true); - if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) + SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ); + if ( aViewWindow ) { aViewWindow->SetSelectionMode(ActorSelection); + if (!mySelector) + mySelector = aViewWindow->GetSelector(); + } mySelectionMgr->installFilter(new SMESH_TypeFilter (SMESH::GROUP)); } @@ -473,6 +516,7 @@ void SMESHGUI_GroupOpDlg::reset() { myNameEdit->setText(""); myNameEdit->setFocus(); + setDefaultGroupColor(); } /*! @@ -496,7 +540,7 @@ void SMESHGUI_GroupOpDlg::setName( const QString& theName ) } /*! - \brief Provides reaction on “F1” button pressing + \brief Provides reaction on �F1� button pressing \param e key press event */ void SMESHGUI_GroupOpDlg::keyPressEvent( QKeyEvent* e )