--- /dev/null
+/*
+ * Copyright (c) 2002-2004 Adrian Dinu and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * Adrian Dinu - initial implementation
+ *
+ * $Id: JSUIPlugin.java,v 1.1 2004-09-02 18:23:57 jsurfer Exp $
+ */
+
+package net.sourceforge.phpeclipse.js.ui;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import net.sourceforge.phpeclipse.js.ui.editors.JSImages;
+import net.sourceforge.phpeclipse.js.ui.model.JSModelAdapterFactory;
+import net.sourceforge.phpeclipse.js.ui.preferences.PreferenceNames;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+public class JSUIPlugin extends AbstractUIPlugin {
+
+ /** The shared instance. */
+ private static JSUIPlugin plugin;
+
+ /** Resource bundle. */
+ private ResourceBundle resourceBundle;
+
+ /** The current func list. */
+ private List currentFunctions = new LinkedList();
+
+ /**
+ * The constructor.
+ *
+ * @param descriptor the plugin descriptors
+ */
+ public JSUIPlugin() {
+ plugin = this;
+
+ try {
+ resourceBundle = ResourceBundle.getBundle(
+ "net.sourceforge.phpeclipse.js.ui.jseditorPluginResources"); //$NON-NLS-1$
+ } catch (MissingResourceException e) {
+ resourceBundle = null;
+ }
+ }
+
+ /**
+ * Returns the shared instance.
+ * @return
+ */
+ public static JSUIPlugin getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the workspace instance.
+ * @return
+ */
+ public static IWorkspace getWorkspace() {
+ return ResourcesPlugin.getWorkspace();
+ }
+
+ /**
+ * Returns the string from the plugin's resource bundle, or 'key' if not
+ * found.
+ *
+ * @param key
+ *
+ * @return
+ */
+ public static String getResourceString(String key) {
+ ResourceBundle bundle = JSUIPlugin.getDefault().getResourceBundle();
+ try {
+ return bundle.getString(key);
+ } catch(MissingResourceException e) {
+ return key;
+ }
+ }
+
+ /**
+ * Returns the plugin's resource bundle,
+ * @return
+ */
+ public ResourceBundle getResourceBundle() {
+ return resourceBundle;
+ }
+
+ /**
+ * Returns the list of current functions.
+ *
+ * @return the current functions
+ */
+ public List getCurrentFunctions() {
+ return currentFunctions;
+ }
+
+ /**
+ * Sets the current list of functions.
+ *
+ * @param currentFunctions The functions to set
+ */
+ public void setCurrentFunctions(List currentFunctions) {
+ this.currentFunctions = currentFunctions;
+ }
+
+ /*
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ JSModelAdapterFactory.register(Platform.getAdapterManager());
+ }
+
+ /*
+ * @see AbstractUIPlugin#initializeDefaultPreferences(IPreferenceStore)
+ */
+ protected void initializeDefaultPreferences(IPreferenceStore store) {
+ store.setDefault(PreferenceNames.P_AUTO_OUTLINE, true);
+ // TODO Use PreferenceConverter for color/string conversion
+ store.setDefault(PreferenceNames.P_COMMENT_COLOR, "63,127,95");
+ store.setDefault(PreferenceNames.P_STRING_COLOR, "42,0,255");
+ store.setDefault(PreferenceNames.P_KEYWORD_COLOR, "127,0,85");
+ store.setDefault(PreferenceNames.P_DEFAULT_COLOR, "0,0,0");
+ }
+
+ /*
+ * @see AbstractUIPlugin#initializeImageRegistry(ImageRegistry)
+ */
+ protected void initializeImageRegistry(ImageRegistry reg) {
+ JSImages.initializeRegistry(reg);
+ }
+}