public interface EditPart extends IAdaptable
Figures and
TreeItems. Model objects are often
composed of other objects that the User will interact with. Similarly,
EditParts can be composed of or have references to other EditParts.
The creator of an EditPart should call only setModel(Object). The remaining API is used mostly by Tools, EditPolicies, and other EditParts. CHANGES are made to the model, not the EditPart.
Most interaction with EditParts is achieved using Requests. A
Request specifies the type of interaction. Requests are used in
targeting, filtering the selection (using
understandsRequest(Request)), graphical
showSourceFeedback(Request) feedback, and most importantly,
obtaining commands. Only Commands should change the model.
IMPORTANT: This interface is not intended to be implemented by
clients. Clients should inherit from
AbstractEditPart. New methods may be added
in the future.
| Modifier and Type | Field and Description |
|---|---|
static int |
SELECTED
Used to indicate non-primary selection
|
static int |
SELECTED_NONE
Used to indicate no selection
|
static int |
SELECTED_PRIMARY
Used to indicate primary selection, or "Anchor" selection.
|
| Modifier and Type | Method and Description |
|---|---|
void |
activate()
Activates the EditPart.
|
void |
addEditPartListener(EditPartListener listener)
Adds a listener to the EditPart.
|
void |
addNotify()
Called after the EditPart has been added to its parent.
|
void |
deactivate()
Deactivates the EditPart.
|
void |
eraseSourceFeedback(Request request)
Erases source feedback for the specified
Request. |
void |
eraseTargetFeedback(Request request)
Erases target feedback for the specified
Request. |
java.util.List |
getChildren()
Returns the List of children
EditParts. |
Command |
getCommand(Request request)
Returns the
Command to perform the specified Request or
null. |
DragTracker |
getDragTracker(Request request)
Returns a
DragTracker for dragging this EditPart. |
EditPolicy |
getEditPolicy(java.lang.Object key) |
java.lang.Object |
getModel()
Returns the primary model object that this EditPart represents.
|
EditPart |
getParent()
Returns the parent
EditPart. |
RootEditPart |
getRoot()
Returns the
RootEditPart. |
int |
getSelected()
Returns the selected state of this EditPart.
|
EditPart |
getTargetEditPart(Request request)
Return the
EditPart that should be used as the target
for the specified Request. |
EditPartViewer |
getViewer()
Convenience method for returning the
EditPartViewer for this
part. |
boolean |
hasFocus()
Returns true if this EditPart has focus.
|
void |
installEditPolicy(java.lang.Object role,
EditPolicy editPolicy)
Installs an EditPolicy for a specified role.
|
boolean |
isActive()
returns
true if the EditPart is active. |
boolean |
isSelectable()
Returns
true if the EditPart is selectable. |
void |
performRequest(Request request)
Performs the specified Request.
|
void |
refresh()
Called to force a refresh of this EditPart.
|
void |
removeEditPartListener(EditPartListener listener)
Removes the first occurance of the specified listener from the list of
listeners.
|
void |
removeEditPolicy(java.lang.Object role)
Removes the EditPolicy for the given role.
|
void |
removeNotify()
Called when the EditPart is being permanently removed from its
EditPartViewer. |
void |
setFocus(boolean hasFocus)
Set the focus property to reflect the value in the EditPartViewer.
|
void |
setModel(java.lang.Object model)
Sets the model. |
void |
setParent(EditPart parent)
Sets the parent. |
void |
setSelected(int value)
Sets the selected state property to
reflect the selection in the EditPartViewer. |
void |
showSourceFeedback(Request request)
Shows or updates source feedback for the given request.
|
void |
showTargetFeedback(Request request)
Shows or updates target feedback for the given request.
|
boolean |
understandsRequest(Request request)
Used to filter EditParts out of the current selection.
|
getAdapterstatic final int SELECTED_NONE
static final int SELECTED
static final int SELECTED_PRIMARY
void activate()
RootEditPart. This method may be called
again once deactivate() has been called.
During activation the receiver should:
deactivate() is called.
void addEditPartListener(EditPartListener listener)
listener - the Listenervoid addNotify()
void deactivate()
deactivate() is
guaranteed to be called when an EditPart will no longer be used. Called
by the managing EditPart, or the Viewer in the case of the
RootEditPart. This method may be called multiple times.
During deactivation the receiver should:
activate()
GraphicalEditParts, its source
connections.
void eraseSourceFeedback(Request request)
Request. A
Request is used to describe the type of source feedback that should be
erased. This method should only be called once to erase feedback. It
should only be called in conjunction with a prior call to
showSourceFeedback(Request).request - the type of feedback that is being erasedvoid eraseTargetFeedback(Request request)
Request. A
Request is used to describe the type of target feedback that should be
erased. This method should only be called once to erase feedback. It
should only be called in conjunction with a prior call to
showTargetFeedback(Request).request - the type of feedback that is being erasedjava.util.List getChildren()
EditParts. This method should
rarely be called, and is only made public so that helper objects of this
EditPart, such as EditPolicies, can obtain the children. The returned
List may be by reference, and should never be modified.List of childrenCommand getCommand(Request request)
Command to perform the specified Request or
null.request - describes the Command being requestednull or a CommandDragTracker getDragTracker(Request request)
DragTracker for dragging this EditPart. The
SelectionTool is the only
Tool by default that calls this method. The SelectionTool will use a
SelectionRequest to provide information
such as which mouse button is down, and what modifier keys are pressed.request - a Request indicating the context of the dragnull or a DragTrackerEditPolicy getEditPolicy(java.lang.Object key)
key - the key identifying the EditPolicynull or the EditPolicy installed with the given keyjava.lang.Object getModel()
null or the primary model objectEditPart getParent()
EditPart. This method should only be
called internally or by helpers such as EditPolicies.null or the parent EditPartRootEditPart getRoot()
RootEditPart. This method should only be called
internally or by helpers such as edit policies. The root can be used to
get the viewer.null or the RootEditPartint getSelected()
EditPart getTargetEditPart(Request request)
EditPart that should be used as the target
for the specified Request. Tools will generally call this
method with the mouse location so that the receiver can implement drop
targeting. Typically, if this EditPart is not the requested target (for
example, this EditPart is not a composite), it will forward the call to
its parent.request - the type of target being requestednull or the targetEditPartViewer getViewer()
EditPartViewer for this
part.EditPartViewer or nullboolean hasFocus()
EditPartViewer.getFocusEditPart()void installEditPolicy(java.lang.Object role,
EditPolicy editPolicy)
EditPolicy.LAYOUT_ROLE is generally used as the key for
this EditPolicy. null is a valid value for reserving a
location.role - an identifier used to key the EditPolicyeditPolicy - the EditPolicyboolean isActive()
true if the EditPart is active. Editparts are active
after activate() is called, and until deactivate() is
called.true when activeboolean isSelectable()
true if the EditPart is selectable. A selectable
EditPart may be selected as a result of the
SelectionTool receiving a mouse down, or as
a result of the User pressing a key to change selection.true if the receiver can be selectedvoid performRequest(Request request)
Commands and
the CommandStack so that the change is undoable. The
CommandStack is available from the EditDomain.request - the request to be performedvoid refresh()
void removeEditPartListener(EditPartListener listener)
listener - the listener being removedvoid removeEditPolicy(java.lang.Object role)
null in the place of the old EditPolicy.role - the key identifying the EditPolicy to be removedinstallEditPolicy(Object, EditPolicy)void removeNotify()
EditPartViewer. This indicates that the EditPart will no longer
be in the Viewer, and therefore should remove itself from the Viewer.
This method is not called when a Viewer is disposed. It is only
called when the EditPart is removed from its parent. This method is the
inverse of addNotify()void setFocus(boolean hasFocus)
Focus is considered to be part of the selected state, changing
this value will fire
EditPartListener.selectedStateChanged(EditPart).
IMPORTANT: This method should only be called by the EditPartViewer.
hasFocus - boolean indicating if this part has focusvoid setModel(java.lang.Object model)
Sets the model. This method is made
public to facilitate the use of EditPartFactories
.
IMPORTANT: This method should only be called once.
model - the Modelvoid setParent(EditPart parent)
Sets the parent. This should only be
called by the parent EditPart.parent - the parent EditPartvoid setSelected(int value)
Sets the selected state property to
reflect the selection in the EditPartViewer. Fires
selectedStateChanged(EditPart) to any EditPartListeners. Selection is
maintained by the EditPartViewer.
IMPORTANT: This method should only be called by the EditPartViewer.
value - an enum indicating the selected stategetSelected()void showSourceFeedback(Request request)
request - request describing the type of feedbackvoid showTargetFeedback(Request request)
request - request describing the type of feedbackboolean understandsRequest(Request request)
request - a Request describing an operation of some typetrue if Request is understoodCopyright (c) IBM Corp. and others 2000, 2011. All Rights Reserved.