| /* |
| * 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) { |
| } |
| } |