@Override
public void update(ViewerCell cell) {
Type type = (Type) cell.getElement();
AnnotationStyle style = mDotCorpusElement.getAnnotation(type);
cell.setText(Integer.toString(style.getLayer()));
}});
TypeSystem typeSytstem = mProject.getTypesystemElement().getTypeSystem();
Type annotationType = typeSytstem.getType(CAS.TYPE_NAME_ANNOTATION);
List<Type> types = typeSytstem.getProperlySubsumedTypes(annotationType);
for (Type type : types) {
// inserts objects with type Type
mTypeList.add(type);
}
mTypeList.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
itemSelected();
}
});
Composite settingsComposite = new Composite(base, SWT.NONE);
GridLayout settingsLayout = new GridLayout();
settingsLayout.numColumns = 2;
settingsComposite.setLayout(settingsLayout);
// text style combo
Label styleText = new Label(settingsComposite, SWT.READ_ONLY);
styleText.setText("Style:");
// style combo
mStyleCombo = new Combo(settingsComposite, SWT.READ_ONLY | SWT.DROP_DOWN);
mStyleCombo.setEnabled(false);
mStyleCombo.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
if (mCurrentSelectedAnnotation == null) {
mCurrentSelectedAnnotation = getDefaultAnnotation();
}
mCurrentSelectedAnnotation = new AnnotationStyle(
mCurrentSelectedAnnotation.getAnnotation(), AnnotationStyle.Style
.valueOf(mStyleCombo.getText()), mCurrentSelectedAnnotation.getColor(),
mCurrentSelectedAnnotation.getLayer());
mDotCorpusElement.setStyle(mCurrentSelectedAnnotation);
}
public void widgetDefaultSelected(SelectionEvent e) {
// not needed
}
});
AnnotationStyle.Style possibleStyles[] = AnnotationStyle.Style.values();
for (AnnotationStyle.Style style : possibleStyles) {
mStyleCombo.add(style.name());
}
// text color label
Label colorText = new Label(settingsComposite, SWT.NONE);
colorText.setText("Color:");
mColorSelector = new ColorSelector(settingsComposite);
mColorSelector.setEnabled(false);
mColorSelector.addListener(new IPropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
if (mCurrentSelectedAnnotation == null) {
mCurrentSelectedAnnotation = getDefaultAnnotation();
}
RGB colorRGB = mColorSelector.getColorValue();
Color color = new Color(colorRGB.red, colorRGB.green, colorRGB.blue);
mCurrentSelectedAnnotation = new AnnotationStyle(
mCurrentSelectedAnnotation.getAnnotation(), mCurrentSelectedAnnotation.getStyle(),
color, mCurrentSelectedAnnotation.getLayer());
mDotCorpusElement.setStyle(mCurrentSelectedAnnotation);
}
});
Button moveLayerUpButton = new Button(settingsComposite, SWT.NONE);
moveLayerUpButton.setText("Move layer up");
GridDataFactory.fillDefaults().span(2, 1).applyTo(moveLayerUpButton);
moveLayerUpButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
public void widgetSelected(SelectionEvent e) {
if (mCurrentSelectedAnnotation == null) {
mCurrentSelectedAnnotation = getDefaultAnnotation();
}
mCurrentSelectedAnnotation = new AnnotationStyle(
mCurrentSelectedAnnotation.getAnnotation(), AnnotationStyle.Style
.valueOf(mStyleCombo.getText()), mCurrentSelectedAnnotation.getColor(),
mCurrentSelectedAnnotation.getLayer() + 1);
mDotCorpusElement.setStyle(mCurrentSelectedAnnotation);
mTypeList.refresh(((IStructuredSelection) mTypeList.getSelection()).getFirstElement(),
true);
}
});
Button moveLayerDownButton = new Button(settingsComposite, SWT.NONE);
moveLayerDownButton.setText("Move layer down");
GridDataFactory.fillDefaults().span(2, 1).applyTo(moveLayerDownButton);
moveLayerDownButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
public void widgetSelected(SelectionEvent e) {
if (mCurrentSelectedAnnotation != null && mCurrentSelectedAnnotation.getLayer() - 1 >= 0) {
mCurrentSelectedAnnotation = getDefaultAnnotation();
mCurrentSelectedAnnotation = new AnnotationStyle(mCurrentSelectedAnnotation
.getAnnotation(), AnnotationStyle.Style.valueOf(mStyleCombo.getText()),
mCurrentSelectedAnnotation.getColor(), mCurrentSelectedAnnotation.getLayer() - 1);
mDotCorpusElement.setStyle(mCurrentSelectedAnnotation);