1
0
Fork 0
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:
Pawel Piech 2012-04-10 14:02:03 -07:00
parent 468b44d75d
commit 595db0a239
2 changed files with 7 additions and 2 deletions

View file

@ -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

View file

@ -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);