/**
* 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.MAVEN_EXEC_PATH;
import static org.absmodels.abs.plugin.util.UtilityFunctions.getDefaultPreferenceStore;
import org.eclipse.jface.preference.DirectoryFieldEditor;
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;
/**
*
* @author pwong
*
*/
public class ABSMavenPreferences extends PreferencePage implements
IWorkbenchPreferencePage {
private DirectoryFieldEditor mavenPath;
public void init(IWorkbench workbench) {
setPreferenceStore(getDefaultPreferenceStore());
setDescription("Choose Maven preferences here");
}
protected Control createContents(Composite parent) {
GridLayout gridLayout = new GridLayout(1, false);
parent.setLayout(gridLayout);
final Composite mavenPathContainer = new Composite(parent, SWT.NONE);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
mavenPathContainer.setLayoutData(gridData);
mavenPath = new DirectoryFieldEditor(MAVEN_EXEC_PATH, "Maven Installation", mavenPathContainer);
mavenPath.setPreferenceStore(getDefaultPreferenceStore());
mavenPath.load();
return parent;
}
@Override
public void performDefaults(){
mavenPath.loadDefault();
super.performDefaults();
}
@Override
public boolean performOk(){
mavenPath.store();
return super.performOk();
}
}