mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00
Bug 376443 - [expressions] Adding multiple expressions to view can leave the "Add New Expression" at top
This commit is contained in:
parent
468b44d75d
commit
595db0a239
2 changed files with 7 additions and 2 deletions
|
@ -360,7 +360,7 @@ public class ExpressionVMProvider extends AbstractDMVMProvider
|
|||
|
||||
@Override
|
||||
public void expressionsAdded(IExpression[] expressions) {
|
||||
expressionsListChanged(ExpressionsChangedEvent.Type.ADDED, expressions, -1);
|
||||
expressionsListChanged(ExpressionsChangedEvent.Type.ADDED, expressions, DebugPlugin.getDefault().getExpressionManager().getExpressions().length - expressions.length);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -157,8 +157,13 @@ public class ExpressionVMProviderModelProxyStrategy extends DefaultVMModelProxyS
|
|||
case ADDED:
|
||||
// New expressions are always added one element before last.
|
||||
// Last element is the "Add new expression" element.
|
||||
// Note: Index should be calculated when the IExpressionListener.expressionsAdded
|
||||
// is called. If it's not, try to calculate it here based on parent count.
|
||||
int parentCount = parentDelta.getChildCount();
|
||||
parentDelta.addNode(element, parentCount > 1 ? parentCount - 2 : -1, IModelDelta.ADDED);
|
||||
if (elementIdx == -1 && parentCount > 1) {
|
||||
elementIdx = parentCount - 2;
|
||||
}
|
||||
parentDelta.addNode(element, elementIdx, IModelDelta.ADDED);
|
||||
break;
|
||||
case CHANGED:
|
||||
parentDelta.setFlags(parentDelta.getFlags() | IModelDelta.CONTENT);
|
||||
|
|
Loading…
Add table
Reference in a new issue