/*******************************************************************************
* Copyright (c) 2007 IBM Corporation.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Robert Fuhrer (rfuhrer@watson.ibm.com) - initial API and implementation
*******************************************************************************/
package org.eclipse.imp.editor.internal;
import org.eclipse.imp.editor.ModelTreeNode;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
public class TreeDiffer {
private final TreeViewer fTreeViewer;
private final ILabelProvider fLabelProvider;
// private static final String[] ALL_PROPS= new String[0];
public TreeDiffer(TreeViewer viewer, ILabelProvider labelProvider) {
fTreeViewer= viewer;
fLabelProvider= labelProvider;
}
public void diff(ModelTreeNode oldNode, ModelTreeNode newNode) {
if (1 == 1) return;
if (oldNode == newNode)
return;
if (fLabelProvider.getText(oldNode).equals(fLabelProvider.getText(newNode)))
return;
fTreeViewer.update(newNode, null);
ModelTreeNode[] oldChildren= oldNode.getChildren();
ModelTreeNode[] newChildren= newNode.getChildren();
int oi= 0, ni= 0;
for(; oi < oldChildren.length && ni < newChildren.length; ) {
ModelTreeNode oldChild= oldChildren[oi];
ModelTreeNode newChild= newChildren[ni];
if (oldChild == newChild || fLabelProvider.getText(oldChild).equals(fLabelProvider.getText(newChild))) {
}
}
}
}