Interface EditPart
- All Superinterfaces:
- IAdaptable
- All Known Subinterfaces:
- ConnectionEditPart,- GraphicalEditPart,- IScrollableEditPart,- NodeEditPart,- RootEditPart,- TreeEditPart
- All Known Implementing Classes:
- AbstractConnectionEditPart,- AbstractEditPart,- AbstractGraphicalEditPart,- AbstractTreeEditPart,- FreeformGraphicalRootEditPart,- GraphicalRootEditPart,- RootTreeEditPart,- ScalableFreeformRootEditPart,- ScalableRootEditPart,- SimpleRootEditPart
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.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intUsed to indicate non-primary selectionstatic final intUsed to indicate no selectionstatic final intUsed to indicate primary selection, or "Anchor" selection.
- 
Method SummaryModifier and TypeMethodDescriptionvoidactivate()Activates the EditPart.voidaddEditPartListener(EditPartListener listener) Adds a listener to the EditPart.voidCalled after the EditPart has been added to its parent.voidDeactivates the EditPart.voideraseSourceFeedback(Request request) Erases source feedback for the specifiedRequest.voideraseTargetFeedback(Request request) Erases target feedback for the specifiedRequest.Returns the List of childrenEditParts.getCommand(Request request) Returns theCommandto perform the specified Request ornull.getDragTracker(Request request) Returns aDragTrackerfor dragging this EditPart.getEditPolicy(Object key) getModel()Returns the primary model object that this EditPart represents.Returns the parentEditPart.getRoot()Returns theRootEditPart.intReturns the selected state of this EditPart.getTargetEditPart(Request request) Return theEditPartthat should be used as the target for the specifiedRequest.Convenience method for returning theEditPartViewerfor this part.booleanhasFocus()Returns true if this EditPart has focus.voidinstallEditPolicy(Object role, EditPolicy editPolicy) Installs an EditPolicy for a specified role.booleanisActive()returnstrueif the EditPart is active.booleanReturnstrueif the EditPart is selectable.voidperformRequest(Request request) Performs the specified Request.voidrefresh()Called to force a refresh of this EditPart.voidremoveEditPartListener(EditPartListener listener) Removes the first occurance of the specified listener from the list of listeners.voidremoveEditPolicy(Object role) Removes the EditPolicy for the given role.voidCalled when the EditPart is being permanently removed from itsEditPartViewer.voidsetFocus(boolean hasFocus) Set the focus property to reflect the value in the EditPartViewer.void Sets the model. Sets the model.void Sets the parent. Sets the parent.voidsetSelected(int value)  Sets the selected
 state property to reflect the selection in the EditPartViewer. Sets the selected
 state property to reflect the selection in the EditPartViewer.voidshowSourceFeedback(Request request) Shows or updates source feedback for the given request.voidshowTargetFeedback(Request request) Shows or updates target feedback for the given request.booleanunderstandsRequest(Request request) Used to filter EditParts out of the current selection.Methods inherited from interface org.eclipse.core.runtime.IAdaptablegetAdapter
- 
Field Details- 
SELECTED_NONEstatic final int SELECTED_NONEUsed to indicate no selection- See Also:
 
- 
SELECTEDstatic final int SELECTEDUsed to indicate non-primary selection- See Also:
 
- 
SELECTED_PRIMARYstatic final int SELECTED_PRIMARYUsed to indicate primary selection, or "Anchor" selection. Primary selection is defined as the last object selected.- See Also:
 
 
- 
- 
Method Details- 
activatevoid activate()Activates the EditPart. EditParts that observe a dynamic model or support editing must be active. Called by the managing EditPart, or the Viewer in the case of theRootEditPart. This method may be called again oncedeactivate()has been called.During activation the receiver should: - begin to observe its model if appropriate, and should continue the
 observation until deactivate()is called.
- activate all of its EditPolicies. EditPolicies may also observe the model, although this is rare. But it is common for EditPolicies to contribute additional visuals, such as selection handles or feedback during interactions. Therefore it is necessary to tell the EditPolicies when to start doing this, and when to stop.
- call activate() on the EditParts it manages. This includes its children, and for GraphicalEditParts, its source connections.
 
- begin to observe its model if appropriate, and should continue the
 observation until 
- 
addEditPartListenerAdds a listener to the EditPart. Duplicate calls result in duplicate notification.- Parameters:
- listener- the Listener
 
- 
addNotifyvoid addNotify()Called after the EditPart has been added to its parent. This is used to indicate to the EditPart that it should refresh itself for the first time.
- 
deactivatevoid deactivate()Deactivates the EditPart. EditParts that observe a dynamic model or support editing must be active.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 theRootEditPart. This method may be called multiple times.During deactivation the receiver should: - remove all listeners that were added in activate()
- deactivate all of its EditPolicies. EditPolicies may be contributing additional visuals, such as selection handles or feedback during interactions. Therefore it is necessary to tell the EditPolicies when to start doing this, and when to stop.
- call deactivate() on the EditParts it manages. This includes its
 children, and for GraphicalEditParts, its source connections.
 
- remove all listeners that were added in 
- 
eraseSourceFeedbackErases source feedback for the specifiedRequest. 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 toshowSourceFeedback(Request).- Parameters:
- request- the type of feedback that is being erased
 
- 
eraseTargetFeedbackErases target feedback for the specifiedRequest. 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 toshowTargetFeedback(Request).- Parameters:
- request- the type of feedback that is being erased
 
- 
getChildrenReturns the List of childrenEditParts. 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.- Returns:
- a Listof children
 
- 
getCommandReturns theCommandto perform the specified Request ornull.- Parameters:
- request- describes the Command being requested
- Returns:
- nullor a Command
 
- 
getDragTrackerReturns aDragTrackerfor dragging this EditPart. TheSelectionToolis the only Tool by default that calls this method. The SelectionTool will use aSelectionRequestto provide information such as which mouse button is down, and what modifier keys are pressed.- Parameters:
- request- a- Requestindicating the context of the drag
- Returns:
- nullor a DragTracker
 
- 
getEditPolicy- Parameters:
- key- the key identifying the EditPolicy
- Returns:
- nullor the EditPolicy installed with the given key
 
- 
getModelObject getModel()Returns the primary model object that this EditPart represents. EditParts may correspond to more than one model object, or even no model object. In practice, the Object returned is used by other EditParts to identify this EditPart. In addition, EditPolicies probably rely on this method to build Commands that operate on the model.- Returns:
- nullor the primary model object
 
- 
getParentEditPart getParent()Returns the parentEditPart. This method should only be called internally or by helpers such as EditPolicies.- Returns:
- nullor the parent- EditPart
 
- 
getRootRootEditPart getRoot()Returns theRootEditPart. This method should only be called internally or by helpers such as edit policies. The root can be used to get the viewer.- Returns:
- nullor the- RootEditPart
 
- 
getSelectedint getSelected()Returns the selected state of this EditPart. This method should only be called internally or by helpers such as EditPolicies.- Returns:
- one of:
 
- 
getTargetEditPartReturn theEditPartthat should be used as the target for the specifiedRequest. 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.- Parameters:
- request- the type of target being requested
- Returns:
- nullor the target
 
- 
getViewerEditPartViewer getViewer()Convenience method for returning theEditPartViewerfor this part.- Returns:
- the EditPartViewerornull
 
- 
hasFocusboolean hasFocus()Returns true if this EditPart has focus. The focus EditPart is a property of the EditPartViewer. The Viewer keeps this property in sync with its focus.- Returns:
- true if the EditPart has focus
- See Also:
 
- 
installEditPolicyInstalls an EditPolicy for a specified role. A role is is simply an Object used to identify the EditPolicy. An example of a role is layout.EditPolicy.LAYOUT_ROLEis generally used as the key for this EditPolicy.nullis a valid value for reserving a location.- Parameters:
- role- an identifier used to key the EditPolicy
- editPolicy- the EditPolicy
 
- 
isActiveboolean isActive()returnstrueif the EditPart is active. Editparts are active afteractivate()is called, and untildeactivate()is called.- Returns:
- truewhen active
 
- 
isSelectableboolean isSelectable()Returnstrueif the EditPart is selectable. A selectable EditPart may be selected as a result of theSelectionToolreceiving a mouse down, or as a result of the User pressing a key to change selection.- Returns:
- trueif the receiver can be selected
 
- 
performRequestPerforms the specified Request. This method can be used to send a generic message to an EditPart. If the EditPart interprets this request to mean make a change in the model, it should still useCommandsand theCommandStackso that the change is undoable. The CommandStack is available from theEditDomain.- Parameters:
- request- the request to be performed
 
- 
refreshvoid refresh()Called to force a refresh of this EditPart. All visuals properties will be updated, as well as structural features like children.
- 
removeEditPartListenerRemoves the first occurance of the specified listener from the list of listeners. Does nothing if the listener was not present.- Parameters:
- listener- the listener being removed
 
- 
removeEditPolicyRemoves the EditPolicy for the given role. The EditPolicy is deactivated if it is active. The position for that role is maintained withnullin the place of the old EditPolicy.- Parameters:
- role- the key identifying the EditPolicy to be removed
- See Also:
 
- 
removeNotifyvoid removeNotify()Called when the EditPart is being permanently removed from itsEditPartViewer. 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 ofaddNotify()
- 
setFocusvoid setFocus(boolean hasFocus) Set the focus property to reflect the value in the EditPartViewer. Focus is determined by the EditPartViewer.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. - Parameters:
- hasFocus- boolean indicating if this part has focus
 
- 
setModel Sets the model. This
 method is made public to facilitate the use of Sets the model. This
 method is made public to facilitate the use ofEditPartFactories.IMPORTANT: This method should only be called once. - Parameters:
- model- the Model
 
- 
setParent Sets the parent. This
 should only be called by the parent EditPart. Sets the parent. This
 should only be called by the parent EditPart.- Parameters:
- parent- the parent EditPart
 
- 
setSelectedvoid 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. 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. - Parameters:
- value- an enum indicating the selected state
- See Also:
 
- 
showSourceFeedbackShows or updates source feedback for the given request. This method may be called multiple times so that the feedback can be updated for changes in the request, such as the mouse location changing.- Parameters:
- request- request describing the type of feedback
 
- 
showTargetFeedbackShows or updates target feedback for the given request. This method can be called multiple times so that the feedback can be updated for changes in the request, such as the mouse location changing.- Parameters:
- request- request describing the type of feedback
 
- 
understandsRequestUsed to filter EditParts out of the current selection. If an operation is going to be performed on the current selection, the selection can first be culled to remove EditParts that do not participate in the operation. For example, when aligning the left edges of GraphicalEditParts, it makes sense to ignore any selected ConnectionEditParts, as they cannot be aligned.- Parameters:
- request- a- Requestdescribing an operation of some type
- Returns:
- trueif Request is understood
 
 
-