From 44c2477dca132cf0c3ecd27288270a2520b55744 Mon Sep 17 00:00:00 2001 From: Brian Remedios Date: Fri, 16 Sep 2011 06:07:06 +0000 Subject: [PATCH] Show error icon when selected rules have one or more problems git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7269 51baf565-9d33-0410-a72c-fc3788e3496d --- .../ui/preferences/br/AbstractTableManager.java | 4 ++-- .../preferences/br/AbstractTreeTableManager.java | 14 ++++++++++++-- .../ui/preferences/br/RuleFieldAccessor.java | 9 +++++---- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTableManager.java b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTableManager.java index 6281a05957..b624018a6b 100644 --- a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTableManager.java +++ b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTableManager.java @@ -223,7 +223,7 @@ public abstract class AbstractTableManager implements SortList desc.defaultWidth() : ((Integer)widthData).intValue(); WidthChangeThread t = new WidthChangeThread(0, width, cwa); - t.run(); + t.start(); } protected void hide(ColumnDescriptor desc) { @@ -233,7 +233,7 @@ public abstract class AbstractTableManager implements SortList cwa.setData("restoredWidth", Integer.valueOf( cwa.width() )); WidthChangeThread t = new WidthChangeThread(cwa.width(), 0, cwa); - t.run(); + t.start(); } protected boolean isHidden(ColumnDescriptor desc) { diff --git a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTreeTableManager.java b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTreeTableManager.java index 24a17b907e..6ec549b64d 100755 --- a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTreeTableManager.java +++ b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/AbstractTreeTableManager.java @@ -23,6 +23,7 @@ import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridData; @@ -52,6 +53,7 @@ public abstract class AbstractTreeTableManager extends Abstra private Button unSelectAllButton; private ModifyListener modifyListener; private Label activeCountLabel; + private Label activeCountIssue; private ChangeRecord changes; @@ -355,16 +357,24 @@ public abstract class AbstractTreeTableManager extends Abstra System.out.println("TODO: toggle selected items"); } - protected void buildActiveCountLabel(Composite parent) { + protected void buildActiveCountWidgets(Composite parent) { activeCountLabel = new Label(parent, 0); activeCountLabel.setText("---"); + GridData data = new GridData(GridData.HORIZONTAL_ALIGN_CENTER, GridData.CENTER, true, false, 1, 1); activeCountLabel.setAlignment(SWT.RIGHT); activeCountLabel.setLayoutData(data); + + activeCountIssue = new Label(parent, 0); + data = new GridData(GridData.HORIZONTAL_ALIGN_CENTER, GridData.CENTER, true, false, 1, 1); + activeCountIssue.setAlignment(SWT.RIGHT); + activeCountIssue.setLayoutData(data); } - protected void activeCountText(String msg) { + protected void activeCountDetails(String msg, Image image) { activeCountLabel.setText(msg); + activeCountIssue.setImage(image); + activeCountIssue.getParent().pack(); activeCountLabel.getParent().pack(); // handle changing string length } diff --git a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleFieldAccessor.java b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleFieldAccessor.java index 6437d3c27f..5c75e242d9 100644 --- a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleFieldAccessor.java +++ b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/preferences/br/RuleFieldAccessor.java @@ -122,13 +122,14 @@ public interface RuleFieldAccessor { if (sb.length() == 0) sb.append(ruleTypeGeneric[0]); return sb.toString(); } + final int labelTypeIdx = 0; // just show the letter codes public String labelFor(Rule rule) { List types = new ArrayList(3); - if (rule.hasDescriptor(XPathRule.XPATH_DESCRIPTOR)) types.add(ruleTypeXPath[1]); + if (rule.hasDescriptor(XPathRule.XPATH_DESCRIPTOR)) types.add(ruleTypeXPath[labelTypeIdx]); // if (if (RuleUtil.isXPathRule(rule)) TODO - if (rule.usesDFA()) types.add(ruleTypeDFlow[1]); - if (rule.usesTypeResolution()) types.add(ruleTypeTypeRes[1]); - if (types.isEmpty()) types.add(ruleTypeGeneric[1]); + if (rule.usesDFA()) types.add(ruleTypeDFlow[labelTypeIdx]); + if (rule.usesTypeResolution()) types.add(ruleTypeTypeRes[labelTypeIdx]); + if (types.isEmpty()) types.add(ruleTypeGeneric[labelTypeIdx]); return Util.asString(types, ", "); } };