Autor Thema: Selektieren im IBM Notes Client funktioniert nicht (mit Eclipse SWT)  (Gelesen 1570 mal)

Offline PeterMIME

  • Frischling
  • *
  • Beiträge: 12
Ich möchte eine Seitenleiste für den IBM Notes Client implementieren. Deshalb verwende ich das Eclipse Framework mit SWT. Der momentane Quelltext sieht folgendermaßen aus:

Code
public class ShelfView extends ViewPart   {

   public static final String ID = ShelfView.class.getName();

   private Label label;

   private ISelectionListener _listener = new ISelectionListener() {
       public void selectionChanged(IWorkbenchPart sourcePart, ISelection selection) {
           NotesUIWorkspace ws = new NotesUIWorkspace();            
           NotesUIElement elem = ws.getCurrentElement();

           if (elem instanceof NotesUIView) {
               NotesUIView currentView = (NotesUIView) elem;
               NotesUIViewEntryCollection collection = currentView.getActionableEntries();
               Iterator docIterator = collection.documentIterator();

               String txt = "";
               while (docIterator.hasNext()) {
                   NotesUIDocumentEntry entry = (NotesUIDocumentEntry) docIterator.next();
                   for (int i = 0; i < entry.getColumnValues().size(); ++i) {
                       txt = txt + i + ": " + entry.getColumnValueString(i) + "\n";
                   }
                   txt = txt + "UNID: " + entry.getDocumentData().getUnid() + "\nURL: " + entry.getDocumentData().getEditUrl() + "\n";                  
               }

               label.setText(txt);
               label.pack();
           }
       }
   };

   public ShelfView()
   {
   } 

   public void createPartControl(Composite parent)
   {    
       Composite comp = new Composite( parent, SWT.NONE );
       comp.setLayout(new GridLayout());
       label = new Label(comp, SWT.NONE );
       label.setText("Start...");

       getViewSite().getPage().addPostSelectionListener(_listener);
   }

   public void setFocus()
   {
   } 
}

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 angefügte Bild zeigt den IBM Notes Client mit der Seitenleiste.
« Letzte Änderung: 09.02.18 - 15:22:01 von PeterMIME »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz