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.ModelSortPageableTableAndTotalChangedExample.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 .j a v a  2s.  c om

    Label totalLabel = new Label(shell, SWT.NONE);
    totalLabel.setText("Total:");
    final Combo combo = new Combo(shell, SWT.READ_ONLY);
    combo.setItems(TOTAL_ITEMS);
    combo.select(3);

    // 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);
    GridData gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 2;
    pageableTable.setLayoutData(gridData);

    // 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);

    // 4) Set the page loader used to load a page (sublist of String)
    // according the page index selected, the page size etc.
    List<Person> items = createList(combo);
    final PageResultLoaderList<Person> pageLoader = new PageResultLoaderList<Person>(items);
    pageableTable.setPageLoader(pageLoader);

    // 5) Set current page to 0 to refresh the table
    pageableTable.setCurrentPage(0);

    combo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            List<Person> items = createList(combo);
            pageLoader.setItems(items);
            pageableTable.refreshPage(true);
        }
    });

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

From source file:org.eclipse.nebula.widgets.pagination.snippets.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 ww  . j  a v  a2s .  co 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);
    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 PageResultLoaderList<Person>(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.snippets.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);//from www  . j a v  a2s.  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;
    final PageableTable pageableTable = new PageableTable(shell, SWT.BORDER,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize) {
        @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 PageResultLoaderList<Person>(items) {
        @Override
        public PageResult<Person> 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.snippets.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);/* w  w w.  j  ava  2s  .c o 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 PageableController(pageSize);
    final IPageLoader<PageResult<Person>> pageLoader = new PageResultLoaderList<Person>(items);
    controller.addPageChangedListener(PageLoaderStrategyHelper.createLoadPageAndReplaceItemsListener(controller,
            viewer, pageLoader, PageResultContentProvider.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.snippets.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 ww .j  av  a2s  . 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,
            PageResultContentProvider.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 PageResultLoaderList<String>(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.snippets.table.renderers.GraphicsPageableTableAndTotalChangedExample.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  ava2s .c o  m*/

    Label totalLabel = new Label(shell, SWT.NONE);
    totalLabel.setText("Total:");
    final Combo combo = new Combo(shell, SWT.READ_ONLY);
    combo.setItems(TOTAL_ITEMS);
    combo.select(3);

    // 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,
            PageResultContentProvider.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.
    List<String> items = createList(combo);
    final PageResultLoaderList<String> pageLoader = new PageResultLoaderList<String>(items);
    pageableTable.setPageLoader(pageLoader);

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

    combo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            List<String> items = createList(combo);
            pageLoader.setItems(items);
            pageableTable.refreshPage(true);
        }
    });

    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.snippets.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);//ww w.j  a va 2 s  .com

    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,
            PageResultContentProvider.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 PageResultLoaderList<String>(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.snippets.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.  j a 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 PageableController(pageSize);
    final IPageLoader<PageResult<Person>> pageLoader = new PageResultLoaderList<Person>(items);
    controller.addPageChangedListener(PageLoaderStrategyHelper.createLoadPageAndReplaceItemsListener(controller,
            viewer, pageLoader, PageResultContentProvider.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.snippets.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  w  w  . j a v  a2  s.  co 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,
            PageResultContentProvider.getInstance(), null,
            ResultAndNavigationPageLinksRendererFactory.getFactory());
    pageableTable.setLayoutData(new GridData(GridData.FILL_BOTH));
    pageableTable.setPageLoader(new PageResultLoaderList<Person>(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.snippets.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);/*from w w  w  . ja v  a  2  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,
            PageResultContentProvider.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 PageResultLoaderList<String>(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();
}