Package org.eclipse.gef.ui.actions

# Class PasteTemplateAction

java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.jface.action.AbstractAction
org.eclipse.jface.action.Action
org.eclipse.gef.ui.actions.WorkbenchPartAction
org.eclipse.gef.ui.actions.SelectionAction
org.eclipse.gef.ui.actions.PasteTemplateAction

All Implemented Interfaces:
  `Disposable`, `UpdateAction`, `IAction`

public class PasteTemplateAction extends SelectionAction
If the current object on the clipboard is a valid template, this action will paste the template to the viewer.

Since:
  3.8
See Also:
  - `CopyTemplateAction`

## 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

Constructors
Constructor
Description
`PasteTemplateAction(IWorkbenchPart editor)`
Constructor for PasteTemplateAction.

## Method Summary

Modifier and Type
Method
Description
`protected boolean`
`calculateEnabled()`
Calculates and returns the enabled state of this action.
`protected Command`
`createPasteCommand()`
Creates and returns a command (which may be `null`) to create a new EditPart based on the template on the clipboard.
`protected Object`
`getClipboardContents()`
Returns the template on the clipboard, if there is one.
`protected CreationFactory`
`getFactory(Object template)`
Returns the appropriate Factory object to be used for the specified template.
`protected org.eclipse.draw2d.geometry.Point`
`getPasteLocation(GraphicalEditPart container)`
`protected void`
`init()`
Initializes this action.
`void`
`run()`
Executes the command returned by `createPasteCommand()`.

### Methods inherited from class org.eclipse.gef.ui.actions.SelectionAction

`dispose, getSelectedEditParts, getSelectedObjects, getSelection, handleSelectionChanged, setSelection, setSelectionProvider, update`

### Methods inherited from class org.eclipse.gef.ui.actions.WorkbenchPartAction

`execute, getCommandStack, getWorkbenchPart, isEnabled, refresh, setLazyEnablementCalculation, setWorkbenchPart`

### 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, 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`

## Constructor Details

### PasteTemplateAction

public PasteTemplateAction(IWorkbenchPart editor)
Constructor for PasteTemplateAction.

Parameters:
  `editor` -

## Method Details

### calculateEnabled

protected boolean calculateEnabled()
Description copied from class: `WorkbenchPartAction`
Calculates and returns the enabled state of this action.

Specified by:
  `calculateEnabled` in class `WorkbenchPartAction`
Returns:
  `true` if `createPasteCommand()` returns an executable command
See Also:
  - `WorkbenchPartAction.calculateEnabled()`

### createPasteCommand

protected Command createPasteCommand()
Creates and returns a command (which may be `null`) to create a new EditPart based on the template on the clipboard.

Returns:
  the paste command

### getClipboardContents

protected Object getClipboardContents()
Returns the template on the clipboard, if there is one. Note that the template on the clipboard might be from a palette from another type of editor.

Returns:
  the clipboard's contents

### getFactory

protected CreationFactory getFactory(Object template)
Returns the appropriate Factory object to be used for the specified template. This Factory is used on the CreateRequest that is sent to the target EditPart. Note that the given template might be from a palette for a different GEF-based editor. In that case, this method can return `null`.

Parameters:
  `template` - the template Object; it will never be `null`
Returns:
  a Factory

### getPasteLocation

protected org.eclipse.draw2d.geometry.Point getPasteLocation(GraphicalEditPart container)

Parameters:
  `container` - the parent of the new part that is being pasted
Returns:
  the location at which to insert

### init

protected void init()
Description copied from class: `WorkbenchPartAction`
Initializes this action.

Overrides:
  `init` in class `WorkbenchPartAction`
See Also:
  - `WorkbenchPartAction.init()`

### run

public void run()
Executes the command returned by `createPasteCommand()`.

Specified by:
  `run` in interface `IAction`
Overrides:
  `run` in class `Action`