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.example.springdata.table.ModelSortPageableTableExample.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);// w w  w .j a v  a  2 s  . c o m

    final List<Person> 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 pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize,
            SpringDataPageContentProvider.getInstance());
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));

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

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

    // 3) Create Table columns with sort of paginated list.
    createColumns(viewer);

    // 3) Set current page to 0 to refresh the table
    pageableTable.setPageLoader(new SpringDataPageLoaderList(items));
    pageableTable.setCurrentPage(0);

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

From source file:org.eclipse.nebula.widgets.pagination.example.springdata.table.ModelSortPageableTableWorkInProcessExample.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);/*  w ww .  j  av a 2 s . com*/

    final List<Person> items = createList();

    // 1) Create pageable table with 10 items per page
    // This SWT Component create internally a SWT Table+JFace TreeViewer
    int pageSize = 10;
    final PageableTable pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize,
            SpringDataPageContentProvider.getInstance()) {
        @Override
        protected Composite createCompositeBottom(Composite parent) {
            Composite bottom = new LoadingComposite(parent);
            bottom.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
            return bottom;
        }
    };
    final LoadingComposite loadingComposite = (LoadingComposite) pageableTable.getCompositeBottom();
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    pageableTable.setPageLoaderHandler(new IPageLoaderHandler<PageableController>() {

        long time = 0;

        public void onBeforePageLoad(PageableController controller) {
            time = System.currentTimeMillis();
            String text = "Loading...";
            System.err.println(text);
            loadingComposite.setText(text);
        }

        public boolean onAfterPageLoad(PageableController controller, Throwable e) {
            String text = "Loaded with " + (System.currentTimeMillis() - time) + "(ms)";
            System.err.println(text);
            loadingComposite.setText(text);
            return true;
        }
    });

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

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

    // 3) Create Table columns with sort of paginated list.
    createColumns(viewer);

    // 3) Set current page to 0 to refresh the table
    pageableTable.setPageLoader(new SpringDataPageLoaderList(items) {
        @Override
        public Page<?> loadPage(PageableController pageable) {
            if (pageableTable.isVisible()) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            return super.loadPage(pageable);
        }
    });
    pageableTable.setCurrentPage(0);

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

From source file:org.eclipse.nebula.widgets.pagination.example.springdata.table.renderers.AllRenderersPaginationTableAtHandExample.java

License:Open Source License

public static void main(String[] args) {

    Display display = new Display();
    Shell shell = new Shell(display);
    GridLayout layout = new GridLayout(2, false);
    shell.setLayout(layout);//from   w ww  .java  2s.co m

    final List<Person> items = createList();

    Composite left = new Composite(shell, SWT.NONE);
    left.setLayoutData(new GridData(GridData.FILL_BOTH));
    left.setLayout(new GridLayout());

    // Left panel
    Table table = new Table(left, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));

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

    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    // 3) Create Table columns with sort of paginated list.
    int pageSize = 10;
    final PageableController controller = new SpringDataPageableController(pageSize);// new PageableController(pageSize);
    final IPageLoader pageLoader = new SpringDataPageLoaderList(items);// new
    // PageLoaderList(items);
    controller.addPageChangedListener(PageLoaderStrategyHelper.createLoadPageAndReplaceItemsListener(controller,
            viewer, pageLoader, SpringDataPageContentProvider.getInstance(), null));

    createColumns(viewer, controller);

    // Right Panel
    Composite right = new Composite(shell, SWT.NONE);
    right.setLayoutData(new GridData(GridData.FILL_BOTH));
    right.setLayout(new GridLayout());

    NavigationPageComboRenderer pageComboDecorator = new NavigationPageComboRenderer(right, SWT.NONE,
            controller);
    pageComboDecorator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    NavigationPageScaleRenderer pageScaleDecorator = new NavigationPageScaleRenderer(right, SWT.NONE,
            controller);
    pageScaleDecorator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    ResultAndNavigationPageLinksRenderer resultAndPageLinksDecorator = new ResultAndNavigationPageLinksRenderer(
            right, SWT.NONE, controller);
    resultAndPageLinksDecorator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    PageSizeComboRenderer pageSizeComboDecorator = new PageSizeComboRenderer(right, SWT.NONE, controller,
            new Integer[] { 5, 10, 50, 100, 200 });
    pageSizeComboDecorator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    ResultAndNavigationPageGraphicsRenderer resultAndPageButtonsDecorator = new ResultAndNavigationPageGraphicsRenderer(
            right, SWT.NONE, controller);
    resultAndPageButtonsDecorator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    ResultAndNavigationPageGraphicsRenderer black = new ResultAndNavigationPageGraphicsRenderer(right, SWT.NONE,
            controller, BlackNavigationPageGraphicsConfigurator.getInstance());
    black.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    ResultAndNavigationPageGraphicsRenderer green = new ResultAndNavigationPageGraphicsRenderer(right, SWT.NONE,
            controller, GreenNavigationPageGraphicsConfigurator.getInstance());
    green.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    // Locale
    Composite localeComposite = new Composite(right, SWT.NONE);
    localeComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    localeComposite.setLayout(new GridLayout(2, false));
    Label localeLabel = new Label(localeComposite, SWT.NONE);
    localeLabel.setText("Locale:");
    localeLabel.setLayoutData(new GridData());
    final Combo localeCombo = new Combo(localeComposite, SWT.READ_ONLY);
    localeCombo.setItems(new String[] { "en", "fr" });
    localeCombo.select(Locale.getDefault().equals(Locale.FRANCE) ? 1 : 0);
    localeCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    localeCombo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            String locale = localeCombo.getText();
            if ("fr".equals(locale)) {
                controller.setLocale(Locale.FRENCH);
            } else {
                controller.setLocale(Locale.ENGLISH);
            }
        }
    });
    // 3) Set current page to 0 to refresh the table

    controller.setCurrentPage(0);

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

From source file:org.eclipse.nebula.widgets.pagination.example.springdata.table.renderers.ComboPageableTableExample.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);/*w  w  w. j  av  a  2 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 pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize,
            SpringDataPageContentProvider.getInstance(), NavigationPageComboRendererFactory.getFactory(), null);
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    // 2) Initialize the table viewer
    TableViewer viewer = pageableTable.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.
    pageableTable.setPageLoader(new SpringDataPageLoaderList(items));

    // 4) Set current page to 0 to display the first page
    pageableTable.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.example.springdata.table.renderers.GraphicsPageableTableExample.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);//w ww  . j a va  2 s . co m

    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;
    final PageableTable pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize,
            SpringDataPageContentProvider.getInstance(),
            ResultAndNavigationPageGraphicsRendererFactory.getBlueFactory(), null);
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    // 2) Initialize the table viewer
    TableViewer viewer = pageableTable.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.
    pageableTable.setPageLoader(new SpringDataPageLoaderList(items));

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

    final Combo styleCombo = new Combo(shell, SWT.READ_ONLY);
    styleCombo.setItems(new String[] { "Blue", "Green", "Black" });
    styleCombo.select(0);
    styleCombo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (styleCombo.getText().equals("Blue")) {
                ((ResultAndNavigationPageGraphicsRenderer) pageableTable.getCompositeTop()).getNavigationPage()
                        .setConfigurator(BlueNavigationPageGraphicsConfigurator.getInstance());
            } else if (styleCombo.getText().equals("Green")) {
                ((ResultAndNavigationPageGraphicsRenderer) pageableTable.getCompositeTop())
                        .setConfigurator(GreenNavigationPageGraphicsConfigurator.getInstance());
            } else {
                ((ResultAndNavigationPageGraphicsRenderer) pageableTable.getCompositeTop())
                        .setConfigurator(BlackNavigationPageGraphicsConfigurator.getInstance());
            }

        }
    });

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

From source file:org.eclipse.nebula.widgets.pagination.example.springdata.table.renderers.OneRendererPaginationTableAtHandExample.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);//  ww w  . ja  v a2 s. c  o m

    final List<Person> items = createList();

    Composite parent = new Composite(shell, SWT.NONE);
    parent.setLayoutData(new GridData(GridData.FILL_BOTH));
    parent.setLayout(new GridLayout());

    // Left panel
    Table table = new Table(parent, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));

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

    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    // 3) Create Table columns with sort of paginated list.
    int pageSize = 10;
    final PageableController controller = new SpringDataPageableController(pageSize);
    final IPageLoader pageLoader = new SpringDataPageLoaderList(items);
    controller.addPageChangedListener(PageLoaderStrategyHelper.createLoadPageAndReplaceItemsListener(controller,
            viewer, pageLoader, SpringDataPageContentProvider.getInstance(), null));

    // Create navigation page links
    ResultAndNavigationPageLinksRenderer resultAndPageLinksDecorator = new ResultAndNavigationPageLinksRenderer(
            parent, SWT.NONE, controller);
    resultAndPageLinksDecorator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    createColumns(viewer, controller);
    // 3) Set current page to 0 to refresh the table

    controller.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.example.springdata.table.renderers.OneRendererPaginationTableWithPageableTableExample.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  ww. j a v  a  2s. c  o m*/

    final List<Person> items = createList();

    int pageSize = 10;
    final PageableTable pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize,
            SpringDataPageContentProvider.getInstance(), null,
            ResultAndNavigationPageLinksRendererFactory.getFactory());
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));
    pageableTable.setPageLoader(new SpringDataPageLoaderList(items));

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

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

    PageableController controller = pageableTable.getController();
    createColumns(viewer, controller);
    // 3) Set current page to 0 to refresh the table

    controller.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.example.springdata.table.renderers.ScalePageableTableExample.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);/* w  ww .ja  va 2 s .co  m*/

    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 pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize,
            SpringDataPageContentProvider.getInstance(), NavigationPageScaleRendererFactory.getFactory(), null);
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    // 2) Initialize the table viewer
    TableViewer viewer = pageableTable.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.
    pageableTable.setPageLoader(new SpringDataPageLoaderList(items));

    // 4) Set current page to 0 to display the first page
    pageableTable.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.example.springdata.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  ww  .ja  v a  2  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 pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize,
            SpringDataPageContentProvider.getInstance());
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    // 2) Initialize the table viewer
    TableViewer viewer = pageableTable.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.
    pageableTable.setPageLoader(new SpringDataPageLoaderList(items));

    // 4) Set current page to 0 to display the first page
    pageableTable.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.example.springdata.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 ww w . j a  v  a2 s  .c o m

    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 pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize,
            SpringDataPageContentProvider.getInstance());
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    // 2) Initialize the table viewer + SWT Table
    TableViewer viewer = pageableTable.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.
    pageableTable.setPageLoader(new SpringDataPageLoaderList(items));

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

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