Package org.eclipse.core.databinding.observable.list

Examples of org.eclipse.core.databinding.observable.list.ListDiffVisitor


      list.addAll(properties[i].getList(source));
    return list;
  }

  protected void doUpdateList(final Object source, ListDiff diff) {
    diff.accept(new ListDiffVisitor() {
      public void handleAdd(int index, Object element) {
        throw new UnsupportedOperationException();
      }

      public void handleMove(int oldIndex, int newIndex, Object element) {
View Full Code Here


        final Set localKnownElementAdditions = ViewerElementSet
            .withComparer(comparer);
        final Set localKnownElementRemovals = ViewerElementSet
            .withComparer(comparer);
        final boolean[] suspendRedraw = new boolean[] { false };
        event.diff.accept(new ListDiffVisitor() {
          public void handleAdd(int index, Object element) {
            localKnownElementAdditions.add(element);
          }

          public void handleRemove(int index, Object element) {
            localKnownElementRemovals.add(element);
          }

          public void handleMove(int oldIndex, int newIndex,
              Object element) {
            suspendRedraw[0] = true;
            // does not affect known elements
          }

          public void handleReplace(int index, Object oldElement,
              Object newElement) {
            suspendRedraw[0] = true;
            super.handleReplace(index, oldElement, newElement);
          }
        });
        localKnownElementRemovals.removeAll(event.getObservableList());

        Set knownElementAdditions = ViewerElementSet
            .withComparer(comparer);
        knownElementAdditions.addAll(localKnownElementAdditions);
        knownElementAdditions.removeAll(knownElements);

        Set knownElementRemovals = findPendingRemovals(parentElement,
            localKnownElementRemovals);
        knownElementRemovals.retainAll(knownElements);

        knownElements.addAll(knownElementAdditions);
        if (realizedElements != null) {
          realizedElements.removeAll(knownElementRemovals);
        }

        for (Iterator it = localKnownElementAdditions.iterator(); it
            .hasNext();) {
          getOrCreateNode(it.next()).addParent(parentElement);
        }

        if (suspendRedraw[0])
          viewer.getControl().setRedraw(false);
        try {
          event.diff.accept(new ListDiffVisitor() {
            public void handleAdd(int index, Object child) {
              viewerUpdater.insert(parentElement, child, index);
            }

            public void handleRemove(int index, Object child) {
View Full Code Here

    return detailList;
  }

  protected void doUpdateList(Object source, ListDiff diff) {
    final List masterList = masterProperty.getList(source);
    diff.accept(new ListDiffVisitor() {
      public void handleAdd(int index, Object element) {
        throw new UnsupportedOperationException();
      }

      public void handleRemove(int index, Object element) {
View Full Code Here

      updatingTarget = false;
    }
  }

  private void applyDiff(ListDiff diff, final List list) {
    diff.accept(new ListDiffVisitor() {
      public void handleAdd(int index, Object element) {
        list.add(index, element);
      }

      public void handleRemove(int index, Object element) {
View Full Code Here

* @since 3.3
*
*/
public class ComboItemsProperty extends ControlStringListProperty {
  protected void doUpdateStringList(final Control control, ListDiff diff) {
    diff.accept(new ListDiffVisitor() {
      Combo combo = (Combo) control;

      public void handleAdd(int index, Object element) {
        combo.add((String) element, index);
      }
View Full Code Here

            try {
              if (clearDestination) {
                destination.clear();
              }
              diff.accept(new ListDiffVisitor() {
                boolean useMoveAndReplace = updateListStrategy
                    .useMoveAndReplace();

                public void handleAdd(int index, Object element) {
                  IStatus setterStatus = updateListStrategy
View Full Code Here

      final Set knownElementAdditions = ViewerElementSet
          .withComparer(comparer);
      final Set knownElementRemovals = ViewerElementSet
          .withComparer(comparer);
      final boolean[] suspendRedraw = new boolean[] { false };
      event.diff.accept(new ListDiffVisitor() {
        public void handleAdd(int index, Object element) {
          knownElementAdditions.add(element);
        }

        public void handleRemove(int index, Object element) {
          knownElementRemovals.add(element);
        }

        public void handleMove(int oldIndex, int newIndex,
            Object element) {
          suspendRedraw[0] = true;
          super.handleMove(oldIndex, newIndex, element);
        }

        public void handleReplace(int index, Object oldElement,
            Object newElement) {
          suspendRedraw[0] = true;
          super.handleReplace(index, oldElement, newElement);
        }
      });
      knownElementAdditions.removeAll(knownElements);
      knownElementRemovals.removeAll(event.getObservableList());

      knownElements.addAll(knownElementAdditions);
      if (realizedElements != null) {
        realizedElements.removeAll(knownElementRemovals);
      }

      if (suspendRedraw[0])
        viewer.getControl().setRedraw(false);
      try {
        event.diff.accept(new ListDiffVisitor() {
          public void handleAdd(int index, Object element) {
            viewerUpdater.insert(element, index);
          }

          public void handleRemove(int index, Object element) {
View Full Code Here

* @since 3.3
*
*/
public class ListItemsProperty extends ControlStringListProperty {
  protected void doUpdateStringList(final Control control, ListDiff diff) {
    diff.accept(new ListDiffVisitor() {
      List list = (List) control;

      public void handleAdd(int index, Object element) {
        list.add((String) element, index);
      }
View Full Code Here

* @since 3.3
*
*/
public class CComboItemsProperty extends ControlStringListProperty {
  protected void doUpdateStringList(final Control control, ListDiff diff) {
    diff.accept(new ListDiffVisitor() {
      CCombo combo = (CCombo) control;

      public void handleAdd(int index, Object element) {
        combo.add((String) element, index);
      }
View Full Code Here

        final ObservableList<TreeItem<T>> itemList = getChildren();
        list.addListChangeListener(new IListChangeListener() {
         
          @Override
          public void handleListChange(ListChangeEvent event) {
            event.diff.accept(new ListDiffVisitor() {
             
              @Override
              public void handleRemove(int index, Object element) {
                if( itemList.size() < index ) {
                  TreeItem<T> t = itemList.get(index);
View Full Code Here

TOP

Related Classes of org.eclipse.core.databinding.observable.list.ListDiffVisitor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.