Elexis API documentation
Version 2.1.6 as of December 11 2011

ch.elexis.util.viewers
Class CommonViewer

java.lang.Object
  extended by ch.elexis.util.viewers.CommonViewer

public class CommonViewer
extends java.lang.Object

Basis des Viewer-Systems. Ein Viewer zeigt eine Liste von Objekten einer bestimmten PersistentObject -Unterklasse an und ermöglicht das Filtern der Anzeige sowie das Erstellen neuer Objekte dieser Klasse. Der CommonViewer stellt nur die Oberfläche bereit (oben ein Feld zum Filtern, in der Mitte die Liste und unten ein Button zum Erstellen eines neuen Objekts). Die Funktionalität muss von einem ViewerConfigurer bereitgestellt werden. Dieser ist wiederum nur ein Container zur Breitstellung verschiedener Provider. NB: CommonViewer ist eigentlich ein Antipattern (nämlich ein Golden Hammer). Er verkürzt Entwicklungszeit, aber auf Kosten der Flexibilität und der optimalen Anpassung Wann immer Zeit und Ressourcen genügen, sollte einer individuellen Lösung der Vorzug gegeben werden.

Author:
Gerry
See Also:
ViewerConfigurer

Nested Class Summary
static interface CommonViewer.DoubleClickListener
           
static class CommonViewer.Message
           
 
Constructor Summary
CommonViewer()
           
 
Method Summary
 void addDoubleClickListener(CommonViewer.DoubleClickListener dl)
           
 void create(ViewerConfigurer c, Composite parent, int style, java.lang.Object input)
          Den Viewer erstellen
 void dispose()
           
 void doubleClick(DoubleClickEvent event)
           
 Button getButton()
           
 Composite getComposite()
           
 ViewerConfigurer getConfigurer()
           
 MenuManager getMgr()
           
 Composite getParent()
           
 java.lang.Object[] getSelection()
          Die aktuelle Auswahl des Viewers liefern
 StructuredViewer getViewerWidget()
          Den darunterliegenden JFace-Viewer liefern
 void notify(CommonViewer.Message m)
          den Viewer über eine Änderung benachrichtigen
 void removeDoubleClickListener(CommonViewer.DoubleClickListener dl)
           
 void selectionChanged(SelectionChangedEvent event)
           
 void setContextMenu(MenuManager mgr)
          Kontextmenu an den unterliegenden Viewer binden.
 void setObjectCreateAction(IViewSite site, IAction action)
           
 void setSelection(java.lang.Object o, boolean fireEvents)
          Das selektierte Element des Viewers einstellen
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommonViewer

public CommonViewer()
Method Detail

getParent

public Composite getParent()

setObjectCreateAction

public void setObjectCreateAction(IViewSite site,
                                  IAction action)

create

public void create(ViewerConfigurer c,
                   Composite parent,
                   int style,
                   java.lang.Object input)
Den Viewer erstellen

Parameters:
c - ViewerConfigurer, der die Funktionalität bereitstellt. Alle Felder des Configurers müssen vor Aufruf von create() gültig gesetzt sein.
parent - Parent.Komponente
style - SWT-Stil für das umgebende Composite
input - Input Objekt für den Viewer

getComposite

public Composite getComposite()

getSelection

public java.lang.Object[] getSelection()
Die aktuelle Auswahl des Viewers liefern

Returns:
null oder ein Array mit den selektierten Objekten-

setSelection

public void setSelection(java.lang.Object o,
                         boolean fireEvents)
Das selektierte Element des Viewers einstellen

Parameters:
o - Das Element

getViewerWidget

public StructuredViewer getViewerWidget()
Den darunterliegenden JFace-Viewer liefern


getConfigurer

public ViewerConfigurer getConfigurer()

notify

public void notify(CommonViewer.Message m)
den Viewer über eine Änderung benachrichtigen

Parameters:
m - eine Message: update: der Viewer muss neu eingelesen werden empty: Die Auswahl ist leer. notempty: Die Auswahl ist nicht (mehr) leer.

selectionChanged

public void selectionChanged(SelectionChangedEvent event)

dispose

public void dispose()

addDoubleClickListener

public void addDoubleClickListener(CommonViewer.DoubleClickListener dl)

removeDoubleClickListener

public void removeDoubleClickListener(CommonViewer.DoubleClickListener dl)

setContextMenu

public void setContextMenu(MenuManager mgr)
Kontextmenu an den unterliegenden Viewer binden. Falls dieser zum Zeitpunkt des Aufrufs dieser Methode noch nicht existiert, wird das Einbinden verzögert.

Parameters:
mgr - ein fertig konfigurierter jface-MenuManager

getButton

public Button getButton()

doubleClick

public void doubleClick(DoubleClickEvent event)

getMgr

public MenuManager getMgr()

Elexis API documentation
Version 2.1.6 as of December 11 2011

Copyright 2005-2011 by Gerry Weirich, Elexis