/** * Copyright (c) 2009-2011, The HATS Consortium. All rights reserved. * This file is licensed under the terms of the Modified BSD License. */ package org.absmodels.abs.plugin.preferences; import static org.absmodels.abs.plugin.util.Constants.MAUDE_EXEC_PATH; import static org.absmodels.abs.plugin.util.UtilityFunctions.getDefaultPreferenceStore; import org.eclipse.jface.preference.FileFieldEditor; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; /** * Preference page for global Maude preferences, i.e. the path of the Maude executable * @author tfischer */ public class ABSMaudePreferences extends PreferencePage implements IWorkbenchPreferencePage{ private FileFieldEditor maudePath; @Override public void init(IWorkbench workbench) { setPreferenceStore(getDefaultPreferenceStore()); setDescription("Choose Maude preferences here"); } @Override protected Control createContents(Composite parent) { GridLayout gridLayout = new GridLayout(1, false); parent.setLayout(gridLayout); final Composite maudePathContainer = new Composite(parent, SWT.NONE); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); maudePathContainer.setLayoutData(gridData); maudePath = new FileFieldEditor(MAUDE_EXEC_PATH, "MaudePath", maudePathContainer); maudePath.setPreferenceStore(getDefaultPreferenceStore()); maudePath.load(); return parent; } @Override public void performDefaults(){ maudePath.loadDefault(); super.performDefaults(); } @Override public boolean performOk(){ maudePath.store(); return super.performOk(); } }