List of usage examples for org.eclipse.jface.viewers ComboViewer setLabelProvider
@Override public void setLabelProvider(IBaseLabelProvider labelProvider)
Viewer
framework method ensures that the given label provider is an instance of ILabelProvider
. 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; }