List of usage examples for org.eclipse.jface.viewers TableViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
AbstractTableViewer
. 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()); } } }); }