Package dk.contix.eclipse.hudson.preference

Source Code of dk.contix.eclipse.hudson.preference.HudsonPreferencesPage

package dk.contix.eclipse.hudson.preference;

import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.IntegerFieldEditor;
import org.eclipse.jface.preference.StringButtonFieldEditor;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;

import dk.contix.eclipse.hudson.Activator;
import dk.contix.eclipse.hudson.HudsonClient;

public class HudsonPreferencesPage extends FieldEditorPreferencePage implements
    IWorkbenchPreferencePage {

  private IPropertyChangeListener listener;

  public HudsonPreferencesPage() {
    super(FieldEditorPreferencePage.GRID);
  }

  protected void createFieldEditors() {
    addField(new StringButtonFieldEditor(Activator.PREF_BASE_URL, "Hudson base url", getFieldEditorParent()) {
      {
        setChangeButtonText("Check url");
      }
      protected String changePressed() {
        try {
          HudsonClient.checkValidUrl(getStringValue());
          showMessage("Valid url");
          setValid(true);
        } catch (Exception e) {
          showErrorMessage(e.getMessage());
          setValid(false);
        }
        return null;
      }
     
    });
   
    final BooleanFieldEditor enabled = new BooleanFieldEditor(Activator.PREF_AUTO_UPDATE, "Update periodically?", getFieldEditorParent());
    final IntegerFieldEditor interval = new IntegerFieldEditor(Activator.PREF_UPDATE_INTERVAL, "Update interval (seconds)", getFieldEditorParent());
    listener = new IPropertyChangeListener() {
          public void propertyChange(PropertyChangeEvent event) {
            if (enabled.getBooleanValue()) {
              interval.setEnabled(true, getFieldEditorParent());
            }
          }
        };
    getPreferenceStore().addPropertyChangeListener(listener);
   
    addField(enabled);
    addField(interval);
   
    addField(new BooleanFieldEditor(Activator.PREF_POPUP_ON_ERROR, "Popup window when state changes to error?", getFieldEditorParent()));
  }
 
  public boolean isValid() {
    return getPreferenceStore().getString(Activator.PREF_BASE_URL) != null;
  }

  public void init(IWorkbench workbench) {
   
  }

  protected IPreferenceStore doGetPreferenceStore() {
    return Activator.getDefault().getPreferenceStore();
  }
 
  public void dispose() {
    getPreferenceStore().removePropertyChangeListener(listener);
    super.dispose();
  }
 
  public boolean performOk() {
    return super.performOk();
   
   
  }
}
TOP

Related Classes of dk.contix.eclipse.hudson.preference.HudsonPreferencesPage

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.