uk.ac.kcl.cch.jb.pliny.actions
Class MakeAnnotationAction

java.lang.Object
  extended byorg.eclipse.core.commands.common.EventManager
      extended byorg.eclipse.jface.action.AbstractAction
          extended byorg.eclipse.jface.action.Action
              extended byuk.ac.kcl.cch.jb.pliny.actions.MakeAnnotationAction
All Implemented Interfaces:
org.eclipse.gef.requests.CreationFactory, org.eclipse.jface.action.IAction

public class MakeAnnotationAction
extends org.eclipse.jface.action.Action
implements org.eclipse.gef.requests.CreationFactory

This action tells GEF to use its Creation tool to allow the user to create a new Annotation. To this end, it is also a creation factory for Annotation objects.

The actual creation of an Annotation (which is really an anchor, a note reference and a link between them) happens when the user draws out an area on the screen, and is handled as a part of the GEF policy ScalableImageXYLayoutEditPolicy.getCreateCommand(org.eclipse.gef.requests.CreateRequest).

Author:
John Bradley

Field Summary
 
Fields inherited from interface org.eclipse.jface.action.IAction
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT
 
Constructor Summary
MakeAnnotationAction()
          constructor for this action.
MakeAnnotationAction(org.eclipse.gef.EditDomain editDomain)
          constructor for this action.
 
Method Summary
 Object getNewObject()
          creates a new Annotation object.
 Object getObjectType()
          returns the Annotation class.
 void run()
          creates a new CreationTool with this as a factory for Annotations and gives the tool to the editDomain.
 void setEditDomain(org.eclipse.gef.EditDomain editDomain)
          stores the editDomain to which the creation tool will be given.
 
Methods inherited from class org.eclipse.jface.action.Action
convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
Methods inherited from class org.eclipse.jface.action.AbstractAction
addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener
 
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.jface.action.IAction
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

MakeAnnotationAction

public MakeAnnotationAction()
constructor for this action. It will require a GEF editDomain to which the tool can be given before it can be used, which can be specified through setEditDomain().


MakeAnnotationAction

public MakeAnnotationAction(org.eclipse.gef.EditDomain editDomain)
constructor for this action. The editDomain is the one to which the CreateTool is to be given.

Parameters:
editDomain - EditDomain
Method Detail

setEditDomain

public void setEditDomain(org.eclipse.gef.EditDomain editDomain)
stores the editDomain to which the creation tool will be given.

Parameters:
editDomain - EditDomain

run

public void run()
creates a new CreationTool with this as a factory for Annotations and gives the tool to the editDomain.

Specified by:
run in interface org.eclipse.jface.action.IAction

getNewObject

public Object getNewObject()
creates a new Annotation object. Part of the CreationFactory interface.

Specified by:
getNewObject in interface org.eclipse.gef.requests.CreationFactory

getObjectType

public Object getObjectType()
returns the Annotation class. Part of the CreationFactory interface.

Specified by:
getObjectType in interface org.eclipse.gef.requests.CreationFactory