diff options
Diffstat (limited to 'bundles/org.eclipse.e4.tools.orion.css.editor/src/org/eclipse/e4/tools/orion/css/editor/views/SampleCSSView.java')
-rw-r--r-- | bundles/org.eclipse.e4.tools.orion.css.editor/src/org/eclipse/e4/tools/orion/css/editor/views/SampleCSSView.java | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/bundles/org.eclipse.e4.tools.orion.css.editor/src/org/eclipse/e4/tools/orion/css/editor/views/SampleCSSView.java b/bundles/org.eclipse.e4.tools.orion.css.editor/src/org/eclipse/e4/tools/orion/css/editor/views/SampleCSSView.java deleted file mode 100644 index d4ec3c6d..00000000 --- a/bundles/org.eclipse.e4.tools.orion.css.editor/src/org/eclipse/e4/tools/orion/css/editor/views/SampleCSSView.java +++ /dev/null @@ -1,182 +0,0 @@ -package org.eclipse.e4.tools.orion.css.editor.views; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtension; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.RegistryFactory; -import org.eclipse.e4.tools.orion.css.editor.Activator; -import org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine; -import org.eclipse.e4.ui.css.swt.theme.ITheme; -import org.eclipse.e4.ui.css.swt.theme.IThemeEngine; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.swt.SWT; -import org.eclipse.swt.browser.Browser; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.IViewSite; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.part.ViewPart; -import org.osgi.framework.Bundle; - -/** - * This sample class demonstrates how to plug-in a new workbench view. The view - * shows data obtained from the model. The sample creates a dummy model on the - * fly, but a real implementation would connect to the model available either in - * this or another plug-in (e.g. the workspace). The view is connected to the - * model using a content provider. - * <p> - * The view uses a label provider to define how model objects should be - * presented in the view. Each view can present the same model objects using - * different labels and icons, if needed. Alternatively, a single label provider - * can be shared between views in order to ensure that objects of the same type - * are presented in the same way everywhere. - * <p> - */ - -public class SampleCSSView extends ViewPart { - - /** - * The ID of the view as specified by the extension. - */ - public static final String ID = "z.ex.css.editor.views.SampleCSSView"; - private Browser browser; - private String editorHtml; - private String editorContent; - - /** - * This is a callback that will allow us to create the viewer and initialize - * it. - * - * @throws PartInitException - */ - public void createPartControl(Composite parent) { - browser = new Browser(parent, SWT.NONE); - browser.setText(editorHtml, true); - } - - @Override - public void init(IViewSite site) throws PartInitException { - super.init(site); - try { - initContent(); - final Bundle bundle = Activator.getDefault().getBundle(); - final InputStream contentAssistInput = bundle.getEntry( - "/web/swtContentAssist.js").openStream(); - String contentAssistTemplate = loadFile(contentAssistInput, 1024); - String keywords = loadKeywords(); - String contentAssist = String.format(contentAssistTemplate, - keywords); - final InputStream cssTemplateInput = bundle.getEntry( - "/web/css.html").openStream(); - String cssTemplate = loadFile(cssTemplateInput, 1024); - final String editorCssUrl = FileLocator.toFileURL( - bundle.getEntry("/web/built-editor.css")).toExternalForm(); - final String editorJsUrl = FileLocator.toFileURL( - bundle.getEntry("/web/built-editor.js")).toExternalForm(); - - editorHtml = String.format(cssTemplate, editorCssUrl, editorJsUrl, - contentAssist, editorContent); - System.out.println(editorHtml); - } catch (IOException e) { - throw new PartInitException("Failed to load CSS editor", e); - } - } - - private String loadKeywords() { - StringBuilder buf = new StringBuilder(); - - IExtensionRegistry registry = RegistryFactory.getRegistry(); - IExtensionPoint extPoint = registry - .getExtensionPoint("org.eclipse.e4.ui.css.core.propertyHandler"); - ArrayList<IConfigurationElement> matchingElements = new ArrayList<IConfigurationElement>(); - ArrayList<IConfigurationElement> controlAdapters = new ArrayList<IConfigurationElement>(); - for (IExtension e : extPoint.getExtensions()) { - IConfigurationElement[] elements = e.getConfigurationElements(); - for (int i = 0; i < elements.length; i++) { - IConfigurationElement element = elements[i]; - controlAdapters.add(element); - IConfigurationElement[] child = element - .getChildren("property-name"); - for (int j = 0; j < child.length; j++) { - matchingElements.add(child[j]); - } - } - } - Iterator<IConfigurationElement> iter = matchingElements.iterator(); - boolean once = true; - while (iter.hasNext()) { - IConfigurationElement type = iter.next(); - String name = type.getAttribute("name"); - if (!once) { - buf.append(','); - buf.append('\n'); - } - buf.append('"'); - buf.append(name); - buf.append('"'); - once = false; - } - buf.append('\n'); - - return buf.toString(); - } - - private void initContent() throws MalformedURLException, IOException { - IThemeEngine engine = (IThemeEngine) getSite().getService( - IThemeEngine.class); - final ITheme theme = engine.getActiveTheme(); - final List<String> sheets = ((ThemeEngine) engine) - .getStylesheets(theme); - if (sheets.size() > 0) { - String path = sheets.get(0); - final InputStream in = FileLocator - .toFileURL(new URL(sheets.get(0))).openStream(); - editorContent = loadFile(in, 1024); - } else { - editorContent = "/*\n * This is an Orion editor sample.\n */\nfunction() {\n var a = 'hi there!';\n window.console.log(a);\n}"; - } - } - - public String loadFile(final InputStream in, final int bufferSize) - throws IOException { - final char[] buffer = new char[bufferSize]; - final StringBuilder out = new StringBuilder(); - final Reader reader = new InputStreamReader(in, "UTF-8"); - try { - int size = reader.read(buffer, 0, buffer.length); - while (size > 0) { - out.append(buffer, 0, size); - size = reader.read(buffer, 0, buffer.length); - } - } finally { - reader.close(); - } - return out.toString(); - } - - /** - * Passing the focus request to the viewer's control. - */ - public void setFocus() { - browser.setFocus(); - } - - /** - * @return the browser - */ - public Browser getBrowser() { - return browser; - } - -}
\ No newline at end of file |