List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeText
@Deprecated public static ISWTObservableValue observeText(Control control, int event)
control
. From source file:EditWidgetFactoryWidgetDeclarationTemplate.java
License:Open Source License
public Text createInputField(Composite parent) { Text result = nabuccoFormToolKit.createTextInput(parent); DataBindingContext bindingContext = new DataBindingContext(); IObservableValue uiElement = SWTObservables.observeText(result, SWT.Modify); IObservableValue modelElement = BeansObservables.observeValue(model, OBSERVE_VALUE); bindingContext.bindValue(uiElement, modelElement, null, null); return result; }
From source file:EditWidgetFactoryWidgetDeclarationTemplate.java
License:Open Source License
public void createElementPicker(Composite parent, ElementPickerParameter params) { ElementPickerComposite picker = new ElementPickerComposite(parent, SWT.NONE, params, params.getInputFieldLabelProvider(), new LabelForDialog(TITLE, MESSAGE, SHELL_TITLE, MESSAGE_TABLE, MESSAGE_COMBO, PATH_LABEL)); DataBindingContext bindingContext = new DataBindingContext(); IObservableValue uiElement;/*from ww w .java2 s .c o m*/ IObservableValue modelElement; uiElement = SWTObservables.observeText(picker.getInputText(), SWT.Modify); modelElement = BeansObservables.observeValue(model, OBSERVE_VALUE); bindingContext.bindValue(uiElement, modelElement, null, null); picker.addElementSelected(new DatatypePickerHandler(model)); }
From source file:at.medevit.elexis.gdt.ui.dialog.NeueUntersuchungAnfordernDialog.java
License:Open Source License
private void bindMapValue(Text text, int feldkennung, DataBindingContext bindingContext, IObservableMap gdt6302ValuesObserveMap) { IObservableValue textObserveWidget = SWTObservables.observeText(text, SWT.Modify); IObservableValue observableMapValue = Observables.observeMapEntry(gdt6302ValuesObserveMap, feldkennung, String.class); bindingContext.bindValue(textObserveWidget, observableMapValue); }
From source file:au.gov.ansto.bragg.kowari.exp.command.AdvancedParameter.java
License:Open Source License
@Override public void createParameterUI(final Composite parent, final AbstractScanCommandView commandView, final FormToolkit toolkit) { final Group parameterGroup = new Group(parent, SWT.NULL); // toolkit.adapt(parameterGroup); // parameterGroup.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE)); parameterGroup.setBackground(parent.getBackground()); parameterGroup.setText("Dimension-" + commandView.getCommand().indexOfParameter(this)); // GridLayoutFactory.swtDefaults().spacing(6, 0).numColumns(5).applyTo(parameterGroup); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).applyTo(parameterGroup); // Composite singleParameterComposite = toolkit.createComposite(parent); // GridLayoutFactory.swtDefaults().margins(0, 0).spacing(6, 4).numColumns(5).applyTo(singleParameterComposite); if (parameters.size() == 0) { SingleADParameter parameter = new SingleADParameter(this); parameter.setScanVariable("sx"); parameters.add(parameter);/*from w ww . j ava 2 s . c o m*/ } for (SingleADParameter parameter : parameters) { parameter.createParameterUI(parameterGroup, commandView, toolkit); } final Text numberOfPointsText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).indent(0, 12) .hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT).applyTo(numberOfPointsText); addValidator(numberOfPointsText, ParameterValidator.integerValidator); final Button multiFileButton = toolkit.createButton(parent, "multiple_files", SWT.RADIO); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).indent(0, 12).hint(80, SWT.DEFAULT) .applyTo(multiFileButton); multiFileButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent arg0) { firePropertyChange("multiple files", null, true); } @Override public void widgetDefaultSelected(SelectionEvent arg0) { } }); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(SWTObservables.observeText(numberOfPointsText, SWT.Modify), BeansObservables.observeValue(getInstance(), "numberOfPoints"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeSelection(multiFileButton), BeansObservables.observeValue(getInstance(), "doCreateFile"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); final AbstractScanCommand command = commandView.getCommand(); Button addButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).indent(0, 9).hint(24, 24).applyTo(addButton); try { addButton.setImage(SicsBatchUIUtils.getBatchEditorImage("ADD")); } catch (FileNotFoundException e2) { LoggerFactory.getLogger(this.getClass()).error("can not find ADD image", e2); } addButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addNewParameter(command); commandView.refreshParameterComposite(); // notifyPropertyChanged(newCommand, null); } }); Button removeButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).indent(0, 9).hint(24, 24).applyTo(removeButton); try { removeButton.setImage(SicsBatchUIUtils.getBatchEditorImage("REMOVE")); } catch (FileNotFoundException e1) { LoggerFactory.getLogger(this.getClass()).error("can not find REMOVE image", e1); } removeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeParameter(command); commandView.refreshParameterComposite(); } }); DragSource dragSource = new DragSource(parameterGroup, DND.DROP_MOVE); dragSource.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() }); final AdvancedParameter parameter = this; dragSource.addDragListener(new DragSourceAdapter() { @Override public void dragFinished(DragSourceEvent event) { LocalSelectionTransfer.getTransfer().setSelection(null); } @Override public void dragSetData(DragSourceEvent event) { if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) { DndTransferData transferData = new DndTransferData(); transferData.setParent(command); transferData.setChild(parameter); LocalSelectionTransfer.getTransfer().setSelection(new StructuredSelection(transferData)); } } }); DropTarget dropTarget = new DropTarget(parameterGroup, DND.DROP_MOVE); final AdvancedParameter parentParameter = this; dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() }); dropTarget.addDropListener(new DropTargetAdapter() { @Override public void drop(DropTargetEvent event) { if (event.data instanceof StructuredSelection) { DndTransferData transferData = (DndTransferData) ((StructuredSelection) event.data) .getFirstElement(); Object parentData = transferData.getParent(); Object child = transferData.getChild(); if (parentData == parentParameter) { Point relativePoint = parameterGroup.toControl(new Point(event.x, event.y)); int index = 0; for (Control control : parameterGroup.getChildren()) { if (control instanceof Combo) { if (relativePoint.y < control.getBounds().y + control.getBounds().height) { break; } index++; } } if (child instanceof SingleADParameter) { SingleADParameter parameter = (SingleADParameter) child; int currentIndex = indexOfSingleADParameter(parameter); if (currentIndex == index) { return; } removeSigleParameter(parameter); insertSigleADParameter(index, parameter); commandView.refreshParameterComposite(); } } else if (parentData == command) { Point relativePoint = parent.toControl(new Point(event.x, event.y)); int index = 0; for (Control control : parent.getChildren()) { if (control instanceof Group) { if (relativePoint.y < (control.getBounds().y + control.getBounds().height)) { break; } index++; } } if (child instanceof AdvancedParameter) { AdvancedParameter parameter = (AdvancedParameter) child; int currentIndex = command.indexOfParameter(parameter); if (currentIndex == index) { return; } command.removeParameter(parameter); command.insertParameter(index, parameter); commandView.refreshParameterComposite(); } } } } }); }
From source file:au.gov.ansto.bragg.kowari.exp.command.SimpleNDParameter.java
License:Open Source License
@Override public void createParameterUI(final Composite parent, final AbstractScanCommandView commandView, final FormToolkit toolkit) { GridLayoutFactory.swtDefaults().margins(0, 0).spacing(6, 4).numColumns(9).applyTo(parent); // GridLayoutFactory.swtDefaults().numColumns(6).applyTo(parent); Label dragLabel = toolkit.createLabel(parent, "\u2022"); dragLabel.setCursor(parent.getDisplay().getSystemCursor(SWT.CURSOR_HAND)); final ComboViewer scanVariableCombo = new ComboViewer(parent, SWT.READ_ONLY); scanVariableCombo.setContentProvider(new ArrayContentProvider()); scanVariableCombo.setLabelProvider(new LabelProvider()); scanVariableCombo.setSorter(new ViewerSorter()); scanVariableCombo.setInput(SicsBatchUIUtils.getSicsDrivableIds()); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).hint(WIDTH_COMBO, SWT.DEFAULT) .applyTo(scanVariableCombo.getCombo()); // GridDataFactory.fillDefaults().grab(true, false).applyTo(scanVariableCombo.getCombo()); // GridDataFactory.swtDefaults().hint(WIDTH_COMBO, SWT.DEFAULT).applyTo(scanVariableCombo.getCombo()); addSelectionValidator(scanVariableCombo.getCombo(), ParameterValidator.notEmptyValidator); final Text startPositionText = toolkit.createText(parent, ""); // GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER, SWT.DEFAULT).applyTo(startPositionText); // GridData data = new GridData(); // data.grabExcessHorizontalSpace = true; // data.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING; // data.heightHint = SWT.DEFAULT; // startPositionText.setLayoutData(data); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(startPositionText); addValidator(startPositionText, ParameterValidator.floatValidator); final Text finishPositionText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(finishPositionText); addValidator(finishPositionText, ParameterValidator.floatValidator); final Text stepSizeBox = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(stepSizeBox);/* w w w .j a v a 2 s. co m*/ addValidator(stepSizeBox, ParameterValidator.floatValidator); final Text nostepsText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(nostepsText); addValidator(nostepsText, ParameterValidator.integerValidator); final Button multiFileButton = toolkit.createButton(parent, "multiple_files", SWT.RADIO); GridDataFactory.swtDefaults().hint(80, SWT.DEFAULT).applyTo(multiFileButton); multiFileButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent arg0) { firePropertyChange("multiple files", null, true); } @Override public void widgetDefaultSelected(SelectionEvent arg0) { } }); startPositionText.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent arg0) { } @Override public void keyPressed(KeyEvent arg0) { if (arg0.keyCode == SWT.KEYPAD_CR || arg0.keyCode == SWT.CR) finishPositionText.setFocus(); } }); finishPositionText.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent arg0) { } @Override public void keyPressed(KeyEvent arg0) { if (arg0.keyCode == SWT.KEYPAD_CR || arg0.keyCode == SWT.CR) stepSizeBox.setFocus(); } }); stepSizeBox.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent arg0) { } @Override public void keyPressed(KeyEvent arg0) { if (arg0.keyCode == SWT.KEYPAD_CR || arg0.keyCode == SWT.CR) { nostepsText.setFocus(); } } }); nostepsText.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent arg0) { } @Override public void keyPressed(KeyEvent arg0) { if (arg0.keyCode == SWT.KEYPAD_CR || arg0.keyCode == SWT.CR) { parent.setFocus(); nostepsText.setFocus(); } } }); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(ViewersObservables.observeSingleSelection(scanVariableCombo), BeansObservables.observeValue(getInstance(), "scanVariable"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(startPositionText, SWT.FocusOut), BeansObservables.observeValue(getInstance(), "startPosition"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(finishPositionText, SWT.FocusOut), BeansObservables.observeValue(getInstance(), "finishPosition"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(stepSizeBox, SWT.FocusOut), BeansObservables.observeValue(getInstance(), "stepSize"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(nostepsText, SWT.FocusOut), BeansObservables.observeValue(getInstance(), "numberOfPoints"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeSelection(multiFileButton), BeansObservables.observeValue(getInstance(), "doCreateFile"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); final AbstractScanCommand command = commandView.getCommand(); final Button addButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(18, 18).applyTo(addButton); try { addButton.setImage(SicsBatchUIUtils.getBatchEditorImage("ADD")); } catch (FileNotFoundException e2) { LoggerFactory.getLogger(this.getClass()).error("can not find ADD image", e2); } addButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addNewParameter(command); commandView.refreshParameterComposite(); // notifyPropertyChanged(newCommand, null); } }); final Button removeButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(18, 18).applyTo(removeButton); try { removeButton.setImage(SicsBatchUIUtils.getBatchEditorImage("REMOVE")); } catch (FileNotFoundException e1) { LoggerFactory.getLogger(this.getClass()).error("can not find REMOVE image", e1); } removeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeParameter(command); commandView.refreshParameterComposite(); } }); // initDnD(command, this); // } // // private void initDnD(final AbstractScanCommand command, final AbstractScanParameter parameter) { int operations = DND.DROP_MOVE; DragSource dragSource = new DragSource(dragLabel, operations); LocalSelectionTransfer transferObject = LocalSelectionTransfer.getTransfer(); Transfer[] types = new Transfer[] { transferObject }; dragSource.setTransfer(types); final SimpleNDParameter child = this; dragSource.addDragListener(new DragSourceAdapter() { @Override public void dragFinished(DragSourceEvent event) { LocalSelectionTransfer.getTransfer().setSelection(null); } @Override public void dragSetData(DragSourceEvent event) { if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) { DndTransferData transferData = new DndTransferData(); transferData.setParent(command); transferData.setChild(child); LocalSelectionTransfer.getTransfer().setSelection(new StructuredSelection(transferData)); } } }); }
From source file:au.gov.ansto.bragg.kowari.exp.command.SingleADParameter.java
License:Open Source License
@Override public void createParameterUI(Composite parent, final AbstractScanCommandView commandView, final FormToolkit toolkit) { GridLayoutFactory.swtDefaults().margins(0, 0).spacing(6, 4).numColumns(7).applyTo(parent); // GridLayoutFactory.swtDefaults().numColumns(6).applyTo(parent); final Label dragLabel = toolkit.createLabel(parent, "\u2022"); dragLabel.setCursor(parent.getDisplay().getSystemCursor(SWT.CURSOR_HAND)); final ComboViewer scanVariableCombo = new ComboViewer(parent, SWT.READ_ONLY); scanVariableCombo.setContentProvider(new ArrayContentProvider()); scanVariableCombo.setLabelProvider(new LabelProvider()); scanVariableCombo.setSorter(new ViewerSorter()); scanVariableCombo.setInput(SicsBatchUIUtils.getSicsDrivableIds()); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).hint(WIDTH_COMBO, SWT.DEFAULT) .applyTo(scanVariableCombo.getCombo()); addSelectionValidator(scanVariableCombo.getCombo(), ParameterValidator.notEmptyValidator); // GridDataFactory.fillDefaults().grab(true, false).applyTo(scanVariableCombo.getCombo()); // GridDataFactory.swtDefaults().hint(WIDTH_COMBO, SWT.DEFAULT).applyTo(scanVariableCombo.getCombo()); final Text startPositionText = toolkit.createText(parent, ""); // GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER, SWT.DEFAULT).applyTo(startPositionText); // GridData data = new GridData(); // data.grabExcessHorizontalSpace = true; // data.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING; // data.heightHint = SWT.DEFAULT; // startPositionText.setLayoutData(data); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(startPositionText); addValidator(startPositionText, ParameterValidator.floatValidator); final Text finishPositionText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(finishPositionText); addValidator(finishPositionText, ParameterValidator.floatValidator); final Text stepSizeText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(stepSizeText);/*from ww w . j a v a 2s. c o m*/ addValidator(stepSizeText, ParameterValidator.floatValidator); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(ViewersObservables.observeSingleSelection(scanVariableCombo), BeansObservables.observeValue(getInstance(), "scanVariable"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(startPositionText, SWT.Modify), BeansObservables.observeValue(getInstance(), "startPosition"), new UpdateValueStrategy() { /* (non-Javadoc) * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object) */ @Override public Object convert(Object value) { if ("*".equals(String.valueOf(value))) return Float.NaN; else return super.convert(value); } @Override public IStatus validateAfterGet(Object value) { if ("*".equals(value)) { return Status.OK_STATUS; } return super.validateAfterGet(value); } }, new UpdateValueStrategy() { /* (non-Javadoc) * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object) */ @Override public Object convert(Object value) { if (value instanceof Float) if (Float.isNaN((Float) value)) return "*"; else super.convert(value); return super.convert(value); } @Override public IStatus validateAfterGet(Object value) { if ("*".equals(value)) { return Status.OK_STATUS; } return super.validateAfterGet(value); } }); bindingContext.bindValue(SWTObservables.observeText(finishPositionText, SWT.Modify), BeansObservables.observeValue(getInstance(), "finishPosition"), new UpdateValueStrategy() { /* (non-Javadoc) * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object) */ @Override public Object convert(Object value) { if ("*".equals(String.valueOf(value))) return Float.NaN; else return super.convert(value); } }, new UpdateValueStrategy() { /* (non-Javadoc) * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object) */ @Override public Object convert(Object value) { if (value instanceof Float) if (Float.isNaN((Float) value)) return "*"; else super.convert(value); return super.convert(value); } }); bindingContext.bindValue(SWTObservables.observeText(stepSizeText, SWT.Modify), BeansObservables.observeValue(getInstance(), "stepSize"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); final AbstractScanCommand command = commandView.getCommand(); Button addButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(18, 18).applyTo(addButton); try { addButton.setImage(SicsBatchUIUtils.getBatchEditorImage("ADD")); } catch (FileNotFoundException e2) { LoggerFactory.getLogger(this.getClass()).error("can not find ADD image", e2); } addButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addNewParameter(command); commandView.refreshParameterComposite(); // notifyPropertyChanged(newCommand, null); } }); Button removeButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(18, 18).applyTo(removeButton); try { removeButton.setImage(SicsBatchUIUtils.getBatchEditorImage("REMOVE")); } catch (FileNotFoundException e1) { LoggerFactory.getLogger(this.getClass()).error("can not find REMOVE image", e1); } removeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeParameter(command); commandView.refreshParameterComposite(); } }); DragSource dragSource = new DragSource(dragLabel, DND.DROP_MOVE); dragSource.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() }); final SingleADParameter child = this; dragSource.addDragListener(new DragSourceAdapter() { @Override public void dragFinished(DragSourceEvent event) { LocalSelectionTransfer.getTransfer().setSelection(null); } @Override public void dragSetData(DragSourceEvent event) { if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) { DndTransferData transferData = new DndTransferData(); transferData.setParent(parentParameter); transferData.setChild(child); LocalSelectionTransfer.getTransfer().setSelection(new StructuredSelection(transferData)); } } }); }
From source file:au.gov.ansto.bragg.kowari.exp.command.SinglePositionParameter.java
License:Open Source License
@Override public void createParameterUI(Composite parent, final AbstractScanCommandView commandView, final FormToolkit toolkit) { GridLayoutFactory.swtDefaults().margins(0, 0).spacing(6, 4).numColumns(4).applyTo(parent); // GridLayoutFactory.swtDefaults().numColumns(6).applyTo(parent); final ComboViewer scanVariableCombo = new ComboViewer(parent, SWT.READ_ONLY); scanVariableCombo.setContentProvider(new ArrayContentProvider()); scanVariableCombo.setLabelProvider(new LabelProvider()); scanVariableCombo.setSorter(new ViewerSorter()); scanVariableCombo.setInput(SicsBatchUIUtils.getSicsDrivableIds()); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).hint(WIDTH_COMBO, SWT.DEFAULT) .applyTo(scanVariableCombo.getCombo()); // GridDataFactory.fillDefaults().grab(true, false).applyTo(scanVariableCombo.getCombo()); // GridDataFactory.swtDefaults().hint(WIDTH_COMBO, SWT.DEFAULT).applyTo(scanVariableCombo.getCombo()); final Text positionText = toolkit.createText(parent, ""); // GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER, SWT.DEFAULT).applyTo(startPositionText); // GridData data = new GridData(); // data.grabExcessHorizontalSpace = true; // data.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING; // data.heightHint = SWT.DEFAULT; // startPositionText.setLayoutData(data); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(positionText);//w ww .j ava 2 s . co m addValidator(positionText, ParameterValidator.floatValidator); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(ViewersObservables.observeSingleSelection(scanVariableCombo), BeansObservables.observeValue(getInstance(), "scanVariable"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(positionText, SWT.Modify), BeansObservables.observeValue(getInstance(), "position"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); final AbstractScanCommand command = commandView.getCommand(); Button addButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(18, 18).applyTo(addButton); try { addButton.setImage(SicsBatchUIUtils.getBatchEditorImage("ADD")); } catch (FileNotFoundException e2) { LoggerFactory.getLogger(this.getClass()).error("can not find ADD image", e2); } addButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addNewParameter(command); commandView.refreshParameterComposite(); // notifyPropertyChanged(newCommand, null); } }); Button removeButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(18, 18).applyTo(removeButton); try { removeButton.setImage(SicsBatchUIUtils.getBatchEditorImage("REMOVE")); } catch (FileNotFoundException e1) { LoggerFactory.getLogger(this.getClass()).error("can not find REMOVE image", e1); } removeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeParameter(command); commandView.refreshParameterComposite(); } }); }
From source file:au.gov.ansto.bragg.kowari.exp.command.TableScanParameter.java
License:Open Source License
@Override public void createParameterUI(Composite parent, final AbstractScanCommandView commandView, final FormToolkit toolkit) { if (command.getNumberOfMotor() == 4) { final Label dragLabel = toolkit.createLabel(parent, "\u2022"); dragLabel.setCursor(parent.getDisplay().getSystemCursor(SWT.CURSOR_HAND)); final Button selectBox = toolkit.createButton(parent, "", SWT.CHECK); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).indent(0, 2).applyTo(selectBox); final Text sxText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(sxText);/*from w w w . j av a 2s . co m*/ addValidator(sxText, ParameterValidator.floatValidator); final Text syText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(syText); addValidator(syText, ParameterValidator.floatValidator); final Text szText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(szText); addValidator(szText, ParameterValidator.floatValidator); final Text somText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(somText); addValidator(somText, ParameterValidator.floatValidator); final Text timeText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(timeText); addValidator(timeText, ParameterValidator.floatValidator); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(SWTObservables.observeSelection(selectBox), BeansObservables.observeValue(getInstance(), "isSelected"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(sxText, SWT.Modify), BeansObservables.observeValue(getInstance(), "sx"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(syText, SWT.Modify), BeansObservables.observeValue(getInstance(), "sy"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(szText, SWT.Modify), BeansObservables.observeValue(getInstance(), "sz"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(somText, SWT.Modify), BeansObservables.observeValue(getInstance(), "som"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(timeText, SWT.Modify), BeansObservables.observeValue(getInstance(), "time"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); } else if (command.getNumberOfMotor() == 7) { final Label dragLabel = toolkit.createLabel(parent, "\u2022"); dragLabel.setCursor(parent.getDisplay().getSystemCursor(SWT.CURSOR_HAND)); final Button selectBox = toolkit.createButton(parent, "", SWT.CHECK); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).indent(0, 2).applyTo(selectBox); final Text sxText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(sxText); addValidator(sxText, ParameterValidator.floatValidator); final Text syText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(syText); addValidator(syText, ParameterValidator.floatValidator); final Text szText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(szText); addValidator(szText, ParameterValidator.floatValidator); final Text somText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(somText); addValidator(somText, ParameterValidator.floatValidator); final Text eomText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(eomText); addValidator(eomText, ParameterValidator.floatValidator); final Text echiText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(echiText); addValidator(echiText, ParameterValidator.floatValidator); final Text ephiText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(ephiText); addValidator(ephiText, ParameterValidator.floatValidator); final Text timeText = toolkit.createText(parent, ""); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(timeText); addValidator(timeText, ParameterValidator.floatValidator); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(SWTObservables.observeSelection(selectBox), BeansObservables.observeValue(getInstance(), "isSelected"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(sxText, SWT.Modify), BeansObservables.observeValue(getInstance(), "sx"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(syText, SWT.Modify), BeansObservables.observeValue(getInstance(), "sy"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(szText, SWT.Modify), BeansObservables.observeValue(getInstance(), "sz"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(somText, SWT.Modify), BeansObservables.observeValue(getInstance(), "som"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(eomText, SWT.Modify), BeansObservables.observeValue(getInstance(), "ga"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(echiText, SWT.Modify), BeansObservables.observeValue(getInstance(), "gb"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(ephiText, SWT.Modify), BeansObservables.observeValue(getInstance(), "gc"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(timeText, SWT.Modify), BeansObservables.observeValue(getInstance(), "time"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); } }
From source file:au.gov.ansto.bragg.kowari.exp.commandView.AdvancedScanCommandView.java
License:Open Source License
@Override protected void createPartControl(Composite parent, final AbstractScanCommand command) { super.createPartControl(parent, command); GridLayoutFactory.swtDefaults().numColumns(3).applyTo(parent); // Label titleLabel = getToolkit().createLabel(parent, command.getCommandName()); // titleLabel.setFont(new Font(titleLabel.getFont().getDevice(), new FontData[]{new FontData("Courier New", 10, SWT.BOLD)})); // GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).indent(0, 12).applyTo(titleLabel); // GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).applyTo(titleLabel); parameterComposite = getToolkit().createComposite(parent); GridLayoutFactory.swtDefaults().margins(0, 0).numColumns(5).applyTo(parameterComposite); GridDataFactory.swtDefaults().indent(2, 0).align(SWT.BEGINNING, SWT.TOP).applyTo(parameterComposite); if (command.getParameterList().size() == 0) { AdvancedParameter parameter = new AdvancedParameter(); // parameter.setScanVariable("sx"); command.insertParameter(parameter); }/*from ww w . ja va 2 s .co m*/ // GridLayoutFactory.swtDefaults().spacing(3, 3).applyTo(parameterComposite); for (AbstractScanParameter parameter : command.getParameterList()) { parameter.createParameterUI(parameterComposite, this, getToolkit()); } final ComboViewer modeCombo = new ComboViewer(parent, SWT.READ_ONLY); modeCombo.setContentProvider(new ArrayContentProvider()); modeCombo.setLabelProvider(new LabelProvider()); modeCombo.setSorter(new ViewerSorter()); modeCombo.setInput(new String[] { "time", "count" }); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).indent(0, 10) .hint(AbstractScanParameter.WIDTH_PARAMETER_SHORT, SWT.DEFAULT).applyTo(modeCombo.getCombo()); final Text presetText = getToolkit().createText(parent, ""); // GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(presetText); // GridDataFactory.fillDefaults().grab(true, false).applyTo(presetText); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).indent(0, 10) .hint(AbstractScanParameter.WIDTH_PARAMETER_LONG, SWT.DEFAULT).applyTo(presetText); addValidator(presetText, ParameterValidator.floatValidator); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(ViewersObservables.observeSingleSelection(modeCombo), BeansObservables.observeValue(command, "scan_mode"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(presetText, SWT.Modify), BeansObservables.observeValue(command, "preset"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); // DropTarget dropTarget = new DropTarget(parameterComposite, DND.DROP_MOVE); // dropTarget.setTransfer(new Transfer[]{LocalSelectionTransfer.getTransfer()}); // dropTarget.addDropListener(new DropTargetAdapter(){ // @Override // public void drop(DropTargetEvent event) { // if (event.data instanceof IStructuredSelection) { // DndTransferData transferData = (DndTransferData) ( // (StructuredSelection) event.data).getFirstElement(); // Object parent = transferData.getParent(); // Object child = transferData.getChild(); // if (parent == command){ // Point relativePoint = parameterComposite.toControl( // new Point(event.x, event.y)); // int index = 0; // for (Control control : parameterComposite.getChildren()){ // if (control instanceof Group){ // if (relativePoint.y < (control.getBounds().y // + control.getBounds().height)) { // break; // } // index++; // } // } // if (child instanceof AdvancedParameter) { // AdvancedParameter parameter = (AdvancedParameter) child; // int currentIndex = command.indexOfParameter(parameter); // if (currentIndex == index) { // return; // } // command.removeParameter(parameter); // command.insertParameter(index, parameter); // refreshParameterComposite(); // } // } // } // } // }); }
From source file:au.gov.ansto.bragg.kowari.exp.commandView.HmmscanCommandView.java
License:Open Source License
@Override protected void createPartControl(Composite parent, final AbstractScanCommand command) { super.createPartControl(parent, command); GridLayoutFactory.swtDefaults().numColumns(3).applyTo(parent); // Label titleLabel = getToolkit().createLabel(parent, command.getCommandName()); // titleLabel.setFont(new Font(titleLabel.getFont().getDevice(), new FontData[]{new FontData("Courier New", 10, SWT.BOLD)})); // GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).indent(0, 12).applyTo(titleLabel); // GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).applyTo(titleLabel); parameterComposite = getToolkit().createComposite(parent); GridLayoutFactory.swtDefaults().margins(0, 0).numColumns(3).applyTo(parameterComposite); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).applyTo(parameterComposite); if (command.getParameterList().size() == 0) { HmmscanParameter parameter = new HmmscanParameter(); // parameter.setScanVariable("sx"); command.insertParameter(parameter); }/* w ww .j a v a2 s. c o m*/ // GridLayoutFactory.swtDefaults().spacing(3, 3).applyTo(parameterComposite); for (AbstractScanParameter parameter : command.getParameterList()) { parameter.createParameterUI(parameterComposite, this, getToolkit()); } final ComboViewer modeCombo = new ComboViewer(parent, SWT.READ_ONLY); modeCombo.setContentProvider(new ArrayContentProvider()); modeCombo.setLabelProvider(new LabelProvider()); modeCombo.setSorter(new ViewerSorter()); modeCombo.setInput(new String[] { "time", "count" }); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).indent(0, 12) .hint(AbstractScanParameter.WIDTH_PARAMETER_SHORT, SWT.DEFAULT).applyTo(modeCombo.getCombo()); final Text presetText = getToolkit().createText(parent, ""); // GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(presetText); // GridDataFactory.fillDefaults().grab(true, false).applyTo(presetText); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).indent(0, 12) .hint(AbstractScanParameter.WIDTH_PARAMETER_LONG, SWT.DEFAULT).applyTo(presetText); addValidator(presetText, ParameterValidator.floatValidator); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(ViewersObservables.observeSingleSelection(modeCombo), BeansObservables.observeValue(command, "scan_mode"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(presetText, SWT.Modify), BeansObservables.observeValue(command, "preset"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); DropTarget dropTarget = new DropTarget(parameterComposite, DND.DROP_MOVE); dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() }); dropTarget.addDropListener(new DropTargetAdapter() { @Override public void drop(DropTargetEvent event) { if (event.data instanceof StructuredSelection) { Object elementData = ((StructuredSelection) event.data).getFirstElement(); if (elementData instanceof DndTransferData) { DndTransferData transferData = (DndTransferData) elementData; Object parentData = transferData.getParent(); Object childData = transferData.getChild(); if (parentData == command) { Point relativePoint = parameterComposite.toControl(new Point(event.x, event.y)); int index = 0; for (Control control : parameterComposite.getChildren()) { if (control instanceof Group) { if (relativePoint.y < control.getBounds().y + control.getBounds().height) { break; } index++; } } if (childData instanceof HmmscanParameter) { HmmscanParameter parameter = (HmmscanParameter) childData; int currentIndex = command.indexOfParameter(parameter); if (currentIndex == index) { return; } command.removeParameter(parameter); command.insertParameter(index, parameter); refreshParameterComposite(); } } } } } }); }