Package org.dcarew.halostatus

Source Code of org.dcarew.halostatus.HaloStatusPlugin

package org.dcarew.halostatus;

import org.dcarew.halostatus.utils.HaloStatusUpdateJob;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;

/**
* The plugin class for the Halo status project.
*
* @author Devon Carew
*/
public class HaloStatusPlugin
  extends AbstractUIPlugin
{
  public static final String PLUGIN_ID       = "org.dcarew.halostatus";
  public static final String HALO_3_URL       = "http://www.bungie.net/Projects/Halo3/default.aspx";
  public static final String PLAYER_COUNT_PREF  = "playerCount";
 
  private static HaloStatusPlugin  plugin;
 
 
  /**
   * The constructor
   */
  public HaloStatusPlugin()
  {
   
  }
 
  public void start(BundleContext context)
    throws Exception
  {
    super.start(context);
   
    plugin = this;
   
    HaloStatusUpdateJob statusJob = new HaloStatusUpdateJob();
   
    statusJob.schedule(5000);
  }
 
  public void stop(BundleContext context)
    throws Exception
  {
    plugin = null;
   
    super.stop(context);
  }
 
  /**
   * Returns the shared instance
   *
   * @return the shared instance
   */
  public static HaloStatusPlugin getPlugin()
  {
    return plugin;
  }

  /**
   * Returns an image descriptor for the image file at the given plug-in relative path.
   *
   * @param path the path
   * @return the image descriptor
   */
  public static ImageDescriptor getImageDescriptor(String path)
  {
    return imageDescriptorFromPlugin(PLUGIN_ID, path);
  }
 
    /**
     * Get an image given a path relative to this plugin.
     *
     * @param path
     * @return
     */
    public static Image getImage(String path)
    {
        if (getPlugin().getImageRegistry().get(path) != null)
            return getPlugin().getImageRegistry().get(path);

        ImageDescriptor descriptor = findImageDescriptor(path);

        if (descriptor != null)
        {
            getPlugin().getImageRegistry().put(path, descriptor);

            return getPlugin().getImageRegistry().get(path);
        }

        return null;
    }
   
    /**
   * Returns an image descriptor for the image file at the given plug-in relative path.
   *
   * @param path the path
   * @return the image descriptor
   */
  public static ImageDescriptor getBundledImageDescriptor(String path)
  {
    return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
  }

    /**
   * Respects images residing in any plug-in. If path is relative, then this bundle is looked up
   * for the image, otherwise, for absolute path, first segment is taken as id of plug-in with
   * image
   *
   * @param path the path to image, either absolute (with plug-in id as first segment), or
   *        relative for bundled images
   * @return the image descriptor
   */
  public static ImageDescriptor findImageDescriptor(String path)
  {
    final IPath p = new Path(path);
   
    if (p.isAbsolute() && p.segmentCount() > 1)
    {
      return AbstractUIPlugin.imageDescriptorFromPlugin(
        p.segment(0), p.removeFirstSegments(1).makeAbsolute().toString());
    }
    else
    {
      return getBundledImageDescriptor(p.makeAbsolute().toString());
    }
  }

  public String getPlayerCount()
  {
    return getPreferenceStore().getString(PLAYER_COUNT_PREF);
  }
 
  public void setPlayerCount(String haloPlayerCount)
  {
    if (haloPlayerCount == null)
      haloPlayerCount = "0";
   
    getPreferenceStore().setValue(PLAYER_COUNT_PREF, haloPlayerCount);
  }
   
}
TOP

Related Classes of org.dcarew.halostatus.HaloStatusPlugin

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.