List of usage examples for org.eclipse.jface.preference StringFieldEditor setPreferenceStore
public void setPreferenceStore(IPreferenceStore store)
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); }