/**
* Copyright (c) 2005-2013 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package com.python.pydev.analysis.actions;
import java.util.ListResourceBundle;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.text.IDocument;
import org.python.pydev.editor.PyEdit;
import org.python.pydev.parser.PyParser;
import org.python.pydev.shared_core.structure.Tuple;
import org.python.pydev.shared_ui.editor.BaseEditor;
import org.python.pydev.shared_ui.editor.IPyEditListener;
import com.python.pydev.analysis.builder.AnalysisParserObserver;
public class AnalyzeOnRequestSetter implements IPyEditListener {
public static class AnalyzeOnRequestAction extends Action {
private PyEdit edit;
public AnalyzeOnRequestAction(PyEdit edit) {
this.edit = edit;
}
@Override
public void run() {
PyParser parser = edit.getParser();
parser.forceReparse(new Tuple<String, Boolean>(AnalysisParserObserver.ANALYSIS_PARSER_OBSERVER_FORCE, true));
}
}
@Override
public void onSave(BaseEditor edit, IProgressMonitor monitor) {
}
@Override
public void onCreateActions(ListResourceBundle resources, BaseEditor baseEditor, IProgressMonitor monitor) {
PyEdit edit = (PyEdit) baseEditor;
AnalyzeOnRequestAction action = new AnalyzeOnRequestAction(edit);
edit.addOfflineActionListener("c", action, "Code-analysis on request", false);
}
@Override
public void onDispose(BaseEditor edit, IProgressMonitor monitor) {
}
@Override
public void onSetDocument(IDocument document, BaseEditor edit, IProgressMonitor monitor) {
}
}