Revision: 7118
http://pmd.svn.sourceforge.net/pmd/?rev=7118&view=rev
Author: hooperbloob
Date: 2010-09-02 02:00:49 +0000 (Thu, 02 Sep 2010)
Log Message:
-----------
property change handlers for views, string updates
Modified Paths:
--------------
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/AbstractStructureInspectorPage.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/ast/ASTViewPage.java
trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/dataflow/DataflowViewPage.java
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt 2010-09-01 04:57:16 UTC (rev 7117)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/CHANGELOG.txt 2010-09-02 02:00:49 UTC (rev 7118)
@@ -1,12 +1,18 @@
Change log for the PMD Eclipse plugin
v4.0.0 - xxx 2010?
+. New integrated AST View and XPath test area
+. New rule creation wizard
+. User-definable rule violation markers
+ Highest priority markers also decorate folders & projects (selectable)
+. Colour syntax highlighting in code viewers/editors
. Overhauled rule preferences screen
. Allows users to group/edit rules by multiple criteria
-. provides ability to enable/disable rules without removing them
+. New ability to enable/disable rules without removing them
. larger editors for the various fields
. new rule creation wizard supports new non-Java languages
. group editing of filter exclusion rules
+. highlighting of non-default property values
. Color-tagged expressions in shown in rule table
. new property editors are fully type-aware
. Huge code cleanup
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/AbstractStructureInspectorPage.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/AbstractStructureInspectorPage.java 2010-09-01 04:57:16 UTC (rev 7117)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/AbstractStructureInspectorPage.java 2010-09-02 02:00:49 UTC (rev 7118)
@@ -2,7 +2,6 @@
import java.io.StringReader;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import net.sourceforge.pmd.PMDException;
@@ -10,7 +9,6 @@
import net.sourceforge.pmd.RuleSet;
import net.sourceforge.pmd.RuleViolation;
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
-import net.sourceforge.pmd.eclipse.runtime.PMDRuntimeConstants;
import net.sourceforge.pmd.eclipse.runtime.cmd.PMDEngine;
import net.sourceforge.pmd.eclipse.ui.model.FileRecord;
import net.sourceforge.pmd.eclipse.ui.nls.StringKeys;
@@ -25,8 +23,12 @@
import net.sourceforge.pmd.util.designer.DFAGraphRule;
import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.resource.ColorRegistry;
+import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
@@ -37,16 +39,18 @@
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IPropertyListener;
import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.Page;
import org.eclipse.ui.texteditor.ITextEditor;
+import org.eclipse.ui.themes.ITheme;
+import org.eclipse.ui.themes.IThemeManager;
/**
*
* @author Brian Remedios
*/
-public abstract class AbstractStructureInspectorPage extends Page implements IPropertyListener, ISelectionChangedListener {
+public abstract class AbstractStructureInspectorPage extends Page implements IPropertyChangeListener, ISelectionChangedListener {
protected Combo methodSelector;
protected FileRecord resourceRecord;
@@ -84,8 +88,34 @@
if (part instanceof ITextEditor) {
textEditor = (ITextEditor) part;
}
+ }
+
+ public void propertyChange(PropertyChangeEvent event) {
+ // TODO adapt the editors
+ System.out.println("property changed: " + event.getProperty());
}
+ public void dispose() {
+ super.dispose();
+ unregisterListeners();
+ }
+
+ private static ColorRegistry colorRegistry() {
+ IThemeManager themeManager = PlatformUI.getWorkbench().getThemeManager();
+ ITheme currentTheme = themeManager.getCurrentTheme();
+ return currentTheme.getColorRegistry();
+ }
+
+ protected void registerListeners() {
+ JFaceResources.getFontRegistry().addListener(this);
+ colorRegistry().addListener(this);
+ }
+
+ protected void unregisterListeners() {
+ JFaceResources.getFontRegistry().removeListener(this);
+ colorRegistry().removeListener(this);
+ }
+
public void setFocus() {
methodSelector.setFocus();
}
@@ -153,16 +183,6 @@
}
/**
- * If the review is ready propertyChanged with the results will be called.
- */
- public void propertyChanged(Object source, int propId) {
- if (source instanceof Iterator<?>
- && propId == PMDRuntimeConstants.PROPERTY_REVIEW) {
- // tableViewer.setInput(source);
- }
- }
-
- /**
* Gets the label of a method for an element of the combobox.
* @param pmdMethod the method to create a label for
* @return a label for the method
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/ast/ASTViewPage.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/ast/ASTViewPage.java 2010-09-01 04:57:16 UTC (rev 7117)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/ast/ASTViewPage.java 2010-09-02 02:00:49 UTC (rev 7118)
@@ -148,6 +148,8 @@
outputField.setLayoutData(gridData);
SyntaxManager.adapt(outputField, "xpath", null);
+ registerListeners();
+
showFirstMethod();
}
@@ -223,7 +225,7 @@
tree.addListener(SWT.PaintItem, new Listener() {
public void handleEvent(Event event) {
TextLayout layout = layoutFor((TreeItem)event.item);
- layout.draw(event.gc, event.x, event.y + 5);
+ layout.draw(event.gc, event.x+5, event.y );
}
});
@@ -244,6 +246,7 @@
}
public void dispose() {
+ super.dispose();
renderFont.dispose();
}
Modified: trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/dataflow/DataflowViewPage.java
===================================================================
--- trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/dataflow/DataflowViewPage.java 2010-09-01 04:57:16 UTC (rev 7117)
+++ trunk/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/views/dataflow/DataflowViewPage.java 2010-09-02 02:00:49 UTC (rev 7118)
@@ -27,6 +27,7 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.IPropertyListener;
import org.eclipse.ui.IWorkbenchPart;
/**
@@ -35,7 +36,7 @@
* @author Sven Jacob
*
*/
-public class DataflowViewPage extends AbstractStructureInspectorPage {
+public class DataflowViewPage extends AbstractStructureInspectorPage implements IPropertyListener {
private Composite dfaFrame;
private Button switchButton;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|