package org.openlca.app.cloud.ui.compare.json.viewer;
import org.eclipse.jface.viewers.ITreeViewerListener;
import org.eclipse.jface.viewers.TreeExpansionEvent;
import org.eclipse.jface.viewers.TreeViewer;
import org.openlca.app.cloud.ui.compare.json.JsonNode;
class ExpansionListener implements ITreeViewerListener {
private TreeViewer counterpart;
ExpansionListener(TreeViewer counterpart) {
this.counterpart = counterpart;
}
@Override
public void treeExpanded(TreeExpansionEvent event) {
setExpanded(event.getElement(), true);
}
@Override
public void treeCollapsed(TreeExpansionEvent event) {
setExpanded(event.getElement(), false);
}
private void setExpanded(Object element, boolean value) {
if (!(element instanceof JsonNode))
return;
JsonNode node = (JsonNode) element;
counterpart.setExpandedState(node, value);
}
}