Example usage for org.eclipse.jface.databinding.swt SWTObservables observeText

List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeText

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.swt SWTObservables observeText.

Prototype

@Deprecated
public static ISWTObservableValue observeText(Control control, int event) 

Source Link

Document

Returns an observable observing the text attribute of the provided control.

Usage

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();
                        }
                    }
                }
            }
        }
    });
}