show children of streams
This commit is contained in:
		@@ -12,12 +12,10 @@ package com.minres.scviewer.e4.application.provider;
 | 
			
		||||
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.stream.Collectors;
 | 
			
		||||
 | 
			
		||||
import org.eclipse.jface.viewers.ITreeContentProvider;
 | 
			
		||||
import org.eclipse.jface.viewers.Viewer;
 | 
			
		||||
 | 
			
		||||
import com.google.common.base.Predicate;
 | 
			
		||||
import com.google.common.collect.Collections2;
 | 
			
		||||
import com.minres.scviewer.database.IHierNode;
 | 
			
		||||
import com.minres.scviewer.database.IWaveform;
 | 
			
		||||
import com.minres.scviewer.database.IWaveformDb;
 | 
			
		||||
@@ -28,15 +26,14 @@ import com.minres.scviewer.database.IWaveformDb;
 | 
			
		||||
public class TxDbContentProvider implements ITreeContentProvider {
 | 
			
		||||
 | 
			
		||||
	/** The show nodes. */
 | 
			
		||||
	//	private List<HierNode> nodes;
 | 
			
		||||
	private boolean tabelEntries;
 | 
			
		||||
	private boolean tableEntries;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Instantiates a new tx db content provider.
 | 
			
		||||
	 */
 | 
			
		||||
	public TxDbContentProvider() {
 | 
			
		||||
		super();
 | 
			
		||||
		this.tabelEntries = false;
 | 
			
		||||
		this.tableEntries = false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
@@ -46,20 +43,7 @@ public class TxDbContentProvider implements ITreeContentProvider {
 | 
			
		||||
	 */
 | 
			
		||||
	public TxDbContentProvider(boolean tableEntries) {
 | 
			
		||||
		super();
 | 
			
		||||
		this.tabelEntries = tableEntries;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* (non-Javadoc)
 | 
			
		||||
	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
 | 
			
		||||
	 */
 | 
			
		||||
	@Override
 | 
			
		||||
	public void dispose() {	}
 | 
			
		||||
 | 
			
		||||
	/* (non-Javadoc)
 | 
			
		||||
	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 | 
			
		||||
	 */
 | 
			
		||||
	@Override
 | 
			
		||||
	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 | 
			
		||||
		this.tableEntries = tableEntries;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* (non-Javadoc)
 | 
			
		||||
@@ -67,24 +51,17 @@ public class TxDbContentProvider implements ITreeContentProvider {
 | 
			
		||||
	 */
 | 
			
		||||
	@Override
 | 
			
		||||
	public Object[] getElements(Object inputElement) {
 | 
			
		||||
		if(tabelEntries && inputElement instanceof IWaveformDb){
 | 
			
		||||
		if(tableEntries && inputElement instanceof IWaveformDb){
 | 
			
		||||
			return new Object[]{};
 | 
			
		||||
		}else if(inputElement instanceof IHierNode){
 | 
			
		||||
			Collection<IHierNode> res = Collections2.filter(((IHierNode)inputElement).getChildNodes(), new Predicate<IHierNode>(){
 | 
			
		||||
				@Override
 | 
			
		||||
				public boolean apply(IHierNode arg0) {
 | 
			
		||||
					if(tabelEntries){
 | 
			
		||||
						return arg0 instanceof IWaveform;
 | 
			
		||||
					} else{
 | 
			
		||||
						return arg0.getChildNodes().size()!=0;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			});
 | 
			
		||||
			Collection<IHierNode> res = ((IHierNode)inputElement).getChildNodes().stream().filter(n ->
 | 
			
		||||
				tableEntries? n instanceof IWaveform : !n.getChildNodes().isEmpty()
 | 
			
		||||
			).collect(Collectors.toList());
 | 
			
		||||
			return res.toArray();
 | 
			
		||||
		}else if(inputElement instanceof List<?>){
 | 
			
		||||
			return ((List<?>)inputElement).toArray();
 | 
			
		||||
		} else
 | 
			
		||||
			return null;
 | 
			
		||||
			return new Object[]{};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* (non-Javadoc)
 | 
			
		||||
@@ -109,7 +86,7 @@ public class TxDbContentProvider implements ITreeContentProvider {
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean hasChildren(Object element) {
 | 
			
		||||
		Object[] obj = getElements(element);
 | 
			
		||||
		return obj == null ? false : obj.length > 0;
 | 
			
		||||
		return obj.length > 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user