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.akrogen.tkui.css.swt.engine.table.CSSSWTTableViewerEngineTest2.java

License:Open Source License

public static void main(String[] args) {
    try {/*from  w  w  w .  ja v a  2s .c o m*/
        Display display = new Display();

        CSSEngine engine = new CSSSWTEngineImpl(display);
        engine.parseStyleSheet(new StringReader(
                "TableItem:odd {font:Roman 12 italic normal; background-color: #2BAFFA; color:white; background-image: url(./images/icons/type/class.gif);}"
                        + "TableItem:even {background-color:#edb5f4, 100%; color:black;}"));

        Shell shell = new Shell(display, SWT.SHELL_TRIM);
        FillLayout layout = new FillLayout();
        shell.setLayout(layout);

        Composite panel1 = new Composite(shell, SWT.NONE);
        panel1.setLayout(new FillLayout());

        final List datas = new ArrayList();
        for (int i = 0; i < 20; i++) {
            datas.add(new Item("Item" + i + "_0", "Item" + i + "_1"));
        }

        final TableViewer tableViewer = new TableViewer(panel1);
        tableViewer.setContentProvider(new IStructuredContentProvider() {
            public void dispose() {
                // TODO Auto-generated method stub

            }

            public Object[] getElements(Object inputElement) {
                return datas.toArray();
            }

            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

            }
        });
        tableViewer.setLabelProvider(new MyCSSTableLabelProvider(engine, tableViewer));

        Table table = tableViewer.getTable();
        table.setHeaderVisible(true);

        TableColumn tableColumn1 = new TableColumn(table, SWT.LEFT, 0);
        tableColumn1.setText("Name");
        tableColumn1.setWidth(200);

        TableColumn tableColumn2 = new TableColumn(table, SWT.LEFT, 0);
        tableColumn2.setText("Lastname");
        tableColumn2.setWidth(200);

        table.setLinesVisible(true);

        tableViewer.setInput(datas);

        shell.pack();
        shell.open();

        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }

        display.dispose();

    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:org.apache.directory.studio.schemaeditor.view.preferences.PluginPreferencePage.java

License:Apache License

/**
 * {@inheritDoc}/*from   w w w  .  j  a  v a 2 s.  c  om*/
 */
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    // SchemaConnectors Group
    Group schemaConnectorsGroup = new Group(composite, SWT.NONE);
    schemaConnectorsGroup.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
    schemaConnectorsGroup.setLayout(new GridLayout(2, true));
    schemaConnectorsGroup.setText(Messages.getString("PluginPreferencePage.SchemaConnectors")); //$NON-NLS-1$

    // Available Schema Connectors Label
    Label availableSchemaConnectorsLabel = new Label(schemaConnectorsGroup, SWT.NONE);
    availableSchemaConnectorsLabel.setText(Messages.getString("PluginPreferencePage.AvailableConnectorsColon")); //$NON-NLS-1$

    // Description Label
    Label descriptionLabel = new Label(schemaConnectorsGroup, SWT.NONE);
    descriptionLabel.setText(Messages.getString("PluginPreferencePage.DescriptionColon")); //$NON-NLS-1$
    // SchemaConnectors TableViewer
    final TableViewer schemaConnectorsTableViewer = new TableViewer(schemaConnectorsGroup,
            SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    GridData gridData = new GridData(SWT.FILL, SWT.NONE, true, false);
    gridData.heightHint = 125;
    schemaConnectorsTableViewer.getTable().setLayoutData(gridData);
    schemaConnectorsTableViewer.setContentProvider(new ArrayContentProvider());
    schemaConnectorsTableViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            return ((SchemaConnector) element).getName();
        }

        public Image getImage(Object element) {
            return Activator.getDefault().getImage(PluginConstants.IMG_SCHEMA_CONNECTOR);
        }
    });

    schemaConnectorsTableViewer.setComparator(new ViewerComparator(new Comparator<String>() {
        public int compare(String o1, String o2) {
            if ((o1 != null) && (o2 != null)) {
                return o1.compareToIgnoreCase(o2);
            }

            // Default
            return 0;
        }
    }));

    //      schemaConnectorsTableViewer.setComparator( new ViewerComparator( new Comparator<SchemaConnector>()
    //      {
    //          public int compare( SchemaConnector o1, SchemaConnector o2 )
    //          {
    //              String name1 = o1.getName();
    //              String name2 = o2.getName();
    //
    //              if ( ( name1 != null ) && ( name2 != null ) )
    //              {
    //                  return name1.compareToIgnoreCase( name2 );
    //              }
    //
    //              // Default
    //              return 0;
    //          }
    //      } ) );
    schemaConnectorsTableViewer.setInput(PluginUtils.getSchemaConnectors());

    // Description Text
    final Text descriptionText = new Text(schemaConnectorsGroup, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY);
    descriptionText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    schemaConnectorsTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            SchemaConnector schemaConnector = (SchemaConnector) ((StructuredSelection) schemaConnectorsTableViewer
                    .getSelection()).getFirstElement();

            if (schemaConnector != null) {
                descriptionText.setText(schemaConnector.getDescription());
            }
        }
    });

    return parent;
}

From source file:org.axdt.asdoc.ui.preferences.DocTableFieldEditor.java

License:Open Source License

protected TableViewer createTableViewer(Composite parent) {
    Composite tableComp = new Composite(parent, SWT.NONE);
    tableComp.setLayout(new TableColumnLayout());

    TableViewer tableViewer = new TableViewer(tableComp, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.getTable().setHeaderVisible(true);
    tableViewer.getTable().setLinesVisible(true);

    createTableViwerColumn(tableViewer, "Name", new ColumnLabelProvider() {
        @Override// www.  j av a  2 s  . c o m
        public String getText(Object element) {
            if (element instanceof DocItem) {
                DocItem item = (DocItem) element;
                return item.name;
            }
            return super.getText(element);
        }
    }, new ColumnWeightData(1, 50, true));

    createTableViwerColumn(tableViewer, "Url", new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof DocItem) {
                DocItem item = (DocItem) element;
                return item.url;
            }
            return super.getText(element);
        }
    }, new ColumnWeightData(5, 250, true));
    return tableViewer;
}

From source file:org.ayound.js.debug.ui.views.EvalView.java

License:Apache License

@Override
protected Viewer createViewer(Composite parent) {
    GridLayout layout = new GridLayout(2, false);
    layout.makeColumnsEqualWidth = true;
    parent.setLayout(layout);// ww  w  .  ja  v  a  2  s .  c o m
    Table table = new Table(parent, SWT.NONE);
    TableColumn column1 = new TableColumn(table, SWT.NONE);
    column1.setWidth(200);
    column1.setResizable(true);
    table.setHeaderVisible(false);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));
    TableViewer viewer = new TableViewer(table);
    getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW,
            this);
    JsDebugCorePlugin.getDefault().addEvalListener(this);
    viewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof List) {
                return ((List) inputElement).toArray();
            }
            return null;
        }

        public void dispose() {
            // TODO Auto-generated method stub

        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

        }
    });
    viewer.setLabelProvider(new ITableLabelProvider() {

        public Image getColumnImage(Object element, int columnIndex) {
            // TODO Auto-generated method stub
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            if (element instanceof ExpressionModel) {
                ExpressionModel model = (ExpressionModel) element;
                if (columnIndex == 0) {
                    if (model.getError() != null) {
                        return model.getExpression() + " = error : " + model.getError();
                    } else {
                        return model.getExpression() + " = " + model.getResult();
                    }
                }
            }
            return null;
        }

        public void addListener(ILabelProviderListener listener) {
            // TODO Auto-generated method stub

        }

        public void dispose() {
            // TODO Auto-generated method stub

        }

        public boolean isLabelProperty(Object element, String property) {
            // TODO Auto-generated method stub
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
            // TODO Auto-generated method stub

        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            ExpressionModel model = (ExpressionModel) selection.getFirstElement();
            if (model != null) {
                if (model.getError() != null) {
                    valueText.setText(model.getError());
                } else {
                    if (model.getResult() != null) {
                        valueText.setText(model.getResult());
                    } else {
                        valueText.setText("null");
                    }
                }
            } else {
                valueText.setText("");
            }

        }
    });
    valueText = new Text(parent, SWT.MULTI);
    valueText.setLayoutData(new GridData(GridData.FILL_BOTH));
    return viewer;
}

From source file:org.bonitasoft.studio.actors.ui.wizard.page.AbstractOrganizationWizardPage.java

License:Open Source License

protected StructuredViewer createViewer(Composite parent) {
    Composite viewerComposite = new Composite(parent, SWT.NONE);
    viewerComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    viewerComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).equalWidth(true).margins(0, 0)
            .spacing(0, 5).create());//from  w w  w  .j a  v a  2s  .c  o m

    final Text searchBox = new Text(viewerComposite, SWT.SEARCH | SWT.ICON_SEARCH | SWT.BORDER | SWT.CANCEL);
    searchBox.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    searchBox.setMessage(Messages.search);

    final TableViewer tableViewer = new TableViewer(viewerComposite,
            SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
    tableViewer.getTable()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(SWT.DEFAULT, 270).create());
    tableViewer.getTable().setLinesVisible(true);
    tableViewer.getTable().setHeaderVisible(true);
    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return viewerSelect(element, searchQuery);
        }
    });

    searchBox.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            searchQuery = searchBox.getText();
            tableViewer.refresh();
        }

    });

    return tableViewer;
}

From source file:org.bonitasoft.studio.businessobject.ui.dialog.IndexFieldsSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    final Composite contents = (Composite) super.createDialogArea(parent);

    final Label messageLabel = createMessageArea(contents);
    messageLabel.setLayoutData(/*www  . j av  a 2 s .c  o m*/
            GridDataFactory.fillDefaults().grab(false, false).span(3, 1).hint(300, SWT.DEFAULT).create());

    final GridLayout contentsGridLayout = (GridLayout) contents.getLayout();
    contentsGridLayout.numColumns = 3;

    final GridData contentsGridData = (GridData) contents.getLayoutData();
    contentsGridData.horizontalAlignment = SWT.FILL;
    contentsGridData.verticalAlignment = SWT.FILL;

    final Composite choiceComposite = new Composite(contents, SWT.NONE);
    {
        final GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
        data.horizontalAlignment = SWT.END;
        choiceComposite.setLayoutData(data);

        final GridLayout layout = new GridLayout();
        data.horizontalAlignment = SWT.FILL;
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        layout.numColumns = 1;
        choiceComposite.setLayout(layout);
    }

    final Label choiceLabel = new Label(choiceComposite, SWT.NONE);
    choiceLabel.setText(Messages.availableAttributes);
    final GridData choiceLabelGridData = new GridData();
    choiceLabelGridData.verticalAlignment = SWT.FILL;
    choiceLabelGridData.horizontalAlignment = SWT.FILL;
    choiceLabel.setLayoutData(choiceLabelGridData);

    final Table choiceTable = choiceOfValues == null ? null
            : new Table(choiceComposite, SWT.MULTI | SWT.BORDER);
    if (choiceTable != null) {
        final GridData choiceTableGridData = new GridData();
        choiceTableGridData.widthHint = 200;
        choiceTableGridData.heightHint = 100;
        choiceTableGridData.verticalAlignment = SWT.FILL;
        choiceTableGridData.horizontalAlignment = SWT.FILL;
        choiceTableGridData.grabExcessHorizontalSpace = true;
        choiceTableGridData.grabExcessVerticalSpace = true;
        choiceTable.setLayoutData(choiceTableGridData);
    }

    final TableViewer choiceTableViewer = choiceOfValues == null ? null : new TableViewer(choiceTable);
    if (choiceTableViewer != null) {
        choiceTableViewer.setContentProvider(ArrayContentProvider.getInstance());
        choiceTableViewer.setLabelProvider(labelProvider);
        final PatternFilter filter = new PatternFilter() {

            @Override
            protected boolean isParentMatch(final Viewer viewer, final Object element) {
                return viewer instanceof AbstractTreeViewer && super.isParentMatch(viewer, element);
            }
        };
        choiceTableViewer.addFilter(filter);
        if (unique) {
            choiceTableViewer.addFilter(new ViewerFilter() {

                @Override
                public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
                    return !values.contains(element);
                }
            });
        }
        choiceTableViewer.setInput(choiceOfValues);
    }

    final Composite controlButtons = new Composite(contents, SWT.NONE);
    final GridData controlButtonsGridData = new GridData();
    controlButtonsGridData.verticalAlignment = SWT.FILL;
    controlButtonsGridData.horizontalAlignment = SWT.FILL;
    controlButtons.setLayoutData(controlButtonsGridData);

    final GridLayout controlsButtonGridLayout = new GridLayout();
    controlButtons.setLayout(controlsButtonGridLayout);

    new Label(controlButtons, SWT.NONE);

    final Button addButton = new Button(controlButtons, SWT.PUSH);
    addButton.setText(Messages.add);
    final GridData addButtonGridData = new GridData();
    addButtonGridData.verticalAlignment = SWT.FILL;
    addButtonGridData.horizontalAlignment = SWT.FILL;
    addButton.setLayoutData(addButtonGridData);

    final Button removeButton = new Button(controlButtons, SWT.PUSH);
    removeButton.setText(Messages.Remove);
    final GridData removeButtonGridData = new GridData();
    removeButtonGridData.verticalAlignment = SWT.FILL;
    removeButtonGridData.horizontalAlignment = SWT.FILL;
    removeButton.setLayoutData(removeButtonGridData);

    final Label spaceLabel = new Label(controlButtons, SWT.NONE);
    final GridData spaceLabelGridData = new GridData();
    spaceLabelGridData.verticalSpan = 2;
    spaceLabel.setLayoutData(spaceLabelGridData);

    final Button upButton = new Button(controlButtons, SWT.PUSH);
    upButton.setText(Messages.up);
    final GridData upButtonGridData = new GridData();
    upButtonGridData.verticalAlignment = SWT.FILL;
    upButtonGridData.horizontalAlignment = SWT.FILL;
    upButton.setLayoutData(upButtonGridData);

    final Button downButton = new Button(controlButtons, SWT.PUSH);
    downButton.setText(Messages.down);
    final GridData downButtonGridData = new GridData();
    downButtonGridData.verticalAlignment = SWT.FILL;
    downButtonGridData.horizontalAlignment = SWT.FILL;
    downButton.setLayoutData(downButtonGridData);

    final Composite featureComposite = new Composite(contents, SWT.NONE);
    {
        final GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
        data.horizontalAlignment = SWT.END;
        featureComposite.setLayoutData(data);

        final GridLayout layout = new GridLayout();
        data.horizontalAlignment = SWT.FILL;
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        layout.numColumns = 1;
        featureComposite.setLayout(layout);
    }

    final Label selectedFieldLabel = new Label(featureComposite, SWT.NONE);
    selectedFieldLabel.setText(Messages.indexedAttributes);
    final GridData featureLabelGridData = new GridData();
    featureLabelGridData.horizontalSpan = 2;
    featureLabelGridData.horizontalAlignment = SWT.FILL;
    featureLabelGridData.verticalAlignment = SWT.FILL;
    selectedFieldLabel.setLayoutData(featureLabelGridData);

    final Table selectedFieldTable = new Table(featureComposite, SWT.MULTI | SWT.BORDER);
    final GridData featureTableGridData = new GridData();
    featureTableGridData.widthHint = 200;
    featureTableGridData.heightHint = 100;
    featureTableGridData.verticalAlignment = SWT.FILL;
    featureTableGridData.horizontalAlignment = SWT.FILL;
    featureTableGridData.grabExcessHorizontalSpace = true;
    featureTableGridData.grabExcessVerticalSpace = true;
    selectedFieldTable.setLayoutData(featureTableGridData);

    final TableViewer selectedFieldTableViewer = new TableViewer(selectedFieldTable);
    selectedFieldTableViewer.setContentProvider(contentProvider);
    selectedFieldTableViewer.setLabelProvider(labelProvider);
    selectedFieldTableViewer.setInput(values);
    final List<Field> children = values;
    if (!values.isEmpty()) {
        selectedFieldTableViewer.setSelection(new StructuredSelection(children.get(0)));
    }

    if (choiceTableViewer != null) {
        choiceTableViewer.addDoubleClickListener(new IDoubleClickListener() {

            @Override
            public void doubleClick(final DoubleClickEvent event) {
                if (addButton.isEnabled()) {
                    addButton.notifyListeners(SWT.Selection, null);
                }
            }
        });

        selectedFieldTableViewer.addDoubleClickListener(new IDoubleClickListener() {

            @Override
            public void doubleClick(final DoubleClickEvent event) {
                if (removeButton.isEnabled()) {
                    removeButton.notifyListeners(SWT.Selection, null);
                }
            }
        });
    }

    upButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) selectedFieldTableViewer
                    .getSelection();
            int minIndex = 0;
            for (final Iterator<?> i = selection.iterator(); i.hasNext();) {
                final Object value = i.next();
                final int index = children.indexOf(value);
                Collections.swap(children, Math.max(index - 1, minIndex++), index);
            }
            selectedFieldTableViewer.refresh();
        }
    });

    downButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) selectedFieldTableViewer
                    .getSelection();
            int maxIndex = children.size() - 1;
            final List<?> objects = selection.toList();
            for (final ListIterator<?> i = objects.listIterator(objects.size()); i.hasPrevious();) {
                final Object value = i.previous();
                final int index = children.indexOf(value);
                Collections.swap(children, Math.min(index + 1, maxIndex--), index);
            }
            selectedFieldTableViewer.refresh();
        }
    });

    addButton.addSelectionListener(new SelectionAdapter() {

        // event is null when choiceTableViewer is double clicked
        @Override
        public void widgetSelected(final SelectionEvent event) {
            if (choiceTableViewer != null) {
                final IStructuredSelection selection = (IStructuredSelection) choiceTableViewer.getSelection();
                for (final Iterator<?> i = selection.iterator(); i.hasNext();) {
                    final Field value = (Field) i.next();
                    if (!unique || !children.contains(value)) {
                        children.add(value);
                    }
                }
                selectedFieldTableViewer.refresh();
                selectedFieldTableViewer.setSelection(selection);
                choiceTableViewer.refresh();
            }

        }
    });

    removeButton.addSelectionListener(new SelectionAdapter() {

        // event is null when featureTableViewer is double clicked
        @Override
        public void widgetSelected(final SelectionEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) selectedFieldTableViewer
                    .getSelection();
            Object firstValue = null;
            for (final Iterator<?> i = selection.iterator(); i.hasNext();) {
                final Object value = i.next();
                if (firstValue == null) {
                    firstValue = value;
                }
                children.remove(value);
            }

            if (!children.isEmpty()) {
                selectedFieldTableViewer.setSelection(new StructuredSelection(children.get(0)));
            }
            selectedFieldTableViewer.refresh();
            if (choiceTableViewer != null) {
                choiceTableViewer.refresh();
                choiceTableViewer.setSelection(selection);
            }
        }
    });

    return contents;
}

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();/* ww w.ja v a2s.  com*/
    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/*ww  w  .ja va2  s  .c  o  m*/
            .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//from ww  w  . j  a v  a2s  . com
            .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. j  a  v  a2 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);
        }
    });
}