Révision 2855
| tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/KRAnnotation.java (revision 2855) | ||
|---|---|---|
| 19 | 19 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
| 20 | 20 |
import org.eclipse.jface.viewers.IStructuredSelection; |
| 21 | 21 |
import org.eclipse.jface.viewers.SelectionChangedEvent; |
| 22 |
import org.eclipse.jface.viewers.StructuredSelection; |
|
| 22 | 23 |
import org.eclipse.jface.viewers.TableViewer; |
| 23 | 24 |
import org.eclipse.jface.viewers.TableViewerColumn; |
| 24 | 25 |
import org.eclipse.osgi.util.NLS; |
| ... | ... | |
| 134 | 135 |
public String getName() {
|
| 135 | 136 |
return KRAnnotationUIMessages.squencesDeMotsCatgorievaleur; |
| 136 | 137 |
} |
| 137 |
|
|
| 138 |
|
|
| 138 | 139 |
@Override |
| 139 | 140 |
public boolean install(TXMEditor<? extends TXMResult> txmeditor, AnnotationExtension ext, Composite parent, int position) throws Exception {
|
| 140 | 141 |
|
| ... | ... | |
| 144 | 145 |
this.corpus = concordance.getCorpus(); |
| 145 | 146 |
this.annotations = new ConcordanceAnnotations(this.editor.getConcordance()); |
| 146 | 147 |
this.annotManager = KRAnnotationEngine.getAnnotationManager(corpus); |
| 147 |
|
|
| 148 |
|
|
| 148 | 149 |
TableViewer viewer = this.editor.getLineTableViewer(); |
| 149 | 150 |
|
| 150 | 151 |
// RESULT |
| ... | ... | |
| 152 | 153 |
if (position < 0) {
|
| 153 | 154 |
position = 3 + extension.getNumberOfAnnotationArea(); // after keyword column and previous annotation columns |
| 154 | 155 |
} |
| 155 |
|
|
| 156 |
|
|
| 156 | 157 |
TableViewerColumn annotationColumnViewer = new TableViewerColumn(viewer, SWT.CENTER, position); |
| 157 | 158 |
annotationColumn = annotationColumnViewer.getColumn(); |
| 158 | 159 |
annotationColumn.setText(KRAnnotationUIMessages.category); |
| ... | ... | |
| 216 | 217 |
Log.fine(" KR: "+kr); //$NON-NLS-1$
|
| 217 | 218 |
List<AnnotationType> krtypes = kr.getAllAnnotationTypes(); |
| 218 | 219 |
for (AnnotationType type : krtypes) {
|
| 219 |
if (type.getEffect().equals(AnnotationEffect.SEGMENT)) {
|
|
| 220 |
typesList.add(type);
|
|
| 221 |
}
|
|
| 220 |
if (type.getEffect().equals(AnnotationEffect.SEGMENT)) {
|
|
| 221 |
typesList.add(type); |
|
| 222 |
} |
|
| 222 | 223 |
} |
| 223 | 224 |
|
| 224 | 225 |
Log.fine(NLS.bind(KRAnnotationUIMessages.availableAnnotationTypesColonP0, typesList)); |
| ... | ... | |
| 299 | 300 |
annotationTypesCombo.getCombo().select(0); |
| 300 | 301 |
annotations.setViewAnnotation(typesList.get(0)); |
| 301 | 302 |
} |
| 302 |
|
|
| 303 |
|
|
| 303 | 304 |
annotationTypesCombo.addSelectionChangedListener(new ISelectionChangedListener() {
|
| 304 | 305 |
@Override |
| 305 | 306 |
public void selectionChanged(SelectionChangedEvent event) {
|
| ... | ... | |
| 382 | 383 |
if (dialog.open() == InputDialog.OK) {
|
| 383 | 384 |
String name = dialog.getValue(); |
| 384 | 385 |
if (name.trim().length() == 0) return; |
| 385 |
String baseid = AsciiUtils.buildId(name); |
|
| 386 | 386 |
String id = AsciiUtils.buildId(name); |
| 387 |
int c = 1; |
|
| 388 |
while (kr.getType(id) != null) {
|
|
| 389 |
id = baseid+"_"+(c++); //$NON-NLS-1$ |
|
| 387 |
AnnotationType existingType = kr.getType(id); |
|
| 388 |
if (existingType != null) {
|
|
| 389 |
Log.warning(NLS.bind("The ''{0}'' annotation type already exists. Please use another name ({1}).", id, name));
|
|
| 390 |
annotationTypesCombo.setSelection(new StructuredSelection(existingType)); |
|
| 391 |
return; |
|
| 390 | 392 |
} |
| 391 | 393 |
AnnotationType type = kr.addType(name, id, ""); //$NON-NLS-1$ |
| 392 | 394 |
type.setEffect(AnnotationEffect.SEGMENT); |
| ... | ... | |
| 532 | 534 |
@Override |
| 533 | 535 |
public void widgetDefaultSelected(SelectionEvent e) { }
|
| 534 | 536 |
}); |
| 535 |
// Button saveAnnotationButton = new Button(annotationArea, SWT.PUSH); |
|
| 536 |
// saveAnnotationButton.setToolTipText(KRAnnotationUIMessages.saveTheAnnotations); |
|
| 537 |
// saveAnnotationButton.setImage(IImageKeys.getImage(IImageKeys.PENCIL_SAVE)); |
|
| 538 |
// |
|
| 539 |
// saveAnnotationButton.addSelectionListener(new SelectionListener() {
|
|
| 540 |
// @Override |
|
| 541 |
// public void widgetSelected(SelectionEvent e) {
|
|
| 542 |
// |
|
| 543 |
// try {
|
|
| 544 |
// AnnotationManager am = KRAnnotationEngine.getAnnotationManager(corpus); |
|
| 545 |
// if (am != null && am.hasChanges()) {
|
|
| 546 |
// // && MessageDialog.openConfirm(e.display.getActiveShell(), "Confirm annotation save", "Saving annotation will close this editor. Are you sure you want to save annotations right now ?") |
|
| 547 |
// JobHandler saveJob = SaveAnnotations.save(corpus.getMainCorpus()); |
|
| 548 |
// |
|
| 549 |
// if (saveJob == null || saveJob.getResult() == Status.CANCEL_STATUS) {
|
|
| 550 |
// // update editor corpus |
|
| 551 |
// System.out.println("Fail to save annotations of the corpus."); //$NON-NLS-1$
|
|
| 552 |
// } |
|
| 553 |
// |
|
| 554 |
// CorporaView.refresh(); |
|
| 555 |
// } |
|
| 556 |
// } catch(Exception ex) {
|
|
| 557 |
// ex.printStackTrace(); |
|
| 558 |
// } |
|
| 559 |
// } |
|
| 560 |
// |
|
| 561 |
// @Override |
|
| 562 |
// public void widgetDefaultSelected(SelectionEvent e) { }
|
|
| 563 |
// }); |
|
| 564 |
|
|
| 537 |
// Button saveAnnotationButton = new Button(annotationArea, SWT.PUSH);
|
|
| 538 |
// saveAnnotationButton.setToolTipText(KRAnnotationUIMessages.saveTheAnnotations);
|
|
| 539 |
// saveAnnotationButton.setImage(IImageKeys.getImage(IImageKeys.PENCIL_SAVE));
|
|
| 540 |
//
|
|
| 541 |
// saveAnnotationButton.addSelectionListener(new SelectionListener() {
|
|
| 542 |
// @Override
|
|
| 543 |
// public void widgetSelected(SelectionEvent e) {
|
|
| 544 |
//
|
|
| 545 |
// try {
|
|
| 546 |
// AnnotationManager am = KRAnnotationEngine.getAnnotationManager(corpus);
|
|
| 547 |
// if (am != null && am.hasChanges()) {
|
|
| 548 |
// // && MessageDialog.openConfirm(e.display.getActiveShell(), "Confirm annotation save", "Saving annotation will close this editor. Are you sure you want to save annotations right now ?")
|
|
| 549 |
// JobHandler saveJob = SaveAnnotations.save(corpus.getMainCorpus());
|
|
| 550 |
//
|
|
| 551 |
// if (saveJob == null || saveJob.getResult() == Status.CANCEL_STATUS) {
|
|
| 552 |
// // update editor corpus
|
|
| 553 |
// System.out.println("Fail to save annotations of the corpus."); //$NON-NLS-1$
|
|
| 554 |
// }
|
|
| 555 |
//
|
|
| 556 |
// CorporaView.refresh();
|
|
| 557 |
// }
|
|
| 558 |
// } catch(Exception ex) {
|
|
| 559 |
// ex.printStackTrace();
|
|
| 560 |
// }
|
|
| 561 |
// }
|
|
| 562 |
//
|
|
| 563 |
// @Override
|
|
| 564 |
// public void widgetDefaultSelected(SelectionEvent e) { }
|
|
| 565 |
// });
|
|
| 566 |
|
|
| 565 | 567 |
Button closeButton = new Button(annotationArea, SWT.PUSH); |
| 566 | 568 |
closeButton.setToolTipText(KRAnnotationUIMessages.closeTheToolbarWithoutSaving); |
| 567 | 569 |
closeButton.setImage(IImageKeys.getImage(IImageKeys.ACTION_DELETE)); |
| 568 | 570 |
closeButton.setLayoutData(new GridData(GridData.END, GridData.CENTER, true, false)); |
| 569 | 571 |
closeButton.addSelectionListener(new SelectionListener() {
|
| 570 |
|
|
| 572 |
|
|
| 571 | 573 |
@Override |
| 572 | 574 |
public void widgetSelected(SelectionEvent e) {
|
| 573 | 575 |
extension.removeAnnotationArea(KRAnnotation.this); |
| 574 | 576 |
} |
| 575 |
|
|
| 577 |
|
|
| 576 | 578 |
@Override |
| 577 | 579 |
public void widgetDefaultSelected(SelectionEvent e) {}
|
| 578 | 580 |
}); |
| 579 |
|
|
| 581 |
|
|
| 580 | 582 |
updateAnnotationWidgetStates(); |
| 581 | 583 |
editor.layout(true); |
| 582 | 584 |
|
| ... | ... | |
| 599 | 601 |
return false; |
| 600 | 602 |
} |
| 601 | 603 |
} |
| 602 |
|
|
| 604 |
|
|
| 603 | 605 |
protected void affectAnnotationToSelection(ISelection selection) {
|
| 604 | 606 |
|
| 605 | 607 |
final IStructuredSelection lineSelection = (IStructuredSelection) selection; |
| ... | ... | |
| 614 | 616 |
|
| 615 | 617 |
protected AnnotationType getSelectedAnnotationType() {
|
| 616 | 618 |
if (annotationTypesCombo.getCombo().isDisposed()) return null; |
| 617 |
|
|
| 619 |
|
|
| 618 | 620 |
IStructuredSelection isel = (IStructuredSelection)annotationTypesCombo.getSelection(); |
| 619 | 621 |
if (isel.isEmpty()) {
|
| 620 | 622 |
return null; |
| ... | ... | |
| 654 | 656 |
|
| 655 | 657 |
public void updateAnnotationWidgetStates() {
|
| 656 | 658 |
if (annotationArea == null) return; // :) |
| 659 |
if (annotationArea.isDisposed()) return; |
|
| 660 |
|
|
| 657 | 661 |
annotationArea.getDisplay().syncExec(new Runnable() {
|
| 658 | 662 |
|
| 659 | 663 |
@Override |
| ... | ... | |
| 683 | 687 |
} |
| 684 | 688 |
} |
| 685 | 689 |
|
| 686 |
if (infosAnnotTypeSelectedLink != null) {
|
|
| 687 |
infosAnnotTypeSelectedLink.setEnabled(getSelectedAnnotationType() != null);
|
|
| 688 |
}
|
|
| 690 |
if (infosAnnotTypeSelectedLink != null) {
|
|
| 691 |
infosAnnotTypeSelectedLink.setEnabled(getSelectedAnnotationType() != null); |
|
| 692 |
} |
|
| 689 | 693 |
if (addTypedValueLink != null) {
|
| 690 | 694 |
addTypedValueLink.setEnabled(getSelectedAnnotationType() != null); |
| 691 | 695 |
} |
| ... | ... | |
| 860 | 864 |
} |
| 861 | 865 |
|
| 862 | 866 |
public boolean notifyStartOfCompute() throws Exception {
|
| 863 |
if (annotationArea != null) {
|
|
| 864 |
annotationArea.getDisplay().syncExec(new Runnable() {
|
|
| 865 |
@Override |
|
| 866 |
public void run() {
|
|
| 867 |
AnnotationType type = getSelectedAnnotationType(); |
|
| 868 |
if (type != null) {
|
|
| 869 |
annotations.setViewAnnotation(type); |
|
| 870 |
annotations.setAnnotationOverlap(true); |
|
| 871 |
} |
|
| 867 |
if (annotationArea == null) return false; |
|
| 868 |
if (annotationArea.isDisposed()) return false; |
|
| 869 |
|
|
| 870 |
annotationArea.getDisplay().syncExec(new Runnable() {
|
|
| 871 |
@Override |
|
| 872 |
public void run() {
|
|
| 873 |
AnnotationType type = getSelectedAnnotationType(); |
|
| 874 |
if (type != null) {
|
|
| 875 |
annotations.setViewAnnotation(type); |
|
| 876 |
annotations.setAnnotationOverlap(true); |
|
| 872 | 877 |
} |
| 873 |
}); |
|
| 874 |
} |
|
| 878 |
} |
|
| 879 |
}); |
|
| 880 |
|
|
| 875 | 881 |
return true; |
| 876 | 882 |
} |
| 877 | 883 |
|
| 878 | 884 |
public boolean notifyEndOfCompute() throws Exception {
|
| 879 | 885 |
updateAnnotationWidgetStates(); |
| 880 |
|
|
| 886 |
if (annotationArea == null) return false; |
|
| 887 |
if (annotationArea.isDisposed()) return false; |
|
| 888 |
|
|
| 881 | 889 |
// update annotation column width |
| 882 | 890 |
if (annotationArea != null) {
|
| 883 | 891 |
annotationArea.getDisplay().syncExec(new Runnable() {
|
| ... | ... | |
| 937 | 945 |
@Override |
| 938 | 946 |
public void notifyEndOfRefresh() throws Exception {
|
| 939 | 947 |
// TODO Auto-generated method stub |
| 940 |
|
|
| 948 |
|
|
| 941 | 949 |
} |
| 942 | 950 |
|
| 943 | 951 |
@Override |
| 944 | 952 |
public void notifyStartOfCreatePartControl() throws Exception {
|
| 945 | 953 |
// TODO Auto-generated method stub |
| 946 |
|
|
| 954 |
|
|
| 947 | 955 |
} |
| 948 | 956 |
|
| 949 | 957 |
@Override |
| ... | ... | |
| 956 | 964 |
public Class<? extends TXMResult> getAnnotatedTXMResultClass() {
|
| 957 | 965 |
return Concordance.class; |
| 958 | 966 |
} |
| 959 |
|
|
| 967 |
|
|
| 960 | 968 |
public boolean isDirty() {
|
| 961 | 969 |
return annotManager != null; |
| 962 | 970 |
} |
| tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/WordAnnotationToolbar.java (revision 2855) | ||
|---|---|---|
| 130 | 130 |
public String getName() {
|
| 131 | 131 |
return KRAnnotationUIMessages.motsPropritsInfDfaut; |
| 132 | 132 |
} |
| 133 |
|
|
| 133 |
|
|
| 134 | 134 |
@Override |
| 135 | 135 |
public boolean allowMultipleAnnotations() {
|
| 136 | 136 |
return true; |
| ... | ... | |
| 217 | 217 |
} |
| 218 | 218 |
|
| 219 | 219 |
Log.info(TXMCoreMessages.bind(KRAnnotationUIMessages.AffectP0ToSelectionEqualsP1, value_to_add.getId(), value_to_add.getTypeID(), matches.size())); |
| 220 |
|
|
| 220 |
|
|
| 221 | 221 |
// finally we can 'try' to create the annotations \o/ |
| 222 | 222 |
try {
|
| 223 | 223 |
HashMap<Match, List<Annotation>> existingAnnots = annotManager.createAnnotations(type, value_to_add, matches, job); |
| ... | ... | |
| 270 | 270 |
} |
| 271 | 271 |
}); |
| 272 | 272 |
} |
| 273 |
|
|
| 273 |
|
|
| 274 | 274 |
protected void deleteAnnotationValues(ISelection selection) {
|
| 275 | 275 |
|
| 276 | 276 |
final IStructuredSelection lineSelection = (IStructuredSelection) selection; |
| ... | ... | |
| 282 | 282 |
|
| 283 | 283 |
deleteAnnotationValues(matches); |
| 284 | 284 |
} |
| 285 |
|
|
| 285 |
|
|
| 286 | 286 |
protected void deleteAnnotationValues(final List<Match> matches) {
|
| 287 | 287 |
final AnnotationType type = getSelectedAnnotationType(); |
| 288 | 288 |
|
| ... | ... | |
| 386 | 386 |
if (position < 0) {
|
| 387 | 387 |
position = 3 + extension.getNumberOfAnnotationArea(); // after keyword column and previous annotation columns |
| 388 | 388 |
} |
| 389 |
|
|
| 389 |
|
|
| 390 | 390 |
annotationColumnViewer = new TableViewerColumn(viewer, SWT.CENTER, position); |
| 391 | 391 |
annotationColumn = annotationColumnViewer.getColumn(); |
| 392 | 392 |
annotationColumn.setText(KRAnnotationUIMessages.property); |
| ... | ... | |
| 422 | 422 |
return EMPTYTEXT; |
| 423 | 423 |
} |
| 424 | 424 |
} |
| 425 |
|
|
| 425 |
|
|
| 426 | 426 |
@Override |
| 427 | 427 |
public Font getFont(Object element) {
|
| 428 | 428 |
Line line = (Line)element; |
| 429 |
|
|
| 429 |
|
|
| 430 | 430 |
AnnotationLine annotationLine = annotations.getAnnotationLine(line); |
| 431 | 431 |
if (annotationLine == null) return null; |
| 432 |
|
|
| 432 |
|
|
| 433 | 433 |
Annotation a = annotationLine.getAnnotation(); |
| 434 | 434 |
if (a == null) return null; |
| 435 | 435 |
|
| 436 | 436 |
String value = annotationLine.getAnnotationValue().getStandardName(); |
| 437 | 437 |
if (a instanceof CQPAnnotation) return null; |
| 438 |
|
|
| 438 |
|
|
| 439 | 439 |
return annotationColummnFont; |
| 440 | 440 |
} |
| 441 | 441 |
}); |
| ... | ... | |
| 492 | 492 |
gdata.widthHint = 90; |
| 493 | 493 |
|
| 494 | 494 |
new Label(annotationArea, SWT.NONE).setText(TXMCoreMessages.common_property); |
| 495 |
|
|
| 495 |
|
|
| 496 | 496 |
//Display combo with list of Annotation Type |
| 497 | 497 |
annotationTypesCombo = new ComboViewer(annotationArea, SWT.READ_ONLY); |
| 498 | 498 |
annotationTypesCombo.setContentProvider(new ArrayContentProvider()); |
| ... | ... | |
| 506 | 506 |
return ((AnnotationType)element).getName(); //$NON-NLS-1$ |
| 507 | 507 |
} |
| 508 | 508 |
}); |
| 509 |
// annotationTypesCombo.getCombo().addKeyListener(new KeyListener() {
|
|
| 510 |
// |
|
| 511 |
// @Override |
|
| 512 |
// public void keyReleased(KeyEvent e) {
|
|
| 513 |
// if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
|
|
| 514 |
// String name = annotationTypesCombo.getCombo().getText(); |
|
| 515 |
// if (currentKnowledgeRepository.getType(name) == null) {
|
|
| 516 |
// createNewType(e, name); |
|
| 517 |
// } else {
|
|
| 518 |
// for (AnnotationType type : typesList) {
|
|
| 519 |
// if (name.equals(type.getId())) {
|
|
| 520 |
// StructuredSelection selection = new StructuredSelection(type); |
|
| 521 |
// annotationTypesCombo.setSelection(selection, true); |
|
| 522 |
// break; |
|
| 523 |
// } |
|
| 524 |
// } |
|
| 525 |
// } |
|
| 526 |
// } |
|
| 527 |
// } |
|
| 528 |
// |
|
| 529 |
// @Override |
|
| 530 |
// public void keyPressed(KeyEvent e) { }
|
|
| 531 |
// }); |
|
| 532 |
|
|
| 509 |
// annotationTypesCombo.getCombo().addKeyListener(new KeyListener() {
|
|
| 510 |
//
|
|
| 511 |
// @Override
|
|
| 512 |
// public void keyReleased(KeyEvent e) {
|
|
| 513 |
// if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
|
|
| 514 |
// String name = annotationTypesCombo.getCombo().getText();
|
|
| 515 |
// if (currentKnowledgeRepository.getType(name) == null) {
|
|
| 516 |
// createNewType(e, name);
|
|
| 517 |
// } else {
|
|
| 518 |
// for (AnnotationType type : typesList) {
|
|
| 519 |
// if (name.equals(type.getId())) {
|
|
| 520 |
// StructuredSelection selection = new StructuredSelection(type);
|
|
| 521 |
// annotationTypesCombo.setSelection(selection, true);
|
|
| 522 |
// break;
|
|
| 523 |
// }
|
|
| 524 |
// }
|
|
| 525 |
// }
|
|
| 526 |
// }
|
|
| 527 |
// }
|
|
| 528 |
//
|
|
| 529 |
// @Override
|
|
| 530 |
// public void keyPressed(KeyEvent e) { }
|
|
| 531 |
// });
|
|
| 532 |
|
|
| 533 | 533 |
gdata = new GridData(SWT.CENTER, SWT.CENTER, false, false); |
| 534 | 534 |
gdata.widthHint = 200; |
| 535 | 535 |
|
| ... | ... | |
| 538 | 538 |
annotationTypesCombo.getCombo().select(0); |
| 539 | 539 |
annotations.setViewAnnotation(typesList.get(0)); |
| 540 | 540 |
annotationColumn.setText(typesList.get(0).getName()); |
| 541 |
// for (int i = 0 ; i < typesList.size(); i++) {
|
|
| 542 |
// String name = typesList.get(i).getName(); |
|
| 543 |
// if ("word".equals(name)) {
|
|
| 544 |
// annotations.setViewAnnotation(typesList.get(i)); |
|
| 545 |
// annotationColumn.setText(name); |
|
| 546 |
// } |
|
| 547 |
// } |
|
| 541 |
// for (int i = 0 ; i < typesList.size(); i++) {
|
|
| 542 |
// String name = typesList.get(i).getName();
|
|
| 543 |
// if ("word".equals(name)) {
|
|
| 544 |
// annotations.setViewAnnotation(typesList.get(i));
|
|
| 545 |
// annotationColumn.setText(name);
|
|
| 546 |
// }
|
|
| 547 |
// }
|
|
| 548 | 548 |
|
| 549 | 549 |
annotationTypesCombo.addSelectionChangedListener(new ISelectionChangedListener() {
|
| 550 | 550 |
@Override |
| ... | ... | |
| 552 | 552 |
onAnnotationTypeSelected(event); |
| 553 | 553 |
} |
| 554 | 554 |
}); |
| 555 |
|
|
| 555 |
|
|
| 556 | 556 |
addAnnotationTypeLink = new Button(annotationArea, SWT.PUSH); |
| 557 | 557 |
addAnnotationTypeLink.setToolTipText(KRAnnotationUIMessages.addANewCategory); |
| 558 | 558 |
addAnnotationTypeLink.setImage(IImageKeys.getImage(IImageKeys.ACTION_ADD)); |
| ... | ... | |
| 570 | 570 |
if (dialog.open() == InputDialog.OK) {
|
| 571 | 571 |
String name = dialog.getValue(); |
| 572 | 572 |
if (name.trim().length() == 0) return; |
| 573 |
String baseid = AsciiUtils.buildId(name); |
|
| 574 | 573 |
String id = AsciiUtils.buildId(name); |
| 575 |
int c = 1; |
|
| 576 |
while (kr.getType(id) != null) {
|
|
| 577 |
id = baseid+"_"+(c++); //$NON-NLS-1$ |
|
| 574 |
AnnotationType existingType = kr.getType(id); |
|
| 575 |
if (existingType != null) {
|
|
| 576 |
Log.warning(NLS.bind("The ''{0}'' annotation type already exists. Please use another name ({1}).", id, name));
|
|
| 577 |
annotationTypesCombo.setSelection(new StructuredSelection(existingType)); |
|
| 578 |
return; |
|
| 578 | 579 |
} |
| 579 | 580 |
AnnotationType type = kr.addType(name, id, "", AnnotationEffect.TOKEN); //$NON-NLS-1$ |
| 580 | 581 |
typesList.add(type); |
| ... | ... | |
| 582 | 583 |
if (annotationTypesCombo != null) annotationTypesCombo.refresh(); |
| 583 | 584 |
if (typesList.size() == 1) {
|
| 584 | 585 |
if (annotationTypesCombo != null) annotationTypesCombo.getCombo().select(typesList.size()-1); |
| 585 |
|
|
| 586 |
|
|
| 586 | 587 |
if (concordance != null) {
|
| 587 | 588 |
annotations.setViewAnnotation(type); |
| 588 | 589 |
annotations.setAnnotationOverlap(true); |
| ... | ... | |
| 590 | 591 |
editor.fillDisplayArea(false); |
| 591 | 592 |
} |
| 592 | 593 |
annotationArea.layout(true); |
| 593 |
|
|
| 594 |
|
|
| 594 | 595 |
} else {
|
| 595 | 596 |
if (typesList.size() > 1) {
|
| 596 | 597 |
if (annotationTypesCombo != null) {
|
| ... | ... | |
| 632 | 633 |
@Override |
| 633 | 634 |
public void keyPressed(KeyEvent e) { }
|
| 634 | 635 |
}); |
| 635 |
|
|
| 636 |
|
|
| 636 | 637 |
addTypedValueLink = new Button(annotationArea, SWT.PUSH); |
| 637 | 638 |
addTypedValueLink.setText("..."); //$NON-NLS-1$
|
| 638 | 639 |
addTypedValueLink.setToolTipText(KRAnnotationUIMessages.selectAValueAmongTheList); |
| ... | ... | |
| 685 | 686 |
}); |
| 686 | 687 |
|
| 687 | 688 |
new Label(annotationArea, SWT.NONE).setText(" ");
|
| 688 |
|
|
| 689 |
|
|
| 689 | 690 |
affectAnnotationButton = new Button(annotationArea, SWT.PUSH); |
| 690 | 691 |
affectAnnotationButton.setText(KRAnnotationUIMessages.oK); |
| 691 | 692 |
affectAnnotationButton.setToolTipText(KRAnnotationUIMessages.proceedToAnnotation); |
| ... | ... | |
| 699 | 700 |
@Override |
| 700 | 701 |
public void widgetDefaultSelected(SelectionEvent e) { }
|
| 701 | 702 |
}); |
| 702 |
|
|
| 703 |
|
|
| 703 | 704 |
deleteAnnotationButton = new Button(annotationArea, SWT.PUSH); |
| 704 | 705 |
deleteAnnotationButton.setText(KRAnnotationUIMessages.delete); |
| 705 | 706 |
deleteAnnotationButton.setToolTipText(KRAnnotationUIMessages.delete); |
| ... | ... | |
| 735 | 736 |
@Override |
| 736 | 737 |
public void widgetDefaultSelected(SelectionEvent e) { }
|
| 737 | 738 |
}); |
| 738 |
|
|
| 739 |
|
|
| 739 | 740 |
addAnnotationTypeButton = new Button(annotationArea, SWT.PUSH); |
| 740 | 741 |
addAnnotationTypeButton.setLayoutData(new GridData(GridData.END, GridData.CENTER, true, false)); |
| 741 | 742 |
addAnnotationTypeButton.setToolTipText(KRAnnotationUIMessages.addANewCategory); |
| ... | ... | |
| 744 | 745 |
@Override |
| 745 | 746 |
public void widgetSelected(SelectionEvent e) {
|
| 746 | 747 |
try {
|
| 747 |
// int position = -1; |
|
| 748 |
// TableColumn[] columns = editor.getLineTableViewer().getTable().getColumns(); |
|
| 749 |
// TableColumn column = annotationColumnViewer.getColumn(); |
|
| 750 |
// for (int i = 0 ; i < columns.length ; i++) {
|
|
| 751 |
// if (columns[i] == column) {
|
|
| 752 |
// position = i + 1; // after the current column |
|
| 753 |
// } |
|
| 754 |
// } |
|
| 755 |
// int position = 3 + extension.getNumberOfAnnotationArea(); |
|
| 748 |
// int position = -1;
|
|
| 749 |
// TableColumn[] columns = editor.getLineTableViewer().getTable().getColumns();
|
|
| 750 |
// TableColumn column = annotationColumnViewer.getColumn();
|
|
| 751 |
// for (int i = 0 ; i < columns.length ; i++) {
|
|
| 752 |
// if (columns[i] == column) {
|
|
| 753 |
// position = i + 1; // after the current column
|
|
| 754 |
// }
|
|
| 755 |
// }
|
|
| 756 |
// int position = 3 + extension.getNumberOfAnnotationArea();
|
|
| 756 | 757 |
extension.openAnnotationMode(new WordAnnotationToolbar(), -1); |
| 757 | 758 |
} catch (Exception e1) {
|
| 758 | 759 |
// TODO Auto-generated catch block |
| ... | ... | |
| 763 | 764 |
@Override |
| 764 | 765 |
public void widgetDefaultSelected(SelectionEvent e) { }
|
| 765 | 766 |
}); |
| 766 |
|
|
| 767 |
|
|
| 767 | 768 |
Button closeButton = new Button(annotationArea, SWT.PUSH); |
| 768 | 769 |
closeButton.setToolTipText(KRAnnotationUIMessages.closeTheToolbarWithoutSaving); |
| 769 | 770 |
closeButton.setImage(IImageKeys.getImage(IImageKeys.ACTION_REMOVE)); |
| 770 |
|
|
| 771 |
|
|
| 771 | 772 |
closeButton.addSelectionListener(new SelectionListener() {
|
| 772 |
|
|
| 773 |
|
|
| 773 | 774 |
@Override |
| 774 | 775 |
public void widgetSelected(SelectionEvent e) {
|
| 775 | 776 |
extension.removeAnnotationArea(WordAnnotationToolbar.this); |
| 776 | 777 |
} |
| 777 |
|
|
| 778 |
|
|
| 778 | 779 |
@Override |
| 779 | 780 |
public void widgetDefaultSelected(SelectionEvent e) {}
|
| 780 | 781 |
}); |
| ... | ... | |
| 789 | 790 |
IStructuredSelection sel = (IStructuredSelection) annotationTypesCombo.getSelection(); |
| 790 | 791 |
AnnotationType type = (AnnotationType) sel.getFirstElement(); |
| 791 | 792 |
if (type == null) return; |
| 792 |
|
|
| 793 |
|
|
| 793 | 794 |
if (type.getSize() != AnnotationType.ValuesSize.LARGE) {
|
| 794 | 795 |
try {
|
| 795 | 796 |
KnowledgeRepository kr = KnowledgeRepositoryManager.getKnowledgeRepository(type.getKnowledgeRepository()); |
| ... | ... | |
| 814 | 815 |
} |
| 815 | 816 |
|
| 816 | 817 |
protected void createNewType(TypedEvent e, String typeName) {
|
| 817 |
|
|
| 818 |
|
|
| 818 | 819 |
if (currentKnowledgeRepository == null) return; |
| 819 | 820 |
if (!(currentKnowledgeRepository instanceof LocalKnowledgeRepository)) return; |
| 820 | 821 |
|
| ... | ... | |
| 836 | 837 |
StructuredSelection selection = new StructuredSelection(type); |
| 837 | 838 |
annotationTypesCombo.setSelection(selection, true); |
| 838 | 839 |
|
| 839 |
// if (annotationTypesCombo != null) annotationTypesCombo.refresh(); |
|
| 840 |
// if (typesList.size() == 1) {
|
|
| 841 |
// if (annotationTypesCombo != null) annotationTypesCombo.getCombo().select(0); |
|
| 842 |
// annotations.setViewAnnotation(type); |
|
| 843 |
// annotations.setAnnotationOverlap(true); |
|
| 844 |
// try {
|
|
| 845 |
// editor.refresh(false); |
|
| 846 |
// } catch (Exception e1) {
|
|
| 847 |
// // TODO Auto-generated catch block |
|
| 848 |
// e1.printStackTrace(); |
|
| 849 |
// } |
|
| 850 |
// annotationArea.layout(true); |
|
| 851 |
// } else {
|
|
| 852 |
// if (typesList.size() > 1) {
|
|
| 853 |
// if (annotationTypesCombo != null) {
|
|
| 854 |
// annotationTypesCombo.getCombo().select(typesList.size()-1); |
|
| 855 |
// } |
|
| 856 |
// } |
|
| 857 |
// } |
|
| 858 |
// KRView.refresh(); |
|
| 859 |
// updateAnnotationWidgetStates(); |
|
| 860 |
|
|
| 840 |
// if (annotationTypesCombo != null) annotationTypesCombo.refresh();
|
|
| 841 |
// if (typesList.size() == 1) {
|
|
| 842 |
// if (annotationTypesCombo != null) annotationTypesCombo.getCombo().select(0);
|
|
| 843 |
// annotations.setViewAnnotation(type);
|
|
| 844 |
// annotations.setAnnotationOverlap(true);
|
|
| 845 |
// try {
|
|
| 846 |
// editor.refresh(false);
|
|
| 847 |
// } catch (Exception e1) {
|
|
| 848 |
// // TODO Auto-generated catch block
|
|
| 849 |
// e1.printStackTrace();
|
|
| 850 |
// }
|
|
| 851 |
// annotationArea.layout(true);
|
|
| 852 |
// } else {
|
|
| 853 |
// if (typesList.size() > 1) {
|
|
| 854 |
// if (annotationTypesCombo != null) {
|
|
| 855 |
// annotationTypesCombo.getCombo().select(typesList.size()-1);
|
|
| 856 |
// }
|
|
| 857 |
// }
|
|
| 858 |
// }
|
|
| 859 |
// KRView.refresh();
|
|
| 860 |
// updateAnnotationWidgetStates();
|
|
| 861 |
|
|
| 861 | 862 |
//onAnnotationTypeSelected(null); |
| 862 | 863 |
} else {
|
| 863 | 864 |
System.out.println("Creation aborted."); //$NON-NLS-1$
|
| ... | ... | |
| 889 | 890 |
return false; |
| 890 | 891 |
} |
| 891 | 892 |
} |
| 892 |
|
|
| 893 |
|
|
| 893 | 894 |
@Override |
| 894 | 895 |
public boolean hasChanges() {
|
| 895 | 896 |
AnnotationManager am; |
| ... | ... | |
| 909 | 910 |
|
| 910 | 911 |
@Override |
| 911 | 912 |
public boolean notifyStartOfCompute() throws Exception {
|
| 912 |
if (annotationArea != null) {
|
|
| 913 |
AnnotationType type = getSelectedAnnotationType(); |
|
| 914 |
if (type != null) {
|
|
| 915 |
annotations.setViewAnnotation(type); |
|
| 916 |
annotations.setAnnotationOverlap(true); |
|
| 917 |
} |
|
| 913 |
if (annotationArea == null) return false; |
|
| 914 |
if (annotationArea.isDisposed()) return false; |
|
| 915 |
|
|
| 916 |
AnnotationType type = getSelectedAnnotationType(); |
|
| 917 |
if (type != null) {
|
|
| 918 |
annotations.setViewAnnotation(type); |
|
| 919 |
annotations.setAnnotationOverlap(true); |
|
| 918 | 920 |
} |
| 921 |
|
|
| 919 | 922 |
return true; |
| 920 | 923 |
} |
| 921 | 924 |
|
| ... | ... | |
| 930 | 933 |
|
| 931 | 934 |
@Override |
| 932 | 935 |
public void notifyStartOfRefresh() throws Exception {
|
| 936 |
if (annotationArea == null) return; |
|
| 937 |
if (annotationArea.isDisposed()) return; |
|
| 938 |
|
|
| 933 | 939 |
List<Line> lines = concordance.getLines(concordance.getTopIndex(), concordance.getTopIndex()+concordance.getNLinePerPage()); |
| 934 | 940 |
annotations.computeLines(lines); |
| 935 |
|
|
| 941 |
|
|
| 936 | 942 |
updateAnnotationWidgetStates(); |
| 937 | 943 |
|
| 938 | 944 |
// update annotation column width |
Formats disponibles : Unified diff