List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties singleSelectionIndex
public static IWidgetValueProperty singleSelectionIndex()
From source file:uk.ac.stfc.isis.ibex.ui.dae.experimentsetup.periods.PeriodsPanel.java
License:Open Source License
/** * Binds model data to the relevant UI elements for automatic update. * /*from w w w. j a v a2 s . c o m*/ * @param viewModel the model holding the period settings. */ public void setModel(final PeriodsViewModel viewModel) { this.model = viewModel; bindingContext = new DataBindingContext(); bindingContext.bindList(WidgetProperties.items().observe(cmbPeriodFile), BeanProperties.list("periodFilesList").observe(viewModel)); bindingContext.bindValue(WidgetProperties.text().observe(lblPeriodFileRB), BeanProperties.value("periodFile").observe(viewModel)); bindingContext.bindValue(WidgetProperties.singleSelectionIndex().observe(cmbPeriodType), BeanProperties.value("periodType").observe(viewModel)); bindingContext.bindValue(WidgetProperties.text(SWT.Modify).observe(txtSoftwarePeriods), BeanProperties.value("softwarePeriods").observe(viewModel)); bindingContext.bindValue(WidgetProperties.text(SWT.Modify).observe(txtHardwarePeriods), BeanProperties.value("hardwarePeriods").observe(viewModel)); bindingContext.bindValue(WidgetProperties.text(SWT.Modify).observe(txtOutputDelay), BeanProperties.value("outputDelay").observe(viewModel)); bindingContext.bindValue(WidgetProperties.enabled().observe(txtHardwarePeriods), BeanProperties.value("internalPeriod").observe(viewModel)); bindingContext.bindValue(WidgetProperties.enabled().observe(radioSpecifyParameters), BeanProperties.value("hardwarePeriod").observe(viewModel)); bindingContext.bindValue(WidgetProperties.enabled().observe(radioUsePeriodFile), BeanProperties.value("hardwarePeriod").observe(viewModel)); viewModel.addPropertyChangeListener("internalPeriod", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { lblNote.setVisible(!model.isInternalPeriod()); } }); viewModel.addPropertyChangeListener("periods", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { setPeriods(viewModel.periods()); } }); viewModel.addPropertyChangeListener("periodType", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { updateTypeStack(matchType((PeriodControlType) evt.getNewValue())); } }); viewModel.addPropertyChangeListener("setupSource", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { updateSourceStack(matchSource((PeriodSetupSource) evt.getNewValue())); } }); setPeriods(viewModel.periods()); updateTypeStack(matchType(PeriodControlType.values()[model.getPeriodType()])); updateSourceStack(matchSource(model.getSetupSource())); }
From source file:uk.ac.stfc.isis.ibex.ui.dae.experimentsetup.timechannels.TimeChannelsPanel.java
License:Open Source License
/** * Binds model parameters to GUI elements. * //from ww w . j a v a2 s . c om * @param viewModel The time channel settings model */ public void setModel(final TimeChannelsViewModel viewModel) { this.viewModel = viewModel; bindingContext = new DataBindingContext(); bindingContext.bindValue(WidgetProperties.singleSelectionIndex().observe(timeUnit), BeanProperties.value("timeUnit").observe(viewModel)); bindingContext.bindList(WidgetProperties.items().observe(timeChannelFileSelector), BeanProperties.list("timeChannelFileList").observe(viewModel)); bindingContext.bindValue(WidgetProperties.text().observe(timeChannelFileRB), BeanProperties.value("timeChannelFile").observe(viewModel)); viewModel.addPropertyChangeListener("timeRegimes", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { updateTimeRegimes(); } }); viewModel.addPropertyChangeListener("calculationMethod", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { setCalculationMethod(viewModel.getCalculationMethod()); } }); updateTimeRegimes(); setCalculationMethod(viewModel.getCalculationMethod()); }
From source file:uk.ac.stfc.isis.ibex.ui.dae.spectra.SpectrumView.java
License:Open Source License
/** * Sets the model for the spectrum./*ww w .j a v a 2s . c om*/ * * @param updatableSpectrum the new model */ public void setModel(UpdatableSpectrum updatableSpectrum) { spectrum = updatableSpectrum; bindingContext = new DataBindingContext(); bindingContext.bindValue(WidgetProperties.selection().observe(number), BeanProperties.value("number").observe(updatableSpectrum)); bindingContext.bindValue(WidgetProperties.selection().observe(period), BeanProperties.value("period").observe(updatableSpectrum)); bindingContext.bindValue(WidgetProperties.singleSelectionIndex().observe(spectrumType), BeanProperties.value("typeSelectionIndex").observe(updatableSpectrum)); spectrum.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { if (spectrum.getRequiresUpdate()) { spectrumFigure.update(); // Wait for a second before executing in case the user is // still scrolling through spectra numbers. if (timerTask != null) { timerTask.cancel(); } timerTask = new TimerTask() { @Override public void run() { spectrum.update(); } }; timer.schedule(timerTask, ONE_SECOND_IN_MILLISECONDS); } } }); spectrumFigure.setModel(updatableSpectrum); }
From source file:uk.ac.stfc.isis.ibex.ui.synoptic.editor.target.selector.TargetSelectorPanel.java
License:Open Source License
private void bind() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(WidgetProperties.text(SWT.Modify).observe(txtName), BeanProperties.value("name").observe(viewModel)); bindingContext.bindValue(WidgetProperties.text().observe(txtSelectedTarget), BeanProperties.value("opi").observe(viewModel)); bindingContext.bindValue(WidgetProperties.text().observe(txtDescription), BeanProperties.value("description").observe(viewModel)); bindingContext.bindValue(WidgetProperties.singleSelectionIndex().observe(comboType.getCombo()), BeanProperties.value("iconSelectionIndex").observe(viewModel)); }