mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-01 06:05:24 +02:00
updated codan examples
Change-Id: I30bf2da294ec613917ce0f836f61709b1af9b513 Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
This commit is contained in:
parent
a1b9cc4fbd
commit
0966863ef7
2 changed files with 49 additions and 40 deletions
|
@ -14,7 +14,7 @@ import org.eclipse.cdt.codan.internal.core.model.CodanProblemMarker;
|
||||||
import org.eclipse.cdt.codan.ui.AbstractCodanProblemDetailsProvider;
|
import org.eclipse.cdt.codan.ui.AbstractCodanProblemDetailsProvider;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Example of codan problem details provider for flexlint integration
|
* Example of codan problem details provider for string search integration
|
||||||
*/
|
*/
|
||||||
public class GrepCheckerHelpLink extends AbstractCodanProblemDetailsProvider {
|
public class GrepCheckerHelpLink extends AbstractCodanProblemDetailsProvider {
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* QNX Software Systems (Alena Laskavaia) - initial API and implementation
|
* QNX Software Systems (Alena Laskavaia) - initial API and implementation
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.cdt.codan.examples.uicontrib;
|
package org.eclipse.cdt.codan.examples.uicontrib;
|
||||||
|
|
||||||
import org.eclipse.cdt.codan.core.CodanCorePlugin;
|
import org.eclipse.cdt.codan.core.CodanCorePlugin;
|
||||||
|
@ -32,16 +31,19 @@ import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChange
|
||||||
* Example of property change listener for changing error profiles
|
* Example of property change listener for changing error profiles
|
||||||
*/
|
*/
|
||||||
public class ProfileChangeListener implements INodeChangeListener, IPreferenceChangeListener, IProblemProfileChangeListener {
|
public class ProfileChangeListener implements INodeChangeListener, IPreferenceChangeListener, IProblemProfileChangeListener {
|
||||||
|
static ProfileChangeListener instance;
|
||||||
|
|
||||||
static ProfileChangeListener instance = new ProfileChangeListener();
|
public static ProfileChangeListener getInstance() {
|
||||||
|
if (instance == null)
|
||||||
public static ProfileChangeListener getInstance(){
|
instance = new ProfileChangeListener();
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
private IProject project;
|
private IProject project;
|
||||||
|
|
||||||
private ProfileChangeListener(IProject project) {
|
private ProfileChangeListener(IProject project) {
|
||||||
this.project = project;
|
this.project = project;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ProfileChangeListener() {
|
private ProfileChangeListener() {
|
||||||
CodanCorePlugin.getDefault().getStorePreferences().addNodeChangeListener(this);
|
CodanCorePlugin.getDefault().getStorePreferences().addNodeChangeListener(this);
|
||||||
CodanCorePlugin.getDefault().getStorePreferences().addPreferenceChangeListener(this);
|
CodanCorePlugin.getDefault().getStorePreferences().addPreferenceChangeListener(this);
|
||||||
|
@ -58,61 +60,68 @@ public class ProfileChangeListener implements INodeChangeListener, IPreferenceCh
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener#preferenceChange(org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent)
|
|
||||||
*/
|
|
||||||
public void preferenceChange(PreferenceChangeEvent event) {
|
public void preferenceChange(PreferenceChangeEvent event) {
|
||||||
if (event.getSource() instanceof IEclipsePreferences) {
|
if (event.getSource() instanceof IEclipsePreferences) {
|
||||||
IEclipsePreferences ep = (IEclipsePreferences) event.getSource();
|
//IEclipsePreferences ep = (IEclipsePreferences) event.getSource();
|
||||||
if (project!=null) {
|
|
||||||
|
|
||||||
if (GrepChecker.ID.equals(event.getKey())) {
|
if (GrepChecker.ID.equals(event.getKey())) {
|
||||||
// severity or enablement has changed
|
// severity or enablement has changed
|
||||||
String val = (String) event.getNewValue();
|
String val = (String) event.getNewValue();
|
||||||
if (!val.startsWith("-")) {
|
if (!val.startsWith("-")) {
|
||||||
System.err.println("grep checker enabled!");
|
System.err.print("grep checker enabled :)");
|
||||||
|
} else {
|
||||||
|
System.err.print("grep checker disabled :(");
|
||||||
|
}
|
||||||
|
System.err.println(" for "+((project==null)?"workspace":project.getName()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
/*
|
||||||
}
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see
|
||||||
}
|
* org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener
|
||||||
|
* #added(org.eclipse.core.runtime.preferences.IEclipsePreferences.
|
||||||
/* (non-Javadoc)
|
* NodeChangeEvent)
|
||||||
* @see org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener#added(org.eclipse.core.runtime.preferences.IEclipsePreferences.NodeChangeEvent)
|
|
||||||
*/
|
*/
|
||||||
public void added(NodeChangeEvent event) {
|
public void added(NodeChangeEvent event) {
|
||||||
System.err.println("node added "+event);
|
System.err.println("node added " + event);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/*
|
||||||
* @see org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener#removed(org.eclipse.core.runtime.preferences.IEclipsePreferences.NodeChangeEvent)
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see
|
||||||
|
* org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener
|
||||||
|
* #removed(org.eclipse.core.runtime.preferences.IEclipsePreferences.
|
||||||
|
* NodeChangeEvent)
|
||||||
*/
|
*/
|
||||||
public void removed(NodeChangeEvent event) {
|
public void removed(NodeChangeEvent event) {
|
||||||
// TODO Auto-generated method stub
|
System.err.println("node removed " + event);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
CodanCorePlugin.getDefault().getStorePreferences().removeNodeChangeListener(this);
|
CodanCorePlugin.getDefault().getStorePreferences().removeNodeChangeListener(this);
|
||||||
CodanCorePlugin.getDefault().getStorePreferences().removePreferenceChangeListener(this);
|
CodanCorePlugin.getDefault().getStorePreferences().removePreferenceChangeListener(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.cdt.codan.internal.core.CheckersRegistry.IProblemProfileChangeListener#profileChange(org.eclipse.cdt.codan.internal.core.CheckersRegistry.ProblemProfileChangeEvent)
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see org.eclipse.cdt.codan.internal.core.CheckersRegistry.
|
||||||
|
* IProblemProfileChangeListener
|
||||||
|
* #profileChange(org.eclipse.cdt.codan.internal
|
||||||
|
* .core.CheckersRegistry.ProblemProfileChangeEvent)
|
||||||
*/
|
*/
|
||||||
public void profileChange(ProblemProfileChangeEvent event) {
|
public void profileChange(ProblemProfileChangeEvent event) {
|
||||||
if (event.getKey().equals(ProblemProfileChangeEvent.PROBLEM_KEY)) {
|
if (event.getKey().equals(ProblemProfileChangeEvent.PROBLEM_KEY)) {
|
||||||
IResource resource = (IResource) event.getSource();
|
IResource resource = (IResource) event.getSource();
|
||||||
IProblemProfile profile = (IProblemProfile) event.getNewValue();
|
IProblemProfile profile = (IProblemProfile) event.getNewValue();
|
||||||
IProblem pp = profile.findProblem(GrepChecker.ID);
|
IProblem pp = profile.findProblem(GrepChecker.ID);
|
||||||
System.err.println(pp.getName() + " enabled "+ pp.isEnabled());
|
System.err.println(pp.getName() + " enabled " + pp.isEnabled());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue