Example usage for org.eclipse.jface.viewers ComboViewer setLabelProvider

List of usage examples for org.eclipse.jface.viewers ComboViewer setLabelProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ComboViewer setLabelProvider.

Prototype

@Override
public void setLabelProvider(IBaseLabelProvider labelProvider) 

Source Link

Document

The list viewer implementation of this Viewer framework method ensures that the given label provider is an instance of ILabelProvider.

Usage

From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.wizards.FXGraphWizardPage.java

License:Open Source License

@Override
protected void createFields(Composite parent, DataBindingContext dbc) {
    {//from  w w w  .  j  a  v a2 s .c om
        Label l = new Label(parent, SWT.NONE);
        l.setText("Root Element");

        final ComboViewer viewer = new ComboViewer(parent);
        viewer.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                IType t = (IType) element;
                return t.getElementName() + " - " + t.getPackageFragment().getElementName();
            }
        });
        viewer.setContentProvider(new ArrayContentProvider());
        List<IType> types = getTypes();
        viewer.setInput(types);
        viewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        Button button = new Button(parent, SWT.PUSH);
        button.setText("Browse ...");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                IType type = findContainerType();
                if (type != null) {
                    customSelection = type;
                    viewer.setInput(getTypes());
                    viewer.setSelection(new StructuredSelection(type));
                }
            }
        });

        FXGraphElement element = getClazz();
        element.addPropertyChangeListener(new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                if ("fragmentRoot".equals(evt.getPropertyName())) {
                    viewer.setInput(getTypes());
                }
            }
        });
        dbc.bindValue(ViewerProperties.singleSelection().observe(viewer),
                BeanProperties.value("rootElement").observe(getClazz()));

        if (types.size() > 0) {
            viewer.setSelection(new StructuredSelection(types.get(0)));
        }
    }

    {
        Label l = new Label(parent, SWT.NONE);
        l.setText("Dynamic Root (fx:root)");

        Button b = new Button(parent, SWT.CHECK);
        dbc.bindValue(WidgetProperties.selection().observe(b),
                BeanProperties.value("dynamic").observe(getClazz()));
    }
}

From source file:at.bestsolution.efxclipse.tooling.fxml.wizards.FXMLWizardPage.java

License:Open Source License

@Override
protected void createFields(Composite parent, DataBindingContext dbc) {
    {/*from  w  w  w  .  ja v  a  2  s. co  m*/
        Label l = new Label(parent, SWT.NONE);
        l.setText("Root Element");

        final ComboViewer viewer = new ComboViewer(parent);
        viewer.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                IType t = (IType) element;
                return t.getElementName() + " - " + t.getPackageFragment().getElementName();
            }
        });
        viewer.setContentProvider(new ArrayContentProvider());
        List<IType> types = getTypes();
        viewer.setInput(types);
        viewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        Button button = new Button(parent, SWT.PUSH);
        button.setText("Browse ...");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                IType type = findContainerType();
                if (type != null) {
                    customSelection = type;
                    viewer.setInput(getTypes());
                    viewer.setSelection(new StructuredSelection(type));
                }
            }
        });

        FXMLElement element = getClazz();
        element.addPropertyChangeListener(new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                if ("fragmentRoot".equals(evt.getPropertyName())) {
                    viewer.setInput(getTypes());
                }
            }
        });
        dbc.bindValue(ViewerProperties.singleSelection().observe(viewer),
                BeanProperties.value("rootElement").observe(getClazz()));

        if (types.size() > 0) {
            viewer.setSelection(new StructuredSelection(types.get(0)));
        }
    }

    {
        Label l = new Label(parent, SWT.NONE);
        l.setText("Dynamic Root (fx:root)");

        Button b = new Button(parent, SWT.CHECK);
        dbc.bindValue(WidgetProperties.selection().observe(b),
                BeanProperties.value("fxRoot").observe(getClazz()));
    }
}

From source file:at.bestsolution.efxclipse.tooling.jdt.ui.internal.editors.AddIconDialog.java

License:Open Source License

@Override
protected Control createDialogContent(final Composite parent) {
    o = ParametersFactory.eINSTANCE.createIcon();
    Composite area = new Composite(parent, SWT.NONE);
    area.setLayout(new GridLayout(1, false));
    area.setLayoutData(new GridData(GridData.FILL_BOTH));

    getShell().setText("Add icon");
    setTitle("Add icon");
    setMessage("Enter informations about the icon to add");

    Composite container = new Composite(area, SWT.NONE);
    container.setLayout(new GridLayout(2, false));
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    IViewerValueProperty selProp = ViewerProperties.singleSelection();
    IWidgetValueProperty tProp = WidgetProperties.text(SWT.Modify);

    {/*from  w ww.  jav a  2  s. c o m*/
        Label l = new Label(container, SWT.NONE);
        l.setText("Kind:");

        ComboViewer v = new ComboViewer(container, SWT.READ_ONLY);
        v.setLabelProvider(new LabelProvider());
        v.setContentProvider(ArrayContentProvider.getInstance());
        v.setInput(IconType.VALUES);
        IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__KIND);
        dbContext.bindValue(selProp.observe(v), prop.observe(o),
                new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST),
                new EMFUpdateValueStrategy());
    }

    {
        Label l = new Label(container, SWT.NONE);
        l.setText("URL*:");

        tUrl = new Text(container, SWT.BORDER);
        tUrl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__HREF);
        dbContext.bindValue(tProp.observeDelayed(DELAY, tUrl), prop.observe(o),
                new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST),
                new EMFUpdateValueStrategy());
    }

    {
        Label l = new Label(container, SWT.NONE);
        l.setText("Depth:");

        ComboViewer v = new ComboViewer(container, SWT.READ_ONLY);
        v.setLabelProvider(new LabelProvider());
        v.setContentProvider(ArrayContentProvider.getInstance());
        // TODO not hard coded here
        v.setInput(new String[] { "8", "24", "32" });
        IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__DEPTH);
        dbContext.bindValue(selProp.observe(v), prop.observe(o),
                new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST),
                new EMFUpdateValueStrategy());
    }

    {
        Label l = new Label(container, SWT.NONE);
        l.setText("Width:");

        tWidth = new Text(container, SWT.BORDER);
        tWidth.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__WIDTH);
        dbContext.bindValue(tProp.observeDelayed(DELAY, tWidth), prop.observe(o),
                new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST),
                new EMFUpdateValueStrategy());
    }

    {
        Label l = new Label(container, SWT.NONE);
        l.setText("Height:");

        tHeight = new Text(container, SWT.BORDER);
        tHeight.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__HEIGHT);
        dbContext.bindValue(tProp.observeDelayed(DELAY, tHeight), prop.observe(o),
                new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST),
                new EMFUpdateValueStrategy());
    }

    return area;
}

From source file:at.bestsolution.efxclipse.tooling.jdt.ui.internal.editors.AddSplashDialog.java

License:Open Source License

@Override
protected Control createDialogContent(final Composite parent) {
    o = ParametersFactory.eINSTANCE.createSplash();
    Composite area = new Composite(parent, SWT.NONE);
    area.setLayout(new GridLayout(1, false));
    area.setLayoutData(new GridData(GridData.FILL_BOTH));

    getShell().setText("Add splash icon");
    setTitle("Add splash");
    setMessage("Enter informations about the splash to add");

    Composite container = new Composite(area, SWT.NONE);
    container.setLayout(new GridLayout(2, false));
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    IViewerValueProperty selProp = ViewerProperties.singleSelection();
    IWidgetValueProperty tProp = WidgetProperties.text(SWT.Modify);

    {/*from w ww.j a  va 2  s .com*/
        Label l = new Label(container, SWT.NONE);
        l.setText("Mode*:");

        ComboViewer v = new ComboViewer(container, SWT.READ_ONLY);
        v.setLabelProvider(new LabelProvider());
        v.setContentProvider(ArrayContentProvider.getInstance());
        v.setInput(SplashMode.values());
        IEMFValueProperty prop = EMFEditProperties.value(editingDomain, SPLASH__MODE);
        dbContext.bindValue(selProp.observe(v), prop.observe(o),
                new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST),
                new EMFUpdateValueStrategy());
    }

    {
        Label l = new Label(container, SWT.NONE);
        l.setText("URL*:");

        tUrl = new Text(container, SWT.BORDER);
        tUrl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        IEMFValueProperty prop = EMFEditProperties.value(editingDomain, SPLASH__HREF);
        dbContext.bindValue(tProp.observeDelayed(DELAY, tUrl), prop.observe(o),
                new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST),
                new EMFUpdateValueStrategy());
    }
    return area;
}

From source file:at.bestsolution.translate.view.TranslatorComponent.java

License:Open Source License

private void createUI(Composite parent) {
    GridLayout layout = new GridLayout(2, false);
    parent.setLayout(layout);/*from   ww w .j av a 2  s  .c om*/

    Label l = new Label(parent, SWT.NONE);
    l.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 2, 1));
    l.setText("Translator");

    l = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
    l.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 2, 1));

    l = new Label(parent, SWT.NONE);
    l.setText("Term");

    term = new Text(parent, SWT.BORDER);
    term.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    l = new Label(parent, SWT.NONE);
    l.setText("Translator");

    translator = new ComboViewer(parent);
    translator.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    translator.setContentProvider(new ObservableListContentProvider());
    translator.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((ITranslator) element).getName();
        }
    });

    l = new Label(parent, SWT.NONE);
    l.setText("Source-Language");

    final ComboViewer sourceLanguage = new ComboViewer(parent);
    sourceLanguage.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    sourceLanguage.setContentProvider(new ObservableListContentProvider());
    sourceLanguage.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((TranslationLanguage) element).name;
        }
    });

    IListProperty fromProp = PojoProperties.list("languages");
    IValueProperty selectionProp = ViewerProperties.singleSelection();

    IObservableList input = fromProp.observeDetail(selectionProp.observe(translator));
    sourceLanguage.setInput(input);

    l = new Label(parent, SWT.NONE);
    l.setText("Target-Language");

    final ComboViewer targetLanguage = new ComboViewer(parent);
    targetLanguage.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    targetLanguage.setContentProvider(new ObservableListContentProvider());
    targetLanguage.setLabelProvider(new LabelProvider());

    IListProperty targetsProp = PojoProperties.list("targets");

    input = targetsProp.observeDetail(selectionProp.observe(sourceLanguage));
    targetLanguage.setInput(input);

    Button b = new Button(parent, SWT.PUSH);
    b.setText("Translate");
    b.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false, 2, 1));

    l = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
    l.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));

    l = new Label(parent, SWT.NONE);
    l.setText("Translation");

    final Label translation = new Label(parent, SWT.NONE);
    translation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection transSelection = (IStructuredSelection) translator.getSelection();
            IStructuredSelection sourceSelection = (IStructuredSelection) sourceLanguage.getSelection();
            IStructuredSelection targetSelection = (IStructuredSelection) targetLanguage.getSelection();

            if (!transSelection.isEmpty() && !sourceSelection.isEmpty()) {
                try {
                    String trans = ((ITranslator) transSelection.getFirstElement()).translate(
                            ((TranslationLanguage) sourceSelection.getFirstElement()).name,
                            (String) targetSelection.getFirstElement(), term.getText());
                    translation.setText(trans);
                } catch (InvocationTargetException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
        }
    });
}

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);//from   ww w  .ja  va  2  s  . c  om
    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 w w w.  j a v a2  s .  c  om*/
    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);//from   w  w w  .  j ava  2  s.  c om
    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.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 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" });
    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);
    }/*from w  ww .j  ava2 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();
                        }
                    }
                }
            }
        }
    });
}