Example usage for org.eclipse.jface.databinding.swt WidgetProperties singleSelectionIndex

List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties singleSelectionIndex

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.swt WidgetProperties singleSelectionIndex.

Prototype

public static IWidgetValueProperty singleSelectionIndex() 

Source Link

Document

Returns a value property for observing the single selection index of a CCombo , Combo , List or Table .

Usage

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));
}