uk.ac.kcl.cch.jb.pliny.parts
Class LinkableObjectBasePart

java.lang.Object
  extended byorg.eclipse.gef.editparts.AbstractEditPart
      extended byorg.eclipse.gef.editparts.AbstractGraphicalEditPart
          extended byuk.ac.kcl.cch.jb.pliny.parts.OrderableAbstractGraphicalEditPart
              extended byuk.ac.kcl.cch.jb.pliny.parts.LinkableObjectBasePart
All Implemented Interfaces:
org.eclipse.gef.EditPart, EventListener, org.eclipse.gef.GraphicalEditPart, org.eclipse.core.runtime.IAdaptable, org.eclipse.gef.NodeEditPart, PropertyChangeListener, org.eclipse.gef.RequestConstants
Direct Known Subclasses:
LinkableObjectPart, ScalableAnchorPart

public abstract class LinkableObjectBasePart
extends OrderableAbstractGraphicalEditPart
implements org.eclipse.gef.NodeEditPart, PropertyChangeListener

provides base support for GEF editparts that derive from LinkableObjects, including (i) reference objects (both scaleable and unscaleable), and anchor objects.

This abstract base class provides:

Author:
John Bradley

Nested Class Summary
 
Nested classes inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
org.eclipse.gef.editparts.AbstractGraphicalEditPart.AccessibleGraphicalEditPart, org.eclipse.gef.editparts.AbstractGraphicalEditPart.DefaultAccessibleAnchorProvider
 
Nested classes inherited from class org.eclipse.gef.editparts.AbstractEditPart
org.eclipse.gef.editparts.AbstractEditPart.EditPolicyIterator
 
Field Summary
 
Fields inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
figure, sourceConnections, targetConnections
 
Fields inherited from class org.eclipse.gef.editparts.AbstractEditPart
children, FLAG_ACTIVE, FLAG_FOCUS, MAX_FLAG
 
Fields inherited from interface org.eclipse.gef.EditPart
SELECTED, SELECTED_NONE, SELECTED_PRIMARY
 
Fields inherited from interface org.eclipse.gef.RequestConstants
REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER
 
Constructor Summary
LinkableObjectBasePart(LinkableObject model)
           
 
Method Summary
 void activate()
          Upon activation, attach to the model element as a property change listener.
protected  void createEditPolicies()
           
protected abstract  org.eclipse.draw2d.IFigure createFigure()
           
 void deactivate()
          Upon deactivation, detach from the model element as a property change listener.
 LinkableObject getLinkableObject()
           
protected  List getModelSourceConnections()
           
protected  List getModelTargetConnections()
           
 LOType getMyType()
           
 org.eclipse.draw2d.ConnectionAnchor getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart connection)
           
 org.eclipse.draw2d.ConnectionAnchor getSourceConnectionAnchor(org.eclipse.gef.Request request)
           
 org.eclipse.draw2d.ConnectionAnchor getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart connection)
           
 org.eclipse.draw2d.ConnectionAnchor getTargetConnectionAnchor(org.eclipse.gef.Request request)
           
 void propertyChange(PropertyChangeEvent arg0)
           
abstract  void refreshVisuals()
           
abstract  void setColourFromType(LOType type)
           
 
Methods inherited from class uk.ac.kcl.cch.jb.pliny.parts.OrderableAbstractGraphicalEditPart
setSelected
 
Methods inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
addChildVisual, addNodeListener, addNotify, addSourceConnection, addTargetConnection, createConnection, createOrFindConnection, fireRemovingSourceConnection, fireRemovingTargetConnection, fireSourceConnectionAdded, fireTargetConnectionAdded, getAdapter, getContentPane, getDragTracker, getFigure, getLayer, getSourceConnections, getTargetConnections, primAddSourceConnection, primAddTargetConnection, primRemoveSourceConnection, primRemoveTargetConnection, refresh, refreshSourceConnections, refreshTargetConnections, registerVisuals, removeChildVisual, removeNodeListener, removeNotify, removeSourceConnection, removeTargetConnection, reorderChild, reorderSourceConnection, reorderTargetConnection, setFigure, setLayoutConstraint, unregisterVisuals
 
Methods inherited from class org.eclipse.gef.editparts.AbstractEditPart
activateEditPolicies, addChild, addEditPartListener, createChild, deactivateEditPolicies, debug, debugFeedback, eraseSourceFeedback, eraseTargetFeedback, fireActivated, fireChildAdded, fireDeactivated, fireRemovingChild, fireSelectionChanged, getAccessibleEditPart, getChildren, getCommand, getEditPolicy, getEditPolicyIterator, getEventListeners, getFlag, getModel, getModelChildren, getParent, getRoot, getSelected, getTargetEditPart, getViewer, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refreshChildren, register, registerAccessibility, registerModel, removeChild, removeEditPartListener, removeEditPolicy, setFlag, setFocus, setModel, setParent, showSourceFeedback, showTargetFeedback, toString, understandsRequest, unregister, unregisterAccessibility, unregisterModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.gef.GraphicalEditPart
addNodeListener, getContentPane, getFigure, getSourceConnections, getTargetConnections, removeNodeListener, setLayoutConstraint
 
Methods inherited from interface org.eclipse.gef.EditPart
addEditPartListener, addNotify, eraseSourceFeedback, eraseTargetFeedback, getChildren, getCommand, getDragTracker, getEditPolicy, getModel, getParent, getRoot, getSelected, getTargetEditPart, getViewer, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refresh, removeEditPartListener, removeEditPolicy, removeNotify, setFocus, setModel, setParent, setSelected, showSourceFeedback, showTargetFeedback, understandsRequest
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Constructor Detail

LinkableObjectBasePart

public LinkableObjectBasePart(LinkableObject model)
Method Detail

getLinkableObject

public LinkableObject getLinkableObject()

getMyType

public LOType getMyType()

createFigure

protected abstract org.eclipse.draw2d.IFigure createFigure()

createEditPolicies

protected void createEditPolicies()

activate

public void activate()
Upon activation, attach to the model element as a property change listener.

This part has to listen to both its LinkableObject, but also the connected resource, since the resource provides the editable title that this part displays.

Specified by:
activate in interface org.eclipse.gef.EditPart

deactivate

public void deactivate()
Upon deactivation, detach from the model element as a property change listener.

Specified by:
deactivate in interface org.eclipse.gef.EditPart

propertyChange

public void propertyChange(PropertyChangeEvent arg0)
Specified by:
propertyChange in interface PropertyChangeListener

getModelSourceConnections

protected List getModelSourceConnections()

getModelTargetConnections

protected List getModelTargetConnections()

getSourceConnectionAnchor

public org.eclipse.draw2d.ConnectionAnchor getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart connection)
Specified by:
getSourceConnectionAnchor in interface org.eclipse.gef.NodeEditPart

getTargetConnectionAnchor

public org.eclipse.draw2d.ConnectionAnchor getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart connection)
Specified by:
getTargetConnectionAnchor in interface org.eclipse.gef.NodeEditPart

getSourceConnectionAnchor

public org.eclipse.draw2d.ConnectionAnchor getSourceConnectionAnchor(org.eclipse.gef.Request request)
Specified by:
getSourceConnectionAnchor in interface org.eclipse.gef.NodeEditPart

getTargetConnectionAnchor

public org.eclipse.draw2d.ConnectionAnchor getTargetConnectionAnchor(org.eclipse.gef.Request request)
Specified by:
getTargetConnectionAnchor in interface org.eclipse.gef.NodeEditPart

refreshVisuals

public abstract void refreshVisuals()

setColourFromType

public abstract void setColourFromType(LOType type)