package net.sourceforge.pmd.eclipse.ui.views.ast;
import net.sourceforge.pmd.eclipse.ui.ItemColumnDescriptor;
import net.sourceforge.pmd.eclipse.ui.ItemFieldAccessor;
import net.sourceforge.pmd.eclipse.ui.ItemFieldAccessorAdapter;
import net.sourceforge.pmd.eclipse.ui.nls.StringKeys;
import net.sourceforge.pmd.eclipse.util.Util;
import net.sourceforge.pmd.lang.ast.Node;
import org.eclipse.swt.SWT;
/**
*
* @author Brian Remedios
*/
public interface NodeColumnUI {
ItemFieldAccessor<String, Node> typeNameAcc = new ItemFieldAccessorAdapter<String, Node>(Util.compStr) {
public String valueFor(Node node) { return node.toString(); }
};
ItemFieldAccessor<String, Node> imageAcc = new ItemFieldAccessorAdapter<String, Node>(Util.compStr) {
public String valueFor(Node node) { return node.getImage(); }
};
ItemFieldAccessor<Integer, Node> beginLineNumAcc = new ItemFieldAccessorAdapter<Integer, Node>(Util.compInt) {
public Integer valueFor(Node node) { return node.getBeginLine(); }
};
ItemFieldAccessor<Integer, Node> endLineNumAcc = new ItemFieldAccessorAdapter<Integer, Node>(Util.compInt) {
public Integer valueFor(Node node) { return node.getEndLine(); }
};
ItemFieldAccessor<Integer, Node> beginColumnAcc = new ItemFieldAccessorAdapter<Integer, Node>(Util.compInt) {
public Integer valueFor(Node node) { return node.getBeginColumn(); }
};
ItemFieldAccessor<Integer, Node> endColumnAcc = new ItemFieldAccessorAdapter<Integer, Node>(Util.compInt) {
public Integer valueFor(Node node) { return node.getEndColumn(); }
};
ItemFieldAccessor<String, Node> derivedAcc = new ItemFieldAccessorAdapter<String, Node>(Util.compStr) {
public String valueFor(Node node) { return NodeImageDeriver.derivedTextFor(node); }
};
ItemFieldAccessor<String, Node> imageOrDerivedAcc = new ItemFieldAccessorAdapter<String, Node>(Util.compStr) {
public String valueFor(Node node) { return node.getImage() == null ? NodeImageDeriver.derivedTextFor(node) : node.getImage(); }
};
ItemColumnDescriptor typeName = new ItemColumnDescriptor("", StringKeys.NODE_COLUMN_NAME, SWT.LEFT, 85, true, typeNameAcc);
ItemColumnDescriptor imageData = new ItemColumnDescriptor("", StringKeys.NODE_IMAGE_DATA, SWT.LEFT, 25, true, imageAcc);
ItemColumnDescriptor lineNum = new ItemColumnDescriptor("", StringKeys.NODE_LINE_NUM, SWT.RIGHT, 35, true, beginLineNumAcc);
ItemColumnDescriptor derived = new ItemColumnDescriptor("", StringKeys.NODE_DERIVED, SWT.LEFT, 25, true, derivedAcc);
ItemColumnDescriptor imageOrDerived = new ItemColumnDescriptor("", StringKeys.NODE_IMG_OR_DERIVED, SWT.LEFT, 25, true, imageOrDerivedAcc);
ItemColumnDescriptor[] VisibleColumns = new ItemColumnDescriptor[] { lineNum, typeName, imageOrDerived };
}