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

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

Introduction

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

Prototype

@Deprecated
public static Realm getRealm(final Display display) 

Source Link

Document

Returns the realm representing the UI thread for the given display.

Usage

From source file:au.gov.ansto.bragg.kowari.exp.commandView.SimpleScanCommandView.java

License:Open Source License

@Override
protected void createPartControl(Composite parent, final AbstractScanCommand command) {
    super.createPartControl(parent, command);
    GridLayoutFactory.swtDefaults().applyTo(parent);
    createLabelArea(parent, (SimpleTableScanCommand) command);
    //      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);
    if (((SimpleTableScanCommand) command).getNumberOfMotor() == 4) {
        //         GridLayoutFactory.swtDefaults().margins(0, 0).spacing(6, 4).numColumns(7).applyTo(parent);
        final Button check1 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().span(3, 1).indent(34, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check1);
        final Button check2 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check2);
        final Button check3 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check3);
        final Button check4 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).span(2, 1).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check4);

        Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() {
            public void run() {
                DataBindingContext bindingContext = new DataBindingContext();
                bindingContext.bindValue(SWTObservables.observeSelection(check1),
                        BeansObservables.observeValue(command, "column1"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check2),
                        BeansObservables.observeValue(command, "column2"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check3),
                        BeansObservables.observeValue(command, "column3"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check4),
                        BeansObservables.observeValue(command, "column4"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
            }//  w w w . ja  va 2 s.c  om
        });
    } else if (((SimpleTableScanCommand) command).getNumberOfMotor() == 7) {
        final Button check1 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().span(3, 1).indent(34, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check1);
        final Button check2 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check2);
        final Button check3 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check3);
        final Button check4 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check4);
        final Button check5 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check5);
        final Button check6 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check6);
        final Button check7 = getToolkit().createButton(parent, "", SWT.CHECK);
        GridDataFactory.swtDefaults().indent(4, 0).span(2, 1).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check7);

        Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() {
            public void run() {
                DataBindingContext bindingContext = new DataBindingContext();
                bindingContext.bindValue(SWTObservables.observeSelection(check1),
                        BeansObservables.observeValue(command, "column1"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check2),
                        BeansObservables.observeValue(command, "column2"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check3),
                        BeansObservables.observeValue(command, "column3"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check4),
                        BeansObservables.observeValue(command, "column4"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check5),
                        BeansObservables.observeValue(command, "column5"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check6),
                        BeansObservables.observeValue(command, "column6"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
                bindingContext.bindValue(SWTObservables.observeSelection(check7),
                        BeansObservables.observeValue(command, "column7"), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
            }
        });
    }
    for (AbstractScanParameter parameter : command.getParameterList()) {
        ((TableScanParameter) parameter).createParameterUI(parent, this, getToolkit());
    }

    final Button selectAll = getToolkit().createButton(parent, "Select/Deselect All", SWT.CHECK);
    GridDataFactory.swtDefaults().span(7, 1).indent(9, 2).align(SWT.BEGINNING, SWT.BOTTOM).applyTo(selectAll);
    boolean isAllSelected = true;
    for (AbstractScanParameter parameter : command.getParameterList()) {
        if (!((TableScanParameter) parameter).getIsSelected()) {
            isAllSelected = false;
            break;
        }
    }
    selectAll.setSelection(isAllSelected);
    for (AbstractScanParameter parameter : command.getParameterList()) {
        parameter.addPropertyChangeListener(new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                Object parameter = evt.getSource();
                if (parameter instanceof TableScanParameter)
                    if (evt.getPropertyName().equals("isSelected")) {
                        if (!((Boolean) evt.getNewValue())) {
                            selectAll.setSelection(false);
                        } else {
                            boolean isAllSelected = true;
                            for (AbstractScanParameter parm : command.getParameterList()) {
                                if (!((TableScanParameter) parm).getIsSelected()) {
                                    isAllSelected = false;
                                    break;
                                }
                            }
                            selectAll.setSelection(isAllSelected);
                        }
                    }
            }
        });
    }
    selectAll.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            boolean isSelected = selectAll.getSelection();
            for (AbstractScanParameter parameter : command.getParameterList()) {
                ((TableScanParameter) parameter).setIsSelected(isSelected);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });
}

From source file:au.gov.ansto.bragg.nbi.ui.core.commands.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   w  ww .j  a va2  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", "MONITOR_1", "MONITOR_2", "MONITOR_3" });
    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.nbi.ui.core.commands.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);
    }/*from ww w . j  av a 2 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", "MONITOR_1", "MONITOR_2", "MONITOR_3" });
    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();
                        }
                    }
                }
            }
        }
    });
}

From source file:au.gov.ansto.bragg.nbi.ui.core.commands.ScanNDCommandView.java

License:Open Source License

@Override
protected void createPartControl(Composite parent, final AbstractScanCommand command) {
    super.createPartControl(parent, command);
    GridLayoutFactory.swtDefaults().margins(6, 8).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, 4).applyTo(titleLabel);
    //      GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).applyTo(titleLabel);

    parameterComposite = getToolkit().createComposite(parent);
    //      GridLayoutFactory.swtDefaults().spacing(3, 3).applyTo(parameterComposite);
    for (AbstractScanParameter parameter : command.getParameterList()) {
        parameter.createParameterUI(parameterComposite, this, getToolkit());
    }/* ww  w  .  j a v  a 2s .c  o m*/

    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", "MONITOR_1", "MONITOR_2", "MONITOR_3" });
    GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP)
            .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)
            .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) {

                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 Combo) {
                            if (relativePoint.y < (control.getBounds().y + control.getBounds().height)) {
                                break;
                            }
                            index++;
                        }
                    }
                    if (child instanceof AbstractScanParameter) {
                        AbstractScanParameter parameter = (AbstractScanParameter) 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.nbi.ui.core.commands.SimpleScanCommandView.java

License:Open Source License

@Override
protected void createPartControl(Composite parent, final AbstractScanCommand command) {
    super.createPartControl(parent, command);
    //      GridLayoutFactory.swtDefaults().applyTo(parent);
    //      parameterComposite = getToolkit().createComposite(parent);
    parameterComposite = parent;//from  ww  w . jav a2s . co m
    parameterComposite.setBackgroundMode(SWT.INHERIT_DEFAULT);
    GridLayoutFactory.swtDefaults().margins(0, 0).spacing(4, 4)
            .numColumns(((SimpleTableScanCommand) command).getNumberOfMotor() + 5).applyTo(parameterComposite);
    createLabelArea(parameterComposite, (SimpleTableScanCommand) command);

    //      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);
    int numberOfMotors = ((SimpleTableScanCommand) command).getNumberOfMotor();
    Label spaceLabel = getToolkit().createLabel(parameterComposite, "");
    GridDataFactory.swtDefaults().span(2, 1).applyTo(spaceLabel);
    for (int i = 0; i < numberOfMotors; i++) {
        final Button check = getToolkit().createButton(parameterComposite, "", SWT.CHECK);
        final String columnName = "column" + i;
        GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.BOTTOM).applyTo(check);
        Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() {
            public void run() {
                DataBindingContext bindingContext = new DataBindingContext();
                bindingContext.bindValue(SWTObservables.observeSelection(check),
                        BeansObservables.observeValue(command, columnName), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
            }
        });
    }
    spaceLabel = getToolkit().createLabel(parameterComposite, "");
    GridDataFactory.swtDefaults().span(3, 1).applyTo(spaceLabel);
    for (AbstractScanParameter parameter : command.getParameterList()) {
        Composite parComposite = createParameterComposite((TableScanParameter) parameter);
        parComposite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
    }

    final Button selectAll = getToolkit().createButton(parameterComposite, "Select/Deselect All", SWT.CHECK);
    GridDataFactory.swtDefaults().span(numberOfMotors + 3, 1).indent(9, 2).align(SWT.BEGINNING, SWT.BOTTOM)
            .applyTo(selectAll);
    boolean isAllSelected = true;
    for (AbstractScanParameter parameter : command.getParameterList()) {
        if (!((TableScanParameter) parameter).getIsSelected()) {
            isAllSelected = false;
            break;
        }
    }
    selectAll.setSelection(isAllSelected);
    for (AbstractScanParameter parameter : command.getParameterList()) {
        parameter.addPropertyChangeListener(new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                Object parameter = evt.getSource();
                if (parameter instanceof TableScanParameter)
                    if (evt.getPropertyName().equals("isSelected")) {
                        if (!((Boolean) evt.getNewValue())) {
                            selectAll.setSelection(false);
                        } else {
                            boolean isAllSelected = true;
                            for (AbstractScanParameter parm : command.getParameterList()) {
                                if (!((TableScanParameter) parm).getIsSelected()) {
                                    isAllSelected = false;
                                    break;
                                }
                            }
                            selectAll.setSelection(isAllSelected);
                        }
                    }
            }
        });
    }
    selectAll.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            boolean isSelected = selectAll.getSelection();
            for (AbstractScanParameter parameter : command.getParameterList()) {
                ((TableScanParameter) parameter).setIsSelected(isSelected);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });
}

From source file:au.gov.ansto.bragg.nbi.ui.core.commands.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());
    String[] ids = SicsBatchUIUtils.getSicsDrivableIds();
    for (int i = 0; i < ids.length; i++) {
        if (ids[i] == null) {
            ids[i] = "";
        }//from www . j av  a 2s  . c o m
    }
    scanVariableCombo.setInput(ids);
    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);
    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.nbi.ui.core.commands.TableScanParameter.java

License:Open Source License

@Override
public void createParameterUI(final Composite parameterComposite, final AbstractScanCommandView commandView,
        final FormToolkit toolkit) {
    //         final Label dragLabel = toolkit.createLabel(parent, "\u2022");
    //      parameterComposite = toolkit.createComposite(parent);
    //      parameterComposite = new Composite(parent, SWT.NONE);
    final Label dragLabel = toolkit.createLabel(parameterComposite, "\u2022");
    dragLabel.setCursor(parameterComposite.getDisplay().getSystemCursor(SWT.CURSOR_HAND));

    final Button selectBox = toolkit.createButton(parameterComposite, "", SWT.CHECK);
    GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.CENTER).indent(0, 2).applyTo(selectBox);

    selectBox.addSelectionListener(new SelectionListener() {

        @Override/*  ww w.  j  a va2 s .  co m*/
        public void widgetSelected(SelectionEvent e) {
            Control[] children = parameterComposite.getChildren();
            for (Control child : children) {
                if (child instanceof Text) {
                    child.setEnabled(selectBox.getSelection());
                }
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });

    for (int i = 0; i < getLength(); i++) {
        final String name = "p" + i;
        final Text pText = toolkit.createText(parameterComposite, "");
        GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.CENTER).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT)
                .applyTo(pText);
        addValidator(pText, ParameterValidator.floatValidator);
        Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() {
            public void run() {
                DataBindingContext bindingContext = new DataBindingContext();
                bindingContext.bindValue(SWTObservables.observeText(pText, SWT.Modify),
                        BeansObservables.observeValue(getInstance(), name), new UpdateValueStrategy(),
                        new UpdateValueStrategy());
            }
        });
    }

    final Text presetText = toolkit.createText(parameterComposite, "");
    GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.CENTER).hint(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(SWTObservables.observeSelection(selectBox),
                    BeansObservables.observeValue(getInstance(), "isSelected"), new UpdateValueStrategy(),
                    new UpdateValueStrategy());
            bindingContext.bindValue(SWTObservables.observeText(presetText, SWT.Modify),
                    BeansObservables.observeValue(getInstance(), "preset"), new UpdateValueStrategy(),
                    new UpdateValueStrategy());
        }
    });

    Button addButton = toolkit.createButton(parameterComposite, "", SWT.PUSH);
    GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).indent(0, 0).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(parameterComposite, "", SWT.PUSH);
    GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).indent(0, 0).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);

    LocalSelectionTransfer transferObject = LocalSelectionTransfer.getTransfer();

    Transfer[] types = new Transfer[] { transferObject };
    dragSource.setTransfer(types);
    final TableScanParameter 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.nbi.ui.widgets.HMImageDisplayWidget.java

License:Open Source License

protected Composite createImageArea() {
    GridLayoutFactory.swtDefaults().numColumns(9).margins(0, 0).applyTo(this);

    // Mode/*from   w  w  w.  j a  va2  s .  c  o m*/
    Label label = getToolkit().createLabel(this, "Mode: ");
    label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT));
    GridDataFactory.swtDefaults().align(SWT.END, SWT.CENTER).grab(true, false).applyTo(label);
    comboViewer = new ComboViewer(this, SWT.READ_ONLY);
    comboViewer.setContentProvider(new ArrayContentProvider());
    comboViewer.setLabelProvider(new LabelProvider());
    comboViewer.setInput(getImageMode().getValues());
    comboViewer.setSelection(new StructuredSelection(getImageMode()));
    comboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            // Change display mode
            setImageMode((HMImageMode) ((IStructuredSelection) event.getSelection()).getFirstElement());
            // Update NOW
            Job job = new Job(HMImageDisplayWidget.class.getName()) {
                protected IStatus run(IProgressMonitor monitor) {
                    try {
                        // Get data (one off)
                        pullData();
                    } catch (Exception e) {
                        return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Failed to fetch data.", e);
                    }
                    return Status.OK_STATUS;
                }
            };
            job.setSystem(true);
            job.schedule();
        }
    });

    // Separator
    label = getToolkit().createLabel(this, "");
    GridDataFactory.swtDefaults().hint(8, SWT.DEFAULT).applyTo(label);

    Label scaleLabel = getToolkit().createLabel(this, "Scale: ");
    scaleLabel.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT));
    GridDataFactory.swtDefaults().align(SWT.END, SWT.CENTER).grab(true, false).applyTo(scaleLabel);
    ComboViewer scaleViewer = new ComboViewer(this, SWT.READ_ONLY);
    scaleViewer.setContentProvider(new ArrayContentProvider());
    scaleViewer.setLabelProvider(new LabelProvider());
    scaleViewer.setInput(SCALE_INPUT);
    isScaleEnabled = true;
    try {
        isScaleEnabled = Boolean.valueOf(System.getProperty(IS_SCALE_ENABLED));
    } catch (Exception e) {
    }
    scaleViewer.setSelection(new StructuredSelection(SCALE_INPUT[isScaleEnabled ? 0 : 1]));
    scaleViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            // Change display mode
            setScaleEnabled(
                    SCALE_INPUT[0].equals(((IStructuredSelection) event.getSelection()).getFirstElement()));
            // Update NOW
            Job job = new Job(HMImageDisplayWidget.class.getName()) {
                protected IStatus run(IProgressMonitor monitor) {
                    try {
                        // Get data (one off)
                        pullData();
                    } catch (Exception e) {
                        return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Failed to fetch data.", e);
                    }
                    return Status.OK_STATUS;
                }
            };
            job.setSystem(true);
            job.schedule();
        }
    });

    label = getToolkit().createLabel(this, "");
    GridDataFactory.swtDefaults().hint(8, SWT.DEFAULT).applyTo(label);

    // Refresh
    label = getToolkit().createLabel(this, "Refresh: ");
    label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT));
    final Text refreshText = getToolkit().createText(this, "");
    Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() {
        public void run() {
            DataBindingContext bindingContext = new DataBindingContext();
            bindingContext.bindValue(SWTObservables.observeText(refreshText, SWT.Modify),
                    BeansObservables.observeValue(HMImageDisplayWidget.this, "refreshDelay"),
                    new UpdateValueStrategy(), new UpdateValueStrategy());
        }
    });
    GridDataFactory.swtDefaults().hint(20, SWT.DEFAULT).applyTo(refreshText);
    label = getToolkit().createLabel(this, "sec ");
    label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT));

    Composite imageArea = getToolkit().createComposite(this, SWT.NONE);
    GridLayoutFactory.fillDefaults().margins(0, 0).spacing(0, 0).applyTo(imageArea);
    GridDataFactory.fillDefaults().grab(true, true).span(9, 1).applyTo(imageArea);

    return imageArea;
}

From source file:au.gov.ansto.bragg.quokka.ui.workflow.SaveConfigDialog.java

License:Open Source License

protected Control createCustomArea(Composite parent) {
    Composite mainArea = new Composite(parent, SWT.NONE);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(mainArea);
    mainArea.setLayout(new GridLayout(1, false));

    final Text descriptionText = new Text(mainArea, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).hint(300, 100)
            .applyTo(descriptionText);/*from w w w. ja  va 2  s  .  co m*/

    Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() {
        public void run() {
            DataBindingContext bindingContext = new DataBindingContext();
            bindingContext.bindValue(SWTObservables.observeText(descriptionText, SWT.Modify),
                    configDescription);
        }
    });
    return mainArea;
}

From source file:com.baremetalstudios.mapleide.internal.ResourceNavigator.java

License:Open Source License

@Inject
public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) {
    final Realm realm = SWTObservables.getRealm(parent.getDisplay());
    this.context = context;
    parent.setLayout(new FillLayout());
    TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            selectionService//from   www .  j av a2s  . co  m
                    .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray());
            //            context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray());
        }
    });

    IObservableFactory setFactory = new IObservableFactory() {
        public IObservable createObservable(Object element) {
            if (element instanceof IContainer && ((IContainer) element).exists()) {
                IObservableSet observableSet = observableSets.get(element);
                if (observableSet == null) {
                    observableSet = new WritableSet(realm);
                    try {
                        observableSet.addAll(Arrays.asList(((IContainer) element).members()));
                    } catch (CoreException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    observableSets.put((IContainer) element, observableSet);
                }
                return observableSet;
            }
            return Observables.emptyObservableSet();
        }
    };
    viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() {
        public Boolean hasChildren(Object element) {
            return Boolean.valueOf(element instanceof IContainer);
        }
    }));

    viewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof IResource)
                return ((IResource) element).getName();
            return element == null ? "" : element.toString();
        }
    });
    viewer.setSorter(new ViewerSorter());
    viewer.setInput(workspace.getRoot());
    viewer.addOpenListener(new IOpenListener() {

        public void open(OpenEvent event) {

            MapleIDEApplication app = (MapleIDEApplication) application;
            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            for (Object o : s.toArray()) {
                if (o instanceof IFile) {
                    IFile f = (IFile) o;
                    context.set(IFile.class, f);
                    String fExt = f.getFileExtension();
                    EDITOR: for (EditorPartDescriptor desc : app.getEditorPartDescriptors()) {
                        for (String ext : desc.getFileextensions()) {
                            if (ext.equals(fExt)) {
                                context.set(EditorPartDescriptor.class, desc);
                                System.err.println("Opening with: " + desc);

                                Command cmd = commandService
                                        .getCommand("com.baremetalstudios.mapleide.command.openeditor");
                                //                           Command cmd = commandService.getCommand("simpleide.command.openeditor");
                                ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null);
                                handlerService.executeHandler(pCmd);

                                break EDITOR;
                            }
                        }
                    }
                }
            }

        }
    });
    setupContextMenu(viewer, parent.getShell());
    workspace.addResourceChangeListener(listener);
}