in ruta-ep-addons/src/main/java/org/apache/uima/ruta/testing/ui/views/TestViewPage.java [119:328]
public void createControl(Composite parent) {
IPreferenceStore store = RutaAddonsPlugin.getDefault().getPreferenceStore();
this.propertyChangeListener = new IPropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
if (event.getProperty().equals("LOAD_OLD_TEST_RESULTS")) {
if (event.getNewValue().toString().equals("true")) {
loadExistingTests();
}
}
}
};
store.addPropertyChangeListener(propertyChangeListener);
this.overlay = new Composite(parent, SWT.NULL);
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 1;
gridLayout.marginWidth = 5;
gridLayout.marginHeight = 5;
overlay.setLayout(gridLayout);
// Composite rowButtonOverlay = new Composite(overlay, SWT.RIGHT_TO_LEFT);
GridData layoutData = new GridData(SWT.RIGHT);
layoutData.grabExcessHorizontalSpace = true;
layoutData.horizontalAlignment = GridData.END;
layoutData.horizontalSpan = 1;
// rowButtonOverlay.setLayout(rowLayout);
tInfoPanel = new InfoPanel(overlay);
GridData tInfoLabelData = new GridData();
tInfoLabelData.grabExcessHorizontalSpace = true;
tInfoLabelData.horizontalAlignment = GridData.FILL;
tInfoLabelData.horizontalSpan = 1;
tInfoPanel.setLayoutData(tInfoLabelData);
IPath path = script.getFullPath().removeFileExtension();
String pathString = path.removeFirstSegments(2).toPortableString().replaceAll("[/]", ".");
tInfoPanel.setFilename(pathString);
sash = new SashForm(overlay, SWT.HORIZONTAL);
sash.setLayoutData(new GridData(GridData.FILL_BOTH));
listviewer = new TableViewer(sash, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
labelProvider = new ListLabelProvider();
listviewer.setLabelProvider(labelProvider);
ListContentProvider provider = new ListContentProvider();
listviewer.setContentProvider(provider);
listviewer.getControl().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.keyCode;
// backspace or delete
if (keyCode == SWT.BS || keyCode == SWT.DEL) {
List<?> list = (List<?>) listviewer.getInput();
if (listviewer.getSelection() instanceof StructuredSelection) {
StructuredSelection selection = (StructuredSelection) listviewer.getSelection();
Iterator<?> iter = selection.iterator();
while (iter.hasNext()) {
list.remove(iter.next());
}
}
listviewer.refresh(false);
}
}
});
checkProjectTestStructure(script);
loadExistingTests();
listviewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
Object obj = event.getSelection();
if (obj instanceof IStructuredSelection) {
StructuredSelection selection = (StructuredSelection) obj;
Iterator<?> iterator = selection.iterator();
while (iterator.hasNext()) {
Object element = iterator.next();
if (element instanceof TestCasData) {
TestCasData data = (TestCasData) element;
updateSingleTestInformation(data);
}
}
}
}
});
listviewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
Object obj = event.getSelection();
if (obj instanceof IStructuredSelection) {
StructuredSelection selection = (StructuredSelection) obj;
Iterator<?> iterator = selection.iterator();
while (iterator.hasNext()) {
Object element = iterator.next();
if (element instanceof TestCasData) {
TestCasData data = (TestCasData) element;
if (data.getResultPath() != null) {
openInCasEditor(data.getResultPath());
}
}
}
}
}
});
Transfer[] transfers = new Transfer[] { FileTransfer.getInstance() };
int ops = DND.DROP_COPY | DND.DROP_DEFAULT | DND.DROP_LINK | DND.DROP_MOVE;
listviewer.addDropSupport(ops, transfers, new ListDropAdapter(listviewer));
GridData listData = new GridData();
listData.horizontalAlignment = GridData.FILL;
listData.verticalAlignment = GridData.FILL;
listData.grabExcessHorizontalSpace = true;
listData.grabExcessVerticalSpace = true;
listData.horizontalSpan = 1;
listviewer.getControl().setLayoutData(listData);
tableViewer = new TableViewer(sash);
tableViewer.setLabelProvider(new EvalTableLabelProvider());
tableViewer.setContentProvider(new EvalTableContentProvider());
tableViewer.setSorter(new TypeTableSorter());
Table table = tableViewer.getTable();
TableColumn tc = new TableColumn(table, SWT.LEFT);
tc.setText("Type");
tc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
((TypeTableSorter) tableViewer.getSorter()).doSort(TypeEvalTableConst.COLUMN_TYPE_NAME);
tableViewer.refresh();
}
});
tc = new TableColumn(table, SWT.LEFT);
tc.setText("TP");
tc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
((TypeTableSorter) tableViewer.getSorter())
.doSort(TypeEvalTableConst.COLUMN_TRUE_POSITIVES);
tableViewer.refresh();
}
});
tc = new TableColumn(table, SWT.LEFT);
tc.setText("FP");
tc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
((TypeTableSorter) tableViewer.getSorter())
.doSort(TypeEvalTableConst.COLUMN_FALSE_POSITIVES);
tableViewer.refresh();
}
});
tc = new TableColumn(table, SWT.LEFT);
tc.setText("FN");
tc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
((TypeTableSorter) tableViewer.getSorter())
.doSort(TypeEvalTableConst.COLUMN_FALSE_NEGATIVES);
tableViewer.refresh();
}
});
tc = new TableColumn(table, SWT.LEFT);
tc.setText("Prec.");
tc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
((TypeTableSorter) tableViewer.getSorter()).doSort(TypeEvalTableConst.COLUMN_PRECISION);
tableViewer.refresh();
}
});
tc = new TableColumn(table, SWT.LEFT);
tc.setText("Recall");
tc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
((TypeTableSorter) tableViewer.getSorter()).doSort(TypeEvalTableConst.COLUMN_RECALL);
tableViewer.refresh();
}
});
tc = new TableColumn(table, SWT.LEFT);
tc.setText("F1");
tc.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
((TypeTableSorter) tableViewer.getSorter()).doSort(TypeEvalTableConst.COLUMN_F1);
tableViewer.refresh();
}
});
for (int i = 0, n = table.getColumnCount(); i < n; i++) {
table.getColumn(i).pack();
}
table.setHeaderVisible(true);
table.setLinesVisible(true);
}