edu.buffalo.cse.green.preferences.PreferenceInitializer.java Source code

Java tutorial

Introduction

Here is the source code for edu.buffalo.cse.green.preferences.PreferenceInitializer.java

Source

/* This file is part of Green.
 *
 * Copyright (C) 2005 The Research Foundation of State University of New York
 * All Rights Under Copyright Reserved, The Research Foundation of S.U.N.Y.
 * 
 * Green is free software, licensed under the terms of the Eclipse
 * Public License, version 1.0.  The license is available at
 * http://www.eclipse.org/legal/epl-v10.html
 */

package edu.buffalo.cse.green.preferences;

import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.jface.preference.IPreferenceStore;

import edu.buffalo.cse.green.PlugIn;

/**
 * Class used to initialize default preference values.
 */
public class PreferenceInitializer extends AbstractPreferenceInitializer {
    public static final String P_AUTOGEN_SUPER_CONSTR = "autogen.super.constr";
    public static final String P_AUTOGEN_ABST_METHOD = "autogen.abst.meth";
    public static final String P_AUTOGEN_MAIN = "autogen.main";
    public static final String P_AUTOSAVE = "autoSave";
    public static final String P_FIXED_HEIGHT = "collapse.height";
    public static final String P_FIXED_WIDTH = "collapse.width";
    public static final String P_COLOR_COMPARTMENT_BORDER = "color.compartment.border";
    public static final String P_COLOR_NOTE = "color.note";
    public static final String P_COLOR_NOTE_BORDER = "color.note.border";
    public static final String P_COLOR_NOTE_TEXT = "color.note.text";
    public static final String P_COLOR_REL_ARROW_FILL = "color.rel.arrow.fill";
    public static final String P_COLOR_REL_LINE = "color.rel.line";
    public static final String P_COLOR_REL_TEXT = "color.rel.text";
    public static final String P_COLOR_UML = "color.uml";
    public static final String P_COLOR_TYPE_BORDER = "color.type.border";
    public static final String P_COLOR_TYPE_BORDER_HIDDENR = "color.type.border.hiddenr";
    public static final String P_COLOR_TYPE_TEXT = "color.type.text";
    public static final String P_COLOR_SELECTED = "color.selected";
    public static final String P_DISPLAY_ELEMENT_TOOLTIPS = "display.element.tooltips";
    public static final String P_DISPLAY_FQN_TYPE_NAMES = "display.fqn.type.names";
    public static final String P_DISPLAY_METHOD_PARAMETERS = "display.method.parameters";
    public static final String P_DISPLAY_RELATIONSHIP_SUBTYPES = "display.relationship.subtypes";
    public static final String P_DRAW_LINE_WIDTH = "draw.line.width";
    public static final String P_FONT = "font";
    public static final String P_GRID_SIZE = "grid.size";
    public static final String P_JM_ADD_CU_IF_PACKAGE_IN_EDITOR = "add.cu.if.package.in.editor";
    public static final String P_MANHATTAN_ROUTING = "manhattan.routing";
    public static final String P_FILTERS_MEMBER = "filters.member";
    public static final String P_FORCE_DIA_IN_PROJECT = "dia.in.project";
    public static final String P_DISPLAY_INCREMENTAL_EXPLORER_DIA = "display.inc.explr.dia";
    public static final String P_AUTOARRANGE = "auto.arrange";

    /**
     * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
     */
    public void initializeDefaultPreferences() {
        IPreferenceStore store = PlugIn.getDefault().getPreferenceStore();
        store.setDefault(P_AUTOGEN_SUPER_CONSTR, true);
        store.setDefault(P_AUTOGEN_ABST_METHOD, true);
        store.setDefault(P_AUTOGEN_MAIN, false);
        store.setDefault(P_AUTOSAVE, true);
        store.setDefault(P_FIXED_HEIGHT, "200");
        store.setDefault(P_FIXED_WIDTH, "100");
        store.setDefault(P_COLOR_NOTE, "233,233,255");
        store.setDefault(P_COLOR_UML, "255,255,206");
        store.setDefault(P_COLOR_SELECTED, "96,255,96");
        store.setDefault(P_COLOR_TYPE_BORDER, "0,0,0");
        store.setDefault(P_COLOR_TYPE_BORDER_HIDDENR, "255,0,0");
        store.setDefault(P_COLOR_COMPARTMENT_BORDER, "128,128,128");
        store.setDefault(P_COLOR_TYPE_TEXT, "0,0,0");
        store.setDefault(P_COLOR_NOTE_BORDER, "255,196,0");
        store.setDefault(P_COLOR_NOTE_TEXT, "0,0,0");
        store.setDefault(P_COLOR_REL_ARROW_FILL, "255,255,255");
        store.setDefault(P_COLOR_REL_LINE, "0,0,0");
        store.setDefault(P_COLOR_REL_TEXT, "0,0,0");
        store.setDefault(P_DISPLAY_ELEMENT_TOOLTIPS, false);
        store.setDefault(P_DISPLAY_FQN_TYPE_NAMES, true);
        store.setDefault(P_DISPLAY_METHOD_PARAMETERS, true);
        store.setDefault(P_DISPLAY_RELATIONSHIP_SUBTYPES, true);
        store.setDefault(P_DRAW_LINE_WIDTH, 0);
        store.setDefault(P_FORCE_DIA_IN_PROJECT, true);
        store.setDefault(P_GRID_SIZE, "1");
        store.setDefault(P_JM_ADD_CU_IF_PACKAGE_IN_EDITOR, false);
        store.setDefault(P_MANHATTAN_ROUTING, false);
        store.setDefault(P_DISPLAY_INCREMENTAL_EXPLORER_DIA, true);
        store.setDefault(P_AUTOARRANGE, false);

        //FIXME Font errors
        //The following two errors occur when Green is being initialized without generating
        //an editor. (e.g. through a RefactorParticipant invocation)
        //1      FontData font = Display.getDefault().getSystemFont().getFontData()[0];
        //      store.setDefault(P_FONT, "|" + font.getName() + "|" + font.getHeight());
        //Results in an Invalid Thread Access error due to preference initializing being
        //done in a non-UI thread.
        //2      FontData font = new FontRegistry().defaultFont().getFontData()[0];
        //      store.setDefault(P_FONT, "|" + font.getName() + "|" + font.getHeight());
        //Results in null pointer error due to Display not initialized prior to creating
        //a new FontRegistry.

        //This seems to bypass the issues, rather than fixing them. 
        store.setDefault(P_FONT, "|Tahoma|8");
    }
}