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

de.ralfebert.rcputils.databinding
Class ModelDataBindingEditorPart<INPUT extends org.eclipse.ui.IEditorInput,MODEL>

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.ui.part.WorkbenchPart
          extended by org.eclipse.ui.part.EditorPart
              extended by de.ralfebert.rcputils.parts.AbstractEditorPart<INPUT>
                  extended by de.ralfebert.rcputils.databinding.DataBindingEditorPart<INPUT>
                      extended by de.ralfebert.rcputils.databinding.ModelDataBindingEditorPart<INPUT,MODEL>
All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.ui.IEditorPart, org.eclipse.ui.ISaveablePart, org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.IWorkbenchPart2, org.eclipse.ui.IWorkbenchPart3, org.eclipse.ui.part.IWorkbenchPartOrientation

public abstract class ModelDataBindingEditorPart<INPUT extends org.eclipse.ui.IEditorInput,MODEL>
extends DataBindingEditorPart<INPUT>

ModelDataBindingEditorPart is base class for editors that use data binding to edit a single model object. The actual editor implementation goes into the methods onLoad (loading the model object from the editor input), onCreatePartControl (creating the UI), onBind (binding the UI to the model), onSave (saving the model object). This resembles the typical structure for editors that edit a single model object. Please take care that the UI are the targets when creating your bindings as all changes in target observables (the UI) will cause the editor to get dirty.


Nested Class Summary
 
Nested classes/interfaces inherited from class de.ralfebert.rcputils.databinding.DataBindingEditorPart
DataBindingEditorPart.DirtyFlag
 
Field Summary
 
Fields inherited from class de.ralfebert.rcputils.databinding.DataBindingEditorPart
dirty
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
ModelDataBindingEditorPart()
           
 
Method Summary
 void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
           
protected  MODEL getModelObject()
           
 void init(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input)
           
protected  boolean isReady()
           
protected  void onAfterUi(org.eclipse.swt.widgets.Composite parent)
           
protected abstract  void onBind(org.eclipse.core.databinding.DataBindingContext dataBindingContext, org.eclipse.core.databinding.observable.value.IObservableValue model)
          Implement onBind to bind the model to the UI.
protected abstract  MODEL onLoad(INPUT input)
          Implement onLoad to retrieve the model object by the editor input object.
protected  void onReload(MODEL modelObject)
           
protected abstract  MODEL onSave(MODEL modelObject, org.eclipse.core.runtime.IProgressMonitor monitor)
          Implement onSave to persist the model object.
protected  void reload()
           
 
Methods inherited from class de.ralfebert.rcputils.databinding.DataBindingEditorPart
getPartNameObservable, isDirty
 
Methods inherited from class de.ralfebert.rcputils.parts.AbstractEditorPart
createPartControl, doSaveAs, getDisplay, getEditorInput, getResources, isSaveAsAllowed, onBeforeUi, onCreateUi
 
Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setContentDescription, setInitializationData, setInput, setInputWithNotify, setPartName
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, dispose, firePartPropertyChanged, firePropertyChange, getAdapter, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, removePartPropertyListener, removePropertyListener, setFocus, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, dispose, getSite, getTitle, getTitleImage, removePropertyListener, setFocus
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Constructor Detail

ModelDataBindingEditorPart

public ModelDataBindingEditorPart()
Method Detail

init

public void init(org.eclipse.ui.IEditorSite site,
                 org.eclipse.ui.IEditorInput input)
          throws org.eclipse.ui.PartInitException
Specified by:
init in interface org.eclipse.ui.IEditorPart
Overrides:
init in class DataBindingEditorPart<INPUT extends org.eclipse.ui.IEditorInput>
Throws:
org.eclipse.ui.PartInitException

doSave

public final void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
Specified by:
doSave in interface org.eclipse.ui.ISaveablePart
Specified by:
doSave in class org.eclipse.ui.part.EditorPart

onReload

protected void onReload(MODEL modelObject)

reload

protected final void reload()

getModelObject

protected final MODEL getModelObject()

onAfterUi

protected void onAfterUi(org.eclipse.swt.widgets.Composite parent)
Overrides:
onAfterUi in class AbstractEditorPart<INPUT extends org.eclipse.ui.IEditorInput>

onLoad

protected abstract MODEL onLoad(INPUT input)
Implement onLoad to retrieve the model object by the editor input object.


onSave

protected abstract MODEL onSave(MODEL modelObject,
                                org.eclipse.core.runtime.IProgressMonitor monitor)
Implement onSave to persist the model object. You can return a new model object.


onBind

protected abstract void onBind(org.eclipse.core.databinding.DataBindingContext dataBindingContext,
                               org.eclipse.core.databinding.observable.value.IObservableValue model)
Implement onBind to bind the model to the UI. Use detail values like PojoObservables.observeDetailValue to refer to the model properties.


isReady

protected boolean isReady()

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