package net.sourceforge.pmd.eclipse.ui.priority;
import net.sourceforge.pmd.RulePriority;
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.Shape;
import net.sourceforge.pmd.eclipse.ui.nls.StringKeys;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
public interface PriorityColumnUI {
ItemFieldAccessor<String, RulePriority> nameAcc = new ItemFieldAccessorAdapter<String, RulePriority>(null) {
public String valueFor(RulePriority priority) { return PriorityDescriptorCache.instance.descriptorFor(priority).label; }
};
ItemFieldAccessor<String, RulePriority> pmdNameAcc = new ItemFieldAccessorAdapter<String, RulePriority>(null) {
public String valueFor(RulePriority priority) { return priority.getName(); }
};
ItemFieldAccessor<String, RulePriority> descriptionAcc = new ItemFieldAccessorAdapter<String, RulePriority>(null) {
public String valueFor(RulePriority priority) { return PriorityDescriptorCache.instance.descriptorFor(priority).description; }
};
ItemFieldAccessor<Shape, RulePriority> shapeAcc = new ItemFieldAccessorAdapter<Shape, RulePriority>(null) {
public Shape valueFor(RulePriority priority) { return PriorityDescriptorCache.instance.descriptorFor(priority).shape.shape; }
};
ItemFieldAccessor<RGB, RulePriority> colorAcc = new ItemFieldAccessorAdapter<RGB, RulePriority>(null) {
public RGB valueFor(RulePriority priority) { return PriorityDescriptorCache.instance.descriptorFor(priority).shape.rgbColor; }
};
ItemFieldAccessor<Integer, RulePriority> sizeAcc = new ItemFieldAccessorAdapter<Integer, RulePriority>(null) {
public Integer valueFor(RulePriority priority) { return PriorityDescriptorCache.instance.descriptorFor(priority).shape.size; }
};
ItemFieldAccessor<Integer, RulePriority> valueAcc = new ItemFieldAccessorAdapter<Integer, RulePriority>(null) {
public Integer valueFor(RulePriority priority) { return priority.getPriority(); }
};
ItemFieldAccessor<Image, RulePriority> imageAcc = new ItemFieldAccessorAdapter<Image, RulePriority>(null) {
public Image imageFor(RulePriority priority) { return PriorityDescriptorCache.instance.descriptorFor(priority).getImage(Display.getCurrent()); }
};
ItemColumnDescriptor<String, RulePriority> name = new ItemColumnDescriptor<String, RulePriority>("", StringKeys.PRIORITY_COLUMN_NAME, SWT.LEFT, 25, true, nameAcc);
ItemColumnDescriptor<String, RulePriority> pmdName = new ItemColumnDescriptor<String, RulePriority>("", StringKeys.PRIORITY_COLUMN_PMD_NAME, SWT.LEFT, 25, true, pmdNameAcc);
ItemColumnDescriptor<Integer, RulePriority> value = new ItemColumnDescriptor<Integer, RulePriority>("", StringKeys.PRIORITY_COLUMN_VALUE, SWT.CENTER, 25, true, valueAcc);
// PriorityColumnDescriptor size = new PriorityColumnDescriptor("", StringKeys.PRIORITY_COLUMN_SIZE, SWT.RIGHT, 25, true, sizeAcc);
ItemColumnDescriptor<Image, RulePriority> image = new ItemColumnDescriptor<Image, RulePriority>("", StringKeys.PRIORITY_COLUMN_SYMBOL, SWT.CENTER, 25, true, imageAcc);
// PriorityColumnDescriptor color = new PriorityColumnDescriptor("", StringKeys.PRIORITY_COLUMN_COLOR, SWT.RIGHT, 25, true, colorAcc);
// PriorityColumnDescriptor description = new PriorityColumnDescriptor("", StringKeys.PRIORITY_COLUMN_DESC, SWT.LEFT, 25, true, descriptionAcc);
ItemColumnDescriptor[] VisibleColumns = new ItemColumnDescriptor[] { image, value, name, pmdName }; //, description };
}