Eclipse GEF
2.1

org.eclipse.gef.editpolicies
Class NonResizableEditPolicy

java.lang.Object
  |
  +--org.eclipse.gef.editpolicies.AbstractEditPolicy
        |
        +--org.eclipse.gef.editpolicies.GraphicalEditPolicy
              |
              +--org.eclipse.gef.editpolicies.SelectionEditPolicy
                    |
                    +--org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy
                          |
                          +--org.eclipse.gef.editpolicies.NonResizableEditPolicy
All Implemented Interfaces:
EditPolicy, IAdaptable, RequestConstants
Direct Known Subclasses:
ResizableEditPolicy

public class NonResizableEditPolicy
extends SelectionHandlesEditPolicy

Provide support for selecting and positioning a non-resizable editpart. Selection is indicated via four square handles at each corner of the editpart's figure, and a rectangular handle that outlines the editpart with a 1-pixel black line. All of these handles return DragEditPartsTrackers, which allows the current selection to be dragged.

During feedback, a rectangle filled using XOR and outlined with dashes is drawn. Subclasses can tailor the feedback.


Field Summary
 
Fields inherited from class org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy
handles
 
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_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
NonResizableEditPolicy()
           
 
Method Summary
protected  IFigure createDragSourceFeedbackFigure()
          Creates the figure used for feedback.
protected  List createSelectionHandles()
          Subclasses must implement to provide the list of handles.
 void deactivate()
          Extends deactivate to unhook the seleciton listener and to remove the visual changes for representing selection/focus.
protected  void eraseChangeBoundsFeedback(ChangeBoundsRequest request)
          Erases drag feedback.
 void eraseSourceFeedback(Request request)
          Does nothing by default.
protected  Command getAlignCommand(AlignmentRequest request)
          Returns the command contribution to an alignment request
 Command getCommand(Request request)
          Returns null by default.
protected  IFigure getDragSourceFeedbackFigure()
          Lazily creates and returns the feedback figure used during drags.
protected  Command getMoveCommand(ChangeBoundsRequest request)
          Returns the command contribution to a change bounds request.
protected  Command getOrphanCommand(Request req)
          Subclasses may override to contribute to the orphan request.
protected  void hideFocus()
          Hides the focus rectangle displayed in showFocus().
protected  void showChangeBoundsFeedback(ChangeBoundsRequest request)
          Shows or updates feedback for a change bounds request.
protected  void showFocus()
          Shows a focus rectangle around the host's figure.
 void showSourceFeedback(Request request)
          Calls other methods as appropriate.
 boolean understandsRequest(Request request)
          Returns true for move, align, add, and orphan request types.
 
Methods inherited from class org.eclipse.gef.editpolicies.SelectionHandlesEditPolicy
addSelectionHandles, getAdapter, hideSelection, removeSelectionHandles, showSelection
 
Methods inherited from class org.eclipse.gef.editpolicies.SelectionEditPolicy
activate, addSelectionListener, getTargetEditPart, removeSelectionListener, setFocus, setSelectedState, showPrimarySelection
 
Methods inherited from class org.eclipse.gef.editpolicies.GraphicalEditPolicy
addFeedback, getHostFigure, getLayer, removeFeedback
 
Methods inherited from class org.eclipse.gef.editpolicies.AbstractEditPolicy
debugFeedback, eraseTargetFeedback, getHost, setHost, showTargetFeedback, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NonResizableEditPolicy

public NonResizableEditPolicy()
Method Detail

createDragSourceFeedbackFigure

protected IFigure createDragSourceFeedbackFigure()
Creates the figure used for feedback.

Returns:
the new feedback figure

createSelectionHandles

protected List createSelectionHandles()
Description copied from class: SelectionHandlesEditPolicy
Subclasses must implement to provide the list of handles.

Specified by:
createSelectionHandles in class SelectionHandlesEditPolicy
Returns:
List
See Also:
SelectionHandlesEditPolicy.createSelectionHandles()

deactivate

public void deactivate()
Description copied from class: SelectionEditPolicy
Extends deactivate to unhook the seleciton listener and to remove the visual changes for representing selection/focus.

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

eraseChangeBoundsFeedback

protected void eraseChangeBoundsFeedback(ChangeBoundsRequest request)
Erases drag feedback. This method called whenever an erase feedback request is received of the appropriate type.

Parameters:
request - the request

eraseSourceFeedback

public void eraseSourceFeedback(Request request)
Description copied from class: AbstractEditPolicy
Does nothing by default.

Specified by:
eraseSourceFeedback in interface EditPolicy
Overrides:
eraseSourceFeedback in class AbstractEditPolicy
See Also:
EditPolicy.eraseSourceFeedback(org.eclipse.gef.Request)

getCommand

public Command getCommand(Request request)
Description copied from class: AbstractEditPolicy
Returns null by default. null is used to indicate that the EditPolicy does not contribute to the specified Request.

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

getDragSourceFeedbackFigure

protected IFigure getDragSourceFeedbackFigure()
Lazily creates and returns the feedback figure used during drags.

Returns:
the feedback figure

getAlignCommand

protected Command getAlignCommand(AlignmentRequest request)
Returns the command contribution to an alignment request

Parameters:
request - the alignment request
Returns:
the contribution to the alignment

getMoveCommand

protected Command getMoveCommand(ChangeBoundsRequest request)
Returns the command contribution to a change bounds request. The implementation actually redispatches the request to the host's parent editpart as a RequestConstants.REQ_MOVE_CHILDREN request. The parent's contribution is returned.

Parameters:
request - the change bounds requesgt
Returns:
the command contribution to the request

getOrphanCommand

protected Command getOrphanCommand(Request req)
Subclasses may override to contribute to the orphan request. By default, null is returned to indicate no participation. Orphan requests are not forwarded to the host's parent here. That is done in ComponentEditPolicy. So, if the host has a component editpolicy, then the parent will already have a chance to contribute.

Parameters:
req - the orphan request
Returns:
null by default

hideFocus

protected void hideFocus()
Hides the focus rectangle displayed in showFocus().

Overrides:
hideFocus in class SelectionEditPolicy
See Also:
showFocus(), SelectionEditPolicy.hideFocus()

showChangeBoundsFeedback

protected void showChangeBoundsFeedback(ChangeBoundsRequest request)
Shows or updates feedback for a change bounds request.

Parameters:
request - the request

showFocus

protected void showFocus()
Shows a focus rectangle around the host's figure. The focus rectangle is expanded by 5 pixels from the figure's bounds.

Overrides:
showFocus in class SelectionEditPolicy
See Also:
SelectionEditPolicy.showFocus()

showSourceFeedback

public void showSourceFeedback(Request request)
Calls other methods as appropriate.

Specified by:
showSourceFeedback in interface EditPolicy
Overrides:
showSourceFeedback in class AbstractEditPolicy
See Also:
EditPolicy.showSourceFeedback(org.eclipse.gef.Request)

understandsRequest

public boolean understandsRequest(Request request)
Returns true for move, align, add, and orphan request types. This method is never called for some of these types, but they are included for possible future use.

Specified by:
understandsRequest in interface EditPolicy
Overrides:
understandsRequest in class AbstractEditPolicy
See Also:
EditPolicy.understandsRequest(org.eclipse.gef.Request)

Eclipse GEF
2.1

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