diff options
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.java | 75 |
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 | *******************************************************************************/ | ||
11 | package org.yocto.bc.ui.editors.bitbake; | ||
12 | |||
13 | import java.io.IOException; | ||
14 | import java.util.ResourceBundle; | ||
15 | |||
16 | import org.eclipse.core.resources.IFile; | ||
17 | import org.eclipse.core.resources.IProject; | ||
18 | import org.eclipse.core.runtime.Status; | ||
19 | import org.eclipse.ui.IEditorInput; | ||
20 | import org.eclipse.ui.IEditorSite; | ||
21 | import org.eclipse.ui.PartInitException; | ||
22 | import org.eclipse.ui.part.FileEditorInput; | ||
23 | import org.eclipse.ui.texteditor.AbstractDecoratedTextEditor; | ||
24 | import org.eclipse.ui.texteditor.ContentAssistAction; | ||
25 | import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; | ||
26 | |||
27 | import org.yocto.bc.ui.Activator; | ||
28 | |||
29 | /** | ||
30 | * Editor for BB Recipe | ||
31 | * @author kgilmer | ||
32 | * | ||
33 | */ | ||
34 | public 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 | ||