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.incquery.tooling.ui.queryexplorer.content.detail.DetailsViewerUtil.java

License:Open Source License

public void prepareFor(PatternMatchContent match, TableViewer viewer) {
    clearTableViewerColumns(viewer);/*  www.  j av  a 2s.c  o  m*/
    String[] titles = { "Parameter", "Value" };
    createColumns(viewer, titles);
    viewer.setUseHashlookup(true);
    viewer.setColumnProperties(titles);
    viewer.setContentProvider(new ObservableListContentProvider());
    viewer.setLabelProvider(new DetailElementLabelProvider());
    viewer.setCellModifier(new DetailElementCellModifier());
    viewer.setComparator(new ViewerComparator(new DetailComparator(match.getPatternMatch().parameterNames())));

    DatabindingAdapter<IPatternMatch> databindableMatcher = DisplayUtil
            .getDatabindingAdapter(match.getPatternMatch().patternName());// , match.getParent().isGenerated());

    if (databindableMatcher == null) {
        viewer.setInput(null);
    } else {
        DetailObserver observer = new DetailObserver(databindableMatcher, match);
        viewer.setInput(observer);
    }
}

From source file:org.eclipse.incquery.tooling.ui.queryexplorer.content.detail.DetailsViewerUtil.java

License:Open Source License

public void prepareFor(PatternMatcherContent observableMatcher, TableViewer viewer) {
    clearTableViewerColumns(viewer);/*  w  w  w .  j  a  v  a  2  s  .  c om*/
    String[] titles = { "Parameter", "Filter", "Class" };
    createColumns(viewer, titles);
    viewer.setUseHashlookup(true);
    viewer.setColumnProperties(titles);
    viewer.setContentProvider(new MatcherConfigurationContentProvider());
    viewer.setLabelProvider(new MatcherConfigurationLabelProvider());
    viewer.setCellModifier(new MatcherConfigurationCellModifier(viewer));
    viewer.setComparator(
            new ViewerComparator(new DetailComparator(observableMatcher.getMatcher().getParameterNames())));

    Table table = viewer.getTable();
    CellEditor[] editors = new CellEditor[titles.length];

    editors[0] = new TextCellEditor(table);
    ModelElementCellEditor cellEditor = new ModelElementCellEditor(table, observableMatcher);
    injector.injectMembers(cellEditor);
    editors[1] = cellEditor;
    editors[2] = new TextCellEditor(table);

    viewer.setCellEditors(editors);

    IQuerySpecification<?> specification = QueryExplorerPatternRegistry.getInstance()
            .getPatternByFqn(observableMatcher.getPatternName());
    Object[] filter = observableMatcher.getFilter();
    MatcherConfiguration[] input;
    if (specification != null) {
        input = new MatcherConfiguration[specification.getParameters().size()];
        if (filter != null) {
            for (int i = 0; i < specification.getParameters().size(); i++) {
                PParameter var = specification.getParameters().get(i);
                input[i] = new MatcherConfiguration(var.getName(), var.getTypeName(), filter[i]);
            }
        }
    } else {
        input = new MatcherConfiguration[0];
    }
    viewer.setInput(input);
}

From source file:org.eclipse.incquery.tooling.ui.queryexplorer.content.detail.TableViewerUtil.java

License:Open Source License

public void prepareTableViewerForObservableInput(final ObservablePatternMatch match, TableViewer viewer) {
    clearTableViewerColumns(viewer);/*  w  w  w.ja v a  2  s .  co  m*/
    String[] titles = { "Parameter", "Value" };
    createColumns(viewer, titles);
    viewer.setUseHashlookup(true);
    viewer.setColumnProperties(titles);
    viewer.setContentProvider(new ObservableListContentProvider());
    viewer.setLabelProvider(new DetailElementLabelProvider());
    viewer.setCellModifier(new DetailElementCellModifier());
    viewer.setComparator(new ViewerComparator(new DetailComparator(match.getPatternMatch().parameterNames())));

    DatabindingAdapter<IPatternMatch> databindableMatcher = DatabindingUtil
            .getDatabindingAdapter(match.getPatternMatch().patternName(), match.getParent().isGenerated());

    if (databindableMatcher == null) {
        viewer.setInput(null);
    } else {
        DetailObserver observer = new DetailObserver(databindableMatcher, match);
        viewer.setInput(observer);
    }
}

From source file:org.eclipse.incquery.tooling.ui.queryexplorer.content.detail.TableViewerUtil.java

License:Open Source License

public void prepareTableViewerForMatcherConfiguration(ObservablePatternMatcher observableMatcher,
        TableViewer viewer) {
    clearTableViewerColumns(viewer);/*from   w  ww . j  av a2 s  .  c  o  m*/
    String[] titles = { "Parameter", "Filter", "Class" };
    createColumns(viewer, titles);
    viewer.setUseHashlookup(true);
    viewer.setColumnProperties(titles);
    viewer.setContentProvider(new MatcherConfigurationContentProvider());
    viewer.setLabelProvider(new MatcherConfigurationLabelProvider());
    viewer.setCellModifier(new MatcherConfigurationCellModifier(viewer));
    viewer.setComparator(
            new ViewerComparator(new DetailComparator(observableMatcher.getMatcher().getParameterNames())));

    Table table = viewer.getTable();
    CellEditor[] editors = new CellEditor[titles.length];

    editors[0] = new TextCellEditor(table);
    ModelElementCellEditor cellEditor = new ModelElementCellEditor(table, observableMatcher);
    injector.injectMembers(cellEditor);
    editors[1] = cellEditor;
    editors[2] = new TextCellEditor(table);

    viewer.setCellEditors(editors);

    Pattern pattern = PatternRegistry.getInstance().getPatternByFqn(observableMatcher.getPatternName());
    Object[] filter = observableMatcher.getFilter();
    MatcherConfiguration[] input = new MatcherConfiguration[pattern.getParameters().size()];
    if (filter != null) {
        for (int i = 0; i < pattern.getParameters().size(); i++) {
            Variable var = pattern.getParameters().get(i);
            String name = var.getName();
            JvmTypeReference ref = typeProvider.getTypeForIdentifiable(var);
            String clazz = (ref == null) ? "" : ref.getType().getQualifiedName();
            input[i] = new MatcherConfiguration(name, clazz, filter[i]);
        }
        viewer.setInput(input);
    }
}

From source file:org.eclipse.jetty.osgi.pde.launch.ui.tabs.JavaProjectsAsWebappsBlock.java

License:Open Source License

/**
 * Calls create control of the super (which is final)
 * then go an tweak the created control so that its purpose is for jetty home
 * instead of a working directory selection.
 *//* w  w  w  .  j ava2s . c om*/
public void createControl(Composite parent) {
    parent = SWTFactory.createComposite(parent, 1, 2, GridData.FILL_BOTH);
    super.setControl(parent);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    parent.setLayoutData(gridData);

    _webappsInJavaProjects = new HashMap<IProject, NaiveJavaProjectToWebappIdentifier>();

    Group grp = SWTFactory.createGroup(parent,
            JettyLauncherMessages.JavaProjectsAsWebappsBlock_Select_java_projects_to_run_as_webapps, 1, 1,
            GridData.FILL_BOTH);
    gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    grp.setLayoutData(gridData);

    _javaProjectsViewer = CheckboxTableViewer.newCheckList(grp, SWT.BORDER);
    Table table = _javaProjectsViewer.getTable();

    TableLayout layout = new TableLayout();

    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    TableColumn tc0 = new TableColumn(table, SWT.NONE, 0);
    TableColumn tc1 = new TableColumn(table, SWT.NONE, 1);
    TableColumn tc2 = new TableColumn(table, SWT.NONE, 2);
    //        TableColumn tc3 = new TableColumn(table,SWT.NONE, 3);
    tc0.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_JavaProject);
    tc1.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_ContextPath);
    tc2.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_WebappBaseFolder);
    //        tc3.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_JettyContextFilePathes);

    layout.addColumnData(new ColumnWeightData(28));
    layout.addColumnData(new ColumnWeightData(12));
    layout.addColumnData(new ColumnWeightData(60));

    table.setLayout(layout);

    _javaProjectsViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    _javaProjectsViewer.setContentProvider(new JavaProjectsOrWebBundlesContentProvider(true));
    _javaProjectsViewer.setLabelProvider(new JavaProjectsOrWebBundleLabelProvider());
    _javaProjectsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            setDirty(true);
            updateLaunchConfigurationDialog();
        }
    });
    _javaProjectsViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());

    //now for the read-only list of web-bundles.

    grp = SWTFactory.createGroup(parent, JettyLauncherMessages.JavaProjectsAsWebappsBlock_List_webbundles, 1, 1,
            GridData.FILL_BOTH);
    gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    grp.setLayoutData(gridData);

    TableViewer webBundles = new TableViewer(grp, SWT.BORDER);
    table = webBundles.getTable();
    layout = new TableLayout();

    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    tc0 = new TableColumn(table, SWT.NONE, 0);
    tc1 = new TableColumn(table, SWT.NONE, 1);
    tc2 = new TableColumn(table, SWT.NONE, 2);
    //        TableColumn tc3 = new TableColumn(table,SWT.NONE, 3);
    tc0.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_WebBundleProject);
    tc1.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_ContextPath);
    tc2.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_WebappBaseFolder);
    //        tc3.setText(JettyLauncherMessages.JavaProjectsAsWebappsBlock_Column_JettyContextFilePathes);

    layout.addColumnData(new ColumnWeightData(28));
    layout.addColumnData(new ColumnWeightData(12));
    layout.addColumnData(new ColumnWeightData(60));

    table.setLayout(layout);
    webBundles.setContentProvider(new JavaProjectsOrWebBundlesContentProvider(false));
    webBundles.setLabelProvider(new JavaProjectsOrWebBundleLabelProvider());
    webBundles.setInput(ResourcesPlugin.getWorkspace().getRoot());
    webBundles.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
}

From source file:org.eclipse.jface.examples.databinding.snippets.Snippet007ColorLabelProvider.java

License:Open Source License

/**
 * @param args/* w w w.ja v  a2s . com*/
 */
@SuppressWarnings("unchecked")
public static void main(String[] args) {
    final List<Person> persons = new ArrayList<>();
    persons.add(new Person("Fiona Apple", Person.FEMALE));
    persons.add(new Person("Elliot Smith", Person.MALE));
    persons.add(new Person("Diana Krall", Person.FEMALE));
    persons.add(new Person("David Gilmour", Person.MALE));

    final Display display = new Display();
    Realm.runWithDefault(DisplayRealm.getRealm(display), () -> {
        Shell shell = new Shell(display);
        shell.setText("Gender Bender");
        shell.setLayout(new GridLayout());

        Table table = new Table(shell, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
        GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
        table.setLayoutData(gridData);
        table.setHeaderVisible(true);
        table.setLinesVisible(true);
        TableColumn column = new TableColumn(table, SWT.NONE);
        column.setText("No");
        column.setWidth(20);
        column = new TableColumn(table, SWT.NONE);
        column.setText("Name");
        column.setWidth(100);
        final TableViewer viewer = new TableViewer(table);

        IObservableList<Person> observableList = Observables.staticObservableList(persons);
        ObservableListContentProvider<Person> contentProvider = new ObservableListContentProvider<>();

        viewer.setContentProvider(contentProvider);

        // this does not have to correspond to the columns in the table,
        // we just list all attributes that affect the table content.
        IObservableMap<Person, ?>[] attributes = new IObservableMap[2];
        attributes[0] = BeanProperties.value(Person.class, "name")
                .observeDetail(contentProvider.getKnownElements());
        attributes[1] = BeanProperties.value(Person.class, "gender")
                .observeDetail(contentProvider.getKnownElements());

        class ColorLabelProvider extends ObservableMapLabelProvider implements ITableColorProvider {
            Color male = display.getSystemColor(SWT.COLOR_BLUE);

            Color female = new Color(display, 255, 192, 203);

            ColorLabelProvider(IObservableMap<?, ?>[] attributes) {
                super(attributes);
            }

            // to drive home the point that attributes does not have to
            // match
            // the columns
            // in the table, we change the column text as follows:
            @Override
            public String getColumnText(Object element, int index) {
                if (index == 0) {
                    return Integer.toString(persons.indexOf(element) + 1);
                }
                return ((Person) element).getName();
            }

            @Override
            public Color getBackground(Object element, int index) {
                return null;
            }

            @Override
            public Color getForeground(Object element, int index) {
                if (index == 0)
                    return null;
                Person person = (Person) element;
                return (person.getGender() == Person.MALE) ? male : female;
            }

            @Override
            public void dispose() {
                super.dispose();
                female.dispose();
            }
        }
        viewer.setLabelProvider(new ColorLabelProvider(attributes));

        viewer.setInput(observableList);

        table.getColumn(0).pack();

        Button button = new Button(shell, SWT.PUSH);
        button.setText("Toggle Gender");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent arg0) {
                IStructuredSelection selection = viewer.getStructuredSelection();
                if (selection != null && !selection.isEmpty()) {
                    Person person = (Person) selection.getFirstElement();
                    person.setGender((person.getGender() == Person.MALE) ? Person.FEMALE : Person.MALE);
                }
            }
        });

        shell.setSize(300, 400);
        shell.open();

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

From source file:org.eclipse.jface.snippets.layout.Snippet016TableLayout.java

License:Open Source License

public Snippet016TableLayout(Composite comp) {
    final TableViewer v = new TableViewer(new Table(comp, SWT.BORDER));
    v.setLabelProvider(new MyLabelProvider());
    v.setContentProvider(ArrayContentProvider.getInstance());
    v.getTable().setHeaderVisible(true);

    TableColumnLayout ad = new TableColumnLayout();
    comp.setLayout(ad);//ww w .  ja v  a 2  s. c o m

    TableColumn column1 = createTableColumn(v.getTable(), "Column 1");
    TableColumn column2 = createTableColumn(v.getTable(), "Column 2");

    ad.setColumnData(column1, new ColumnWeightData(90, 290));
    ad.setColumnData(column2, new ColumnWeightData(10, 200));

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

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

License:Open Source License

public Snippet001TableViewer(Shell shell) {
    final TableViewer v = new TableViewer(shell);
    v.setLabelProvider(new LabelProvider());
    // for demonstration purposes use custom content provider
    // alternatively you could use ArrayContentProvider.getInstance()
    v.setContentProvider(new MyContentProvider());
    createColumn(v.getTable(), "Values");
    MyModel[] model = createModel();/*from   ww w . j  av a 2  s.c o m*/
    v.setInput(model);
    v.getTable().setLinesVisible(true);
}

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

License:Open Source License

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

    TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
    column.setWidth(200);//  www .jav a2s  . co m
    column.setText("Column 1");

    column = new TableColumn(v.getTable(), SWT.NONE);
    column.setWidth(200);
    column.setText("Column 2");

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

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

License:Open Source License

public Snippet004HideSelection(Shell shell) {
    final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.setLabelProvider(new LabelProvider());
    v.setContentProvider(ArrayContentProvider.getInstance());
    v.setInput(createModel());/* w  ww  .j av  a 2 s .  c o  m*/
    createColumn(v.getTable(), "Values");
    v.getTable().setLinesVisible(true);
    v.getTable().addMouseListener(new MouseAdapter() {

        @Override
        public void mouseDown(MouseEvent e) {
            if (v.getTable().getItem(new Point(e.x, e.y)) == null) {
                v.setSelection(new StructuredSelection());
            }
        }

    });
}