blob: 79d24b999221fb190d695ee542dd6d88776c9638 [file] [log] [blame]
/*
* Copyright (c) 2002, Roscoe Rush. All Rights Reserved.
*
* The contents of this file are subject to the Common Public License
* Version 0.5 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.eclipse.org/
*
*/
package org.eclipse.ui.externaltools.internal.ant.antview.preferences;
import java.util.Vector;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.RadioGroupFieldEditor;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.externaltools.internal.ant.antview.core.IAntViewConstants;
import org.eclipse.ui.externaltools.internal.ant.antview.core.ResourceMgr;
import org.eclipse.ui.externaltools.internal.ant.antview.views.AntView;
import org.eclipse.ui.externaltools.internal.ant.antview.views.AntViewContentProvider;
import org.eclipse.ui.externaltools.internal.ant.model.AntUtil;
public class AntViewPreferencePage
extends FieldEditorPreferencePage
implements IWorkbenchPreferencePage {
/**
* Constructor
*/
public AntViewPreferencePage() {
super(GRID);
setPreferenceStore(Preferences.getPreferenceStore());
ResourceMgr.init();
setDescription(ResourceMgr.getString("Preferences.PageDescription"));
Preferences.setDefaults();
}
/**
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
*/
public void createFieldEditors() {
addField(new RadioGroupFieldEditor(
IAntViewConstants.PREF_PROJECT_DISPLAY,
ResourceMgr.getString("Preferences.ProjectNode.Label"),
3,
new String[][] {
{ ResourceMgr.getString("Preferences.ProjectNode.NameAttr"), IAntViewConstants.PROJECT_DISPLAY_NAMEATTR },
{ ResourceMgr.getString("Preferences.ProjectNode.DirLoc"), IAntViewConstants.PROJECT_DISPLAY_DIRLOC },
{ ResourceMgr.getString("Preferences.ProjectNode.Both"), IAntViewConstants.PROJECT_DISPLAY_BOTH }
},
getFieldEditorParent()
));
addField(new RadioGroupFieldEditor(
IAntViewConstants.PREF_TARGET_DISPLAY,
ResourceMgr.getString("Preferences.TargetNode.Label"),
3,
new String[][] {
{ ResourceMgr.getString("Preferences.TargetNode.NameAttr"), IAntViewConstants.TARGET_DISPLAY_NAMEATTR },
{ ResourceMgr.getString("Preferences.TargetNode.DescAttr"), IAntViewConstants.TARGET_DISPLAY_DESCATTR },
{ ResourceMgr.getString("Preferences.TargetNode.Both"), IAntViewConstants.TARGET_DISPLAY_BOTH }
},
getFieldEditorParent()
));
addField(new RadioGroupFieldEditor(
IAntViewConstants.PREF_TARGET_FILTER,
ResourceMgr.getString("Preferences.TargetFilter.Label"),
2,
new String[][] {
{ ResourceMgr.getString("Preferences.TargetFilter.None"), IAntViewConstants.TARGET_FILTER_NONE },
{ ResourceMgr.getString("Preferences.TargetFilter.DescAttr"), IAntViewConstants.TARGET_FILTER_DESCATTR }
},
getFieldEditorParent()
));
addField(new StringFieldEditor(
IAntViewConstants.PREF_ANT_BUILD_FILE,
ResourceMgr.getString("Preferences.AntBuildFile.Label"),
getFieldEditorParent()
));
}
/**
* Method performOK.
* @return boolean
*/
public boolean performOk() {
if (super.performOk()) {
AntView antView = AntUtil.getAntView();
if (antView == null) {
return true;
}
AntViewContentProvider viewContentProvider = antView.getViewContentProvider();
if (viewContentProvider == null) {
return true;
}
Vector targetVector = viewContentProvider.getTargetVector();
targetVector.removeAllElements();
viewContentProvider.reset();
antView.refresh();
return true;
}
return false;
}
/**
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(IWorkbench)
*/
public void init(IWorkbench workbench) {
}
}