Preserve checked rules across table sorts on Project PMD Preferences.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5900 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
Ryan Gustafson
2008-03-15 08:31:13 +00:00
parent 4c8b07d9a8
commit 508e7ca7e2

View File

@@ -558,7 +558,15 @@ public class PMDPropertyPage extends PropertyPage {
protected void refresh() {
try {
availableRulesTableViewer.getControl().setRedraw(false);
// Preserve the checked rules across a refresh. Checked rules seem to be cleared when table is sorted.
Collection rules = getProjectRuleSet().getRules();
availableRulesTableViewer.refresh();
TableItem[] items = availableRulesTableViewer.getTable().getItems();
for (int i = 0; i < items.length; i++) {
if (rules.contains(items[i].getData())) {
items[i].setChecked(true);
}
}
} catch (ClassCastException e) {
PMDUiPlugin.getDefault().logError("Ignoring exception while refreshing table", e);
} finally {