fable.imageviewer.preferences.ImageviewerPreferencePage.java Source code

Java tutorial

Introduction

Here is the source code for fable.imageviewer.preferences.ImageviewerPreferencePage.java

Source

/*
 * Copyright (c) 2012 European Synchrotron Radiation Facility,
 *                    Diamond Light Source Ltd.
 *
 * 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
 */
package fable.imageviewer.preferences;

import org.dawb.common.ui.image.PaletteFactory;
import org.eclipse.jface.preference.ComboFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;

import fable.imageviewer.internal.IImagesVarKeys;
import fable.imageviewer.rcp.Activator;

/**
 * The Imageviewer preference page for changing preferences which are then
 * stored in the preference store.
 */

public class ImageviewerPreferencePage extends FieldEditorPreferencePage
        implements IWorkbenchPreferencePage, IImagesVarKeys {

    public ImageviewerPreferencePage() {
        super(GRID);
        setPreferenceStore(Activator.getDefault().getPreferenceStore());
    }

    /**
     * Creates the field editors. Field editors are abstractions of the common
     * GUI blocks needed to manipulate various types of preferences. Each field
     * editor knows how to save and restore itself.
     */
    public void createFieldEditors() {
        /*
         * could be used to set the starting directory
         * 
         * addField(new DirectoryFieldEditor(PreferenceConstants.P_PATH,
         * "&Directory preference:", getFieldEditorParent()));
         */
        addField(new StringFieldEditor(PreferenceConstants.P_MAX_SAMPLES, "Number of &samples to open :",
                getFieldEditorParent()));
        addField(new StringFieldEditor(PreferenceConstants.P_IMAGES_PER_TAB, "Number of images per &tab :",
                getFieldEditorParent()));
        addField(new StringFieldEditor(PreferenceConstants.P_IMAGES_CACHED, "Number of images to &cache :",
                getFieldEditorParent()));

        addField(new StringFieldEditor(PreferenceConstants.P_XLABEL, "&X Label :", getFieldEditorParent()));
        addField(new StringFieldEditor(PreferenceConstants.P_YLABEL, "&Y Label :", getFieldEditorParent()));

        String[][] choices = new String[PaletteFactory.PALETTES.size()][2];
        int i = -1;
        for (String name : PaletteFactory.PALETTES.keySet()) {
            i++;
            choices[i] = new String[] { name, PaletteFactory.PALETTES.get(name).toString() };
        }
        addField(new ComboFieldEditor(PreferenceConstants.P_PALETTE, "Default &palette :", choices,
                getFieldEditorParent()));
        addField(new ComboFieldEditor(PreferenceConstants.P_ORIENT, "Default &orientation :", orientNameValues,
                getFieldEditorParent()));

        addField(new ComboFieldEditor(PreferenceConstants.P_COORD, "Default coordinate &system :", coordNameValues,
                getFieldEditorParent()));
        // No accelerator key for these
        addField(new StringFieldEditor(PreferenceConstants.P_COORD_X0, "Custom coordinates x0 :",
                getFieldEditorParent()));
        addField(new StringFieldEditor(PreferenceConstants.P_COORD_Y0, "Custom coordinates y0 :",
                getFieldEditorParent()));
        addField(new StringFieldEditor(PreferenceConstants.P_COORD_PIXELWIDTH, "Custom coordinates pixel width :",
                getFieldEditorParent()));
        addField(new StringFieldEditor(PreferenceConstants.P_COORD_PIXELHEIGHT, "Custom coordinates pixel height :",
                getFieldEditorParent()));
        addField(new StringFieldEditor(PreferenceConstants.P_COORD_XNAME, "Custom coordinates x name :",
                getFieldEditorParent()));
        addField(new StringFieldEditor(PreferenceConstants.P_COORD_YNAME, "Custom coordinates y name :",
                getFieldEditorParent()));
    }

    /*
     * (non-Javadoc)
     * 
     * @see
     * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
     */
    public void init(IWorkbench workbench) {
    }

}