summaryrefslogtreecommitdiffstats
path: root/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/editors/bitbake/BitBakeFileEditor.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/editors/bitbake/BitBakeFileEditor.java')
-rw-r--r--plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/editors/bitbake/BitBakeFileEditor.java75
1 files changed, 75 insertions, 0 deletions
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/editors/bitbake/BitBakeFileEditor.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/editors/bitbake/BitBakeFileEditor.java
new file mode 100644
index 0000000..b33f030
--- /dev/null
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/editors/bitbake/BitBakeFileEditor.java
@@ -0,0 +1,75 @@
1/*****************************************************************************
2 * Copyright (c) 2009 Ken Gilmer
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * Ken Gilmer - initial API and implementation
10 *******************************************************************************/
11package org.yocto.bc.ui.editors.bitbake;
12
13import java.io.IOException;
14import java.util.ResourceBundle;
15
16import org.eclipse.core.resources.IFile;
17import org.eclipse.core.resources.IProject;
18import org.eclipse.core.runtime.Status;
19import org.eclipse.ui.IEditorInput;
20import org.eclipse.ui.IEditorSite;
21import org.eclipse.ui.PartInitException;
22import org.eclipse.ui.part.FileEditorInput;
23import org.eclipse.ui.texteditor.AbstractDecoratedTextEditor;
24import org.eclipse.ui.texteditor.ContentAssistAction;
25import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
26
27import org.yocto.bc.ui.Activator;
28
29/**
30 * Editor for BB Recipe
31 * @author kgilmer
32 *
33 */
34public class BitBakeFileEditor extends AbstractDecoratedTextEditor {
35
36 public static final String EDITOR_ID = "org.yocto.bc.ui.editors.BitBakeFileEditor";
37 static final String CONTENT_ASSIST= "ContentAssist";
38 private BitBakeSourceViewerConfiguration viewerConfiguration;
39 private IFile targetFile;
40
41 public BitBakeFileEditor() {
42 super();
43 viewerConfiguration = new BitBakeSourceViewerConfiguration(getSharedColors(), getPreferenceStore());
44 setSourceViewerConfiguration(viewerConfiguration);
45 setDocumentProvider(new BitBakeDocumentProvider());
46 }
47
48 @Override
49 protected void createActions() {
50 super.createActions();
51
52 ResourceBundle bundle= RecipeEditorMessages.getBundle();
53 ContentAssistAction action= new ContentAssistAction(bundle, "contentAssist.", this); //$NON-NLS-1$
54 action.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
55 setAction(CONTENT_ASSIST, action);
56 }
57
58 @Override
59 public void init(IEditorSite site, IEditorInput input) throws PartInitException {
60
61 if (input instanceof FileEditorInput) {
62 IProject p = ((FileEditorInput)input).getFile().getProject();
63 targetFile = ((FileEditorInput)input).getFile();
64 viewerConfiguration.setTargetFile(targetFile);
65
66 try {
67 viewerConfiguration.setBBSession(Activator.getBBSession(p.getLocationURI().getPath()));
68 } catch (IOException e) {
69 e.printStackTrace();
70 throw new PartInitException(Status.CANCEL_STATUS);
71 }
72 }
73 super.init(site, input);
74 }
75} \ No newline at end of file