List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties selection
public static IWidgetValueProperty selection()
From source file:gov.redhawk.frontend.ui.wizard.TunerAllocationWizardPage.java
License:Open Source License
private void addBindings() { // Tuner Type combo UpdateValueStrategy tunerTypeStrategy = new UpdateValueStrategy(); tunerTypeStrategy.setAfterGetValidator(new TargetableValidator(typeCombo.getControl())); ControlDecorationSupport.create(context.bindValue(ViewerProperties.singleSelection().observe(typeCombo), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.TUNER_TYPE.getId())), tunerTypeStrategy, null), SWT.TOP | SWT.LEFT); typeCombo.addSelectionChangedListener(tunerTypeListener); typeCombo.setInput(FrontEndUIActivator.SUPPORTED_TUNER_TYPES.toArray(new String[0])); if (tuner.getTunerType() != null) { typeCombo.setSelection(new StructuredSelection(tuner.getTunerType())); } else {//from w w w.j av a 2s . c om typeCombo.setSelection(new StructuredSelection(FRONTEND.TUNER_TYPE_RX_DIGITIZER.value)); } // allocation ID Text UpdateValueStrategy allocIdStrategy = new UpdateValueStrategy() { @Override public Object convert(Object value) { return value; } }; allocIdStrategy.setAfterGetValidator(new TargetableValidator(allocIdText)); ControlDecorationSupport.create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(allocIdText), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.ALLOCATION_ID.getId())), allocIdStrategy, null), SWT.TOP | SWT.LEFT); ControlDecorationSupport.create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(allocIdText), SCAObservables.observeSimpleProperty(listenerAllocationStruct .getSimple(ListenerAllocationProperties.LISTENER_ALLOCATION_ID.getId())), allocIdStrategy, null), SWT.TOP | SWT.LEFT); allocIdText.setText(getUsername() + ":" + uuid.toString()); allocIdText.setBackground(allocIdText.getDisplay().getSystemColor(SWT.COLOR_CYAN)); allocIdText.addFocusListener(new TargetableFocusListener(allocIdText)); // Existing allocation ID Text UpdateValueStrategy existingAllocIdStrategy1 = new UpdateValueStrategy() { @Override public Object convert(Object value) { return value; } }; UpdateValueStrategy existingAllocIdStrategy2 = new UpdateValueStrategy() { @Override public Object convert(Object value) { return value; } }; existingAllocIdStrategy1.setAfterGetValidator(new TargetableValidator(targetAllocText)); existingAllocIdStrategy2.setAfterGetValidator(new TargetableValidator(targetAllocText)); ControlDecorationSupport .create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(targetAllocText), SCAObservables.observeSimpleProperty(listenerAllocationStruct .getSimple(ListenerAllocationProperties.EXISTING_ALLOCATION_ID.getId())), existingAllocIdStrategy1, existingAllocIdStrategy2), SWT.TOP | SWT.LEFT); targetAllocText.addFocusListener(new TargetableFocusListener(targetAllocText)); targetAllocText.addModifyListener(allocIdListener); // CF Text UpdateValueStrategy cfStrategy1 = new UpdateValueStrategy() { @Override public Object convert(Object value) { try { Double.parseDouble((String) value); } catch (NumberFormatException e) { return null; } return Double.valueOf((String) value) * getUnitsConversionFactor(TunerAllocationProperties.CENTER_FREQUENCY); } }; UpdateValueStrategy cfStrategy2 = new UpdateValueStrategy() { @Override public Object convert(Object value) { if (value instanceof Double) { if (((Double) value).doubleValue() == 0.) { return ""; } double retVal = (Double) value / getUnitsConversionFactor(TunerAllocationProperties.CENTER_FREQUENCY); return String.valueOf(nf.format(retVal)); } return null; } }; cfStrategy1.setAfterGetValidator(new TargetableValidator(cfText)); cfStrategy2.setAfterConvertValidator(new TargetableValidator(cfText)); ControlDecorationSupport.create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(cfText), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.CENTER_FREQUENCY.getId())), cfStrategy1, cfStrategy2), SWT.TOP | SWT.LEFT); cfText.addFocusListener(new TargetableFocusListener(cfText)); // BW Text UpdateValueStrategy bwStrategy1 = new UpdateValueStrategy() { @Override public Object convert(Object value) { try { Double.parseDouble((String) value); } catch (NumberFormatException e) { return null; } return Double.valueOf((String) value) * getUnitsConversionFactor(TunerAllocationProperties.BANDWIDTH); } }; UpdateValueStrategy bwStrategy2 = new UpdateValueStrategy() { @Override public Object convert(Object value) { if (value instanceof Double) { if (((Double) value).intValue() == 0) { return ""; } double retVal = (Double) value / getUnitsConversionFactor(TunerAllocationProperties.BANDWIDTH); return String.valueOf(nf.format(retVal)); } return null; } }; bwStrategy1.setAfterGetValidator(new TargetableValidator(bwText)); bwStrategy2.setAfterConvertValidator(new TargetableValidator(bwText)); ControlDecorationSupport.create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(bwText), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.BANDWIDTH.getId())), bwStrategy1, bwStrategy2), SWT.TOP | SWT.LEFT); bwText.addFocusListener(new TargetableFocusListener(bwText)); // SR Text UpdateValueStrategy srStrategy1 = new UpdateValueStrategy() { @Override public Object convert(Object value) { try { Double.parseDouble((String) value); } catch (NumberFormatException e) { return null; } return Double.valueOf((String) value) * getUnitsConversionFactor(TunerAllocationProperties.SAMPLE_RATE); } }; UpdateValueStrategy srStrategy2 = new UpdateValueStrategy() { @Override public Object convert(Object value) { if (value instanceof Double) { if (((Double) value).intValue() == 0) { return ""; } double retVal = (Double) value / getUnitsConversionFactor(TunerAllocationProperties.SAMPLE_RATE); return String.valueOf(nf.format(retVal)); } return null; } }; srStrategy1.setAfterGetValidator(new TargetableValidator(srText)); srStrategy2.setAfterConvertValidator(new TargetableValidator(srText)); ControlDecorationSupport.create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(srText), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.SAMPLE_RATE.getId())), srStrategy1, srStrategy2), SWT.TOP | SWT.LEFT); srText.addFocusListener(new TargetableFocusListener(srText)); // BW Tolerance Text UpdateValueStrategy bwTolStrategy1 = new UpdateValueStrategy() { @Override public Object convert(Object value) { try { Double.parseDouble((String) value); } catch (NumberFormatException e) { return null; } return Double.valueOf((String) value); } }; UpdateValueStrategy bwTolStrategy2 = new UpdateValueStrategy() { @Override public Object convert(Object value) { if (value instanceof Double) { if (((Double) value).doubleValue() == 0.) { return ""; } double retVal = (Double) value; return String.valueOf(nf.format(retVal)); } return null; } }; bwTolStrategy1.setAfterGetValidator(new TargetableValidator(bwTolText)); bwTolStrategy2.setAfterGetValidator(new TargetableValidator(bwTolText)); ControlDecorationSupport.create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(bwTolText), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.BANDWIDTH_TOLERANCE.getId())), bwTolStrategy1, bwTolStrategy2), SWT.TOP | SWT.LEFT); bwTolText.setText("20"); bwTolText.addFocusListener(new TargetableFocusListener(bwTolText)); // SR Tolerance Text UpdateValueStrategy srTolStrategy1 = new UpdateValueStrategy() { @Override public Object convert(Object value) { try { Double.parseDouble((String) value); } catch (NumberFormatException e) { return null; } return Double.valueOf((String) value); } }; UpdateValueStrategy srTolStrategy2 = new UpdateValueStrategy() { @Override public Object convert(Object value) { if (value instanceof Double) { if (((Double) value).doubleValue() == 0.) { return ""; } double retVal = (Double) value; return String.valueOf(nf.format(retVal)); } return null; } }; srTolStrategy1.setAfterGetValidator(new TargetableValidator(srTolText)); srTolStrategy2.setAfterGetValidator(new TargetableValidator(srTolText)); ControlDecorationSupport.create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(srTolText), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.SAMPLE_RATE_TOLERANCE.getId())), srTolStrategy1, srTolStrategy2), SWT.TOP | SWT.LEFT); srTolText.setText("20"); srTolText.addFocusListener(new TargetableFocusListener(srTolText)); // Listener Allocation Check Box UpdateValueStrategy listenerAllocStrategy1 = new UpdateValueStrategy() { @Override public Object convert(Object value) { // If selected, set device control to false if (value instanceof Boolean) { Boolean selected = (Boolean) value; return new Boolean(!selected); } return new Boolean(true); } }; UpdateValueStrategy listenerAllocStrategy2 = new UpdateValueStrategy() { @Override public Object convert(Object value) { // If selected, set device control to false if (value instanceof Boolean) { Boolean selected = (Boolean) value; return new Boolean(!selected); } return null; } }; context.bindValue(WidgetProperties.selection().observe(listenerAlloc), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.DEVICE_CONTROL.getId())), listenerAllocStrategy1, listenerAllocStrategy2); // RF FLow ID Text ControlDecorationSupport.create(context.bindValue(WidgetProperties.text(SWT.Modify).observe(rfFlowIdText), SCAObservables.observeSimpleProperty( tunerAllocationStruct.getSimple(TunerAllocationProperties.RF_FLOW_ID.getId())), null, null), SWT.TOP | SWT.LEFT); }
From source file:gov.redhawk.ide.codegen.frontend.ui.wizard.FrontEndTunerOptionsWizardPage.java
License:Open Source License
private void createInputControl(Group parent) { Composite inputContainer = new Composite(parent, SWT.None); inputContainer.setLayout(new GridLayout(1, false)); inputContainer.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); GridData layoutData = GridDataFactory.fillDefaults().grab(true, false).indent(30, 0) .align(SWT.LEFT, SWT.CENTER).create(); Button analogInputButton = new Button(inputContainer, SWT.RADIO); analogInputButton.setText("Analog Input (default)"); analogInputButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false, 2, 1)); createAnalogIn(inputContainer).setLayoutData(layoutData); UpdateValueStrategy uvs = booleanConverter(); ctx.bindValue(WidgetProperties.selection().observe(analogInputButton), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__HAS_DIGITAL_INPUT), uvs, uvs);/*w w w. ja v a2 s .c om*/ Button digitalInputButton = new Button(inputContainer, SWT.RADIO); digitalInputButton.setText("Digital Input"); digitalInputButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false, 2, 1)); createDigitalIn(inputContainer).setLayoutData(layoutData); ctx.bindValue(WidgetProperties.selection().observe(digitalInputButton), EMFObservables .observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__HAS_DIGITAL_INPUT)); digitalInputButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { feiDevice.setHasDigitalOutput(true); } @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }); }
From source file:gov.redhawk.ide.codegen.frontend.ui.wizard.FrontEndTunerOptionsWizardPage.java
License:Open Source License
private Composite createAnalogIn(Composite parent) { Composite analogIn = new Composite(parent, SWT.SHADOW_NONE); analogIn.setLayout(new GridLayout(2, false)); Label numAnalogLabel = new Label(analogIn, SWT.None); numAnalogLabel.setText("Number of Analog input ports: "); Spinner numAnalogSpinner = new Spinner(analogIn, SWT.BORDER); numAnalogSpinner.setMinimum(1);//from w w w .ja v a2 s . c om GC gc = new GC(numAnalogSpinner); try { Point size = gc.textExtent("XXX"); numAnalogSpinner.setLayoutData(GridDataFactory.fillDefaults().hint(size.x, SWT.DEFAULT).create()); } finally { gc.dispose(); } UpdateValueStrategy uvs = booleanConverter(); ctx.bindValue(WidgetProperties.selection().observe(numAnalogSpinner), EMFObservables .observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__NUMBER_OF_ANALOG_INPUTS)); ctx.bindValue(WidgetProperties.enabled().observe(numAnalogSpinner), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__HAS_DIGITAL_INPUT), uvs, uvs); return analogIn; }
From source file:gov.redhawk.ide.codegen.frontend.ui.wizard.FrontEndTunerOptionsWizardPage.java
License:Open Source License
private void createOutputControl(Group parent) { Composite outputContainer = new Composite(parent, SWT.None); outputContainer.setLayout(new GridLayout(1, false)); outputContainer.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); Button analogOutputButton = new Button(outputContainer, SWT.RADIO); analogOutputButton.setText("Analog Output"); analogOutputButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false, 2, 1)); UpdateValueStrategy uvs = booleanConverter(); ctx.bindValue(WidgetProperties.enabled().observe(analogOutputButton), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__HAS_DIGITAL_INPUT), uvs, uvs);/*from w ww .ja v a 2 s. co m*/ ctx.bindValue(WidgetProperties.selection().observe(analogOutputButton), EMFObservables .observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__HAS_DIGITAL_OUTPUT), uvs, uvs); Button digitalOutputButton = new Button(outputContainer, SWT.RADIO); digitalOutputButton.setText("Digital Output (default)"); digitalOutputButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false, 2, 1)); createDigitalOut(outputContainer); ctx.bindValue(WidgetProperties.selection().observe(digitalOutputButton), EMFObservables .observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__HAS_DIGITAL_OUTPUT)); }
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 {/* w w w. ja v a2 s .com*/ 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.dcd.ui.wizard.ScaDeviceProjectPropertiesWizardPage.java
License:Open Source License
/** * {@inheritDoc}//w w w .jav a2s .c om */ @Override public void customCreateControl(final Composite parent) { if (this.showDeviceGroup) { // Device Group deviceGroup = new Group(parent, SWT.NONE); deviceGroup.setText(getResourceType()); deviceGroup.setLayout(new GridLayout(2, false)); GridDataFactory.generate(deviceGroup, 2, 1); deviceTypeCombo = new Combo(deviceGroup, SWT.DROP_DOWN | SWT.BORDER | SWT.READ_ONLY); deviceTypeCombo.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); deviceTypeCombo.setItems(RedhawkIdePreferenceConstants.DEVICE_TYPES); deviceTypeCombo.select(0); aggregateButton = new Button(deviceGroup, SWT.CHECK); aggregateButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(1, 1).create()); aggregateButton.setText(RedhawkIdePreferenceConstants.AGGREGATE_DEVICE + " device"); context.bindValue(WidgetProperties.text().observe(deviceTypeCombo), PojoProperties.value("deviceType").observe(this.deviceProjSettings)); context.bindValue(WidgetProperties.selection().observe(aggregateButton), PojoProperties.value("aggregate").observe(this.deviceProjSettings)); deviceTypeCombo.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { if (context != null) { context.dispose(); context = null; } } }); } }
From source file:gov.redhawk.ide.octave.ui.wizard.MFileSelectionWizardPage.java
License:Open Source License
private void bindValues() { // create new Context DataBindingContext ctx = new DataBindingContext(); // Defining the Model objects as Beans IObservableValue primaryMFileModel = BeanProperties.value("primaryMFile").observe(this.octaveProjProps); IObservableValue currentDepFileModel = BeanProperties.value("currentDepFile").observe(this.octaveProjProps); IObservableValue hasDepsModel = BeanProperties.value("hasDeps").observe(this.octaveProjProps); // Defining the Target objects IObservableValue primaryMFileTarget = WidgetProperties.text(SWT.Modify).observe(this.primaryMFileTextBox); IObservableValue currentDepFileTarget = WidgetProperties.text(SWT.Modify).observe(this.dependencyTextBox); IObservableValue hasDepsTarget = WidgetProperties.selection().observe(this.dependencyCheckBox); // The target objects that need to be disabled when the hasDeps model object changes. IObservableValue depsTextBoxTarget = WidgetProperties.enabled().observe(this.dependencyTextBox); IObservableValue depsAddButtonTarget = WidgetProperties.enabled().observe(this.depsAddButton); IObservableValue depsBrowseButtonTarget = WidgetProperties.enabled().observe(this.depsBrowseButton); IObservableValue depsRemoveButtonTarget = WidgetProperties.enabled().observe(this.depsRemoveButton); IObservableValue depsListViewerTarget = WidgetProperties.enabled() .observe(this.depsListViewer.getControl()); // Define my strategy for the Primary & Deps M-File bindings. UpdateValueStrategy primaryMFileUpdateStrat = new UpdateValueStrategy(); primaryMFileUpdateStrat.setConverter(getStringToFileConverter()); primaryMFileUpdateStrat.setAfterConvertValidator(getPrimaryMFileNameValidator()); UpdateValueStrategy depsMFileUpdateStrat = new UpdateValueStrategy(); depsMFileUpdateStrat.setConverter(getStringToFileConverter()); depsMFileUpdateStrat.setAfterConvertValidator(getDepMFileNameValidator()); // connect them primaryMFileBindValue = ctx.bindValue(primaryMFileTarget, primaryMFileModel, primaryMFileUpdateStrat, null); currentDepBindValue = ctx.bindValue(currentDepFileTarget, currentDepFileModel, depsMFileUpdateStrat, null); ctx.bindValue(hasDepsTarget, hasDepsModel); // The bindings for the disabling of the controls ctx.bindValue(depsTextBoxTarget, hasDepsModel, null, new UpdateValueStrategy()); ctx.bindValue(depsAddButtonTarget, hasDepsModel, null, new UpdateValueStrategy()); ctx.bindValue(depsBrowseButtonTarget, hasDepsModel, null, new UpdateValueStrategy()); ctx.bindValue(depsRemoveButtonTarget, hasDepsModel, null, new UpdateValueStrategy()); ctx.bindValue(depsListViewerTarget, hasDepsModel, null, new UpdateValueStrategy()); // add cool control decoration ControlDecorationSupport.create(primaryMFileBindValue, SWT.TOP | SWT.LEFT); ControlDecorationSupport.create(currentDepBindValue, SWT.TOP | SWT.LEFT); WizardPageSupport.create(this, ctx); }
From source file:gov.redhawk.ide.snapshot.ui.SnapshotWizardPage.java
License:Open Source License
protected void createOutputControls(final Composite parent) { Label label;/*from ww w . j a va 2 s. co m*/ // 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.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 w w w . j av a 2s.c om*/ 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); }