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

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

Introduction

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

Prototype

public Table getTable() 

Source Link

Document

Returns this table viewer's table control.

Usage

From source file:org.bonitasoft.studio.businessobject.ui.expression.QueryExpressionEditor.java

License:Open Source License

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

    final Label parameterLabel = new Label(composite, SWT.NONE);
    parameterLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).create());
    parameterLabel.setText(Messages.parameters);

    final ControlDecoration parameterDecoration = new ControlDecoration(parameterLabel, SWT.RIGHT);
    parameterDecoration.setShowOnlyOnFocus(false);
    parameterDecoration.setDescriptionText(Messages.paginationParameterHint);
    parameterDecoration.setImage(Pics.getImage(PicsConstants.hint));
    parameterDecoration.hide();//from   ww  w  .  ja v a2 s  .co  m
    observeQuerySingleSelection.addValueChangeListener(new IValueChangeListener() {

        @Override
        public void handleValueChange(final ValueChangeEvent event) {
            final Object newValue = event.diff.getNewValue();
            if (newValue instanceof Expression) {
                if (List.class.getName().equals(((Expression) newValue).getReturnType())) {
                    parameterDecoration.show();
                } else {
                    parameterDecoration.hide();
                }
            }

        }
    });

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

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

    queryParameterObserveDetailList = EMFObservables.observeDetailList(Realm.getDefault(),
            observeQuerySingleSelection, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS);

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

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

License:Open Source License

protected IViewerObservableValue createListOfBusinessObjects(final Composite mainComposite,
        final DataBindingContext ctx) {
    final Group group = new Group(mainComposite, SWT.NONE);
    group.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    group.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).spacing(5, 0).create());
    group.setText(Messages.listOfBusinessObjects);

    final Composite buttonsComposite = new Composite(group, SWT.NONE);
    buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create());
    buttonsComposite/*from  ww  w .j a  v  a2 s  . c  om*/
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonsComposite, SWT.FLAT);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create());
    addButton.setText(Messages.add);

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

    final TableViewer boTableViewer = new TableViewer(group, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    boTableViewer.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(200, SWT.DEFAULT).create());
    boTableViewer.getTable().setLinesVisible(true);
    boTableViewer.getTable().setHeaderVisible(true);
    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    boTableViewer.getTable().setLayout(tableLayout);
    boTableViewer.setContentProvider(new ObservableListContentProvider());

    final IViewerObservableValue observeSingleSelection = ViewersObservables
            .observeSingleSelection(boTableViewer);
    boTableViewer.getColumnViewerEditor()
            .addEditorActivationListener(new ColumnViewerEditorActivationListener() {

                @Override
                public void beforeEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {

                }

                @Override
                public void beforeEditorActivated(final ColumnViewerEditorActivationEvent event) {

                }

                @Override
                public void afterEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {
                    final ISelection selection = boTableViewer.getSelection();
                    if (selection != null && ((IStructuredSelection) selection).getFirstElement() != null) {
                        businessObjectDescriptionGroup.setText(NamingUtils.getSimpleName(
                                ((BusinessObject) ((IStructuredSelection) selection).getFirstElement())
                                        .getQualifiedName()));
                        boTableViewer.refresh();
                    } else {
                        businessObjectDescriptionGroup.setText(Messages.selectABusinessObjectToEdit);
                    }

                }

                @Override
                public void afterEditorActivated(final ColumnViewerEditorActivationEvent event) {

                }
            });

    createBusinessObjectNameColumn(ctx, observeSingleSelection, boTableViewer);

    final 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(deleteButton), observeSingleSelection,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), enableStrategy);

    final IObservableList businessObjectObserveList = PojoObservables.observeList(businessObjectModel,
            "businessObjects");
    boTableViewer.setInput(businessObjectObserveList);
    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) {
            addBusinessObject(boTableViewer, businessObjectObserveList);
        }

    });

    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) {
            deleteBusinessObject(boTableViewer, observeSingleSelection, businessObjectObserveList);
        }

    });
    return observeSingleSelection;
}

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

License:Open Source License

private IViewerObservableValue createAttributeTableControl(final DataBindingContext ctx,
        final IViewerObservableValue viewerObservableValue) {
    final Composite buttonsComposite = new Composite(this, SWT.NONE);
    buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create());
    buttonsComposite/*  w  w  w  . j  a  v  a  2 s .  c om*/
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

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

    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(addButton), viewerObservableValue, null, enableStrategy);
    final Button upButton = createUpButton(viewerObservableValue, buttonsComposite);
    final Button downButton = createDownButton(viewerObservableValue, buttonsComposite);
    final Button deleteButton = createDeleteButton(buttonsComposite);

    final TableViewer featuresTableViewer = new TableViewer(this,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
    featuresTableViewer.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(500, 200).create());
    featuresTableViewer.getTable().setEnabled(viewerObservableValue.getValue() != null);
    featuresTableViewer.getTable().setLinesVisible(true);
    featuresTableViewer.getTable().setHeaderVisible(true);
    featuresTableViewer.setContentProvider(new ObservableListContentProvider());
    ColumnViewerToolTipSupport.enableFor(featuresTableViewer);

    ctx.bindValue(SWTObservables.observeEnabled(featuresTableViewer.getTable()), viewerObservableValue, null,
            enableStrategy);
    final IViewerObservableValue observeAttributeSelection = ViewersObservables
            .observeSingleSelection(featuresTableViewer);

    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(4));
    tableLayout.addColumnData(new ColumnWeightData(4));
    tableLayout.addColumnData(new ColumnWeightData(3));
    tableLayout.addColumnData(new ColumnWeightData(3));
    featuresTableViewer.getTable().setLayout(tableLayout);

    createFieldNameColumn(ctx, featuresTableViewer, viewerObservableValue);
    createFieldTypeColumn(ctx, featuresTableViewer, observeAttributeSelection);
    createMultipleColumn(featuresTableViewer);
    createMandatoryColumn(featuresTableViewer);

    featuresTableViewer.setInput(fieldsList);
    fieldsList.addListChangeListener(new IListChangeListener() {

        @Override
        public void handleListChange(final ListChangeEvent event) {
            final IObservableList observableList = event.getObservableList();
            if (observableList != null && !observableList.isEmpty()) {
                featuresTableViewer.getTable().select(0);
            }
        }
    });

    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) {
            addField(viewerObservableValue, featuresTableViewer, observeAttributeSelection);
        }

    });

    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) {
            deleteField(featuresTableViewer, viewerObservableValue);
        }

    });

    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(deleteButton), observeAttributeSelection, null, enableStrategy);

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

        @Override
        public Object convert(final Object fromObject) {
            if (fromObject != null) {
                final List<Field> eList = getFieldList(viewerObservableValue);
                return eList.indexOf(fromObject) > 0;
            }
            return false;
        }
    });

    ctx.bindValue(SWTObservables.observeEnabled(upButton), observeAttributeSelection, null, upEnableStrategy);

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

        @Override
        public Object convert(final Object fromObject) {
            if (fromObject != null) {
                final List<Field> eList = getFieldList(viewerObservableValue);
                return eList.indexOf(fromObject) < eList.size() - 1 && eList.size() > 1;
            }
            return false;
        }
    });
    ctx.bindValue(SWTObservables.observeEnabled(downButton), observeAttributeSelection, null,
            downEnableStrategy);

    upButton.addSelectionListener(new SelectionAdapter() {

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

    });

    downButton.addSelectionListener(new SelectionAdapter() {

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

    });

    viewerObservableValue.addValueChangeListener(new IValueChangeListener() {

        @Override
        public void handleValueChange(final ValueChangeEvent event) {
            final Object selectedBO = event.diff.getNewValue();
            if (selectedBO instanceof BusinessObject) {
                final List<Field> fields = ((BusinessObject) selectedBO).getFields();
                if (fields.isEmpty()) {
                    observeAttributeSelection.setValue(null);
                } else {
                    observeAttributeSelection.setValue(fields.get(0));
                }

            }

        }
    });

    return observeAttributeSelection;
}

From source file:org.bonitasoft.studio.businessobject.ui.wizard.control.IndexesTabItemControl.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 indexesTableViewer = new TableViewer(this,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
    indexesTableViewer.getControl()// w  w  w . java 2  s . co  m
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 300).create());
    indexesTableViewer.getTable().setEnabled(viewerObservableValue.getValue() != null);
    indexesTableViewer.getTable().setLinesVisible(true);
    indexesTableViewer.getTable().setHeaderVisible(true);
    indexesTableViewer.setContentProvider(new ObservableListContentProvider());

    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    tableLayout.addColumnData(new ColumnWeightData(2));
    indexesTableViewer.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(indexesTableViewer.getTable()), viewerObservableValue, null,
            enableStrategy);

    final IViewerObservableValue constaintObserveSingleSelection = ViewersObservables
            .observeSingleSelection(indexesTableViewer);
    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());
        }
    });

    createIndexNameColumn(ctx, indexesTableViewer, viewerObservableValue);
    createIndexFieldsColumn(ctx, indexesTableViewer, viewerObservableValue);

    final IObservableList indexesObserveDetailList = PojoObservables.observeDetailList(viewerObservableValue,
            "indexes", Index.class);
    indexesTableViewer.setInput(indexesObserveDetailList);

    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) {
            addIndex(viewerObservableValue, indexesObserveDetailList, indexesTableViewer);
        }
    });

    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) {
            deleteIndex(indexesObserveDetailList, indexesTableViewer);
        }
    });
}

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()//from   w ww.ja v 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()/*  ww w.j  av a 2  s . c  om*/
            .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  .j a v  a 2 s.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  v a  2 s. com*/

    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.common.jface.TableColumnSorter.java

License:Open Source License

public TableColumnSorter(TableViewer viewer) {
    this.viewer = viewer;
    Assert.isTrue(this.viewer.getComparator() == null);
    viewer.setComparator(this);

    for (TableColumn tableColumn : viewer.getTable().getColumns()) {
        tableColumn.addSelectionListener(selectionHandler);
    }/*  w ww . j  av  a2  s  .  c o  m*/
}

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//  w ww .j  a v  a2s  . co  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);
}