/** When the IS_LINKING_ENABLED_PROPERTY changes, we activate or deactivate this listener. */
 @Override
 public void propertyChanged(Object source, int propId) {
   if (propId == CommonNavigator.IS_LINKING_ENABLED_PROPERTY) {
     // if the link with editor property has changed, we install or
     // remove the synchronizer according to the new value.
     if (navigator.isLinkingEnabled()) {
       enableSelectionListener();
     } else {
       disableSelectionListener();
     }
   }
 }
예제 #2
0
  @Override
  public void selectionChanged(final IWorkbenchPart part, final ISelection selection) {
    if (selection instanceof ITreeSelection && part instanceof ResultList) {
      final Object first = ((ITreeSelection) selection).getFirstElement();
      if (first instanceof CounterExampleResult) {
        final IEditorPart edPart = getSite().getPage().getActiveEditor();
        actualAllowedInput = edPart.getTitle();
        final CounterExampleResult<?, ?, ?> res = (CounterExampleResult<?, ?, ?>) first;

        if (res.getProgramExecution() != null) {
          // TODO: Implement this right with IProgramExecution and known values for generic
          // contProv.setValuation(res.getValuation());
        } else {
          contProv.setValuation(new TestValuation());
        }
      }
      viewer.getTree().removeAll();
    } else if (selection instanceof ITreeSelection && part instanceof LocationTrace) {
      final Object first = ((ITreeSelection) selection).getFirstElement();
      if (first != null) {
        viewer.setInput(((TraceNode) first).getOriginalIndex());
      }
    } else if (selection instanceof ITextSelection && part instanceof EditorPart) {
      final String text = ((EditorPart) part).getTitle();
      if (!text.equals(actualAllowedInput)) {
        viewer.getTree().removeAll();
      }
    } else if (selection instanceof ITreeSelection && part instanceof CommonNavigator) {
      final CommonNavigator navi = (CommonNavigator) part;
      if (navi.isLinkingEnabled()) {
        if (((ITreeSelection) selection).getFirstElement() != null) {
          final String text = ((ITreeSelection) selection).getFirstElement().toString();
          if (!text.equals(actualAllowedInput)) {
            viewer.getTree().removeAll();
          }
        } else {
          viewer.getTree().removeAll();
        }
      }
    }
  }