Selektieren im IBM Notes Client funktioniert nicht (mit Eclipse SWT)

  • Selektieren im IBM Notes Client funktioniert nicht (mit Eclipse SWT)

    Ich möchte eine Seitenleiste für den IBM Notes Client implementieren, die Infos für eine E-Mail anzeigt. Deshalb verwende ich das Eclipse Framework mit SWT. Der momentane Quelltext sieht folgendermaßen aus:

    Quellcode

    1. public class ShelfView extends ViewPart {
    2. public static final String ID = ShelfView.class.getName();
    3. private Label label;
    4. private ISelectionListener _listener = new ISelectionListener() {
    5. public void selectionChanged(IWorkbenchPart sourcePart, ISelection selection) {
    6. NotesUIWorkspace ws = new NotesUIWorkspace();
    7. NotesUIElement elem = ws.getCurrentElement();
    8. if (elem instanceof NotesUIView) {
    9. NotesUIView currentView = (NotesUIView) elem;
    10. NotesUIViewEntryCollection collection = currentView.getActionableEntries();
    11. Iterator docIterator = collection.documentIterator();
    12. String txt = "";
    13. while (docIterator.hasNext()) {
    14. NotesUIDocumentEntry entry = (NotesUIDocumentEntry) docIterator.next();
    15. for (int i = 0; i < entry.getColumnValues().size(); ++i) {
    16. txt = txt + i + ": " + entry.getColumnValueString(i) + "\n";
    17. }
    18. txt = txt + "UNID: " + entry.getDocumentData().getUnid() + "\nURL: " + entry.getDocumentData().getEditUrl() + "\n";
    19. }
    20. label.setText(txt);
    21. label.pack();
    22. }
    23. }
    24. };
    25. public ShelfView()
    26. {
    27. }
    28. public void createPartControl(Composite parent)
    29. {
    30. Composite comp = new Composite( parent, SWT.NONE );
    31. comp.setLayout(new GridLayout());
    32. label = new Label(comp, SWT.NONE );
    33. label.setText("Start...");
    34. getViewSite().getPage().addPostSelectionListener(_listener);
    35. }
    36. public void setFocus()
    37. {
    38. }
    39. }
    Alles anzeigen
    Das Problem liegt in der Zeile: NotesUIElement elem = ws.getCurrentElement();

    Wenn man den ViewPart im IBM Notes Client testet und eine Mail in der Liste auswählt, wird nicht der aktuelle Eintrag in der Seitenleiste angezeigt, aber der Maileintrag der vorher markiert war.


    Das Bild im Anhang zeigt den IBM Notes Client mit der Seitenleiste.
    Dateien
    • Unbenannt.png

      (522,33 kB, 1 mal heruntergeladen, zuletzt: )