Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Eclipse GEF
3.3

org.eclipse.gef.editpolicies
Class LayoutEditPolicy

java.lang.Object
  extended by

org.eclipse.gef.editpolicies.AbstractEditPolicy
      extended by

org.eclipse.gef.editpolicies.GraphicalEditPolicy
          extended by
org.eclipse.gef.editpolicies.LayoutEditPolicy
All Implemented Interfaces:
EditPolicy, RequestConstants
Direct Known Subclasses:
ConstrainedLayoutEditPolicy, OrderedLayoutEditPolicy

public abstract class LayoutEditPolicy
extends GraphicalEditPolicy

Provides support for interacting with children GraphicalEditParts with the host figure's current LayoutManager.

LayoutEditPolicies are responsible for moving, resizing, reparenting, and creating children. The should provide Commands for all of these operations. Feedback on the container can also be useful for some layouts like grids.

LayoutEditPolicies will decorate the host's children with "satellite" EditPolicies. These policies are installed using the EditPolicy.PRIMARY_DRAG_ROLE. Simple layouts will use either ResizableEditPolicy or NonResizableEditPolicy, depending on how the LayoutManager works, and/or attributes of the child EditPart.


Field Summary
 
Fields inherited from interface org.eclipse.gef. EditPolicy
COMPONENT_ROLE, CONNECTION_BENDPOINTS_ROLE, CONNECTION_ENDPOINTS_ROLE, CONNECTION_ROLE, CONTAINER_ROLE, DIRECT_EDIT_ROLE, GRAPHICAL_NODE_ROLE, LAYOUT_ROLE, NODE_ROLE, PRIMARY_DRAG_ROLE, SELECTION_FEEDBACK_ROLE, TREE_CONTAINER_ROLE
 
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
LayoutEditPolicy ()
           
 
Method Summary
 void activate ()
          Extends activate() to allow proper decoration of children.
protected abstract   EditPolicy createChildEditPolicy ( EditPart child)
          Returns the "satellite" EditPolicy used to decorate the child.
protected   EditPartListener createListener ()
          creates the EditPartListener for observing when children are added to the host.
protected   IFigure createSizeOnDropFeedback ( CreateRequest createRequest)
          Override to provide custom feedback figure for the given create request.
 void deactivate ()
          Overrides deactivate to remove the EditPartListener.
protected  void decorateChild ( EditPart child)
          Decorates the child with a EditPolicy.PRIMARY_DRAG_ROLE such as ResizableEditPolicy.
protected  void decorateChildren ()
          Decorates all existing children.
protected  void eraseLayoutTargetFeedback ( Request request)
          Erases target layout feedback.
protected  void eraseSizeOnDropFeedback ( Request request)
          Erases size-on-drop feedback used during creation.
 void eraseTargetFeedback ( Request request)
          Calls two more specific methods depending on the Request.
protected   Command getAddCommand ( Request request)
          Override to return the Command to perform an ADD.
protected   Command getCloneCommand ( ChangeBoundsRequest request)
          Override to contribute to clone requests.
  Command getCommand ( Request request)
          Factors incoming requests into various specific methods.
protected abstract   Command getCreateCommand ( CreateRequest request)
          Returns the Command to perform a create.
protected   Insets getCreationFeedbackOffset ( CreateRequest request)
          Returns any insets that need to be applied to the creation feedback's bounds.
protected   Command getDeleteDependantCommand ( Request request)
          Returns the Command to delete a child.
protected   IFigure getLayoutContainer ()
          Returns the host's contentPane.
protected abstract   Command getMoveChildrenCommand ( Request request)
          Returns the Command to move a group of children.
protected   Command getOrphanChildrenCommand ( Request request)
          Returns the Command to orphan a group of children.
protected   IFigure getSizeOnDropFeedback ()
          Lazily creates and returns the Figure to use for size-on-drop feedback.
protected   IFigure getSizeOnDropFeedback ( CreateRequest createRequest)
          Lazily creates and returns the Figure to use for size-on-drop feedback.
  EditPart getTargetEditPart ( Request request)
          Returns the host if the Request is an ADD, MOVE, or CREATE.
protected  void setListener ( EditPartListener listener)
          Sets the EditPartListener used to decorate new children.
protected  void showLayoutTargetFeedback ( Request request)
          Shows target layout feedback.
protected  void showSizeOnDropFeedback ( CreateRequest request)
          Shows size-on-drop feedback during creation.
 void showTargetFeedback ( Request request)
          Factors feedback requests into two more specific methods.
protected  void undecorateChild ( EditPart child)
          Removes the decoration added in decorateChild(EditPart).
protected  void undecorateChildren ()
          Removes all decorations added by decorateChildren().
 
Methods inherited from class org.eclipse.gef.editpolicies. GraphicalEditPolicy
addFeedback, getFeedbackLayer, getHostFigure, getLayer, removeFeedback
 
Methods inherited from class org.eclipse.gef.editpolicies. AbstractEditPolicy
debugFeedback, eraseSourceFeedback, getHost, setHost, showSourceFeedback, toString, understandsRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LayoutEditPolicy

public LayoutEditPolicy()
Method Detail

activate

public void activate()
Extends activate() to allow proper decoration of children.

Specified by:
activate in interface EditPolicy
Overrides:
activate in class AbstractEditPolicy
See Also:
EditPolicy.activate()

createChildEditPolicy

protected abstract 
EditPolicy createChildEditPolicy(
EditPart child)
Returns the "satellite" EditPolicy used to decorate the child.

Parameters:
child - the child EditPart
Returns:
an EditPolicy to be installed as the EditPolicy.PRIMARY_DRAG_ROLE

createListener

protected 
EditPartListener createListener()
creates the EditPartListener for observing when children are added to the host.

Returns:
EditPartListener

createSizeOnDropFeedback

protected 
IFigure createSizeOnDropFeedback(
CreateRequest createRequest)
Override to provide custom feedback figure for the given create request.

Parameters:
createRequest - the create request
Returns:
custom feedback figure

deactivate

public void deactivate()
Overrides deactivate to remove the EditPartListener.

Specified by:
deactivate in interface EditPolicy
Overrides:
deactivate in class AbstractEditPolicy
See Also:
EditPolicy.deactivate()

decorateChild

protected void decorateChild(
EditPart child)
Decorates the child with a EditPolicy.PRIMARY_DRAG_ROLE such as ResizableEditPolicy.

Parameters:
child - the child EditPart being decorated

decorateChildren

protected void decorateChildren()
Decorates all existing children. This method is called on activation.


eraseLayoutTargetFeedback

protected void eraseLayoutTargetFeedback(
Request request)
Erases target layout feedback. This method is the inverse of showLayoutTargetFeedback(Request).

Parameters:
request - the Request

eraseSizeOnDropFeedback

protected void eraseSizeOnDropFeedback(
Request request)
Erases size-on-drop feedback used during creation.

Parameters:
request - the Request

eraseTargetFeedback

public void eraseTargetFeedback(
Request request)
Calls two more specific methods depending on the Request.

Specified by:
eraseTargetFeedback in interface EditPolicy
Overrides:
eraseTargetFeedback in class AbstractEditPolicy
See Also:
EditPolicy.eraseTargetFeedback(Request)

getAddCommand

protected 
Command getAddCommand(
Request request)
Override to return the Command to perform an ADD. By default, null is returned.

Parameters:
request - the ADD Request
Returns:
A command to perform the ADD.

getCloneCommand

protected 
Command getCloneCommand(
ChangeBoundsRequest request)
Override to contribute to clone requests.

Parameters:
request - the clone request
Returns:
the command contribution to the clone

getCommand

public 
Command getCommand(
Request request)
Factors incoming requests into various specific methods.

Specified by:
getCommand in interface EditPolicy
Overrides:
getCommand in class AbstractEditPolicy
See Also:
EditPolicy.getCommand(Request)

getCreateCommand

protected abstract 
Command getCreateCommand(
CreateRequest request)
Returns the Command to perform a create.

Parameters:
request - the CreateRequest
Returns:
a Command to perform a create

getCreationFeedbackOffset

protected 
Insets getCreationFeedbackOffset(
CreateRequest request)
Returns any insets that need to be applied to the creation feedback's bounds.

Parameters:
request - the create request
Returns:
insets, if necessary

getDeleteDependantCommand

protected 
Command getDeleteDependantCommand(
Request request)
Returns the Command to delete a child. This method does not get called unless the child forwards an additional request to the container editpart.

Parameters:
request - the Request
Returns:
the Command to delete the child

getLayoutContainer

protected 
IFigure getLayoutContainer()
Returns the host's contentPane. The contentPane is the Figure which parents the childrens' figures. It is also the figure which has the LayoutManager that corresponds to this EditPolicy. All operations should be interpreted with respect to this figure.

Returns:
the Figure that owns the corresponding LayoutManager

getMoveChildrenCommand

protected abstract 
Command getMoveChildrenCommand(
Request request)
Returns the Command to move a group of children.

Parameters:
request - the Request
Returns:
the Command to perform the move

getOrphanChildrenCommand

protected 
Command getOrphanChildrenCommand(
Request request)
Returns the Command to orphan a group of children. The contribution to orphan might contain two parts, both of which are optional. The first part is to actually remove the children from their existing parent. Some application models will perform an orphan implicitly when the children are added to their new parent. The second part is to perform some adjustments on the remaining children. For example, a Table layout might simplify itself by collapsing any unused columns and rows.

Parameters:
request - the Request
Returns:
null or a Command to perform an orphan

getSizeOnDropFeedback

protected 
IFigure getSizeOnDropFeedback(
CreateRequest createRequest)
Lazily creates and returns the Figure to use for size-on-drop feedback.

Parameters:
createRequest - the createRequest
Returns:
the size-on-drop feedback figure

getSizeOnDropFeedback

protected 
IFigure getSizeOnDropFeedback()
Lazily creates and returns the Figure to use for size-on-drop feedback.

Returns:
the size-on-drop feedback figure

getTargetEditPart

public 
EditPart getTargetEditPart(
Request request)
Returns the host if the Request is an ADD, MOVE, or CREATE.

Specified by:
getTargetEditPart in interface EditPolicy
Overrides:
getTargetEditPart in class AbstractEditPolicy
See Also:
EditPolicy.getTargetEditPart(Request)

setListener

protected void setListener(
EditPartListener listener)
Sets the EditPartListener used to decorate new children. If the listener is currently set, it will be unhooked. If the new value is not null, it will be hooked.

The listener must be remembered in case this EditPolicy is removed from the host and replaced with another LayoutEditPolicy.

Parameters:
listener - null or the listener.

showLayoutTargetFeedback

protected void showLayoutTargetFeedback(
Request request)
Shows target layout feedback. During moves, reparents, and creation, this method is called to allow the LayoutEditPolicy to temporarily show features of its layout that will help the User understand what will happen if the operation is performed in the current location.

By default, no feedback is shown.

Parameters:
request - the Request
See Also:
eraseLayoutTargetFeedback(Request)

showSizeOnDropFeedback

protected void showSizeOnDropFeedback(
CreateRequest request)
Shows size-on-drop feedback during creation.

Parameters:
request - the CreateRequest

showTargetFeedback

public void showTargetFeedback(
Request request)
Factors feedback requests into two more specific methods.

Specified by:
showTargetFeedback in interface EditPolicy
Overrides:
showTargetFeedback in class AbstractEditPolicy
See Also:
EditPolicy.showTargetFeedback(Request)

undecorateChild

protected void undecorateChild(
EditPart child)
Removes the decoration added in decorateChild(EditPart).

Parameters:
child - the child whose decoration is being removed.

undecorateChildren

protected void undecorateChildren()
Removes all decorations added by decorateChildren().


Eclipse GEF
3.3

Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire