com.softberries.klerk.Activator.java Source code

Java tutorial

Introduction

Here is the source code for com.softberries.klerk.Activator.java

Source

/*******************************************************************************
 * Copyright (c) 2011 Softberries Krzysztof Grajek.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     Softberries Krzysztof Grajek - initial API and implementation
 ******************************************************************************/
package com.softberries.klerk;

import java.math.RoundingMode;
import java.util.Currency;

import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import com.softberries.klerk.money.*;

import com.softberries.klerk.gui.helpers.IImageKeys;

/**
 * The activator class controls the plug-in life cycle
 * @author krzysztof.grajek@softberries.com
 */
public class Activator extends AbstractUIPlugin {

    // The plug-in ID
    public static final String PLUGIN_ID = "com.softberries.klerk"; //$NON-NLS-1$

    // The shared instance
    private static Activator plugin;

    /**
     * The constructor
     */
    public Activator() {

    }

    /*
     * (non-Javadoc)
     * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
     */
    @Override
    public void start(BundleContext context) throws Exception {
        super.start(context);
        //initialize Money defaults on startup
        Money.init(Currency.getInstance("PLN"), RoundingMode.HALF_EVEN);
        plugin = this;
    }

    /*
     * (non-Javadoc)
     * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
     */
    @Override
    public void stop(BundleContext context) throws Exception {
        plugin = null;
        super.stop(context);
    }

    /**
     * Returns the shared instance
     *
     * @return the shared instance
     */
    public static Activator getDefault() {
        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);
    }

    /**
     * Add some images to the {@link ImageRegistry}
     * Image handles specified below are mainly used for
     * category tree creation.
     */
    @Override
    protected void initializeImageRegistry(ImageRegistry registry) {
        super.initializeImageRegistry(registry);
        Bundle bundle = Platform.getBundle(PLUGIN_ID);

        ImageDescriptor mainCategory = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.MAIN_CATEGORY), null));
        registry.put(IImageKeys.MAIN_CATEGORY, mainCategory);

        ImageDescriptor allCategories = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.ALL_CATEGORIES), null));
        registry.put(IImageKeys.ALL_CATEGORIES, allCategories);

        ImageDescriptor documents = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_DOCUMENTS), null));
        registry.put(IImageKeys.CATEGORY_DOCUMENTS, documents);

        ImageDescriptor invoices = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_INVOICES), null));
        registry.put(IImageKeys.CATEGORY_INVOICES, invoices);

        ImageDescriptor inventory = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_INVENTORY), null));
        registry.put(IImageKeys.CATEGORY_INVENTORY, inventory);

        ImageDescriptor products = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_PRODUCTS), null));
        registry.put(IImageKeys.CATEGORY_PRODUCTS, products);

        ImageDescriptor companies = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_COMPANIES), null));
        registry.put(IImageKeys.CATEGORY_COMPANIES, companies);

        ImageDescriptor administration = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_ADMINISTRATION), null));
        registry.put(IImageKeys.CATEGORY_ADMINISTRATION, administration);

        ImageDescriptor people = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_PEOPLE), null));
        registry.put(IImageKeys.CATEGORY_PEOPLE, people);

        ImageDescriptor invPurchase = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_INVOICES_PURCHASE), null));
        registry.put(IImageKeys.CATEGORY_INVOICES_PURCHASE, invPurchase);

        ImageDescriptor invSales = ImageDescriptor
                .createFromURL(FileLocator.find(bundle, new Path(IImageKeys.CATEGORY_INVOICES_SALES), null));
        registry.put(IImageKeys.CATEGORY_INVOICES_SALES, invSales);
    }
}