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
0020170: EDF SMESH: Selection behaviour in object browser from hypothesis editing...
[modules/smesh.git]
/
src
/
SMESHGUI
/
SMESHGUI_FilterDlg.cxx
diff --git
a/src/SMESHGUI/SMESHGUI_FilterDlg.cxx
b/src/SMESHGUI/SMESHGUI_FilterDlg.cxx
index 366af734d2b40a4ef9d56aaf358a8b3277310d4d..1655c06d803cc0fc56ac353caa74a0b264d7f3e7 100755
(executable)
--- a/
src/SMESHGUI/SMESHGUI_FilterDlg.cxx
+++ b/
src/SMESHGUI/SMESHGUI_FilterDlg.cxx
@@
-2057,7
+2057,8
@@
SMESHGUI_FilterDlg::SMESHGUI_FilterDlg( SMESHGUI* theModule,
const QList<int>& theTypes )
: QDialog( SMESH::GetDesktop( theModule ) ),
mySMESHGUI( theModule ),
const QList<int>& theTypes )
: QDialog( SMESH::GetDesktop( theModule ) ),
mySMESHGUI( theModule ),
- mySelectionMgr( SMESH::GetSelectionMgr( theModule ) )
+ mySelectionMgr( SMESH::GetSelectionMgr( theModule ) ),
+ myInitSourceWgOnApply( true )
{
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
mySelector = aViewWindow->GetSelector();
{
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
mySelector = aViewWindow->GetSelector();
@@
-2073,7
+2074,8
@@
SMESHGUI_FilterDlg::SMESHGUI_FilterDlg( SMESHGUI* theModule,
const int theType )
: QDialog( SMESH::GetDesktop( theModule ) ),
mySMESHGUI( theModule ),
const int theType )
: QDialog( SMESH::GetDesktop( theModule ) ),
mySMESHGUI( theModule ),
- mySelectionMgr( SMESH::GetSelectionMgr( theModule ) )
+ mySelectionMgr( SMESH::GetSelectionMgr( theModule ) ),
+ myInitSourceWgOnApply( true )
{
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
mySelector = aViewWindow->GetSelector();
{
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
mySelector = aViewWindow->GetSelector();
@@
-2609,9
+2611,11
@@
bool SMESHGUI_FilterDlg::isValid() const
// Purpose : Set widget of parent dialog containing idsto be filtered if
// user select corresponding source radio button
//=======================================================================
// Purpose : Set widget of parent dialog containing idsto be filtered if
// user select corresponding source radio button
//=======================================================================
-void SMESHGUI_FilterDlg::SetSourceWg (QWidget* theWg)
+void SMESHGUI_FilterDlg::SetSourceWg (QWidget* theWg,
+ const bool initOnApply)
{
mySourceWg = theWg;
{
mySourceWg = theWg;
+ myInitSourceWgOnApply = initOnApply;
}
//=======================================================================
}
//=======================================================================
@@
-2637,7
+2641,7
@@
void SMESHGUI_FilterDlg::SetSelection()
if (mySelectionMgr) {
myIObjects.Clear();
if (mySelectionMgr) {
myIObjects.Clear();
- const SALOME_ListIO& anObjs = mySelector->StoredIObjects();
+ const SALOME_ListIO& anObjs = mySelector->StoredIObjects();
SALOME_ListIteratorOfListIO anIter (anObjs);
for ( ; anIter.More(); anIter.Next()) {
TColStd_IndexedMapOfInteger aMap;
SALOME_ListIteratorOfListIO anIter (anObjs);
for ( ; anIter.More(); anIter.Next()) {
TColStd_IndexedMapOfInteger aMap;
@@
-2674,9
+2678,11
@@
bool SMESHGUI_FilterDlg::onApply()
if (!myFilter[ aCurrType ]->GetPredicate()->_is_nil()) {
QList<int> aResultIds;
filterSource(aCurrType, aResultIds);
if (!myFilter[ aCurrType ]->GetPredicate()->_is_nil()) {
QList<int> aResultIds;
filterSource(aCurrType, aResultIds);
+ // select in viewer
selectInViewer(aCurrType, aResultIds);
}
selectInViewer(aCurrType, aResultIds);
}
+
myInsertState[ aCurrType ] = mySetInViewer->isChecked();
myApplyToState[ aCurrType ] = mySourceGrp->checkedId();
}
myInsertState[ aCurrType ] = mySetInViewer->isChecked();
myApplyToState[ aCurrType ] = mySourceGrp->checkedId();
}
@@
-2792,10
+2798,10
@@
void SMESHGUI_FilterDlg::filterSource (const int theType,
for (anIter = aDialogIds.begin(); anIter != aDialogIds.end(); ++ anIter)
if (aPred->IsSatisfy(*anIter))
theResIds.append(*anIter);
for (anIter = aDialogIds.begin(); anIter != aDialogIds.end(); ++ anIter)
if (aPred->IsSatisfy(*anIter))
theResIds.append(*anIter);
-
- // set ids to the dialog
- setIdsToWg(mySourceWg, theResIds);
}
}
+ // set ids to the dialog
+ if (myInitSourceWgOnApply || aSourceId == Dialog)
+ setIdsToWg(mySourceWg, theResIds);
}
//=======================================================================
}
//=======================================================================