Fix a sync problem between the EquiWidget and the SelectionWidget.
This commit is contained in:
parent
c53fc01cb2
commit
96e6c9dd06
|
@ -2683,7 +2683,8 @@ namespace Hurricane {
|
||||||
} else
|
} else
|
||||||
selected = false;
|
selected = false;
|
||||||
|
|
||||||
if ( (--_delaySelectionChanged == 0) and selected ) emit selectionChanged( _selectors );
|
if ( (--_delaySelectionChanged == 0) and selected )
|
||||||
|
emit selectionChanged( _selectors );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2708,7 +2709,8 @@ namespace Hurricane {
|
||||||
// } else
|
// } else
|
||||||
// selected = false;
|
// selected = false;
|
||||||
|
|
||||||
if ( (--_delaySelectionChanged == 0) and selected ) emit selectionChanged( _selectors );
|
if ( (--_delaySelectionChanged == 0) and selected )
|
||||||
|
emit selectionChanged( _selectors );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2733,7 +2735,8 @@ namespace Hurricane {
|
||||||
// } else
|
// } else
|
||||||
// selected = false;
|
// selected = false;
|
||||||
|
|
||||||
if ( (--_delaySelectionChanged == 0) and selected ) emit selectionChanged( _selectors );
|
if ( (--_delaySelectionChanged == 0) and selected )
|
||||||
|
emit selectionChanged( _selectors );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2758,7 +2761,8 @@ namespace Hurricane {
|
||||||
// } else
|
// } else
|
||||||
// selected = false;
|
// selected = false;
|
||||||
|
|
||||||
if ( (--_delaySelectionChanged == 0) and selected ) emit selectionChanged( _selectors );
|
if ( (--_delaySelectionChanged == 0) and selected )
|
||||||
|
emit selectionChanged( _selectors );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2857,7 +2861,8 @@ namespace Hurricane {
|
||||||
}
|
}
|
||||||
|
|
||||||
_selectionHasChanged = true;
|
_selectionHasChanged = true;
|
||||||
if ( (_delaySelectionChanged == 0) and unselected ) emit selectionChanged( _selectors );
|
if ( (_delaySelectionChanged == 0) and unselected )
|
||||||
|
emit selectionChanged( _selectors );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2869,7 +2874,8 @@ namespace Hurricane {
|
||||||
unselect( Occurrence( component ));
|
unselect( Occurrence( component ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( --_delaySelectionChanged == 0 ) emit selectionChanged( _selectors );
|
if ( --_delaySelectionChanged == 0 )
|
||||||
|
emit selectionChanged( _selectors );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2881,7 +2887,8 @@ namespace Hurricane {
|
||||||
unselect( occurrence );
|
unselect( occurrence );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( --_delaySelectionChanged == 0 ) emit selectionChanged( _selectors );
|
if ( --_delaySelectionChanged == 0 )
|
||||||
|
emit selectionChanged( _selectors );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2893,7 +2900,8 @@ namespace Hurricane {
|
||||||
unselect( occurrence );
|
unselect( occurrence );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( --_delaySelectionChanged == 0 ) emit selectionChanged( _selectors );
|
if ( --_delaySelectionChanged == 0 )
|
||||||
|
emit selectionChanged( _selectors );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2904,7 +2912,8 @@ namespace Hurricane {
|
||||||
_state->getSelection().clear ();
|
_state->getSelection().clear ();
|
||||||
_unselectAll ();
|
_unselectAll ();
|
||||||
|
|
||||||
if ( --_delaySelectionChanged == 0 ) emit selectionChanged(_selectors);
|
if ( --_delaySelectionChanged == 0 )
|
||||||
|
emit selectionChanged(_selectors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -91,8 +91,8 @@ namespace Hurricane {
|
||||||
{
|
{
|
||||||
if (not _cellWidget) return;
|
if (not _cellWidget) return;
|
||||||
|
|
||||||
|
if (not isCumulative()) clear ();
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
if (not isCumulative()) _selection.clear ();
|
|
||||||
|
|
||||||
for ( Selector* selector : selection ) {
|
for ( Selector* selector : selection ) {
|
||||||
if (not selector->isInModel(_cellWidget)) {
|
if (not selector->isInModel(_cellWidget)) {
|
||||||
|
|
|
@ -191,26 +191,22 @@ namespace Tramontana {
|
||||||
_forceReselect = false;
|
_forceReselect = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectedEquiSet::iterator remove;
|
|
||||||
SelectedEquiSet::iterator isel = _selecteds.begin ();
|
SelectedEquiSet::iterator isel = _selecteds.begin ();
|
||||||
while ( isel != _selecteds.end() ) {
|
while ( isel != _selecteds.end() ) {
|
||||||
switch ( isel->getAccesses() ) {
|
SelectedEquiSet::iterator remove = isel++;
|
||||||
case 1: break;
|
if (remove->getAccesses() == 0) {
|
||||||
case 64:
|
emit equipotentialUnselect ( remove->getEqui()->getFlatComponents() );
|
||||||
emit equipotentialSelect ( isel->getEqui()->getFlatComponents() );
|
|
||||||
break;
|
|
||||||
case 0:
|
|
||||||
emit equipotentialUnselect ( isel->getEqui()->getFlatComponents() );
|
|
||||||
remove = isel;
|
|
||||||
++isel;
|
|
||||||
_selecteds.erase( remove );
|
_selecteds.erase( remove );
|
||||||
continue;
|
}
|
||||||
default:
|
}
|
||||||
cerr << Bug( "EquipotentialsWidget::updateSelecteds(): invalid code %d"
|
isel = _selecteds.begin ();
|
||||||
, isel->getAccesses()) << endl;
|
while ( isel != _selecteds.end() ) {
|
||||||
|
if (isel->getAccesses() == 64) {
|
||||||
|
emit equipotentialSelect ( isel->getEqui()->getFlatComponents() );
|
||||||
}
|
}
|
||||||
++isel;
|
++isel;
|
||||||
}
|
}
|
||||||
|
isel = _selecteds.begin ();
|
||||||
|
|
||||||
if (_cellWidget) _cellWidget->closeRefreshSession ();
|
if (_cellWidget) _cellWidget->closeRefreshSession ();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue