Example usage for org.eclipse.jface.preference StringFieldEditor setPreferenceStore

List of usage examples for org.eclipse.jface.preference StringFieldEditor setPreferenceStore

Introduction

In this page you can find the example usage for org.eclipse.jface.preference StringFieldEditor setPreferenceStore.

Prototype

public void setPreferenceStore(IPreferenceStore store) 

Source Link

Document

Sets the preference store used by this field editor.

Usage

From source file:org.mwc.debrief.core.wizards.FlatFilenameWizardPage.java

License:Open Source License

/**
 * @see IDialogPage#createControl(Composite)
 *///from   w w w  .j a va  2  s  . c  o m
public void createControl(final Composite parent) {

    final Composite container = new Composite(parent, SWT.NULL);
    final GridLayout layout = new GridLayout();
    container.setLayout(layout);
    layout.numColumns = 3;
    layout.verticalSpacing = 9;

    final String filenameKey = "3Debrief.FlatFileOutput";
    final String sensor1Key = "3Debrief.FlatFileSensorType1";
    final String sensor2Key = "3Debrief.FlatFileSensorType2";
    final String protMarkKey = "3Debrief.FlatFileProtMarking";
    final String serialKey = "3Debrief.FlatFileSerialName";
    final String sensor1fwdKey = "3Debrief.FlatFileSensor1fwd";
    final String sensor1aftKey = "3Debrief.FlatFileSensor1aft";
    final String sensor2fwdKey = "3Debrief.FlatFileSensor2fwd";
    final String sensor2aftKey = "3Debrief.FlatFileSensor2aft";
    final String speedOfSoundKey = "3Debrief.speedOfSoundKey";

    final String title = "Output directory:";
    _fileFieldEditor = new DirectoryFieldEditor(filenameKey, title, container) {
        @Override
        protected void doLoad() {
            super.doLoad();
            fireValueChanged(FieldEditor.VALUE, null, this.getStringValue());
        }

        protected void fireValueChanged(final String property, final Object oldValue, final Object newValue) {
            super.fireValueChanged(property, oldValue, newValue);

            // is this the value property?
            if (!property.equals(FieldEditor.VALUE))
                return;

            // tell the ui to update itself
            _filePath = (String) newValue;

            dialogChanged();
            this.store();

        }

        @Override
        protected boolean doCheckState() {
            return _filePath != null;
        }
    };
    _fileFieldEditor.fillIntoGrid(container, 3);
    _fileFieldEditor.setPreferenceStore(getPreferenceStore());
    _fileFieldEditor.setPage(this);
    _fileFieldEditor.setEmptyStringAllowed(false);
    _fileFieldEditor.load();

    // store the current editor value
    _filePath = _fileFieldEditor.getStringValue();

    // ok, we also need the sensor depth attribute
    if (_fileVersion.equals(FlatFileExporter.UPDATED_VERSION)) {
        // ok, get the sensor1 depth
        final StringFieldEditor speedOfSoundEditor = new StringFieldEditor(speedOfSoundKey,
                "Speed of Sound (m/sec):", container) {
            @Override
            protected void doLoad() {
                super.doLoad();
                fireValueChanged(FieldEditor.VALUE, null, this.getStringValue());
            }

            protected void fireValueChanged(final String property, final Object oldValue,
                    final Object newValue) {
                super.fireValueChanged(property, oldValue, newValue);

                // is this the value property?
                if (!property.equals(FieldEditor.VALUE))
                    return;

                // is this the value property?
                try {
                    _speedOfSound = MWCXMLReader.readThisDouble(newValue.toString());
                } catch (final ParseException e) {
                    // ignore
                }

                dialogChanged();
                // and remember the new value
                store();
            }

            @Override
            protected boolean doCheckState() {
                return _speedOfSound != null;
            }
        };
        speedOfSoundEditor.setEmptyStringAllowed(false);
        speedOfSoundEditor.setPreferenceStore(getPreferenceStore());
        speedOfSoundEditor.setPage(this);
        speedOfSoundEditor.setErrorMessage("A value for speed of sound must be supplied");
        speedOfSoundEditor.setStringValue("");
        speedOfSoundEditor.load();
        if (speedOfSoundEditor.getStringValue() != null) {
            try {
                _speedOfSound = MWCXMLReader.readThisDouble(speedOfSoundEditor.getStringValue());
            } catch (final ParseException pe) {
                // ignore
            }
        }

        @SuppressWarnings("unused")
        final Label lbl3 = new Label(container, SWT.None);

    }

    // sort out the correct selection lists
    String[][] sensorTypes;
    if (_fileVersion.equals(FlatFileExporter.INITIAL_VERSION)) {
        sensorTypes = sensor1Types;
    } else {
        sensorTypes = sensor2Types;
    }

    // sort out the first sensor
    _sensor1TypeEditor = new RadioGroupFieldEditor(sensor1Key, "Sensor 1 type:", 2, sensorTypes, container) {
        protected void fireValueChanged(final String property, final Object oldValue, final Object newValue) {
            super.fireValueChanged(property, oldValue, newValue);

            // is this the value property?
            if (!property.equals(FieldEditor.VALUE))
                return;

            _sensorType1 = (String) newValue;
            enableAftEditor(container, _sensor1AftEditor, _sensorType1);
            dialogChanged();

            // remember the value
            this.store();

        }

    };
    _sensor1TypeEditor.setPreferenceStore(getPreferenceStore());
    _sensor1TypeEditor.setPage(this);
    _sensor1TypeEditor.load();
    _sensorType1 = getPreferenceStore().getString(sensor1Key);

    @SuppressWarnings("unused")
    final Label lbl = new Label(container, SWT.None);

    // ok, we also need the sensor depth attribute
    if (_fileVersion.equals(FlatFileExporter.UPDATED_VERSION)) {

        // ok, get the sensor1 depth
        final StringFieldEditor sensor1FwdEditor = new StringFieldEditor(sensor1fwdKey,
                "Sensor 1 fwd depth (m):", container) {
            @Override
            protected void doLoad() {
                super.doLoad();
                fireValueChanged(FieldEditor.VALUE, null, this.getStringValue());
            }

            protected void fireValueChanged(final String property, final Object oldValue,
                    final Object newValue) {
                super.fireValueChanged(property, oldValue, newValue);

                // is this the value property?
                if (!property.equals(FieldEditor.VALUE))
                    return;

                try {
                    _sensor1Fwd = MWCXMLReader.readThisDouble(newValue.toString());
                } catch (final ParseException pe) {
                    _sensor1Fwd = null;
                }

                if (_sensor1AftEditor != null)
                    _sensor1AftEditor.setEnabled(!_sensorType1.startsWith("H"), container);

                // we may not have a second editor = get checking
                // if (_sensor2AftEditor != null)
                // _sensor2AftEditor.setEnabled(!_sensorType2.startsWith("H"),
                // container);

                dialogChanged();

                // remember the value
                this.store();
            }

            @Override
            protected boolean doCheckState() {
                return _sensor1Fwd != null;
            }
        };
        sensor1FwdEditor.setEmptyStringAllowed(false);
        sensor1FwdEditor.setPreferenceStore(getPreferenceStore());
        sensor1FwdEditor.setPage(this);
        sensor1FwdEditor.setErrorMessage("A value for Sensor 1 fwd depth must be supplied");
        sensor1FwdEditor.setStringValue("");
        sensor1FwdEditor.load();
        if (sensor1FwdEditor.getStringValue() != null) {
            try {
                _sensor1Fwd = MWCXMLReader.readThisDouble(sensor1FwdEditor.getStringValue());
            } catch (final ParseException pe) {
                // ignore
            }
        }

        @SuppressWarnings("unused")
        final Label lbl2 = new Label(container, SWT.None);

        // ok, get the sensor1 depth
        _sensor1AftEditor = new StringFieldEditor(sensor1aftKey, "Sensor 1 aft depth (m):", container) {
            @Override
            protected void doLoad() {
                super.doLoad();
                fireValueChanged(FieldEditor.VALUE, null, this.getStringValue());
            }

            protected void fireValueChanged(final String property, final Object oldValue,
                    final Object newValue) {
                super.fireValueChanged(property, oldValue, newValue);

                // is this the value property?
                if (!property.equals(FieldEditor.VALUE))
                    return;

                // is this the value property?
                try {
                    _sensor1Aft = MWCXMLReader.readThisDouble(newValue.toString());
                } catch (final ParseException pe) {
                    _sensor1Aft = null;
                }

                dialogChanged();

                // remember this value
                this.store();
            }

            @Override
            protected boolean doCheckState() {
                return _sensor1Aft != null;
            }
        };
        _sensor1AftEditor.setEmptyStringAllowed(false);
        _sensor1AftEditor.setPreferenceStore(getPreferenceStore());
        _sensor1AftEditor.setPage(this);
        _sensor1AftEditor.setErrorMessage("A value for Sensor 1 aft depth must be supplied");
        _sensor1AftEditor.setStringValue("");
        _sensor1AftEditor.load();
        enableAftEditor(container, _sensor1AftEditor, _sensorType1);
        if (_sensor1AftEditor.getStringValue() != null) {
            try {
                _sensor1Aft = MWCXMLReader.readThisDouble(_sensor1AftEditor.getStringValue());
            } catch (final ParseException pe) {
                // ignore
            }
        }

        @SuppressWarnings("unused")
        final Label lbl3b = new Label(container, SWT.None);

    }

    // and now the second sensor
    if (_numSensors > 1) {
        _sensor2TypeEditor = new RadioGroupFieldEditor(sensor2Key, "Sensor 2 type:", 2, sensorTypes,
                container) {
            protected void fireValueChanged(final String property, final Object oldValue,
                    final Object newValue) {
                super.fireValueChanged(property, oldValue, newValue);

                // is this the value property?
                if (!property.equals(FieldEditor.VALUE))
                    return;

                _sensorType2 = (String) newValue;

                enableAftEditor(container, _sensor2AftEditor, _sensorType2);
                dialogChanged();
                // remember this value
                this.store();

            }
        };
        _sensor2TypeEditor.setPreferenceStore(getPreferenceStore());
        _sensor2TypeEditor.setPage(this);
        _sensor2TypeEditor.load();
        _sensorType2 = getPreferenceStore().getString(sensor2Key);

        @SuppressWarnings("unused")
        final Label lbl2 = new Label(container, SWT.None);

        // ok, we also need the sensor depth attribute
        if (_fileVersion.equals(FlatFileExporter.UPDATED_VERSION)) {
            // ok, get the sensor1 depth
            final StringFieldEditor sensor2FwdEditor = new StringFieldEditor(sensor2fwdKey,
                    "Sensor 2 fwd depth (m):", container) {
                @Override
                protected void doLoad() {
                    super.doLoad();
                    fireValueChanged(FieldEditor.VALUE, null, this.getStringValue());
                }

                protected void fireValueChanged(final String property, final Object oldValue,
                        final Object newValue) {
                    super.fireValueChanged(property, oldValue, newValue);

                    // is this the value property?
                    if (!property.equals(FieldEditor.VALUE))
                        return;

                    // is this the value property?                  
                    try {
                        _sensor2Fwd = MWCXMLReader.readThisDouble(newValue.toString());
                        dialogChanged();
                        // remember this value
                        this.store();
                    } catch (final ParseException pe) {
                        _sensor2Fwd = null;
                    }
                }

                @Override
                protected boolean doCheckState() {
                    return _sensor2Fwd != null;
                }
            };
            sensor2FwdEditor.setEmptyStringAllowed(false);
            sensor2FwdEditor.setPreferenceStore(getPreferenceStore());
            sensor2FwdEditor.setPage(this);
            sensor2FwdEditor.setErrorMessage("A value for Sensor 2 fwd depth must be supplied");
            sensor2FwdEditor.load();
            if (sensor2FwdEditor.getStringValue() != null) {
                try {
                    _sensor2Fwd = MWCXMLReader.readThisDouble(sensor2FwdEditor.getStringValue());
                } catch (final ParseException pe) {
                    // ignore
                }
            }

            @SuppressWarnings("unused")
            final Label lbl3 = new Label(container, SWT.None);

            // ok, get the sensor1 depth
            _sensor2AftEditor = new StringFieldEditor(sensor2aftKey, "Sensor 2 aft depth (m):", container) {
                @Override
                protected void doLoad() {
                    super.doLoad();
                    fireValueChanged(FieldEditor.VALUE, null, this.getStringValue());
                }

                protected void fireValueChanged(final String property, final Object oldValue,
                        final Object newValue) {
                    super.fireValueChanged(property, oldValue, newValue);

                    // is this the value property?
                    if (!property.equals(FieldEditor.VALUE))
                        return;

                    // is this the value property?
                    try {
                        _sensor2Aft = MWCXMLReader.readThisDouble(newValue.toString());
                    } catch (final ParseException pe) {
                        _sensor2Aft = null;
                    }
                    // remember this value
                    this.store();

                    dialogChanged();
                }

                @Override
                protected boolean doCheckState() {
                    return _sensor2Aft != null;
                }
            };
            _sensor2AftEditor.setEmptyStringAllowed(false);
            _sensor2AftEditor.setPreferenceStore(getPreferenceStore());
            _sensor2AftEditor.setPage(this);

            _sensor2AftEditor.setErrorMessage("A value for Sensor 2 aft depth must be supplied");
            _sensor2AftEditor.load();
            enableAftEditor(container, _sensor2AftEditor, _sensorType2);

            if (_sensor2AftEditor.getStringValue() != null) {
                try {
                    _sensor2Aft = MWCXMLReader.readThisDouble(_sensor2AftEditor.getStringValue());
                } catch (final ParseException pe) {
                    // ignore
                }
            }

            @SuppressWarnings("unused")
            final Label lbl4 = new Label(container, SWT.None);

        }
    }

    if (_fileVersion.equals(FlatFileExporter.UPDATED_VERSION)) {

        // we also want to specify the prot marking editor
        _protMarkingEditor = new StringFieldEditor(protMarkKey, "Protective Marking:", container) {
            protected void fireValueChanged(final String property, final Object oldValue,
                    final Object newValue) {
                super.fireValueChanged(property, oldValue, newValue);

                // is this the value property?
                if (!property.equals(FieldEditor.VALUE))
                    return;

                _protMarking = (String) newValue;
                dialogChanged();

                // remember this value
                this.store();
            }

            @Override
            protected boolean doCheckState() {
                return _protMarking != null;
            }
        };
        _protMarkingEditor.setEmptyStringAllowed(false);
        _protMarkingEditor.setPreferenceStore(getPreferenceStore());
        _protMarkingEditor.setPage(this);
        _protMarkingEditor.setErrorMessage("A value for protective marking must be supplied");
        _protMarkingEditor.setStringValue("");
        _protMarkingEditor.load();
        _protMarking = _protMarkingEditor.getStringValue();

        @SuppressWarnings("unused")
        final Label lbl3 = new Label(container, SWT.None);

    }

    // we also want to specify the serial nane (for single or double sensors)
    _serialNameEditor = new StringFieldEditor(serialKey, "Serial name:", container) {
        protected void fireValueChanged(final String property, final Object oldValue, final Object newValue) {
            super.fireValueChanged(property, oldValue, newValue);

            // is this the value property?
            if (!property.equals(FieldEditor.VALUE))
                return;

            _serialName = (String) newValue;
            dialogChanged();

            // remember this value
            this.store();
        }

        @Override
        protected boolean doCheckState() {
            return _serialName != null;
        }

    };
    _serialNameEditor.setPreferenceStore(getPreferenceStore());
    _serialNameEditor.setPage(this);
    _serialNameEditor.setEmptyStringAllowed(false);
    _serialNameEditor.setErrorMessage("The serial name must be supplied");
    _serialNameEditor.load();
    _serialName = _serialNameEditor.getStringValue();

    final GridLayout urlLayout = (GridLayout) container.getLayout();
    urlLayout.numColumns = 3;

    container.layout();
    setControl(container);
}

From source file:org.osate.xtext.aadl2.agcl.analysis.config.AGCLPreferencesPage.java

License:Apache License

@Override
protected void createFieldEditors() {
    Composite parent = getFieldEditorParent();
    IPreferenceStore store = getPreferenceStore();
    StringFieldEditor modelCheckerName = new StringFieldEditor(
            IPreferenceConstants.MODEL_CHECKER_NAME_PREFERENCE, "Model-checker &Name", parent);
    addField(modelCheckerName);//from  w  w  w .  j  a v a 2  s  .c  o  m
    modelCheckerName.setPreferenceStore(store);
    FileFieldEditor modelCheckerExecutable = new FileFieldEditor(
            IPreferenceConstants.MODEL_CHECKER_EXECUTABLE_PREFERENCE, "Model-checker &Executable", true,
            parent);
    addField(modelCheckerExecutable);
    modelCheckerExecutable.setPreferenceStore(store);
    IPropertyChangeListener modelCheckerListener = new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            String newActiveModelChecker = (String) event.getNewValue();
            // TODO: register new instance
            // TODO: change executable
            //               AGCLAnalysisPlugin.getDefault().activateModelChecker(newActiveModelChecker);
        }
    };
    store.addPropertyChangeListener(modelCheckerListener);
    StringFieldEditor flags = new StringFieldEditor(IPreferenceConstants.MODEL_CHECKER_FLAGS_PREFERENCE,
            "Model-checker &Flags", parent);
    addField(flags);
    flags.setPreferenceStore(store);
    //      FileFieldEditor modelCheckerScriptTemplate = new FileFieldEditor(
    //      IPreferenceConstants.MODEL_CHECKER_SCRIPT_TEMPLATE_PREFERENCE,
    //      "Model-checker &Script template",
    //      false,
    //      parent);
    StringFieldEditor modelCheckerScriptTemplate = new StringFieldEditor(
            IPreferenceConstants.MODEL_CHECKER_SCRIPT_TEMPLATE_PREFERENCE, "Model-checker &Script template",
            parent);
    addField(modelCheckerScriptTemplate);
    modelCheckerScriptTemplate.setPreferenceStore(store);
    //      FileFieldEditor modelCheckerModelTemplate = new FileFieldEditor(
    //            IPreferenceConstants.MODEL_CHECKER_MODEL_TEMPLATE_PREFERENCE,
    //            "Model-checker &Model template",
    //            false,
    //            parent);
    StringFieldEditor modelCheckerModelTemplate = new StringFieldEditor(
            IPreferenceConstants.MODEL_CHECKER_MODEL_TEMPLATE_PREFERENCE, "Model-checker &Model template",
            parent);
    addField(modelCheckerModelTemplate);
    modelCheckerModelTemplate.setPreferenceStore(store);
    StringFieldEditor modelCheckerInputDir = new StringFieldEditor(
            IPreferenceConstants.MODEL_CHECKER_INPUT_DIR_PREFERENCE, "Model-checker &Input directory", parent);
    addField(modelCheckerInputDir);
    modelCheckerInputDir.setPreferenceStore(store);
    StringFieldEditor modelCheckerOutputDir = new StringFieldEditor(
            IPreferenceConstants.MODEL_CHECKER_OUTPUT_DIR_PREFERENCE, "Model-checker &Output directory",
            parent);
    addField(modelCheckerOutputDir);
    modelCheckerOutputDir.setPreferenceStore(store);
    StringFieldEditor analysisResultsDir = new StringFieldEditor(
            IPreferenceConstants.ANALYSIS_RESULTS_DIR_PREFERENCE, "Analysis &Results directory", parent);
    addField(analysisResultsDir);
    analysisResultsDir.setPreferenceStore(store);
    RadioGroupFieldEditor analysisResultsOption = new RadioGroupFieldEditor(
            IPreferenceConstants.ANALYSIS_RESULTS_OPTION_PREFERENCE, "Analysis Results sorting option", 1,
            new String[][] { { "By viewpoint", AnalysisResults.BYVIEWPOINT },
                    { "By component", AnalysisResults.BYCOMPONENT } },
            parent);
    addField(analysisResultsOption);
    analysisResultsOption.setPreferenceStore(store);
}