Example usage for org.eclipse.jface.preference ScaleFieldEditor getNumberOfControls

List of usage examples for org.eclipse.jface.preference ScaleFieldEditor getNumberOfControls

Introduction

In this page you can find the example usage for org.eclipse.jface.preference ScaleFieldEditor getNumberOfControls.

Prototype

@Override
    public int getNumberOfControls() 

Source Link

Usage

From source file:org.eclipse.actf.ai.voice.preferences.VoicePreferencePage.java

License:Open Source License

public void createFieldEditors() {

    final RadioGroupFieldEditor rgfe;
    String[][] labelAndIds = TTSRegistry.getLabelAndIds();
    addField(rgfe = new RadioGroupFieldEditor(IVoice.PREF_ENGINE, Messages.voice_engine, 1, labelAndIds,
            getFieldEditorParent()));/* w  ww .j a v  a  2  s .  co  m*/
    Composite c = rgfe.getRadioBoxControl(getFieldEditorParent());
    for (int i = 0; i < labelAndIds.length; i++) {
        if (labelAndIds[i][1].length() == 0) {
            c.getChildren()[i].setEnabled(false);
        }
    }

    final ScaleFieldEditor speedEditor;
    addField(speedEditor = new ScaleFieldEditor(IVoice.PREF_SPEED, Messages.voice_speed, getFieldEditorParent(),
            IVoice.SPEED_MIN, IVoice.SPEED_MAX, 5, 25));

    Composite comp = new Composite(getFieldEditorParent(), SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = layout.marginWidth = 0;
    comp.setLayout(layout);
    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
    gd.horizontalSpan = speedEditor.getNumberOfControls();
    comp.setLayoutData(gd);

    Button testButton = new Button(comp, SWT.NONE);
    testButton.setText(Messages.voice_test);
    testButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {

            voice.setSpeed(speedEditor.getScaleControl().getSelection());
            voice.speak(SAMPLE_TEXT, false);
        }
    });
}