From c89ab8ca446654ece705ec48e4720f011551545a Mon Sep 17 00:00:00 2001 From: Ken Gilmer Date: Fri, 1 Jul 2011 18:53:20 +0900 Subject: OTE: add preference page to enable/disable background bitbake session for variable expansion. --- .../bitbake/BitBakeSourceViewerConfiguration.java | 6 ++++ .../bc/ui/preferences/MainPreferencePage.java | 39 ++++++++++++++++++++++ .../bc/ui/preferences/PreferenceConstants.java | 9 +++++ .../bc/ui/preferences/PreferenceInitializer.java | 22 ++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/MainPreferencePage.java create mode 100644 org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/PreferenceConstants.java create mode 100644 org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/PreferenceInitializer.java (limited to 'org.openembedded.bc.ui/src') diff --git a/org.openembedded.bc.ui/src/org/openembedded/bc/ui/editors/bitbake/BitBakeSourceViewerConfiguration.java b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/editors/bitbake/BitBakeSourceViewerConfiguration.java index e3cbeb4..92ee692 100644 --- a/org.openembedded.bc.ui/src/org/openembedded/bc/ui/editors/bitbake/BitBakeSourceViewerConfiguration.java +++ b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/editors/bitbake/BitBakeSourceViewerConfiguration.java @@ -34,6 +34,7 @@ import org.eclipse.swt.graphics.RGB; import org.eclipse.ui.editors.text.TextSourceViewerConfiguration; import org.openembedded.bc.bitbake.BBLanguageHelper; import org.openembedded.bc.bitbake.BBSession; +import org.openembedded.bc.ui.preferences.PreferenceConstants; public class BitBakeSourceViewerConfiguration extends TextSourceViewerConfiguration { @@ -52,10 +53,12 @@ public class BitBakeSourceViewerConfiguration extends TextSourceViewerConfigurat private BBSession session; private String targetFilePath; private BBVariableTextHover textHover; + private boolean enableTextHover; public BitBakeSourceViewerConfiguration(ISharedTextColors sharedColors, IPreferenceStore store) { super(store); fSharedColors = sharedColors; + enableTextHover = store.getBoolean(PreferenceConstants.ENABLE_BITBAKE_BACKGROUND_SESSION); } protected void setTargetFilePath(String targetFilePath) { @@ -63,6 +66,9 @@ public class BitBakeSourceViewerConfiguration extends TextSourceViewerConfigurat } public ITextHover getTextHover(ISourceViewer sv, String contentType) { + if (!enableTextHover) + return null; + if (textHover == null && session != null && targetFilePath != null) { textHover = new BBVariableTextHover(session, targetFilePath); } diff --git a/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/MainPreferencePage.java b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/MainPreferencePage.java new file mode 100644 index 0000000..2871eac --- /dev/null +++ b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/MainPreferencePage.java @@ -0,0 +1,39 @@ +package org.openembedded.bc.ui.preferences; + +import org.eclipse.jface.preference.*; +import org.eclipse.ui.IWorkbenchPreferencePage; +import org.eclipse.ui.IWorkbench; +import org.openembedded.bc.ui.Activator; + +public class MainPreferencePage + extends FieldEditorPreferencePage + implements IWorkbenchPreferencePage { + + public MainPreferencePage() { + super(GRID); + setPreferenceStore(Activator.getDefault().getPreferenceStore()); + setDescription("Bitbake Commander Preferences"); + } + + /** + * Creates the field editors. Field editors are abstractions of + * the common GUI blocks needed to manipulate various types + * of preferences. Each field editor knows how to save and + * restore itself. + */ + public void createFieldEditors() { + addField( + new BooleanFieldEditor( + PreferenceConstants.ENABLE_BITBAKE_BACKGROUND_SESSION, + "&Enable background Bitbake session for variable expansion", + getFieldEditorParent())); + + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) + */ + public void init(IWorkbench workbench) { + } + +} \ No newline at end of file diff --git a/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/PreferenceConstants.java b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/PreferenceConstants.java new file mode 100644 index 0000000..b962d66 --- /dev/null +++ b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/PreferenceConstants.java @@ -0,0 +1,9 @@ +package org.openembedded.bc.ui.preferences; + +/** + * Constant definitions for plug-in preferences + */ +public class PreferenceConstants { + public static final String ENABLE_BITBAKE_BACKGROUND_SESSION = "booleanPreference"; + +} diff --git a/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/PreferenceInitializer.java b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/PreferenceInitializer.java new file mode 100644 index 0000000..cb323a9 --- /dev/null +++ b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/preferences/PreferenceInitializer.java @@ -0,0 +1,22 @@ +package org.openembedded.bc.ui.preferences; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.jface.preference.IPreferenceStore; + +import org.openembedded.bc.ui.Activator; + +/** + * Class used to initialize default preference values. + */ +public class PreferenceInitializer extends AbstractPreferenceInitializer { + + /* + * (non-Javadoc) + * + * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() + */ + public void initializeDefaultPreferences() { + IPreferenceStore store = Activator.getDefault().getPreferenceStore(); + store.setDefault(PreferenceConstants.ENABLE_BITBAKE_BACKGROUND_SESSION, false); + } +} -- cgit 1.2.3-korg