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.nebula.widgets.pagination.snippets.table.StringPageableTableExample.java

License:Open Source License

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    GridLayout layout = new GridLayout(1, false);
    shell.setLayout(layout);/*from  w w  w.  j a  v a2  s .c  om*/

    final List<String> items = createList();

    // 1) Create pageable table with 10 items per page
    // This SWT Component create internally a SWT Table+JFace TreeViewer
    int pageSize = 10;
    PageableTable paginationTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize);
    paginationTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    // 2) Initialize the table viewer
    TableViewer viewer = paginationTable.getViewer();
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setLabelProvider(new LabelProvider());

    // 3) Set the page loader used to load a page (sublist of String)
    // according the page index selected, the page size etc.
    paginationTable.setPageLoader(new PageResultLoaderList<String>(items));

    // 4) Set current page to 0 to display the first page
    paginationTable.setCurrentPage(0);

    shell.setSize(350, 250);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.nebula.widgets.pagination.snippets.table.StringSortPageableTableExample.java

License:Open Source License

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    GridLayout layout = new GridLayout(1, false);
    shell.setLayout(layout);/*from www.  j a v  a2  s  . c  om*/

    final List<String> items = createList();

    // 1) Create pageable table with 10 items per page
    // This SWT Component create internally a SWT Table+JFace TreeViewer
    int pageSize = 10;
    PageableTable paginationTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize);
    paginationTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    // 2) Initialize the table viewer + SWT Table
    TableViewer viewer = paginationTable.getViewer();
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setLabelProvider(new LabelProvider());

    Table table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    // 3) Create column by adding SortTableColumnSelectionListener listener
    // to sort the paginated table.
    TableViewerColumn col = createTableViewerColumn(viewer, "Name", 150);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            String p = (String) element;
            return p;
        }
    });

    // Call SortTableColumnSelectionListener with null property name because
    // it's a list of String.
    col.getColumn().addSelectionListener(new SortTableColumnSelectionListener(null));

    // 4) Set the page loader used to load a page (sublist of String)
    // according the page index selected, the page size etc.
    paginationTable.setPageLoader(new PageResultLoaderList<String>(items));

    // 5) Set current page to 0 to display the first page
    paginationTable.setCurrentPage(0);

    shell.setSize(350, 250);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.nebula.widgets.richtext.example.JFaceViewerIntegrationExample.java

License:Open Source License

public void createControls(Composite parent) {
    parent.setLayout(new FillLayout(SWT.VERTICAL));

    final TableViewer viewer = new TableViewer(parent,
            SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLinesVisible(true);

    TableViewerColumn firstnameColumn = new TableViewerColumn(viewer, SWT.NONE);
    firstnameColumn.getColumn().setText("Firstname");
    firstnameColumn.getColumn().setWidth(100);
    firstnameColumn.setLabelProvider(new FirstNameLabelProvider());
    firstnameColumn.setEditingSupport(new FirstNameEditingSupport(viewer));

    TableViewerColumn lastnameColumn = new TableViewerColumn(viewer, SWT.NONE);
    lastnameColumn.getColumn().setText("Lastname");
    lastnameColumn.getColumn().setWidth(100);
    // lastnameColumn.setLabelProvider(new LastNameLabelProvider());
    lastnameColumn.setLabelProvider(new RichTextCellLabelProvider<Person>(viewer.getControl()) {

        @Override//  ww w.  j a  v a  2 s . com
        public String getRichText(Person element) {
            if (element.getLastName().equals("Simpson")) {
                return "<em>" + element.getLastName() + "</em>";
            } else if (element.getLastName().equals("Smithers")) {
                return "<span style=\"background-color:rgb(255, 0, 0)\"><strong><s><u>" + element.getLastName()
                        + "</u></s></strong></span>";
            }
            return element.getLastName();
        }

    });
    lastnameColumn.setEditingSupport(new LastNameEditingSupport(viewer));

    TableViewerColumn marriedColumn = new TableViewerColumn(viewer, SWT.NONE);
    marriedColumn.getColumn().setText("Married");
    marriedColumn.getColumn().setWidth(60);
    marriedColumn.setLabelProvider(new MarriedLabelProvider());
    marriedColumn.setEditingSupport(new MarriedEditingSupport(viewer));

    TableViewerColumn genderColumn = new TableViewerColumn(viewer, SWT.NONE);
    genderColumn.getColumn().setText("Gender");
    genderColumn.getColumn().setWidth(80);
    genderColumn.setLabelProvider(new GenderLabelProvider());
    genderColumn.setEditingSupport(new GenderEditingSupport(viewer));

    TableViewerColumn descColumn = new TableViewerColumn(viewer, SWT.NONE);
    descColumn.getColumn().setText("Description");
    descColumn.getColumn().setWidth(200);
    // descColumn.setLabelProvider(new DescriptionLabelProvider());
    descColumn.setLabelProvider(new RichTextCellLabelProvider<Person>(viewer.getControl()) {

        @Override
        public String getRichText(Person element) {
            return element.getDescription();
        }

    });
    descColumn.setEditingSupport(new DescriptionEditingSupport(viewer));

    viewer.setInput(PersonService.getPersons(10));

    // add a tree
    TreeViewer treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.setContentProvider(new TreeViewerContentProvider());
    treeViewer.setLabelProvider(new RichTextCellLabelProvider<File>(treeViewer.getControl()) {

        @Override
        public String getRichText(File file) {
            String name = file.getName();
            String result = name.isEmpty() ? file.getPath() : name;
            if (file.isDirectory()) {
                result = "<strong><u>" + result + "</u></strong>";
            }
            return result;
        }

    });
    treeViewer.setInput(File.listRoots());
}

From source file:org.eclipse.oomph.p2.internal.ui.AdditionalURIPrompterDialog.java

License:Open Source License

@Override
protected void createUI(Composite parent) {
    Composite mainComposite = new Composite(parent, SWT.NONE);
    mainComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
    GridLayout mainLayout = new GridLayout();
    mainLayout.marginWidth = 10;//w  ww.j a va  2 s . co m
    mainLayout.marginHeight = 10;
    mainComposite.setLayout(mainLayout);

    SashForm sashForm = new SashForm(mainComposite, SWT.SMOOTH | SWT.VERTICAL);
    sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));

    Composite artifactComposite = new Composite(sashForm, SWT.NONE);
    GridLayout artifactLayout = new GridLayout();
    artifactLayout.marginWidth = 0;
    artifactLayout.marginHeight = 0;
    artifactComposite.setLayout(artifactLayout);

    Label artifactLabel = new Label(artifactComposite, SWT.NONE);
    artifactLabel.setText("Remaining Damaged Artifacts:");

    TableViewer artifactViewer = new TableViewer(artifactComposite, SWT.BORDER | SWT.FULL_SELECTION);
    artifactViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
    artifactViewer.setSorter(new ViewerSorter());
    artifactViewer.setLabelProvider(new AgentAnalyzerComposite.TableLabelProvider(parent.getDisplay(), true));
    artifactViewer.setContentProvider(new ArrayContentProvider());
    artifactViewer.setInput(artifacts);

    Composite repositoryComposite = new Composite(sashForm, SWT.NONE);
    GridLayout repositoryLayout = new GridLayout();
    repositoryLayout.marginTop = 10;
    repositoryLayout.marginWidth = 0;
    repositoryLayout.marginHeight = 0;
    repositoryComposite.setLayout(repositoryLayout);

    Composite repositoryHeader = new Composite(repositoryComposite, SWT.NONE);
    repositoryHeader.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    GridLayout repositoryHeaderLayout = new GridLayout(2, false);
    repositoryHeaderLayout.marginWidth = 0;
    repositoryHeaderLayout.marginHeight = 0;
    repositoryHeader.setLayout(repositoryHeaderLayout);

    Label repositoryLabel = new Label(repositoryHeader, SWT.NONE);
    repositoryLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    repositoryLabel.setText("Additional Repositories:");

    ToolBar toolBar = new ToolBar(repositoryHeader, SWT.FLAT | SWT.RIGHT);
    toolBar.setBounds(0, 0, 89, 23);

    ToolItem checkAll = new ToolItem(toolBar, SWT.NONE);
    checkAll.setToolTipText("Check all repositories");
    checkAll.setImage(getDefaultImage("tool16/checkAll"));

    ToolItem uncheckAll = new ToolItem(toolBar, SWT.NONE);
    uncheckAll.setToolTipText("Uncheck all repositories");
    uncheckAll.setImage(getDefaultImage("tool16/uncheckAll"));

    repositoryViewer = CheckboxTableViewer.newCheckList(repositoryComposite, SWT.BORDER | SWT.FULL_SELECTION);
    repositoryViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
    repositoryViewer.setSorter(new ViewerSorter());
    repositoryViewer.setLabelProvider(new AgentAnalyzerComposite.TableLabelProvider(parent.getDisplay()));
    repositoryViewer.setContentProvider(new ArrayContentProvider());
    repositoryViewer.setInput(repositories);
    repositoryViewer.addCheckStateListener(this);

    checkAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            repositoryViewer.setAllChecked(true);
            checkStateChanged(null);
        }
    });

    uncheckAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            repositoryViewer.setAllChecked(false);
            checkStateChanged(null);
        }
    });

    Composite uriComposite = new Composite(repositoryComposite, SWT.NONE);
    GridLayout uriLayout = new GridLayout(3, false);
    uriLayout.marginWidth = 0;
    uriLayout.marginHeight = 0;
    uriComposite.setLayout(uriLayout);
    uriComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    Label uriLabel = new Label(uriComposite, SWT.NONE);
    uriLabel.setText("URI:");

    final AtomicReference<URI> enteredURI = new AtomicReference<URI>();
    final Text uriText = new Text(uriComposite, SWT.BORDER);
    uriText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    final Button uriButton = new Button(uriComposite, SWT.NONE);
    uriButton.setText("Add");
    uriButton.setToolTipText("Add the entered URI to the repositories list");
    uriButton.setEnabled(false);
    uriButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            URI uri = enteredURI.get();
            repositories.add(uri);

            repositoryViewer.refresh();
            repositoryViewer.setChecked(uri, true);
            checkStateChanged(null);

            uriText.setText("");
            uriText.setFocus();
        }
    });

    uriText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            URI uri;

            try {
                String text = uriText.getText();
                uri = text.length() == 0 ? null : new URI(text);
            } catch (Exception ex) {
                uri = null;
            }

            enteredURI.set(uri);
            uriButton.setEnabled(uri != null);
        }
    });

    sashForm.setWeights(new int[] { 1, 2 });
}

From source file:org.eclipse.oomph.p2.internal.ui.ProfileDetailsComposite.java

License:Open Source License

private void createInstalledUnitsTab(TabFolder tabFolder) {
    TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
    tabItem.setText("Installed Units");

    TableColumnLayout layout = new TableColumnLayout();

    Composite composite = new Composite(tabFolder, SWT.NONE);
    composite.setLayout(layout);/*from  www  .j a  v  a  2s. c o  m*/
    tabItem.setControl(composite);

    final TableViewer viewer = new TableViewer(composite, SWT.VIRTUAL);
    viewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
    viewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

    Table table = viewer.getTable();
    TableColumn idColumn = new TableColumn(table, SWT.LEFT);
    layout.setColumnData(idColumn, new ColumnWeightData(100));

    UIUtil.asyncExec(viewer.getControl(), new Runnable() {
        public void run() {
            EList<Requirement> children = new BasicEList<Requirement>();

            for (IInstallableUnit iu : profile.query(QueryUtil.createIUAnyQuery(), null)) {
                String id = iu.getId();
                VersionRange versionRange = new VersionRange(iu.getVersion().toString());
                Requirement requirement = P2Factory.eINSTANCE.createRequirement(id, versionRange);
                requirement.setMatchExpression(iu.getFilter());
                children.add(requirement);
            }

            ECollections.sort(children, Requirement.COMPARATOR);

            ItemProvider input = new ItemProvider(adapterFactory, children);
            viewer.setInput(input);
        }
    });
}

From source file:org.eclipse.oomph.p2.internal.ui.ProfileDetailsComposite.java

License:Open Source License

private void createPropertiesTab(TabFolder tabFolder) {
    TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
    tabItem.setText("Properties");

    TableColumnLayout layout = new TableColumnLayout();

    Composite composite = new Composite(tabFolder, SWT.NONE);
    composite.setLayout(layout);//from  w  ww.j ava 2s. c  o  m
    tabItem.setControl(composite);

    final TableViewer viewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.VIRTUAL);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PropertiesLabelProvider());

    Table table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableColumn keyColumn = new TableColumn(table, SWT.LEFT);
    keyColumn.setText("Key");
    layout.setColumnData(keyColumn, new ColumnWeightData(40));

    TableColumn valueColumn = new TableColumn(table, SWT.LEFT);
    valueColumn.setText("Value");
    layout.setColumnData(valueColumn, new ColumnWeightData(60));

    UIUtil.asyncExec(new Runnable() {
        public void run() {
            viewer.setInput(profile.getProperties().entrySet());
        }
    });
}

From source file:org.eclipse.oomph.version.ui.preferences.VersionBuilderPreferencePage.java

License:Open Source License

@Override
protected Control doCreateContents(Composite parent) {
    java.util.List<String> releasePaths = new ArrayList<String>(Activator.getReleasePaths());
    Collections.sort(releasePaths);

    final TableViewer viewer = new TableViewer(parent,
            SWT.BORDER | SWT.FULL_SELECTION | SWT.NO_SCROLL | SWT.V_SCROLL);

    final Table table = viewer.getTable();
    table.setLinesVisible(true);//  w ww  .  j a v  a2  s  .c  o  m
    table.setHeaderVisible(true);

    TableViewerColumn releaseViewerColumn = new TableViewerColumn(viewer, SWT.NONE);
    final TableColumn releaseColumn = releaseViewerColumn.getColumn();
    releaseColumn.setText("Release");
    releaseColumn.setResizable(false);
    releaseColumn.setMoveable(false);

    TableViewerColumn checkModeViewerColumn = new TableViewerColumn(viewer, SWT.NONE);
    final TableColumn checkModeColumn = checkModeViewerColumn.getColumn();
    checkModeColumn.setText("Check Mode");
    checkModeColumn.setResizable(false);
    checkModeColumn.setMoveable(false);

    final ControlAdapter columnResizer = new ControlAdapter() {
        @Override
        public void controlResized(ControlEvent e) {
            Point size = table.getSize();
            ScrollBar bar = table.getVerticalBar();
            if (bar != null && bar.isVisible()) {
                size.x -= bar.getSize().x;
            }

            releaseColumn.setWidth(size.x - checkModeColumn.getWidth());
        }
    };

    checkModeColumn.pack();
    checkModeColumn.setWidth(checkModeColumn.getWidth() + 10);

    table.addControlListener(columnResizer);
    table.getDisplay().asyncExec(new Runnable() {
        public void run() {
            columnResizer.controlResized(null);
        }
    });

    viewer.setColumnProperties(new String[] { "releasePath", "checkMode" });

    viewer.setContentProvider(new ArrayContentProvider());

    viewer.setLabelProvider(new ReleaseCheckModeLabelProvider());

    viewer.setCellModifier(new ICellModifier() {
        public boolean canModify(Object element, String property) {
            return "checkMode".equals(property);
        }

        public Object getValue(Object element, String property) {
            return Activator.getReleaseCheckMode((String) element);
        }

        public void modify(Object element, String property, Object value) {
            if (element instanceof TableItem) {
                element = ((TableItem) element).getData();
            }
            String releasePath = (String) element;
            Activator.setReleaseCheckMode(releasePath, (ReleaseCheckMode) value);
            viewer.update(element, new String[] { property });
            VersionUtil.cleanReleaseProjects(releasePath);
        }
    });

    ComboBoxViewerCellEditor cellEditor = new ComboBoxViewerCellEditor(table);
    cellEditor.setContentProvider(new IStructuredContentProvider() {
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public void dispose() {
        }

        public Object[] getElements(Object inputElement) {
            return ReleaseCheckMode.values();
        }
    });

    viewer.setCellEditors(new CellEditor[] { null, cellEditor });
    cellEditor.setLabelProvider(new LabelProvider());

    viewer.setInput(releasePaths);
    cellEditor.setInput(releasePaths);

    return table;
}

From source file:org.eclipse.osee.framework.ui.skynet.search.page.ArtifactSearchPage.java

License:Open Source License

@Override
protected void configureTableViewer(TableViewer viewer) {
    viewer.setUseHashlookup(true);/*  ww w  .  j  a va 2 s.  c  om*/
    artifactDecorator.setViewer(viewer);

    ArtifactSearchLabelProvider innerLabelProvider = new ArtifactSearchLabelProvider(this, artifactDecorator);
    viewer.setLabelProvider(new DecoratingArtifactSearchLabelProvider(innerLabelProvider));
    viewer.setContentProvider(new ArtifactTableContentProvider(this));
    viewer.setComparator(new DecoratorIgnoringViewerSorter(innerLabelProvider));
    fContentProvider = (IArtifactSearchContentProvider) viewer.getContentProvider();
    addDragAdapters(viewer);
}

From source file:org.eclipse.papyrus.diagram.clazz.custom.ui.AssociationSelectionDialog.java

License:Open Source License

/**
 * @see org.eclipse.papyrus.diagram.clazz.custom.ui.AbstractAssociationSelectionDialog#createContents()
 * /*from  ww w  . j  a  va2 s. c o m*/
 */

protected void createContents() {
    // TODO Auto-generated method stub
    super.createContents();
    final ILabelProvider labelProvider = new AdapterFactoryLabelProvider(
            org.eclipse.papyrus.diagram.clazz.part.UMLDiagramEditorPlugin.getInstance()
                    .getItemProvidersAdapterFactory());
    final IStructuredContentProvider associationContentProvider = new IStructuredContentProvider() {

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

        public void dispose() {
        }

        public Object[] getElements(Object inputElement) {
            return commonAssociations.toArray();
        }
    };
    final TableViewer tableViewer = new TableViewer(table);
    tableViewer.setLabelProvider(labelProvider);
    tableViewer.setContentProvider(associationContentProvider);
    tableViewer.setInput(commonAssociations);
    btnOk.addMouseListener(new MouseListener() {

        public void mouseUp(MouseEvent e) {
            ISelection selection = tableViewer.getSelection();
            if (selection instanceof IStructuredSelection) {
                selectedAssociation = (Association) ((IStructuredSelection) selection).getFirstElement();
                shlAssociationselection.close();
            }
        }

        public void mouseDown(MouseEvent e) {
        }

        public void mouseDoubleClick(MouseEvent e) {
        }
    });
    btnCancel.setVisible(false);
}

From source file:org.eclipse.papyrus.infra.emf.providers.EMFGraphicalContentProvider.java

License:Open Source License

/**
 * Creates a widget referencing the recently selected elements
 * /*  ww w .  j a  v a2  s  . c  o m*/
 * @param parent
 *        The composite in which the widget will be created
 */
protected void createHistory(Composite parent) {
    initSelectionHistory();

    Group historyGroup = new Group(parent, SWT.NONE);
    historyGroup.setText("Recent selections");
    historyGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    historyGroup.setLayout(new GridLayout(1, true));

    // table
    Table historyTable = new Table(historyGroup, SWT.BORDER | SWT.SINGLE);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, false);
    data.heightHint = 70;
    historyTable.setLayoutData(data);
    final TableViewer historyViewer = new TableViewer(historyTable);
    historyViewer.setContentProvider(new HistoryContentProvider());
    historyViewer.setLabelProvider(viewer.getLabelProvider());
    historyViewer.setInput(selectionHistory);
    historyViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        /**
         * {@inheritDoc}
         */
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) historyViewer.getSelection();
            Object selectedObject = selection.getFirstElement();
            if (selectedObject instanceof EObject) {
                EObject eObject = ((EObject) selectedObject);
                revealSemanticElement(Collections.singletonList(eObject));
            }
        }
    });
}