bugfix for Language column label

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7191 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
Brian Remedios
2011-03-07 08:31:13 +00:00
parent a65d0b1697
commit 518591c2f7
4 changed files with 33 additions and 17 deletions

View File

@@ -138,8 +138,8 @@ public interface RuleFieldAccessor {
return rule.getLanguage();
}
protected String format(Object item) {
return ((Language)item).getName();
public String labelFor(Rule rule) {
return rule.getLanguage().getName();
}
};

View File

@@ -107,9 +107,8 @@ public class TextColumnDescriptor extends SimpleColumnDescriptor {
Rule rule = (Rule)value;
gc.setFont( fontFor(tree, rule) );
imgOffset = rule.dysfunctionReason() != null ? ImgOffset : 0;
value = valueFor((TreeItem)event.item, getter);
String text = String.valueOf(value);
String text = textFor((TreeItem)event.item, getter);
int descent = gc.getFontMetrics().getDescent();
gc.drawString(text, event.x+imgOffset, event.y+descent, true);
@@ -119,11 +118,9 @@ public class TextColumnDescriptor extends SimpleColumnDescriptor {
Listener measureListener = new Listener() {
public void handleEvent(Event event) {
if (event.index != columnIndex) return;
Object value = valueFor((TreeItem)event.item, getter);
if (value instanceof RuleCollection) return;
String text = textFor((TreeItem)event.item, getter);
String text = String.valueOf(value);
Point size = event.gc.textExtent(text);
event.width = size.x + 2 * (3);
// event.height = Math.max(event.height, size.y + (3));

View File

@@ -57,16 +57,18 @@ public class BooleanEditorFactory extends AbstractEditorFactory {
boolean set = ((Boolean)valueFor(rule, desc)).booleanValue();
butt.setSelection(set);
butt.addSelectionListener(new SelectionAdapter() {
SelectionAdapter sa = new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
boolean selected = butt.getSelection();
if (selected == (((Boolean)valueFor(rule, bp))).booleanValue()) return;
boolean selected = butt.getSelection();
if (selected == (((Boolean)valueFor(rule, bp))).booleanValue()) return;
rule.setProperty(bp, Boolean.valueOf(selected));
listener.changed(rule, desc, Boolean.valueOf(selected));
adjustRendering(rule, desc, butt);
}
});
rule.setProperty(bp, Boolean.valueOf(selected));
listener.changed(rule, desc, Boolean.valueOf(selected));
adjustRendering(rule, desc, butt);
}
};
butt.addSelectionListener(sa);
return butt;
}

View File

@@ -101,4 +101,21 @@ public abstract class AbstractCellPainterBuilder implements CellPainterBuilder {
return null;
}
protected String textFor(TreeItem tItem, RuleFieldAccessor getter) {
Object item = tItem.getData();
if (item instanceof Rule) {
return getter.labelFor((Rule) item);
}
if (item instanceof RuleCollection) {
return String.valueOf(
getter.valueFor((RuleCollection)item)
);
}
return null;
}
}