~vil/pydev/upstream

« back to all changes in this revision

Viewing changes to org.python.pydev/src/org/python/pydev/builder/PyDevBuilderPrefPage.java

  • Committer: Vladimír Lapáček
  • Date: 2006-08-30 18:38:44 UTC
  • Revision ID: vladimir.lapacek@gmail.com-20060830183844-f4d82c1239a7770a
Initial import of upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Created on Feb 1, 2005
 
3
 *
 
4
 * @author Fabio Zadrozny
 
5
 */
 
6
package org.python.pydev.builder;
 
7
 
 
8
import org.eclipse.jface.preference.BooleanFieldEditor;
 
9
import org.eclipse.jface.preference.FieldEditorPreferencePage;
 
10
import org.eclipse.jface.preference.IntegerFieldEditor;
 
11
import org.eclipse.swt.widgets.Composite;
 
12
import org.eclipse.ui.IWorkbench;
 
13
import org.eclipse.ui.IWorkbenchPreferencePage;
 
14
import org.python.pydev.plugin.PydevPlugin;
 
15
import org.python.pydev.plugin.PydevPrefs;
 
16
import org.python.pydev.utils.LabelFieldEditor;
 
17
 
 
18
/**
 
19
 * @author Fabio Zadrozny
 
20
 */
 
21
public class PyDevBuilderPrefPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
 
22
 
 
23
    public static final boolean DEFAULT_USE_PYDEV_BUILDERS = true;
 
24
    public static final String USE_PYDEV_BUILDERS = "USE_PYDEV_BUILDERS";
 
25
    
 
26
    public static final boolean DEFAULT_USE_PYDEV_ONLY_ON_DOC_SAVE = false;
 
27
    public static final String USE_PYDEV_ANALYSIS_ONLY_ON_DOC_SAVE = "USE_PYDEV_ONLY_ON_DOC_SAVE";
 
28
    
 
29
    public static final int DEFAULT_PYDEV_ELAPSE_BEFORE_ANALYSIS = 3000;
 
30
    public static final String PYDEV_ELAPSE_BEFORE_ANALYSIS = "PYDEV_ELAPSE_BEFORE_ANALYSIS";
 
31
 
 
32
    /**
 
33
     * @param style
 
34
     */
 
35
    public PyDevBuilderPrefPage() {
 
36
        super(GRID);
 
37
        setPreferenceStore(PydevPlugin.getDefault().getPreferenceStore());
 
38
        setDescription("PyDev builders");
 
39
    }
 
40
 
 
41
    /**
 
42
     * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
 
43
     */
 
44
    protected void createFieldEditors() {
 
45
        Composite p = getFieldEditorParent();
 
46
        
 
47
        String s = "WARNING: \n\n" +
 
48
                        "PyDev builders are required for many features \n" +
 
49
                        "provided by Pydev such as:\n" +
 
50
                        "\n" +
 
51
                        "- Code completion\n" +
 
52
                        "- PyLint\n" +
 
53
                        "- TODO tasks\n" +
 
54
                        "\n" +
 
55
                        "So, if you choose to disable it, note that the features \n" +
 
56
                        "mentioned above may not work as expected or may even not \n" +
 
57
                        "work at all (use at your own risk).\n";
 
58
        
 
59
        addField(new LabelFieldEditor("LabelFieldEditor", s, p));
 
60
        addField(new BooleanFieldEditor(USE_PYDEV_BUILDERS, "Use builders?", p));
 
61
        addField(new BooleanFieldEditor(USE_PYDEV_ANALYSIS_ONLY_ON_DOC_SAVE, "Build only on save?", p));
 
62
        addField(new IntegerFieldEditor(PYDEV_ELAPSE_BEFORE_ANALYSIS, "Time to elapse before analyzing changed file (millis)", p));
 
63
    }
 
64
 
 
65
    /**
 
66
     * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
 
67
     */
 
68
    public void init(IWorkbench workbench) {
 
69
    }
 
70
 
 
71
    public static boolean usePydevBuilders() {
 
72
        return PydevPrefs.getPreferences().getBoolean(USE_PYDEV_BUILDERS);
 
73
    }
 
74
    
 
75
    public static boolean useAnalysisOnlyOnDocSave() {
 
76
        return PydevPrefs.getPreferences().getBoolean(USE_PYDEV_ANALYSIS_ONLY_ON_DOC_SAVE);
 
77
    }
 
78
    
 
79
    public static int getElapseMillisBeforeAnalysis() {
 
80
        return PydevPrefs.getPreferences().getInt(PYDEV_ELAPSE_BEFORE_ANALYSIS);
 
81
    }
 
82
 
 
83
}