blob: 1d088c2d92e50b19fada1abba7be71dead46b136 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011,2013 IBM Corporation.
* 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.mat.dtfj;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.RadioGroupFieldEditor;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
/**
* This class represents a preference page that is contributed to the
* Preferences dialog. By subclassing { link org.eclipse.jface.preference.FieldEditorPreferencePage}, we
* can use the field support built into JFace that allows us to create a page
* that is small and knows how to save, restore and apply itself.
* <p>
* This page is used to modify preferences only. They are stored in the
* preference store that belongs to the main plug-in class. That way,
* preferences can be accessed directly via the preference store.
*/
public class DTFJPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage
{
public DTFJPreferencePage()
{
super(GRID);
setPreferenceStore((IPreferenceStore)InitDTFJ.getDefault().getPreferenceStore());
setDescription(Messages.DTFJPreferencePage_Description);
}
/**
* 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()
{
addField(new RadioGroupFieldEditor(
PreferenceConstants.P_METHODS,
Messages.DTFJPreferencePage_MethodsAsClasses,
1,
new String[][] {
{ Messages.DTFJPreferencePage_NoMethods, PreferenceConstants.NO_METHODS_AS_CLASSES },
{ Messages.DTFJPreferencePage_OnlyStackFrames, PreferenceConstants.FRAMES_ONLY },
{ Messages.DTFJPreferencePage_RunningMethods, PreferenceConstants.RUNNING_METHODS_AS_CLASSES },
{ Messages.DTFJPreferencePage_AllMethods, PreferenceConstants.ALL_METHODS_AS_CLASSES } },
getFieldEditorParent(), true));
addField(new BooleanFieldEditor(PreferenceConstants.P_SUPPRESS_CLASS_NATIVE_SIZES, Messages.DTFJPreferencePage_SuppressClassNativeSizes,
getFieldEditorParent()));
}
/*
* (non-Javadoc)
* @see
* org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
*/
public void init(IWorkbench workbench)
{}
}