Package org.eclipse.maven.ui.preferences

Source Code of org.eclipse.maven.ui.preferences.MavenGeneralPreferences

package org.eclipse.maven.ui.preferences;

import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.preference.*;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
import org.eclipse.maven.Activator;

public class MavenGeneralPreferences extends FieldEditorPreferencePage
    implements IWorkbenchPreferencePage {

  private DirectoryFieldEditor mavenHome;
  private DirectoryFieldEditor jdkHome;
  private DirectoryFieldEditor m2Repo;

  public MavenGeneralPreferences() {
    super(GRID);
  }

  public void createFieldEditors() {
    mavenHome = new DirectoryFieldEditor(PreferencesConstants.MAVEN_HOME,
        "Maven Home", getFieldEditorParent());
    addField(mavenHome);

    jdkHome = new DirectoryFieldEditor(PreferencesConstants.JAVA_HOME,
        "JDK", getFieldEditorParent());
    addField(jdkHome);

    m2Repo = new DirectoryFieldEditor(PreferencesConstants.M2_REPO,
        "M2Repo", getFieldEditorParent());
    addField(m2Repo);
  }

  @Override
  protected void initialize() {
    super.initialize();
   
    // We want to store M2_REPO property into java classpath vars
    ScopedPreferenceStore store = new ScopedPreferenceStore(
        new InstanceScope(), "org.eclipse.jdt.core");
    m2Repo.setPreferenceStore(store);
    store.addPropertyChangeListener(new IPropertyChangeListener(){
      @Override
      public void propertyChange(PropertyChangeEvent event) {
        // We want to erase the value if the M2_REPO was deleted from the classpath variables ui...
        if( event.getProperty().equals(PreferencesConstants.M2_REPO)) {
          m2Repo.load();
        }
      }
    });
    m2Repo.load();
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
   */
  public void init(IWorkbench workbench) {
    setPreferenceStore(Activator.getDefault().getPreferenceStore());
    noDefaultAndApplyButton();
    setDescription("Configure the maven plugin.");
  }

}
TOP

Related Classes of org.eclipse.maven.ui.preferences.MavenGeneralPreferences

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.