Slides for a talk at the Seattle Java User Group about building a workflow management application for a biomedical lab on top of the OSGi module system and the Eclipse Rich Client Platform.
28. module-info.java
module com.greetings @ 0.1 {
requires jdk.base; // default to the highest available version
requires org.astro @ 1.[1.1.1]+;
class com.greetings.Hello;
}}
http://openjdk.java.net/projects/jigsaw/
29. TableDemo.java
package org.seajug.demo;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
public class TableDemo {
public void show(String[] values, Composite parent) {
Table table = new Table(parent, SWT.BORDER | SWT.V_SCROLL);
for (String value : values) {
TableItem item = new TableItem(table, SWT.NONE);
item.setText(value);
}
}
}
30. TableViewerDemo.java
package org.seajug.demo;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
public class TableViewerDemo {
public void show(String[] values, Composite parent) {
TableViewer viewer = new TableViewer(parent, SWT.BORDER | SWT.V_SCROLL);
viewer.setLabelProvider(new LabelProvider());
viewer.setContentProvider(new ArrayContentProvider());
viewer.setInput(values);
}
}
31. TableViewPartDemo.java
package org.seajug.demo;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.ViewPart;
public class DemoViewPart extends ViewPart {
private TableViewer viewer;
@Override
public void init(IViewSite site) throws PartInitException {
super.init(site);
}
@Override
public void createPartControl(Composite parent) {
viewer = new TableViewer(parent, SWT.BORDER | SWT.V_SCROLL);
...
}
@Override
public void setFocus() {
viewer.getControl().setFocus();
}
@Override
public void dispose() {
super.dispose();
}
}