Example usage for org.eclipse.jface.preference PreferenceStore addPropertyChangeListener

List of usage examples for org.eclipse.jface.preference PreferenceStore addPropertyChangeListener

Introduction

In this page you can find the example usage for org.eclipse.jface.preference PreferenceStore addPropertyChangeListener.

Prototype

@Override
    public void addPropertyChangeListener(IPropertyChangeListener listener) 

Source Link

Usage

From source file:com.android.ddms.PrefsDialog.java

License:Apache License

/**
 * Do some one-time prep./*from w w  w  .j  a  v a  2 s . c om*/
 *
 * The original plan was to let the individual classes define their
 * own defaults, which we would get and then override with the config
 * file.  However, PreferencesStore.load() doesn't trigger the "changed"
 * events, which means we have to pull the loaded config values out by
 * hand.
 *
 * So, we set the defaults, load the values from the config file, and
 * then run through and manually export the values.  Then we duplicate
 * the second part later on for the "changed" events.
 */
public static void init() {
    PreferenceStore prefStore = mStore.getPreferenceStore();

    if (prefStore == null) {
        // we have a serious issue here...
        Log.e("ddms",
                "failed to access both the user HOME directory and the system wide temp folder. Quitting.");
        System.exit(1);
    }

    // configure default values
    setDefaults(System.getProperty("user.home")); //$NON-NLS-1$

    // listen for changes
    prefStore.addPropertyChangeListener(new ChangeListener());

    // Now we initialize the value of the preference, from the values in the store.

    // First the ddm lib.
    DdmPreferences.setDebugPortBase(prefStore.getInt(PREFS_DEBUG_PORT_BASE));
    DdmPreferences.setSelectedDebugPort(prefStore.getInt(PREFS_SELECTED_DEBUG_PORT));
    DdmPreferences.setLogLevel(prefStore.getString(PREFS_LOG_LEVEL));
    DdmPreferences.setInitialThreadUpdate(prefStore.getBoolean(PREFS_DEFAULT_THREAD_UPDATE));
    DdmPreferences.setInitialHeapUpdate(prefStore.getBoolean(PREFS_DEFAULT_HEAP_UPDATE));
    DdmPreferences.setTimeOut(prefStore.getInt(PREFS_TIMEOUT));
    DdmPreferences.setProfilerBufferSizeMb(prefStore.getInt(PREFS_PROFILER_BUFFER_SIZE_MB));
    DdmPreferences.setUseAdbHost(prefStore.getBoolean(PREFS_USE_ADBHOST));
    DdmPreferences.setAdbHostValue(prefStore.getString(PREFS_ADBHOST_VALUE));

    // some static values
    String out = System.getenv("ANDROID_PRODUCT_OUT"); //$NON-NLS-1$
    DdmUiPreferences.setSymbolsLocation(out + File.separator + "symbols"); //$NON-NLS-1$
    DdmUiPreferences.setAddr2LineLocation("arm-linux-androideabi-addr2line"); //$NON-NLS-1$
    DdmUiPreferences.setAddr2LineLocation64("aarch64-linux-android-addr2line");
    String traceview = System.getProperty("com.android.ddms.bindir"); //$NON-NLS-1$
    if (traceview != null && traceview.length() != 0) {
        traceview += File.separator + DdmConstants.FN_TRACEVIEW;
    } else {
        traceview = DdmConstants.FN_TRACEVIEW;
    }
    DdmUiPreferences.setTraceviewLocation(traceview);

    // Now the ddmui lib
    DdmUiPreferences.setStore(prefStore);
    DdmUiPreferences.setThreadRefreshInterval(prefStore.getInt(PREFS_THREAD_REFRESH_INTERVAL));
}

From source file:org.apache.felix.sigil.eclipse.internal.model.repository.RepositoryPreferences.java

License:Apache License

public PreferenceStore toPreferenceStore(final IRepositoryModel model) {
    PreferenceStore store = new PreferenceStore();
    store.setFilename(makeFileName(model));

    for (Map.Entry<Object, Object> e : model.getProperties().entrySet()) {
        store.setValue((String) e.getKey(), (String) e.getValue());
    }//  w  ww . jav  a  2s.c om

    store.setValue("provider", model.getType().getProvider());

    store.addPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            model.getProperties().setProperty(event.getProperty(), event.getNewValue().toString());
        }
    });

    return store;
}