Example usage for org.eclipse.jface.viewers TableViewer setContentProvider

List of usage examples for org.eclipse.jface.viewers TableViewer setContentProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer setContentProvider.

Prototype

@Override
public void setContentProvider(IContentProvider provider) 

Source Link

Document

Sets the content provider used by this AbstractTableViewer.

Usage

From source file:org.bonitasoft.studio.businessobject.ui.wizard.control.QueriesTabItemControl.java

License:Open Source License

protected Composite createCustomQueriesControl(DataBindingContext ctx,
        final IViewerObservableValue viewerObservableValue, final Composite parent) {
    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create());
    composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).create());

    final Composite buttonsComposite = new Composite(composite, SWT.NONE);
    buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create());
    buttonsComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 3).create());

    final Button addButton = createAddButton(ctx, viewerObservableValue, buttonsComposite);
    final Button deleteButton = createDeleteButton(buttonsComposite);

    final TableViewer queriesTableViewer = new TableViewer(composite,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
    queriesTableViewer.getControl()/* www  .  j  av  a  2  s .c  o  m*/
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 300).create());
    queriesTableViewer.getTable().setEnabled(viewerObservableValue.getValue() != null);
    queriesTableViewer.getTable().setLinesVisible(true);
    queriesTableViewer.getTable().setHeaderVisible(true);
    queriesTableViewer.setContentProvider(new ObservableListContentProvider());

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    tableLayout.addColumnData(new ColumnWeightData(3));
    queriesTableViewer.getTable().setLayout(tableLayout);

    UpdateValueStrategy enableStrategy = new UpdateValueStrategy();
    enableStrategy.setConverter(new Converter(Object.class, Boolean.class) {

        @Override
        public Object convert(Object fromObject) {
            return fromObject != null;
        }
    });
    ctx.bindValue(SWTObservables.observeEnabled(queriesTableViewer.getTable()), viewerObservableValue, null,
            enableStrategy);

    IViewerObservableValue constaintObserveSingleSelection = ViewersObservables
            .observeSingleSelection(queriesTableViewer);
    ctx.bindValue(SWTObservables.observeEnabled(deleteButton), constaintObserveSingleSelection, null,
            enableStrategy);

    enableStrategy = new UpdateValueStrategy();
    enableStrategy.setConverter(new Converter(Object.class, Boolean.class) {

        @Override
        public Object convert(Object fromObject) {
            return fromObject instanceof List && !((List<?>) fromObject).isEmpty();
        }
    });

    fieldsList.addListChangeListener(new IListChangeListener() {

        @Override
        public void handleListChange(ListChangeEvent event) {
            addButton.setEnabled(!event.getObservableList().isEmpty());
        }
    });

    TableViewerColumn nameColumnViewer = createQueryNameColumn(ctx, queriesTableViewer);
    nameColumnViewer.setEditingSupport(
            new QueryNameEditingSupport(viewerObservableValue, nameColumnViewer.getViewer(), ctx));
    TableViewerColumn queryContentColumnViewer = createQueryContentColumn(ctx, queriesTableViewer);
    queryContentColumnViewer.setEditingSupport(
            new QueryContentEditingSupport(queryContentColumnViewer.getViewer(), viewerObservableValue));

    final IObservableList queryObserveDetailList = PojoObservables.observeDetailList(viewerObservableValue,
            "queries", Query.class);
    queriesTableViewer.setInput(queryObserveDetailList);

    addButton.addSelectionListener(new SelectionAdapter() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
            addQuery(viewerObservableValue, queryObserveDetailList, queriesTableViewer);
        }
    });

    deleteButton.addSelectionListener(new SelectionAdapter() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
            deleteQuery(queryObserveDetailList, queriesTableViewer);
        }
    });

    return composite;
}

From source file:org.bonitasoft.studio.businessobject.ui.wizard.control.QueriesTabItemControl.java

License:Open Source License

private Composite createDefaultQueriesControl(DataBindingContext ctx,
        final IViewerObservableValue viewerObservableValue, final Composite parent) {
    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create());
    composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(5, 5).create());

    final TableViewer queriesTableViewer = new TableViewer(composite,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
    queriesTableViewer.getControl()/* w  ww . j  a v a2s  .co m*/
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 300).create());
    queriesTableViewer.getTable().setLinesVisible(true);
    queriesTableViewer.getTable().setHeaderVisible(true);
    queriesTableViewer.setContentProvider(new ObservableListContentProvider());

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    tableLayout.addColumnData(new ColumnWeightData(3));
    queriesTableViewer.getTable().setLayout(tableLayout);

    createQueryNameColumn(ctx, queriesTableViewer);
    TableViewerColumn queryContentColumnViewer = createQueryContentColumn(ctx, queriesTableViewer);
    queryContentColumnViewer.setEditingSupport(new ReadOnlyQueryContentEditingSupport(
            queryContentColumnViewer.getViewer(), viewerObservableValue));

    queriesTableViewer.setInput(defaultQueriesList);

    return composite;
}

From source file:org.bonitasoft.studio.businessobject.ui.wizard.control.UniqueConstraintTabItemControl.java

License:Open Source License

protected void createControl(final DataBindingContext ctx, final IViewerObservableValue viewerObservableValue) {
    setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create());
    setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).create());

    final Composite buttonsComposite = new Composite(this, SWT.NONE);
    buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create());
    buttonsComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 3).create());

    final Button addButton = createAddButton(ctx, viewerObservableValue, buttonsComposite);
    final Button deleteButton = createDeleteButton(buttonsComposite);

    final TableViewer constraintsTableViewer = new TableViewer(this,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
    constraintsTableViewer.getControl()/*ww w  .  ja v a  2s  .  c o  m*/
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 300).create());
    constraintsTableViewer.getTable().setEnabled(viewerObservableValue.getValue() != null);
    constraintsTableViewer.getTable().setLinesVisible(true);
    constraintsTableViewer.getTable().setHeaderVisible(true);
    constraintsTableViewer.setContentProvider(new ObservableListContentProvider());

    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    tableLayout.addColumnData(new ColumnWeightData(2));
    constraintsTableViewer.getTable().setLayout(tableLayout);

    UpdateValueStrategy enableStrategy = new UpdateValueStrategy();
    enableStrategy.setConverter(new Converter(Object.class, Boolean.class) {

        @Override
        public Object convert(final Object fromObject) {
            return fromObject != null;
        }
    });
    ctx.bindValue(SWTObservables.observeEnabled(constraintsTableViewer.getTable()), viewerObservableValue, null,
            enableStrategy);

    final IViewerObservableValue constaintObserveSingleSelection = ViewersObservables
            .observeSingleSelection(constraintsTableViewer);
    ctx.bindValue(SWTObservables.observeEnabled(deleteButton), constaintObserveSingleSelection, null,
            enableStrategy);

    enableStrategy = new UpdateValueStrategy();
    enableStrategy.setConverter(new Converter(Object.class, Boolean.class) {

        @Override
        public Object convert(final Object fromObject) {
            return fromObject instanceof List && !((List<?>) fromObject).isEmpty();
        }
    });

    fieldsList.addListChangeListener(new IListChangeListener() {

        @Override
        public void handleListChange(final ListChangeEvent event) {
            addButton.setEnabled(!event.getObservableList().isEmpty());
        }
    });

    createUniqueConstraintNameColumn(ctx, constraintsTableViewer, viewerObservableValue);
    createUniqueConstraintFieldsColumn(ctx, constraintsTableViewer, viewerObservableValue);

    final IObservableList uniqueConstraintObserveDetailList = PojoObservables
            .observeDetailList(viewerObservableValue, "uniqueConstraints", List.class);
    constraintsTableViewer.setInput(uniqueConstraintObserveDetailList);

    addButton.addSelectionListener(new SelectionAdapter() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(final SelectionEvent e) {
            addUniqueConstraint(viewerObservableValue, uniqueConstraintObserveDetailList,
                    constraintsTableViewer);
        }
    });

    deleteButton.addSelectionListener(new SelectionAdapter() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(final SelectionEvent e) {
            deleteUniqueConstraint(uniqueConstraintObserveDetailList, constraintsTableViewer);
        }
    });

}

From source file:org.bonitasoft.studio.businessobject.ui.wizard.QueryWizardPage.java

License:Open Source License

protected void createQueryParametersTable(final Composite parent, final DataBindingContext ctx) {
    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(GridDataFactory.fillDefaults().create());
    composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(0, 0).spacing(5, 0).create());

    final Composite buttonsComposite = new Composite(composite, SWT.NONE);
    buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create());
    buttonsComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 3).create());

    final Button addButton = createAddButton(buttonsComposite);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create());
    addButton.setText(Messages.add);/*  w  w  w . j  a va2s. c  om*/

    final Button deleteButton = createAddButton(buttonsComposite);
    deleteButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create());
    deleteButton.setText(Messages.delete);
    deleteButton.setEnabled(false);

    final TableViewer parametersTableViewer = new TableViewer(composite,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
    parametersTableViewer.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(300, 100).create());
    parametersTableViewer.getTable().setLinesVisible(true);
    parametersTableViewer.getTable().setHeaderVisible(true);
    parametersTableViewer.setContentProvider(new ObservableListContentProvider());

    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(3));
    tableLayout.addColumnData(new ColumnWeightData(2));
    parametersTableViewer.getTable().setLayout(tableLayout);

    final IObservableList queryParameterObserveDetailList = PojoObservables.observeList(getQuery(),
            "queryParameters");

    addButton.addSelectionListener(new SelectionAdapter() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(final SelectionEvent e) {
            final QueryParameter param = new QueryParameter(generateName(), String.class.getName());
            queryParameterObserveDetailList.add(param);
            parametersTableViewer.editElement(param, 0);
            queryBinding.validateTargetToModel();
        }
    });

    final UpdateValueStrategy enableStrategy = new UpdateValueStrategy();
    enableStrategy.setConverter(new Converter(Object.class, Boolean.class) {

        @Override
        public Object convert(final Object fromObject) {
            return fromObject != null;
        }
    });
    bindDeleteParameterButtonEnablement(ctx, deleteButton, parametersTableViewer, enableStrategy);
    deleteButton.addSelectionListener(new SelectionAdapter() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(final SelectionEvent e) {
            final List<?> element = ((IStructuredSelection) parametersTableViewer.getSelection()).toList();
            queryParameterObserveDetailList.removeAll(element);
            queryBinding.validateTargetToModel();
        }
    });

    createNameColumn(ctx, parametersTableViewer);
    createTypeColumn(ctx, parametersTableViewer);
    parametersTableViewer.setInput(queryParameterObserveDetailList);
}

From source file:org.bonitasoft.studio.configuration.ui.wizard.page.ExportConfigurationWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite mainComposite = new Composite(parent, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(20, 20).create());

    databindingContext = new DataBindingContext();

    final TableViewer viewer = new TableViewer(mainComposite, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE);
    viewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new ActionLabelProvider());
    viewer.setInput(getConfigurationExporterContributions());

    UpdateValueStrategy startegy = new UpdateValueStrategy();
    startegy.setBeforeSetValidator(new IValidator() {

        @Override/*from  w  w w .  ja  v  a2  s.  c o m*/
        public IStatus validate(Object value) {
            if (value instanceof IAction) {
                return Status.OK_STATUS;
            }
            return ValidationStatus.error(Messages.mustSelectExportError);
        }
    });

    WizardPageSupport.create(this, databindingContext);
    databindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer),
            PojoObservables.observeValue(this, "action"), startegy, null);

    setControl(mainComposite);
}

From source file:org.bonitasoft.studio.configuration.ui.wizard.page.ImportConfigurationWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite mainComposite = new Composite(parent, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(20, 20).create());

    databindingContext = new DataBindingContext();

    final TableViewer viewer = new TableViewer(mainComposite, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE);
    viewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new ActionLabelProvider());
    viewer.setInput(getConfigurationImporterContributions());

    UpdateValueStrategy startegy = new UpdateValueStrategy();
    startegy.setBeforeSetValidator(new IValidator() {

        @Override//from   w w w  .j  a  v  a2s .  c om
        public IStatus validate(Object value) {
            if (value instanceof IAction) {
                return Status.OK_STATUS;
            }
            return ValidationStatus.error(Messages.mustSelectExportError);
        }
    });

    WizardPageSupport.create(this, databindingContext);
    databindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer),
            PojoObservables.observeValue(this, "action"), startegy, null);

    setControl(mainComposite);
}

From source file:org.bonitasoft.studio.connector.model.definition.dialog.SelectPageWidgetDialog.java

License:Open Source License

private Control createSelectComposite(final Select widget) {
    final Composite mainComposite = new Composite(section, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(15, 0).create());

    final Label itemsLabel = new Label(mainComposite, SWT.NONE);
    itemsLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).create());
    itemsLabel.setText(Messages.items);/*from  w w w  .j a v  a 2 s . co  m*/

    final Composite itemComposite = new Composite(mainComposite, SWT.NONE);
    itemComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    itemComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(0, 0).create());

    final TableViewer itemViewer = new TableViewer(itemComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    itemViewer.getTable()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(SWT.DEFAULT, 80).create());
    itemViewer.setContentProvider(new ArrayContentProvider());
    final TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(100));
    itemViewer.getTable().setLayout(layout);

    final TableViewerColumn inputNameColumn = new TableViewerColumn(itemViewer, SWT.FILL);
    inputNameColumn.getColumn().setText(Messages.input);
    inputNameColumn.setEditingSupport(new SelectItemEditingSupport(itemViewer, widget));
    inputNameColumn.setLabelProvider(new ColumnLabelProvider());

    context.bindValue(ViewersObservables.observeInput(itemViewer),
            EMFObservables.observeValue(widget, ConnectorDefinitionPackage.Literals.SELECT__ITEMS));

    final Composite buttonComposite = new Composite(itemComposite, SWT.NONE);
    buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    buttonComposite
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonComposite, SWT.FLAT);
    addButton.setText(Messages.Add);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String item = generateItem(widget);
            widget.getItems().add(item);
            itemViewer.editElement(item, 0);
        }
    });

    final Button upButton = new Button(buttonComposite, SWT.FLAT);
    upButton.setText(Messages.up);
    upButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String selected = (String) ((IStructuredSelection) itemViewer.getSelection()).getFirstElement();
            int i = widget.getItems().indexOf(selected);
            if (i > 0) {
                widget.getItems().move(i - 1, selected);
                itemViewer.refresh();
            }
        }
    });

    final Button downButton = new Button(buttonComposite, SWT.FLAT);
    downButton.setText(Messages.down);
    downButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String selected = (String) ((IStructuredSelection) itemViewer.getSelection()).getFirstElement();
            int i = widget.getItems().indexOf(selected);
            if (i < widget.getItems().size() - 1) {
                widget.getItems().move(i + 1, selected);
                itemViewer.refresh();
            }
        }
    });

    final Button removeButton = new Button(buttonComposite, SWT.FLAT);
    removeButton.setText(Messages.remove);
    removeButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            widget.getItems().removeAll(((IStructuredSelection) itemViewer.getSelection()).toList());
            itemViewer.refresh();
        }
    });

    return mainComposite;
}

From source file:org.bonitasoft.studio.connector.model.definition.dialog.SelectPageWidgetDialog.java

License:Open Source License

private Control createArrayComposite(final Array widget) {
    final Composite mainComposite = new Composite(section, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(15, 0).create());

    final Label nbColLabel = new Label(mainComposite, SWT.NONE);
    nbColLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());
    nbColLabel.setText(Messages.nbColumn);

    final Combo columnCombo = new Combo(mainComposite, SWT.BORDER | SWT.READ_ONLY);
    columnCombo.setLayoutData(GridDataFactory.fillDefaults().create());
    for (int i = 1; i < 11; i++) {
        columnCombo.add(String.valueOf(i));
    }// ww  w  .j  a v  a2s.c o m

    if (widget.getCols() == null) {
        widget.setCols(new BigInteger("1"));
    }

    UpdateValueStrategy targetToModel = new UpdateValueStrategy();
    targetToModel.setConverter(new Converter(String.class, BigInteger.class) {

        @Override
        public Object convert(Object from) {
            return new BigInteger((String) from);
        }
    });

    UpdateValueStrategy modelToTarget = new UpdateValueStrategy();
    modelToTarget.setConverter(new Converter(BigInteger.class, String.class) {

        @Override
        public Object convert(Object from) {
            return String.valueOf(((BigInteger) from).intValue());
        }
    });

    context.bindValue(SWTObservables.observeText(columnCombo),
            EMFObservables.observeValue(widget, ConnectorDefinitionPackage.Literals.ARRAY__COLS), targetToModel,
            modelToTarget);

    final Label fixedColLabel = new Label(mainComposite, SWT.NONE);
    fixedColLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());

    final Button fixedColButton = new Button(mainComposite, SWT.CHECK);
    fixedColButton.setLayoutData(GridDataFactory.fillDefaults().create());
    fixedColButton.setText(Messages.fixedColumn);

    context.bindValue(SWTObservables.observeSelection(fixedColButton),
            EMFObservables.observeValue(widget, ConnectorDefinitionPackage.Literals.ARRAY__FIXED_COLS));

    final Label colHeadersLabel = new Label(mainComposite, SWT.NONE);
    colHeadersLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).create());
    colHeadersLabel.setText(Messages.columnHeaders);

    final Composite itemComposite = new Composite(mainComposite, SWT.NONE);
    itemComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    itemComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(0, 0).create());

    final TableViewer itemViewer = new TableViewer(itemComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    itemViewer.getTable()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(SWT.DEFAULT, 80).create());
    itemViewer.setContentProvider(new ArrayContentProvider());
    final TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(100));
    itemViewer.getTable().setLayout(layout);

    final TableViewerColumn inputNameColumn = new TableViewerColumn(itemViewer, SWT.FILL);
    inputNameColumn.getColumn().setText(Messages.input);
    inputNameColumn.setEditingSupport(new CaptionEditingSupport(itemViewer, widget));
    inputNameColumn.setLabelProvider(new ColumnLabelProvider());

    context.bindValue(ViewersObservables.observeInput(itemViewer),
            EMFObservables.observeValue(widget, ConnectorDefinitionPackage.Literals.ARRAY__COLS_CAPTION));

    final Composite buttonComposite = new Composite(itemComposite, SWT.NONE);
    buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    buttonComposite
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonComposite, SWT.FLAT);
    addButton.setText(Messages.Add);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String item = generateCaption(widget);
            widget.getColsCaption().add(item);
            itemViewer.editElement(item, 0);
        }

    });

    final Button upButton = new Button(buttonComposite, SWT.FLAT);
    upButton.setText(Messages.up);
    upButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String selected = (String) ((IStructuredSelection) itemViewer.getSelection()).getFirstElement();
            int i = widget.getColsCaption().indexOf(selected);
            if (i > 0) {
                widget.getColsCaption().move(i - 1, selected);
                itemViewer.refresh();
            }
        }
    });

    final Button downButton = new Button(buttonComposite, SWT.FLAT);
    downButton.setText(Messages.down);
    downButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String selected = (String) ((IStructuredSelection) itemViewer.getSelection()).getFirstElement();
            int i = widget.getColsCaption().indexOf(selected);
            if (i < widget.getColsCaption().size() - 1) {
                widget.getColsCaption().move(i + 1, selected);
                itemViewer.refresh();
            }
        }
    });

    final Button removeButton = new Button(buttonComposite, SWT.FLAT);
    removeButton.setText(Messages.remove);
    removeButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            widget.getColsCaption().removeAll(((IStructuredSelection) itemViewer.getSelection()).toList());
            itemViewer.refresh();
        }
    });

    return mainComposite;
}

From source file:org.bonitasoft.studio.connector.model.definition.dialog.SelectPageWidgetDialog.java

License:Open Source License

private Control createRadioGroupComposite(final RadioGroup widget) {
    final Composite mainComposite = new Composite(section, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(15, 0).create());

    final Label orientationLabel = new Label(mainComposite, SWT.NONE);
    orientationLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());
    orientationLabel.setText(Messages.orientation);

    final ComboViewer orientationCombo = new ComboViewer(mainComposite, SWT.READ_ONLY | SWT.BORDER);
    orientationCombo.getCombo().setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    orientationCombo.setContentProvider(new ArrayContentProvider());
    orientationCombo.setLabelProvider(new LabelProvider());
    context.bindValue(ViewersObservables.observeInput(orientationCombo),
            PojoProperties.value(SelectPageWidgetDialog.class, "orientations").observe(this));
    context.bindValue(ViewersObservables.observeSingleSelection(orientationCombo),
            EMFObservables.observeValue(widget, ConnectorDefinitionPackage.Literals.RADIO_GROUP__ORIENTATION));

    final Label itemsLabel = new Label(mainComposite, SWT.NONE);
    itemsLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).create());
    itemsLabel.setText(Messages.items);/* w w  w .  j a  v a2s . com*/

    final Composite itemComposite = new Composite(mainComposite, SWT.NONE);
    itemComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    itemComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(0, 0).create());

    final TableViewer itemViewer = new TableViewer(itemComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    itemViewer.getTable()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(SWT.DEFAULT, 80).create());
    itemViewer.setContentProvider(new ArrayContentProvider());
    final TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(100));
    itemViewer.getTable().setLayout(layout);

    final TableViewerColumn inputNameColumn = new TableViewerColumn(itemViewer, SWT.FILL);
    inputNameColumn.getColumn().setText(Messages.input);
    inputNameColumn.setEditingSupport(new RadioGroupItemEditingSupport(itemViewer, widget));
    inputNameColumn.setLabelProvider(new ColumnLabelProvider());

    context.bindValue(ViewersObservables.observeInput(itemViewer),
            EMFObservables.observeValue(widget, ConnectorDefinitionPackage.Literals.RADIO_GROUP__CHOICES));

    final Composite buttonComposite = new Composite(itemComposite, SWT.NONE);
    buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    buttonComposite
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonComposite, SWT.FLAT);
    addButton.setText(Messages.Add);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String item = generateRadioChoice(widget);
            widget.getChoices().add(item);
            itemViewer.editElement(item, 0);
        }

    });

    final Button upButton = new Button(buttonComposite, SWT.FLAT);
    upButton.setText(Messages.up);
    upButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String selected = (String) ((IStructuredSelection) itemViewer.getSelection()).getFirstElement();
            int i = widget.getChoices().indexOf(selected);
            if (i > 0) {
                widget.getChoices().move(i - 1, selected);
                itemViewer.refresh();
            }
        }
    });

    final Button downButton = new Button(buttonComposite, SWT.FLAT);
    downButton.setText(Messages.down);
    downButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            String selected = (String) ((IStructuredSelection) itemViewer.getSelection()).getFirstElement();
            int i = widget.getChoices().indexOf(selected);
            if (i < widget.getChoices().size() - 1) {
                widget.getChoices().move(i + 1, selected);
                itemViewer.refresh();
            }
        }
    });

    final Button removeButton = new Button(buttonComposite, SWT.FLAT);
    removeButton.setText(Messages.remove);
    removeButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            widget.getChoices().removeAll(((IStructuredSelection) itemViewer.getSelection()).toList());
            itemViewer.refresh();
        }
    });

    return mainComposite;
}

From source file:org.bonitasoft.studio.connector.model.definition.wizard.DefinitionInformationWizardPage.java

License:Open Source License

protected void createDependenciesViewer(Composite mainComposite) {
    Label dependencyLabel = new Label(mainComposite, SWT.NONE);
    dependencyLabel.setText(Messages.dependenciesLabel);
    dependencyLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).create());

    final TableViewer viewer = new TableViewer(mainComposite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    viewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.addSelectionChangedListener(this);
    viewer.setLabelProvider(new LabelProvider() {
        @Override/*from w  w w  . j a v a2 s.  c om*/
        public Image getImage(Object element) {
            return Pics.getImage("jar.gif");
        }
    });

    context.bindValue(ViewersObservables.observeInput(viewer), EMFObservables.observeValue(definition,
            ConnectorDefinitionPackage.Literals.CONNECTOR_DEFINITION__JAR_DEPENDENCY));

    final Composite buttonComposite = new Composite(mainComposite, SWT.NONE);
    buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    buttonComposite
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonComposite, SWT.FLAT);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    addButton.setText(Messages.Add);
    addButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            SelectJarsDialog dialog = new SelectJarsDialog(Display.getDefault().getActiveShell());
            if (dialog.open() == Dialog.OK) {
                for (IRepositoryFileStore jarFile : dialog.getSelectedJars()) {
                    String jar = jarFile.getName();
                    if (!definition.getJarDependency().contains(jar)) {
                        definition.getJarDependency().add(jar);
                    }
                }
            }
        }

    });

    removeJarButton = new Button(buttonComposite, SWT.FLAT);
    removeJarButton.setLayoutData(
            GridDataFactory.fillDefaults().hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    removeJarButton.setText(Messages.remove);
    removeJarButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            for (Object selected : selection.toList()) {
                if (selected instanceof String) {
                    definition.getJarDependency().remove(selected);
                }
            }
            viewer.refresh();
        }
    });

    new Label(mainComposite, SWT.NONE); //FILLER
    final Label dependenciesHintLabel = new Label(mainComposite, SWT.NONE);
    dependenciesHintLabel.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).create());
    dependenciesHintLabel.setText(Messages.dependenciesInfo);
}