Elexis: Das führende OpenSource-Arztpraxisprogamm
im deutschsprachigen Raum
Java doc für Elexis version 2.1.7.dev vom 01.09.2013

ch.elexis.util.viewers
Class CommonViewer

java.lang.Object
  extended by ch.elexis.util.viewers.CommonViewer
All Implemented Interfaces:
org.eclipse.jface.viewers.IDoubleClickListener, org.eclipse.jface.viewers.ISelectionChangedListener

public class CommonViewer
extends java.lang.Object
implements org.eclipse.jface.viewers.ISelectionChangedListener, org.eclipse.jface.viewers.IDoubleClickListener

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.

See Also:
ViewerConfigurer

Nested Class Summary
static interface CommonViewer.DoubleClickListener
           
static class CommonViewer.Message
           
 
Field Summary
protected  org.eclipse.swt.widgets.Button bNew
           
protected  ViewerConfigurer vc
           
protected  org.eclipse.jface.viewers.StructuredViewer viewer
           
 
Constructor Summary
CommonViewer()
           
 
Method Summary
 void addDoubleClickListener(CommonViewer.DoubleClickListener dl)
           
 void create(ViewerConfigurer c, org.eclipse.swt.widgets.Composite parent, int style, java.lang.Object input)
          Den Viewer erstellen
 void dispose()
           
 void doubleClick(org.eclipse.jface.viewers.DoubleClickEvent event)
           
 org.eclipse.swt.widgets.Button getButton()
           
 org.eclipse.swt.widgets.Composite getComposite()
           
 ViewerConfigurer getConfigurer()
           
 org.eclipse.jface.action.MenuManager getMgr()
           
 org.eclipse.swt.widgets.Composite getParent()
           
 java.lang.Object[] getSelection()
          Die aktuelle Auswahl des Viewers liefern
 org.eclipse.jface.viewers.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(org.eclipse.jface.viewers.SelectionChangedEvent event)
           
 void setContextMenu(org.eclipse.jface.action.MenuManager mgr)
          Kontextmenu an den unterliegenden Viewer binden.
 void setObjectCreateAction(org.eclipse.ui.IViewSite site, org.eclipse.jface.action.IAction action)
           
 void setSelection(java.lang.Object o, boolean fireEvents)
          Das selektierte Element des Viewers einstellen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

vc

protected ViewerConfigurer vc

viewer

protected org.eclipse.jface.viewers.StructuredViewer viewer

bNew

protected org.eclipse.swt.widgets.Button bNew
Constructor Detail

CommonViewer

public CommonViewer()
Method Detail

getParent

public org.eclipse.swt.widgets.Composite getParent()

setObjectCreateAction

public void setObjectCreateAction(org.eclipse.ui.IViewSite site,
                                  org.eclipse.jface.action.IAction action)

create

public void create(ViewerConfigurer c,
                   org.eclipse.swt.widgets.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 org.eclipse.swt.widgets.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 org.eclipse.jface.viewers.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(org.eclipse.jface.viewers.SelectionChangedEvent event)
Specified by:
selectionChanged in interface org.eclipse.jface.viewers.ISelectionChangedListener

dispose

public void dispose()

addDoubleClickListener

public void addDoubleClickListener(CommonViewer.DoubleClickListener dl)

removeDoubleClickListener

public void removeDoubleClickListener(CommonViewer.DoubleClickListener dl)

setContextMenu

public void setContextMenu(org.eclipse.jface.action.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 org.eclipse.swt.widgets.Button getButton()

doubleClick

public void doubleClick(org.eclipse.jface.viewers.DoubleClickEvent event)
Specified by:
doubleClick in interface org.eclipse.jface.viewers.IDoubleClickListener

getMgr

public org.eclipse.jface.action.MenuManager getMgr()

Elexis: Das führende OpenSource-Arztpraxisprogamm
im deutschsprachigen Raum
Java doc für Elexis version 2.1.7.dev vom 01.09.2013