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.eclipse.jface.snippets.viewers.Snippet062TextAndDialogCellEditor.java

License:Open Source License

public Snippet062TextAndDialogCellEditor(Shell shell) {
    TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.setContentProvider(ArrayContentProvider.getInstance());

    TableViewerColumn column = new TableViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);/*from www.j  a  v a2 s.  c  o m*/
    column.getColumn().setText("Givenname");
    column.getColumn().setMoveable(true);
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return ((Person) element).givenname;
        }
    });

    column.setEditingSupport(new AbstractEditingSupport(v, new TextCellEditor(v.getTable())) {

        @Override
        protected Object getValue(Object element) {
            return ((Person) element).givenname;
        }

        @Override
        protected void doSetValue(Object element, Object value) {
            ((Person) element).givenname = value.toString();
        }

    });

    column = new TableViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setText("Surname");
    column.getColumn().setMoveable(true);
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return ((Person) element).surname;
        }

    });

    column.setEditingSupport(new AbstractEditingSupport(v, new TextCellEditor(v.getTable())) {
        @Override
        protected Object getValue(Object element) {
            return ((Person) element).surname;
        }

        @Override
        protected void doSetValue(Object element, Object value) {
            ((Person) element).surname = value.toString();
        }

    });

    column = new TableViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setText("E-Mail");
    column.getColumn().setMoveable(true);
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Person) element).email;
        }

    });

    TextAndDialogCellEditor cellEditor = new TextAndDialogCellEditor(v.getTable());
    cellEditor.setDialogMessage("Enter email address");
    column.setEditingSupport(new AbstractEditingSupport(v, cellEditor) {

        @Override
        protected Object getValue(Object element) {
            return ((Person) element).email;
        }

        @Override
        protected void doSetValue(Object element, Object value) {
            ((Person) element).email = value.toString();
        }

        // Print out the model after each edit to verify its values are updated correctly
        @Override
        protected void saveCellEditorValue(CellEditor cellEditor, ViewerCell cell) {
            super.saveCellEditorValue(cellEditor, cell);
            System.out.println(cell.getElement());
        }
    });

    Person[] model = createModel();
    v.setInput(model);
    v.getTable().setLinesVisible(true);
    v.getTable().setHeaderVisible(true);
}

From source file:org.eclipse.jface.snippets.viewers.Snippet065TableViewerReplacingElements.java

License:Open Source License

public Snippet065TableViewerReplacingElements(Shell shell) {
    Random random = new Random();
    final Composite c = new Composite(shell, SWT.NONE);
    c.setLayout(new FillLayout(SWT.VERTICAL));
    Label l = new Label(c, SWT.NONE);
    l.setText(/*from  ww w  .  ja va 2  s  . c o m*/
            "The elements are ordered lexicografically, i.e. 11 comes before 2,\nPress q, to rename one element.");
    final TableViewer v = new TableViewer(c);
    String[] rootElements = new String[] { "root 1", "root 2", "root 3" };
    final IObservableList<String> input = new WritableList<>(DisplayRealm.getRealm(shell.getDisplay()));
    input.addAll(Arrays.asList(rootElements));
    IContentProvider contentProvider = new ObservableListContentProvider();
    v.setContentProvider(contentProvider);
    v.setComparator(new ViewerComparator());
    v.setInput(input);
    v.getControl().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            // don't use 'r' and 'c', because they would iterate through the
            // root... / child... elements
            if (e.character == 'q') {
                input.set(0, "root " + random.nextInt());
            }
        }
    });
}

From source file:org.eclipse.jface.snippets.viewers.Snippet066TableViewerWithLabelDecorator.java

License:Open Source License

private Snippet066TableViewerWithLabelDecorator(Shell shell) {
    final TableViewer v = new TableViewer(shell);

    createColumns(v);//w  ww.  j av a  2 s  . c  om
    v.setContentProvider(ArrayContentProvider.getInstance());
    v.setInput(createModel());
    v.getTable().setLinesVisible(true);
    v.getTable().setHeaderVisible(true);
}

From source file:org.eclipse.jface.snippets.viewers.Snippet067TreeViewerSorted.java

License:Open Source License

public Snippet067TreeViewerSorted(Shell shell, Composite composite) {
    final TreeViewer v = new TreeViewer(shell);
    v.setLabelProvider(new LabelProvider());
    v.setComparator(new MyComparator());
    v.setContentProvider(new MyContentProvider());
    createColumn(v.getTree(), "Values");
    v.setInput(createModel());/*from w ww.  j a v  a  2  s.com*/

    // Combo
    FormData comboFormData = new FormData(300, 50);
    comboFormData.left = new FormAttachment(0, 30);
    comboFormData.right = new FormAttachment(100, -30);
    comboFormData.bottom = new FormAttachment(100, -30);

    Combo changeSortingCombo = new Combo(composite, SWT.READ_ONLY);
    changeSortingCombo.setToolTipText("Change Sorting Method");
    changeSortingCombo.setLayoutData(comboFormData);
    changeSortingCombo.add("Sort Method: Descending by Population");
    changeSortingCombo.add("Sort Method: Comparator (Categories)");
    changeSortingCombo.select(0);

    changeSortingCombo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            int selectedIndex = changeSortingCombo.getSelectionIndex();
            if (selectedIndex == 0) {
                v.setComparator(new MyComparator());
                v.setLabelProvider(new DefaultLabelProvider());
            } else if (selectedIndex == 1) {
                v.setComparator(new MyCategoryComparator());
                v.setLabelProvider(new MyLabelProvider());
            }
            v.update(v, null);
            shell.layout(true, true);

        }
    });

    // Category Legend
    Composite legendComposite = new Composite(composite, SWT.NONE);
    final TableViewer legendV = new TableViewer(legendComposite);
    FormData legendFormData = new FormData(300, 300);
    legendFormData.right = new FormAttachment(100, -30);
    legendFormData.left = new FormAttachment(0, 30);
    legendFormData.top = new FormAttachment(0, 30);
    legendFormData.bottom = new FormAttachment(changeSortingCombo, -30);

    legendComposite.setLayoutData(legendFormData);
    legendComposite.setLayout(new FillLayout());
    legendV.setLabelProvider(new LegendLabelProvider());
    legendV.setContentProvider(ArrayContentProvider.getInstance());
    final String[] legendCategories = { "Population > 1,000,000", "Population > 500,000",
            "Population > 250,000", "Population > 50,000", "Population > 25,000", "Population > 5000",
            "Population <= 5000" };
    legendV.setInput(legendCategories);
    legendV.update(legendV, null);

    // Legend label
    Label legendLabel = new Label(composite, SWT.BORDER);
    legendLabel.setSize(50, 25);
    legendLabel.setText("Legend");
    FormData labelFormData = new FormData(50, 25);
    labelFormData.bottom = new FormAttachment(legendComposite, 0);
    labelFormData.right = new FormAttachment(legendComposite, 300);
    legendLabel.setLayoutData(labelFormData);

}

From source file:org.eclipse.jface.snippets.window.Snippet031TableStaticTooltip.java

License:Open Source License

public Snippet031TableStaticTooltip(Shell shell) {
    final TableViewer viewer = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);

    viewer.setLabelProvider(new MyLabelProvider());
    viewer.setContentProvider(ArrayContentProvider.getInstance());

    createColumnFor(viewer, "Column 1");
    createColumnFor(viewer, "Column 2");

    viewer.setInput(createModel());//from   w  w w .ja v a  2s  .c om
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    createToolTipFor(viewer);
}

From source file:org.eclipse.jpt.common.ui.internal.wizards.JavaProjectWizardPage.java

License:Open Source License

private TableViewer buildProjectTableViewer(Table parent, ITableLabelProvider labelProvider,
        IStructuredContentProvider contentProvider) {

    TableViewer tableViewer = new TableViewer(parent);
    tableViewer.setLabelProvider(labelProvider);
    tableViewer.setContentProvider(contentProvider);
    return tableViewer;
}

From source file:org.eclipse.jpt.jpa.ui.internal.wizards.gen.JoinColumnsPage.java

License:Open Source License

private TableViewer createJoinColumnsTableControl(Composite parent, ArrayList<SimpleJoin> tableDataModel) {

    TableLayoutComposite layout = new TableLayoutComposite(parent, SWT.NONE);
    addColumnLayoutData(layout);/*from  w  ww . j  a va  2s  .  co m*/

    final org.eclipse.swt.widgets.Table table = new org.eclipse.swt.widgets.Table(layout,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableColumn referrerColumn = new TableColumn(table, SWT.NONE, JOINCOLUMN1_COLUMN_INDEX);
    referrerColumn.setText("%table1");
    referrerColumn.setResizable(true);

    TableColumn referencedColumn = new TableColumn(table, SWT.NONE, JOINCOLUMN2_COLUMN_INDEX);
    referencedColumn.setText("%table2");
    referencedColumn.setResizable(true);

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = TableTools.calculateHeightHint(table, 3);
    gd.widthHint = 300;
    layout.setLayoutData(gd);

    TableViewer newJoinColumnsTable = new TableViewer(table);
    newJoinColumnsTable.setUseHashlookup(true);
    newJoinColumnsTable.setLabelProvider(this.buildTableTableLabelProvider());
    newJoinColumnsTable.setContentProvider(this.buildTableTableContentProvider());
    newJoinColumnsTable.setSorter(new ViewerSorter() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            return ((SimpleJoin) e1).foreignKey.compareTo(((SimpleJoin) e2).foreignKey);
        }
    });

    newJoinColumnsTable.addPostSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            //handleTablesListSelectionChanged(event);
        }
    });
    populateTableDataModel();
    newJoinColumnsTable.setInput(tableDataModel);
    return newJoinColumnsTable;
}

From source file:org.eclipse.jpt.jpa.ui.internal.wizards.makepersistent.JoinColumnsAnnotationEditor.java

License:Open Source License

private TableViewer createJoinColumnTable(Composite parent, List<ColumnAttributes> joinColumns, int colWidth) {
    org.eclipse.swt.widgets.Table joinColumnsTable = new org.eclipse.swt.widgets.Table(parent,
            SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.SINGLE);
    joinColumnsTable.setLinesVisible(true);
    joinColumnsTable.setHeaderVisible(true);

    TableColumn colNameCol = new TableColumn(joinColumnsTable, SWT.NONE);
    colNameCol.setWidth(colWidth);//  w  w w. j  a va 2s. c om
    colNameCol.setText(table.getName());
    colNameCol.setResizable(true);
    TableColumn refColNameCol = new TableColumn(joinColumnsTable, SWT.NONE);
    refColNameCol.setWidth(colWidth);
    refColNameCol.setText(refTable.getName());
    refColNameCol.setResizable(true);

    TableViewer tableViewer = new TableViewer(joinColumnsTable);
    tableViewer.setContentProvider(new JoinColumnsContentProvider());
    tableViewer.setLabelProvider(new JoinColumnsLabelProvider());
    tableViewer.setInput(joinColumns.toArray(new ColumnAttributes[0]));
    return tableViewer;
}

From source file:org.eclipse.jst.common.project.facet.ui.libprov.osgi.OsgiBundlesLibraryProviderInstallPanel.java

License:Open Source License

/**
 * Creates the panel control.//from   w  w  w  .  j  a v a2 s  . c om
 * 
 * @param parent the parent composite
 * @return the created control
 */

@Override
public Control createControl(final Composite parent) {
    final Composite rootComposite = new Composite(parent, SWT.NONE);
    rootComposite.setLayout(gl(1, 0, 0));

    final Table bundlesTable = new Table(rootComposite, SWT.BORDER);
    bundlesTable.setLayoutData(gdhhint(gdhfill(), 60));
    bundlesTable.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_INFO_BACKGROUND));

    final TableViewer bundlesTableViewer = new TableViewer(bundlesTable);

    final IStructuredContentProvider contentProvider = new IStructuredContentProvider() {
        public Object[] getElements(final Object inputElement) {
            final OsgiBundlesLibraryProviderInstallOperationConfig cfg = (OsgiBundlesLibraryProviderInstallOperationConfig) getOperationConfig();

            return cfg.getBundleReferences().toArray();
        }

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

        public void dispose() {
        }
    };

    bundlesTableViewer.setContentProvider(contentProvider);

    final LabelProvider labelProvider = new LabelProvider() {
        private final ImageDescriptor bundleImageDescriptor = imageDescriptorFromPlugin(PLUGIN_ID,
                "images/bundle.png"); //$NON-NLS-1$

        private final Image bundleImage = this.bundleImageDescriptor.createImage();

        private final Image bundleImageError = (new ProblemOverlayImageDescriptor(this.bundleImageDescriptor,
                IStatus.ERROR)).createImage();

        public Image getImage(final Object element) {
            final boolean isResolvable = ((BundleReference) element).isResolvable();
            return isResolvable ? this.bundleImage : this.bundleImageError;
        }

        public String getText(final Object element) {
            final BundleReference bundleReference = (BundleReference) element;
            final StringBuilder buf = new StringBuilder();

            buf.append(' ');
            buf.append(bundleReference.getBundleId());

            if (bundleReference.getVersionRange() != null) {
                buf.append(' ');
                buf.append(bundleReference.getVersionRange().toString());
            }

            return buf.toString();
        }

        @Override
        public void dispose() {
            this.bundleImage.dispose();
            this.bundleImageError.dispose();
        }
    };

    bundlesTableViewer.setLabelProvider(labelProvider);

    bundlesTableViewer.setInput(new Object());

    final Control footerControl = createFooter(rootComposite);

    if (footerControl != null) {
        footerControl.setLayoutData(gdhfill());
    }

    return rootComposite;
}

From source file:org.eclipse.jst.jsf.facesconfig.ui.dialog.CommonListDialog.java

License:Open Source License

/**
 * Create the structured viewer, set up content & label provider for it.
 * Defaultly create a tableviewer./*from  www. j  a v a2  s  .  co m*/
 * 
 * @param parent
 * @return the structured viewer
 */
protected StructuredViewer createViewer(Composite parent) {

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 200;
    gd.widthHint = 150;
    parent.setLayoutData(gd);
    GridLayout layout = new GridLayout();
    parent.setLayout(layout);

    TableViewer tableViewer = new TableViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    gd = new GridData(GridData.FILL_BOTH);
    tableViewer.getControl().setLayoutData(gd);

    tableViewer.setContentProvider(new AdapterFactoryContentProvider(getAdapterFactory()));
    tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(getAdapterFactory()));
    configViewer(tableViewer);
    tableViewer.setInput(input);

    return tableViewer;
}