Example usage for org.eclipse.jface.viewers ComboViewer setLabelProvider

List of usage examples for org.eclipse.jface.viewers ComboViewer setLabelProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ComboViewer setLabelProvider.

Prototype

@Override
public void setLabelProvider(IBaseLabelProvider labelProvider) 

Source Link

Document

The list viewer implementation of this Viewer framework method ensures that the given label provider is an instance of ILabelProvider.

Usage

From source file:gov.redhawk.ide.codegen.frontend.ui.wizard.FrontEndTunerOptionsWizardPage.java

License:Open Source License

private Composite createDigitalOut(Composite parent) {
    Composite digitalOut = new Composite(parent, SWT.SHADOW_NONE);
    digitalOut.setLayout(new GridLayout(2, false));
    digitalOut.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).indent(30, 0)
            .align(SWT.CENTER, SWT.CENTER).create());

    Label digitalOutputTypeLabel = new Label(digitalOut, SWT.None);
    digitalOutputTypeLabel.setText("Digital Output Type: ");

    ComboViewer digitalOutputCombo = new ComboViewer(digitalOut, SWT.READ_ONLY);
    digitalOutputCombo.setContentProvider(new ArrayContentProvider());
    digitalOutputCombo.setLabelProvider(definitionComboViewerLabelProvider);
    digitalOutputCombo.setInput(propertyTypes);
    ctx.bindValue(ViewersObservables.observeSingleSelection(digitalOutputCombo), EMFObservables
            .observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__DIGITAL_OUTPUT_TYPE));
    ctx.bindValue(WidgetProperties.enabled().observe(digitalOutputCombo.getCombo()), EMFObservables
            .observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__HAS_DIGITAL_OUTPUT));

    Button multiOutCheck = new Button(digitalOut, SWT.CHECK);
    multiOutCheck.setText("Multi-out");
    ctx.bindValue(WidgetProperties.selection().observe(multiOutCheck),
            EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__MULTI_OUT));
    ctx.bindValue(WidgetProperties.enabled().observe(multiOutCheck), EMFObservables.observeValue(this.feiDevice,
            FrontendPackage.Literals.FEI_DEVICE__HAS_DIGITAL_OUTPUT));
    return digitalOut;
}

From source file:gov.redhawk.ide.codegen.frontend.ui.wizard.FrontEndTunerOptionsWizardPage.java

License:Open Source License

private void createTransmitterGroup(Composite client) {
    Group transmitterGroup = new Group(client, SWT.SHADOW_ETCHED_IN);
    transmitterGroup.setText("Transmitter Properties");
    transmitterGroup.setLayout(new GridLayout(4, false));
    transmitterGroup.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    Label numDigitalInLabel = new Label(transmitterGroup, SWT.None);
    numDigitalInLabel.setText("Number of Digital input ports: ");

    Spinner numDigitalSpinner = new Spinner(transmitterGroup, SWT.BORDER);
    GC gc = new GC(numDigitalSpinner);
    try {/*from   w  ww  .  j a  va 2s.  c o m*/
        Point size = gc.textExtent("XXX");
        numDigitalSpinner.setLayoutData(GridDataFactory.fillDefaults().hint(size.x, SWT.DEFAULT).create());
    } finally {
        gc.dispose();
    }
    numDigitalSpinner.setMinimum(1);
    ctx.bindValue(WidgetProperties.selection().observe(numDigitalSpinner), EMFObservables.observeValue(
            this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__NUMBER_OF_DIGITAL_INPUTS_FOR_TX));

    Label digitalInputTypeLabel = new Label(transmitterGroup, SWT.None);
    digitalInputTypeLabel.setText("Digital Input Type: ");
    digitalInputTypeLabel
            .setLayoutData(GridDataFactory.fillDefaults().indent(50, 0).align(SWT.CENTER, SWT.CENTER).create());

    ComboViewer digitalInputCombo = new ComboViewer(transmitterGroup, SWT.READ_ONLY);
    digitalInputCombo.setContentProvider(new ArrayContentProvider());
    digitalInputCombo.setLabelProvider(definitionComboViewerLabelProvider);
    digitalInputCombo.setInput(propertyTypes);

    ctx.bindValue(ViewersObservables.observeSingleSelection(digitalInputCombo), EMFObservables
            .observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__DIGITAL_INPUT_TYPE_FOR_TX));
}

From source file:gov.redhawk.ide.sdr.ui.internal.handlers.LaunchDomainManagerWithOptionsDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite root) {
    final Composite composite = new Composite(root, SWT.NONE);
    final GridLayout layout = new GridLayout();
    layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
    layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
    layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    composite.setLayout(layout);/*from ww  w.j a v a2s  .c om*/
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));

    final GridLayout gridLayout = new GridLayout(3, false);
    final GridDataFactory textFactory = GridDataFactory.fillDefaults().grab(true, false).span(2, 1);
    final GridData data;

    final Group domainManagerGroup = new Group(composite, SWT.NULL);

    domainManagerGroup.setText("Domain Manager");
    domainManagerGroup.setLayout(gridLayout);
    domainManagerGroup.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    Label label = new Label(domainManagerGroup, SWT.NULL);
    label.setText("Domain Name: ");
    Text text = new Text(domainManagerGroup, SWT.BORDER);
    data = textFactory.create();
    data.horizontalSpan = 2;
    text.setLayoutData(data);
    this.nameBinding = this.context.bindValue(SWTObservables.observeText(text, SWT.Modify),
            PojoObservables.observeValue(this.model, DomainManagerLaunchConfiguration.PROP_DOMAIN_NAME),
            new UpdateValueStrategy().setAfterConvertValidator(this.nameValidator), null);
    text.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(final ModifyEvent e) {
            updateButtonsEnableState((IStatus) LaunchDomainManagerWithOptionsDialog.this.nameBinding
                    .getValidationStatus().getValue());
        }
    });

    ControlDecorationSupport.create(this.nameBinding, SWT.TOP | SWT.LEFT);

    label = new Label(domainManagerGroup, SWT.NULL);
    label.setText("Debug Level: ");
    ComboViewer debugViewer = new ComboViewer(domainManagerGroup,
            SWT.READ_ONLY | SWT.SINGLE | SWT.DROP_DOWN | SWT.BORDER);
    debugViewer.setLabelProvider(new LabelProvider());
    debugViewer.setContentProvider(new ArrayContentProvider());
    debugViewer.setInput(DebugLevel.values());
    debugViewer.getControl().setLayoutData(data);
    this.context.bindValue(ViewersObservables.observeSingleSelection(debugViewer),
            PojoObservables.observeValue(this.model, DomainManagerLaunchConfiguration.PROP_DEBUG_LEVEL));

    label = new Label(domainManagerGroup, SWT.NULL);
    label.setText("Arguments:");
    text = new Text(domainManagerGroup, SWT.BORDER);
    text.setLayoutData(data);
    this.context.bindValue(SWTObservables.observeText(text, SWT.Modify),
            PojoObservables.observeValue(this.model, DomainManagerLaunchConfiguration.PROP_ARGUMENTS));

    final Group deviceManagerGroup = new Group(composite, SWT.NULL);

    deviceManagerGroup.setText("Device Manager");
    deviceManagerGroup.setLayout(GridLayoutFactory.fillDefaults().create());
    deviceManagerGroup.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    deviceManagerGroup.setVisible(!this.sdrRoot.getNodesContainer().getNodes().isEmpty());

    final CheckboxTreeViewer treeViewer = createTreeViewer(deviceManagerGroup);
    treeViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    final Control buttonComposite = createSelectionButtons(deviceManagerGroup);
    buttonComposite.setLayoutData(GridDataFactory.fillDefaults().create());

    context.bindSet(ViewersObservables.observeCheckedElements(treeViewer, DeviceConfiguration.class), nodes);

    // Insert a progress monitor
    this.progressMonitorPart = createProgressMonitorPart(composite, new GridLayout());
    final GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    this.progressMonitorPart.setLayoutData(gridData);
    this.progressMonitorPart.setVisible(false);

    // Build the separator line
    final Label separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
    separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    Dialog.applyDialogFont(composite);

    getShell().getDisplay().asyncExec(new Runnable() {
        @Override
        public void run() {
            try {
                LaunchDomainManagerWithOptionsDialog.this.run(true, true, scanForTakenDomainNames);
                updateButtonsEnableState(Status.OK_STATUS);
            } catch (final InvocationTargetException e) {
                SdrUiPlugin.getDefault().getLog().log(
                        new Status(IStatus.ERROR, SdrUiPlugin.PLUGIN_ID, "Error scanning for domain names", e));
            } catch (final InterruptedException e) {
                updateButtonsEnableState(Status.OK_STATUS);
            }
        }
    });

    return composite;
}

From source file:gov.redhawk.ide.snapshot.ui.BulkIOSnapshotWizardPage.java

License:Open Source License

@Override
public void createControl(Composite main) {
    setupDialogSettingsStorage(); // for saving wizard page settings

    final Composite parent = new Composite(main, SWT.None);
    parent.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).create());

    DataBindingContext dataBindingCtx = getContext();

    // === capture method (how to capture samples) ===
    final ComboViewer captureCombo = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.SIMPLE);
    captureCombo.setLabelProvider(new LabelProvider());
    captureCombo.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    captureCombo.setInput(CaptureMethod.values());
    dataBindingCtx.bindValue(ViewerProperties.singleSelection().observe(captureCombo),
            BeansObservables.observeValue(bulkIOsettings, BulkIOSnapshotSettings.PROP_CAPTURE_METHOD));

    // === number of samples ===
    samplesTxt = new Text(parent, SWT.BORDER);
    samplesTxt.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(1, 1).create());
    UpdateValueStrategy validateSamples = createSamplesValidatorStrategy(); // validator to ensure that invalid number of samples are caught and displayed
    samplesBinding = dataBindingCtx.bindValue(
            WidgetProperties.text(SWT.Modify).observeDelayed(UPDATE_DELAY_MS, samplesTxt),
            BeansObservables.observeValue(bulkIOsettings, BulkIOSnapshotSettings.PROP_SAMPLES), validateSamples,
            null);//w  ww.  j  a va2 s .  c o m

    // === units for number samples field ===
    unitsLabel = new Label(parent, SWT.None);
    unitsLabel.setText("");
    unitsLabel.setLayoutData(
            GridDataFactory.fillDefaults().grab(true, false).span(1, 1).hint(20, SWT.DEFAULT).create());
    // update validator, set text field enable, and units as needed
    captureCombo.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            CaptureMethod method = bulkIOsettings.getCaptureMethod();
            updateControls(method);
        }
    });

    // === connection ID ==
    Label label = new Label(parent, SWT.None);
    label.setText("Connection ID (Optional):");
    Text connectionIDField = new Text(parent, SWT.BORDER);
    connectionIDField.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    connectionIDField.setToolTipText("Custom Port connection ID to use vs a generated one.");
    dataBindingCtx.bindValue(WidgetProperties.text(SWT.Modify).observe(connectionIDField),
            BeansObservables.observeValue(bulkIOsettings, BulkIOSnapshotSettings.PROP_CONNECTION_ID));

    // === create output control widgets ==
    createOutputControls(parent);

    bulkIOsettings.addPropertyChangeListener(new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            if (BulkIOSnapshotSettings.PROP_CAPTURE_METHOD.equals(evt.getPropertyName())) {
                updateControls((CaptureMethod) evt.getNewValue());
            }
        }
    });

    setPageComplete(false);
    setPageSupport(WizardPageSupport.create(this, dataBindingCtx));
    setControl(parent);

    restoreWidgetValues(bulkIOsettings);
}

From source file:gov.redhawk.ide.snapshot.ui.SnapshotWizardPage.java

License:Open Source License

protected void createOutputControls(final Composite parent) {
    Label label;//from  w  w w. j  a  v  a  2s  .com
    // Add Label and combo box to select file type
    label = new Label(parent, SWT.None);
    label.setText("File Type:");
    ComboViewer fileTypeCombo = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.SIMPLE);
    fileTypeCombo.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    fileTypeCombo.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((IDataWriterDesc) element).getName();
        }
    });
    fileTypeCombo.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    IDataWriterDesc[] input = SnapshotActivator.getDataReceiverRegistry().getRecieverDescs();
    fileTypeCombo.setInput(input);
    fileTypeCombo.setSorter(new ViewerSorter()); // sort combo items alphabetically (this selects last item?)
    context.bindValue(ViewerProperties.singleSelection().observe(fileTypeCombo),
            BeansObservables.observeValue(settings, "dataWriter"));
    if (input.length > 0) {
        fileTypeCombo.setSelection(new StructuredSelection(fileTypeCombo.getElementAt(0))); // select first sorted element
    }

    // add check box to see if the user wants to save to their workspace
    workspaceCheck = new Button(parent, SWT.CHECK);
    workspaceCheck.setText("Save to Workspace");

    // add check box to see if user wants to confirm overwrite of existing file(s)
    final Button confirmOverwrite = new Button(parent, SWT.CHECK);
    confirmOverwrite.setText("Confirm overwrite");
    context.bindValue(WidgetProperties.selection().observe(confirmOverwrite),
            BeansObservables.observeValue(settings, "confirmOverwrite"));

    // region to hold the different pages for saving to the workspace or the file system
    fileFinder = new Group(parent, SWT.SHADOW_ETCHED_IN);
    fileFinder.setText("Save to");
    fileFinder.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(3, 2).create());
    fileFinderLayout = new StackLayout();
    fileFinderLayout.marginHeight = 5;
    fileFinderLayout.marginWidth = 5;
    fileFinder.setLayout(fileFinderLayout);

    // the different pages: search file system, search workspace
    searchFileSystem = makeFileSystemSave(fileFinder);
    searchFileSystem.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(3, 2).create());
    searchWorkbench = makeWorkbenchTree(fileFinder);
    searchWorkbench.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(3, 2).create());

    // This binding must be defined after all controls have been configured, because its update strategy
    // implementation calls setSaveLocation(), which depends on the controls being already configured
    context.bindValue(WidgetProperties.selection().observe(workspaceCheck),
            BeansObservables.observeValue(settings, "saveToWorkspace"), createWsCheckUpdateStrategy(),
            createWsCheckUpdateStrategy());

    restoreWidgetValues(settings);

    // determining which page starts on top
    setSaveLocationComposite(workspaceCheck.getSelection(), true);

    // switching pages
    workspaceCheck.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setSaveLocationComposite(workspaceCheck.getSelection(), true);
        }
    });

}

From source file:gov.redhawk.internal.ui.port.nxmplot.FftParameterEntryDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    final Composite container = (Composite) super.createDialogArea(parent);
    final GridLayout gridLayout = new GridLayout(2, false);
    container.setLayout(gridLayout);//  w  w  w  .  j  av  a 2s  . c  o  m

    this.errorMessageText = new Text(container, SWT.READ_ONLY | SWT.WRAP);
    this.errorMessageText.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
    this.errorMessageText
            .setBackground(this.errorMessageText.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    this.errorMessageText.setForeground(this.errorMessageText.getDisplay().getSystemColor(SWT.COLOR_RED));
    // Set the error message text
    // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=66292
    setErrorMessage(this.errorMessage);

    final Label transformSizeLabel = new Label(container, SWT.NONE);
    transformSizeLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    transformSizeLabel.setText("Transform Size:");

    this.transformSizeField = new Text(container, SWT.BORDER);
    this.transformSizeField.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    this.transformSizeField.setText(String.valueOf(this.fftSettings.getTransformSize()));
    this.transformSizeField.setToolTipText("Performance is best if factorable by 2, 3, 4 and 5.");
    this.transformSizeField.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(final ModifyEvent e) {
            String transformSizeString = FftParameterEntryDialog.this.transformSizeField.getText().trim();
            Integer transformSize = null;
            try {
                transformSize = Integer.parseInt(transformSizeString);
            } catch (NumberFormatException ex) {
                // PASS
            }
            if (transformSize != null) {
                FftParameterEntryDialog.this.fftSettings.setTransformSize(transformSize);
            }
            validateInputs();
        }
    });

    final Label percentOverlapLabel = new Label(container, SWT.NONE);
    percentOverlapLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    percentOverlapLabel.setText("Percent Overlap:");

    this.overlapField = new Text(container, SWT.BORDER);
    this.overlapField.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    this.overlapField.setText(String.valueOf(this.fftSettings.getOverlap()));
    this.overlapField.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(final ModifyEvent e) {
            final String newText = FftParameterEntryDialog.this.overlapField.getText();
            Integer overlap = null;
            try {
                overlap = Integer.parseInt(newText.trim());
            } catch (NumberFormatException ex) {
                // PASS
            }
            if (overlap != null) {
                FftParameterEntryDialog.this.fftSettings.setOverlap(overlap);
            }
            validateInputs();
        }
    });

    final Label numAveragesLabel = new Label(container, SWT.NONE);
    numAveragesLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    numAveragesLabel.setText("Num Averages:");

    this.numAveragesField = new Text(container, SWT.BORDER);
    this.numAveragesField.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    this.numAveragesField.setText(String.valueOf(this.fftSettings.getNumAverages()));
    this.numAveragesField
            .setToolTipText("Avoid using large value as it will cause highlighted energy to remain longer.");
    this.numAveragesField.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(final ModifyEvent e) {
            Integer numAverages = null;
            try {
                numAverages = Integer.parseInt(FftParameterEntryDialog.this.numAveragesField.getText().trim());
            } catch (NumberFormatException ex) {
                //PASS
            }
            if (numAverages != null) {
                FftParameterEntryDialog.this.fftSettings.setNumAverages(numAverages);
            }
            validateInputs();
        }
    });

    final Label typeLabel = new Label(container, SWT.NONE);
    typeLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    typeLabel.setText("FFT Output Type:");

    final ComboViewer type = new ComboViewer(container, SWT.READ_ONLY);
    type.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    type.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    type.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((FftNxmBlockSettings.OutputType) element).getLabel();
        }
    });
    OutputType currentOutputType = this.fftSettings.getOutputType();
    if (currentOutputType == null) {
        currentOutputType = FftNxmBlockSettings.OutputType.PSD; // default to PSD
    }
    type.setInput(FftNxmBlockSettings.OutputType.values());
    type.setSelection(new StructuredSelection(currentOutputType));
    if (disableChangeOutputType) {
        type.getCombo().setEnabled(false); // disable changing output type
    } else {
        type.addSelectionChangedListener(new ISelectionChangedListener() {
            @Override
            public void selectionChanged(final SelectionChangedEvent event) {
                FftParameterEntryDialog.this.fftSettings.setOutputType(
                        (FftNxmBlockSettings.OutputType) ((IStructuredSelection) event.getSelection())
                                .getFirstElement());
            }
        });
    }

    final Label windowLabel = new Label(container, SWT.NONE);
    windowLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    windowLabel.setText("Window:");

    final ComboViewer window = new ComboViewer(container, SWT.READ_ONLY);
    window.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    window.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    window.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((FftNxmBlockSettings.WindowType) element).getLabel();
        }
    });
    window.setInput(FftNxmBlockSettings.WindowType.values());
    WindowType currentWindowType = this.fftSettings.getWindow();
    if (currentWindowType == null) {
        currentWindowType = FftNxmBlockSettings.WindowType.HANNING;
    }
    window.setSelection(new StructuredSelection(currentWindowType));
    window.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            FftParameterEntryDialog.this.fftSettings
                    .setWindow((FftNxmBlockSettings.WindowType) ((IStructuredSelection) event.getSelection())
                            .getFirstElement());
        }
    });

    Dialog.applyDialogFont(container);

    return container;
}

From source file:gov.redhawk.internal.ui.port.nxmplot.handlers.PlotWizardPage.java

License:Open Source License

@Override
public void createControl(Composite root) {
    Composite parent = new Composite(root, SWT.None);
    parent.setLayout(new GridLayout(2, false));

    Label label;//from  www . j a  v a2s  .  com
    Group group;

    // == PLOT Block settings (e.g. plot type, plot mode, frame size, etc.) ==
    group = new Group(parent, SWT.None);
    group.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    group.setText("PLOT");
    label = new Label(group, SWT.None);
    label.setText("&Type:");
    ComboViewer viewer = new ComboViewer(group, SWT.READ_ONLY);
    viewer.setLabelProvider(new LabelProvider());
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setInput(PlotType.getStandardPlotTypes());
    viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    if (plotSettings.getPlotType() == null) {
        plotSettings.setPlotType(PlotType.LINE);
    }
    dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(viewer),
            PojoProperties.value("plotType").observe(plotSettings));

    label = new Label(group, SWT.None);
    label.setText("&Mode:");
    viewer = new ComboViewer(group, SWT.READ_ONLY);
    viewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((PlotMode) element).getLabel();
        }
    });
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setInput(PlotMode.getStandardModes());
    viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(viewer),
            PojoProperties.value("plotMode").observe(plotSettings));

    new PlotNxmBlockControls(plotBlockSettings, dataBindingContext).createControls(group);

    // === BULKIO settings ===
    if (bulkIOBlockSettings != null) {
        group = new Group(parent, SWT.None);
        group.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
        group.setText("BULKIO");
        new BulkIONxmBlockControls(bulkIOBlockSettings, dataBindingContext).createControls(group);
    }

    // == BULKIO SDDS settings ===
    if (sddsBlockSettings != null) {
        group = new Group(parent, SWT.None);
        group.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
        group.setText("BULKIO SDDS");
        new SddsNxmBlockControls(sddsBlockSettings, dataBindingContext).createControls(group);
    }

    // == FFT settings ==

    final Group fftGroup = new Group(parent, SWT.None);

    final Button button = new Button(fftGroup, SWT.CHECK);
    button.setText("Take &FFT");
    button.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    dataBindingContext.bindValue(WidgetProperties.selection().observe(button),
            PojoProperties.value("fft").observe(this));
    fftGroup.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    fftGroup.setText("FFT");

    final List<Control> skip = Arrays.asList(fftGroup, button);

    new FftNxmBlockControls(fftBlockSettings, dataBindingContext).createControls(fftGroup);
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setFftEnabled(fftGroup, button.getSelection(), skip);
        }
    });
    setFftEnabled(fftGroup, button.getSelection(), skip);

    WizardPageSupport.create(this, dataBindingContext);

    setControl(parent);
}

From source file:gov.redhawk.internal.ui.port.nxmplot.PlotSettingsDialog.java

License:Open Source License

@SuppressWarnings("deprecation")
@Override//w w  w . j a  v a  2s .c o m
protected Control createDialogArea(final Composite parent) {
    final Composite container = (Composite) super.createDialogArea(parent);
    final GridLayout gridLayout = new GridLayout(2, false);
    container.setLayout(gridLayout);
    Label label;

    // === error message ===
    this.errorMessageText = new Text(container, SWT.READ_ONLY | SWT.WRAP);
    this.errorMessageText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true, 2, 4));
    this.errorMessageText
            .setBackground(this.errorMessageText.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    this.errorMessageText.setForeground(this.errorMessageText.getDisplay().getSystemColor(SWT.COLOR_RED));
    setErrorMessage(this.errorMessage); // Set the error message text - see https://bugs.eclipse.org/bugs/show_bug.cgi?id=66292

    // === frame size ===
    final Label frameSizeLabel = new Label(container, SWT.NONE);
    frameSizeLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    frameSizeLabel.setText("Frame Size:");
    this.frameSizeField = new ComboViewer(container, SWT.BORDER); // writable
    this.frameSizeField.getCombo()
            .setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    this.frameSizeField.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    this.frameSizeField.setLabelProvider(new LabelProvider());
    final String otherValidFSValue = FRAME_SIZE_VALIDATOR.getOtherAllowedValue();
    Assert.isTrue(otherValidFSValue != null);
    Object currentFS = otherValidFSValue;
    final Object[] fsComboInputs;
    final Integer fs = this.plotSettings.getFrameSize();
    if (fs != null) {
        currentFS = fs;
        fsComboInputs = new Object[] { currentFS, otherValidFSValue, 512, 1024, 2048, 4096, 8192 };
    } else {
        fsComboInputs = new Object[] { otherValidFSValue, 512, 1024, 2048, 4096, 8192 };
    }
    this.frameSizeField.setInput(fsComboInputs);
    this.frameSizeField.setSelection(new StructuredSelection(currentFS));
    final Combo fsCombo = this.frameSizeField.getCombo();
    fsCombo.addModifyListener(new ComboVerifyAndSetListener(fsCombo, FRAME_SIZE_VALIDATOR, this) {
        @Override
        void updateSettings(Double newValue) {
            Integer newIntValue = (newValue == null) ? null : newValue.intValue();
            PlotSettingsDialog.this.plotSettings.setFrameSize(newIntValue);
        }
    });
    this.frameSizeField.addSelectionChangedListener(new SelectComboTextListener(fsCombo));

    // === sample rate ===
    final Label sampleRateValueLabel = new Label(container, SWT.NONE);
    sampleRateValueLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    sampleRateValueLabel.setText("Sample rate:");
    this.sampleRateField = new ComboViewer(container, SWT.BORDER); // writable
    this.sampleRateField.getCombo()
            .setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    this.sampleRateField.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    this.sampleRateField.setLabelProvider(new LabelProvider());
    final String otherValidSRateValue = SAMPLE_RATE_VALIDATOR.getOtherAllowedValue();
    Assert.isTrue(otherValidSRateValue != null);
    Object currentSRate = otherValidSRateValue;
    final Object[] srateComboInputs;
    final Double srate = this.plotSettings.getSampleRate();
    if (srate != null) {
        currentSRate = srate;
        srateComboInputs = new Object[] { currentSRate, otherValidSRateValue };
    } else {
        srateComboInputs = new Object[] { otherValidSRateValue };
    }
    this.sampleRateField.setInput(srateComboInputs);
    this.sampleRateField.setSelection(new StructuredSelection(currentSRate));
    final Combo sRateCombo = this.sampleRateField.getCombo();
    sRateCombo.addModifyListener(new ComboVerifyAndSetListener(sRateCombo, SAMPLE_RATE_VALIDATOR, this) {
        @Override
        void updateSettings(Double newValue) {
            PlotSettingsDialog.this.plotSettings.setSampleRate(newValue);
        }
    });
    this.sampleRateField.addSelectionChangedListener(new SelectComboTextListener(sRateCombo));

    // === Min Value ===
    final Label minValueLabel = new Label(container, SWT.NONE);
    minValueLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    minValueLabel.setText("Min value:");
    this.minField = new ComboViewer(container, SWT.BORDER); // writable
    this.minField.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    this.minField.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    this.minField.setLabelProvider(new LabelProvider());
    final String otherValidMinValue = MIN_VALUE_VALIDATOR.getOtherAllowedValue();
    Assert.isTrue(otherValidMinValue != null);
    Object currentMinVal = otherValidMinValue;
    final Object[] minValComboInputs;
    final Double minVal = this.plotSettings.getMinValue();
    if (minVal != null) {
        currentMinVal = minVal;
        minValComboInputs = new Object[] { currentMinVal, otherValidMinValue };
    } else {
        minValComboInputs = new Object[] { otherValidMinValue };
    }
    this.minField.setInput(minValComboInputs);
    this.minField.setSelection(new StructuredSelection(currentMinVal));
    final Combo minValCombo = this.minField.getCombo();
    minValCombo.addModifyListener(new ComboVerifyAndSetListener(minValCombo, MIN_VALUE_VALIDATOR, this) {
        @Override
        void updateSettings(Double newValue) {
            PlotSettingsDialog.this.plotSettings.setMinValue(newValue);
        }
    });
    this.minField.addSelectionChangedListener(new SelectComboTextListener(minValCombo));

    // === Max Value ===
    final Label maxValueLabel = new Label(container, SWT.NONE);
    maxValueLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    maxValueLabel.setText("Max value:");
    this.maxField = new ComboViewer(container, SWT.BORDER); // writable
    this.maxField.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    this.maxField.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    this.maxField.setLabelProvider(new LabelProvider());
    final String otherValidMaxValue = MAX_VALUE_VALIDATOR.getOtherAllowedValue();
    Assert.isTrue(otherValidMaxValue != null);
    Object currentMaxVal = otherValidMaxValue;
    final Object[] maxValComboInputs;
    final Double maxVal = this.plotSettings.getMaxValue();
    if (maxVal != null) {
        currentMaxVal = maxVal;
        maxValComboInputs = new Object[] { currentMaxVal, otherValidMaxValue };
    } else {
        maxValComboInputs = new Object[] { otherValidMaxValue };
    }
    this.maxField.setInput(maxValComboInputs);
    this.maxField.setSelection(new StructuredSelection(currentMaxVal));
    final Combo maxValCombo = this.maxField.getCombo();
    maxValCombo.addModifyListener(new ComboVerifyAndSetListener(maxValCombo, MAX_VALUE_VALIDATOR, this) {
        @Override
        void updateSettings(Double newValue) {
            PlotSettingsDialog.this.plotSettings.setMaxValue(newValue);
        }
    });
    this.maxField.addSelectionChangedListener(new SelectComboTextListener(maxValCombo));

    // === plot type ===
    final Label typeLabel = new Label(container, SWT.NONE);
    typeLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    typeLabel.setText("Plot Type:");
    this.plotTypeField = new ComboViewer(container, SWT.READ_ONLY);
    this.plotTypeField.getCombo()
            .setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    this.plotTypeField.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    this.plotTypeField.setLabelProvider(new LabelProvider());
    this.plotTypeField.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            switch ((PlotType) element) {
            case CONTOUR:
            case MESH:
                return false;
            default:
                return true;
            }
        }
    });
    this.plotTypeField.setInput(PlotType.values());
    this.plotTypeField.setSelection(new StructuredSelection(this.plotSettings.getPlotType()));
    this.plotTypeField.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            Object newVal = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (newVal instanceof PlotType) {
                PlotSettingsDialog.this.plotSettings.setPlotType((PlotType) newVal);
            }
        }
    });

    // === blocking option ===
    final Button blockingButton = new Button(container, SWT.CHECK);
    blockingButton.setText("Blocking");
    blockingButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    blockingButton.setToolTipText(
            "On/checked to block pushPacket when Plot is not able to keep up; Off to drop packets in this scenario.");
    dataBindingContext.bindValue(WidgetProperties.selection().observe(blockingButton),
            PojoProperties.value("blockingOption").observe(this.plotSettings));

    // === plot mode / complex mode ===
    label = new Label(container, SWT.NONE);
    label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    label.setText("Plot Mode:");
    final ComboViewer complexModeWidget = new ComboViewer(container, SWT.READ_ONLY);
    complexModeWidget.getCombo().setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    complexModeWidget.getCombo().setToolTipText("Custom plot mode / complex mode.");
    complexModeWidget.setContentProvider(ArrayContentProvider.getInstance()); // ArrayContentProvider does not store any state, therefore can re-use instances
    complexModeWidget.setLabelProvider(new LabelProvider());
    complexModeWidget.setInput(PlotMode.values());
    dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(complexModeWidget),
            PojoProperties.value("plotMode").observe(this.plotSettings));

    // === enable Plot configure menu ===
    final Button enablePlotMenuButton = new Button(parent, SWT.CHECK);
    enablePlotMenuButton.setText("Enable Plot Configure Menu");
    enablePlotMenuButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    dataBindingContext.bindValue(WidgetProperties.selection().observe(enablePlotMenuButton),
            PojoProperties.value("enablePlotMenu").observe(this.plotSettings));

    // === enable quick access control widgets ===
    final Button enableQuickControlsButton = new Button(parent, SWT.CHECK);
    enableQuickControlsButton.setText("Enable Quick Access Controls");
    enableQuickControlsButton
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    dataBindingContext.bindValue(WidgetProperties.selection().observe(enableQuickControlsButton),
            PojoProperties.value("enablePageBookQuickControls").observe(this));

    Dialog.applyDialogFont(container);

    return container;
}

From source file:gov.redhawk.prf.internal.ui.editor.composite.AbstractPropertyComposite.java

License:Open Source License

/**
 * @param propertyComposite//from ww  w . ja va2 s .c o m
 * @param toolkit
 */
protected ComboViewer createModeViewer(final Composite parent, final FormToolkit toolkit) {
    // Mode
    this.modeLabel = toolkit.createLabel(parent, "Mode:");
    this.modeLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
    this.modeLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).create());
    final ComboViewer viewer = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    viewer.getCombo().addListener(SWT.MouseVerticalWheel, new Listener() {

        @Override
        public void handleEvent(Event event) {
            // Disable Mouse Wheel Combo Box Control
            event.doit = false;
        }

    });
    toolkit.adapt(viewer.getCombo());
    viewer.getControl().setLayoutData(AbstractPropertyComposite.FACTORY.create());
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider());
    viewer.setInput(AccessType.values());
    assignTooltip(viewer.getControl(), HelpConstants.prf_properties_simple_mode);
    this.modeViewer = viewer;
    return this.modeViewer;
}

From source file:gov.redhawk.prf.internal.ui.editor.composite.BasicSimplePropertyComposite.java

License:Open Source License

/**
 * @param propertyComposite// w  w w. jav  a  2s. com
 * @param toolkit
 */
protected ComboViewer createActionViewer(final Composite parent, final FormToolkit toolkit) {
    // Action
    this.actionLabel = toolkit.createLabel(parent, "Action:");
    this.actionLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
    this.actionLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).create());
    final ComboViewer viewer = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    viewer.getCombo().addListener(SWT.MouseVerticalWheel, new Listener() {

        @Override
        public void handleEvent(Event event) {
            // Disable Mouse Wheel Combo Box Control
            event.doit = false;
        }

    });
    toolkit.adapt(viewer.getCombo());
    final List<Object> input = new ArrayList<Object>();
    input.addAll(ActionType.VALUES);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider());
    viewer.getControl().setLayoutData(BasicSimplePropertyComposite.FACTORY.create());
    viewer.setInput(input);
    viewer.setComparator(new ViewerComparator(new Comparator<String>() {
        // List should be: "", Default, Everything else in alphanumeric
        // order
        @Override
        public int compare(final String o1, final String o2) {
            int retVal = 0;
            if (o1.equalsIgnoreCase(BasicSimplePropertyComposite.DEFAULT_ACTION)) {
                retVal = Integer.MIN_VALUE;
            } else if (o2.equalsIgnoreCase(BasicSimplePropertyComposite.DEFAULT_ACTION)) {
                retVal = Integer.MAX_VALUE;
            } else {
                retVal = o1.compareTo(o2);
            }
            return retVal;
        }
    }));
    assignTooltip(viewer.getControl(), HelpConstants.prf_properties_simple_action);

    this.actionViewer = viewer;
    return viewer;
}