Runtime

org.eclipse.gmf.runtime.diagram.ui.editparts
Class NestableListItemEditPart

java.lang.Object
  extended byorg.eclipse.gef.editparts.AbstractEditPart
      extended byorg.eclipse.gef.editparts.AbstractGraphicalEditPart
          extended byorg.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart
              extended byorg.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart
                  extended byorg.eclipse.gmf.runtime.diagram.ui.editparts.TextCompartmentEditPart
                      extended byorg.eclipse.gmf.runtime.diagram.ui.editparts.ListItemEditPart
                          extended byorg.eclipse.gmf.runtime.diagram.ui.editparts.NestableListItemEditPart
All Implemented Interfaces:
EditPart, GraphicalEditPart, IAdaptable, IAdaptableSelection, org.eclipse.gmf.runtime.diagram.ui.internal.editparts.IContainedEditPart, org.eclipse.gmf.runtime.diagram.ui.internal.editparts.IEditableEditPart, IGraphicalEditPart, IResizableCompartmentEditPart, ITextAwareEditPart, NotificationListener, RequestConstants

public class NestableListItemEditPart
extends ListItemEditPart
implements IResizableCompartmentEditPart

Extends ListItemEditPart to support nesting of list compartments. This edit part supports a TextCompartmentView that contains children. Should be used if you have a TextCompartment that contains other children such as a list compartment.


Nested Class Summary
 
Nested classes inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
AbstractGraphicalEditPart.AccessibleGraphicalEditPart, AbstractGraphicalEditPart.DefaultAccessibleAnchorProvider
 
Nested classes inherited from class org.eclipse.gef.editparts.AbstractEditPart
AbstractEditPart.EditPolicyIterator
 
Field Summary
 
Fields inherited from class org.eclipse.gmf.runtime.diagram.ui.editparts.TextCompartmentEditPart
parser
 
Fields inherited from class org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart
accessibleEP, elementGuid
 
Fields inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
figure, sourceConnections, targetConnections
 
Fields inherited from class org.eclipse.gef.editparts.AbstractEditPart
children, FLAG_ACTIVE, FLAG_FOCUS, MAX_FLAG
 
Fields inherited from interface org.eclipse.gef.EditPart
SELECTED, SELECTED_NONE, SELECTED_PRIMARY
 
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
NestableListItemEditPart(EObject view)
           
 
Method Summary
protected  void createDefaultEditPolicies()
          Adds additional edit policy EditPolicy.PRIMARY_DRAG_ROLE to provide collapsiblity for list compartments
protected  IFigure createFigure()
          Override to create a figure that will create a figure that contains a text compartment and a pane to store the child figures of the text compartment.
 java.lang.Object getAdapter(java.lang.Class key)
          This method helps in children navigation by scrolling the compartment until the child is visible in the viewport
 java.lang.String getCompartmentName()
           
 IFigure getContentPane()
           
 WrapLabel getLabel()
          This should be used instead of getFigure() to get the figure
protected  java.util.List getModelChildren()
          Return this editpart's view (model) children.
protected  void handleNotificationEvent(Notification evt)
          Handles the following properties:
Properties.ID_RATIO calls NestableListItemEditPart.refreshRatio() Properties.ID_COLLAPSED calls NestableListItemEditPart.refreshCollapsed()
All other properties are forwarded to the parent class for processing.
protected  boolean isResizable()
          This edit part can support either being ListItemListCompartmentEditPart or ListItemListCompartmentEditPart that is nested with children and hence is resizable.
protected  void refreshCollapsed()
          Refreshes the compartment collapse state
protected  void refreshRatio()
          Refreshes the compartment ratio property
protected  void refreshVisuals()
          Refresh the editpart's figure visual properties.
protected  void setCollapsed(boolean collapsed, boolean animate)
          Sets the collapse state of the compartment figure, considering the passed animate flag while doing so
protected  void setRatio(java.lang.Double ratio)
          Sets the ratio of the resizable compartment
protected  void setShowCompartmentTitle(boolean showCompartmentTitle)
          Sets the visibility of the compartment title
 
Methods inherited from class org.eclipse.gmf.runtime.diagram.ui.editparts.ListItemEditPart
getDragTracker
 
Methods inherited from class org.eclipse.gmf.runtime.diagram.ui.editparts.TextCompartmentEditPart
addNotationalListeners, addSemanticListeners, buildParserOptions, createWrapLabel, getAccessibleEditPart, getChildBySemanticHint, getCompletionProcessor, getEditText, getEditTextValidator, getFigure, getLabelIcon, getLabelText, getLabelToolTip, getManager, getNumIcons, getParser, getParserOptions, getPrimaryChildView, getToolTipText, isAffectingParserOptions, isAffectingParserOptions, isEditable, performDirectEdit, performDirectEdit, performDirectEditRequest, refreshFont, refreshLabel, refreshParserOptions, refreshStrikeThrough, refreshUnderline, removeNotationalListeners, removeSemanticListeners, setFontColor, setLabelText, setManager, setNumIcons
 
Methods inherited from class org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart
isSelectable
 
Methods inherited from class org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart
activate, addChild, addListenerFilter, addListenerFilter, basicGetModel, createConnection, createEditPolicies, deactivate, disableEditMode, enableEditMode, eraseSourceFeedback, eraseTargetFeedback, executeCommand, findEditPart, getChildBySemanticHintOnPrimaryView, getChildViewBySemanticHint, getCommand, getContentPaneFor, getDiagramEditDomain, getDiagramPreferencesHint, getDiagramView, getEditDomain, getEditingDomain, getMapMode, getModel, getNotationView, getPreferredValue, getPrimaryChildEditPart, getPrimaryView, getResourceManager, getRoot, getStructuralFeatureValue, getTopGraphicEditPart, handleMajorSemanticChange, hasNotationView, isCanonical, isEditModeEnabled, notifyChanged, performRequest, reactivateSemanticModel, refresh, refreshBackgroundColor, refreshChild, refreshFontColor, refreshForegroundColor, refreshSourceConnection, refreshTargetConnection, refreshVisibility, registerModel, removeListenerFilter, removeNotify, resolveSemanticElement, setBackgroundColor, setFont, setForegroundColor, setModel, setStructuralFeatureValue, setVisibility, showSourceFeedback, showTargetFeedback, transactionAboutToCommit, unregisterModel
 
Methods inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart
addChildVisual, addNodeListener, addNotify, addSourceConnection, addTargetConnection, createOrFindConnection, fireRemovingSourceConnection, fireRemovingTargetConnection, fireSourceConnectionAdded, fireTargetConnectionAdded, getLayer, getModelSourceConnections, getModelTargetConnections, getSourceConnections, getTargetConnections, primAddSourceConnection, primAddTargetConnection, primRemoveSourceConnection, primRemoveTargetConnection, refreshSourceConnections, refreshTargetConnections, registerVisuals, removeChildVisual, removeNodeListener, removeSourceConnection, removeTargetConnection, reorderChild, reorderSourceConnection, reorderTargetConnection, setFigure, setLayoutConstraint, unregisterVisuals
 
Methods inherited from class org.eclipse.gef.editparts.AbstractEditPart
activateEditPolicies, addEditPartListener, createChild, deactivateEditPolicies, debug, debugFeedback, fireActivated, fireChildAdded, fireDeactivated, fireRemovingChild, fireSelectionChanged, getChildren, getEditPolicy, getEditPolicyIterator, getEventListeners, getFlag, getParent, getSelected, getTargetEditPart, getViewer, hasFocus, installEditPolicy, isActive, refreshChildren, register, registerAccessibility, removeChild, removeEditPartListener, removeEditPolicy, setFlag, setFocus, setParent, setSelected, toString, understandsRequest, unregister, unregisterAccessibility
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart
findEditPart, getChildBySemanticHint, getDiagramEditDomain, getDiagramPreferencesHint, getEditingDomain, getNotationView, getPreferredValue, getPrimaryChildEditPart, getPrimaryView, getStructuralFeatureValue, getTopGraphicEditPart, resolveSemanticElement, setStructuralFeatureValue
 
Methods inherited from interface org.eclipse.gef.GraphicalEditPart
addNodeListener, getFigure, getSourceConnections, getTargetConnections, removeNodeListener, setLayoutConstraint
 
Methods inherited from interface org.eclipse.gef.EditPart
activate, addEditPartListener, addNotify, deactivate, eraseSourceFeedback, eraseTargetFeedback, getChildren, getCommand, getDragTracker, getEditPolicy, getModel, getParent, getRoot, getSelected, getTargetEditPart, getViewer, hasFocus, installEditPolicy, isActive, isSelectable, performRequest, refresh, removeEditPartListener, removeEditPolicy, removeNotify, setFocus, setModel, setParent, setSelected, showSourceFeedback, showTargetFeedback, understandsRequest
 
Methods inherited from interface org.eclipse.gmf.runtime.diagram.ui.internal.editparts.IEditableEditPart
disableEditMode, enableEditMode, isEditModeEnabled
 

Constructor Detail

NestableListItemEditPart

public NestableListItemEditPart(EObject view)
Parameters:
view -
Method Detail

getLabel

public WrapLabel getLabel()
Description copied from class: TextCompartmentEditPart
This should be used instead of getFigure() to get the figure

Overrides:
getLabel in class TextCompartmentEditPart
Returns:
Returns the textLabel.

getCompartmentName

public java.lang.String getCompartmentName()
Specified by:
getCompartmentName in interface IResizableCompartmentEditPart
Returns:
the String that is the title header typically displayed at the top of the compartment. It is used to identity a meaningful description of the contents of the compartment.

createFigure

protected IFigure createFigure()
Override to create a figure that will create a figure that contains a text compartment and a pane to store the child figures of the text compartment.

Overrides:
createFigure in class ListItemEditPart

createDefaultEditPolicies

protected void createDefaultEditPolicies()
Adds additional edit policy EditPolicy.PRIMARY_DRAG_ROLE to provide collapsiblity for list compartments

Overrides:
createDefaultEditPolicies in class ListItemEditPart

isResizable

protected final boolean isResizable()
This edit part can support either being ListItemListCompartmentEditPart or ListItemListCompartmentEditPart that is nested with children and hence is resizable. This helper method will help us determine which behavior we want.

Returns:
true iff the TextCompartment is mean to support children.

getModelChildren

protected java.util.List getModelChildren()
Description copied from class: GraphicalEditPart
Return this editpart's view (model) children.

Overrides:
getModelChildren in class TextCompartmentEditPart

getAdapter

public java.lang.Object getAdapter(java.lang.Class key)
This method helps in children navigation by scrolling the compartment until the child is visible in the viewport

Specified by:
getAdapter in interface IAdaptable
Overrides:
getAdapter in class GraphicalEditPart

refreshVisuals

protected void refreshVisuals()
Description copied from class: GraphicalEditPart
Refresh the editpart's figure visual properties.

Overrides:
refreshVisuals in class TextCompartmentEditPart

getContentPane

public IFigure getContentPane()
Specified by:
getContentPane in interface GraphicalEditPart

handleNotificationEvent

protected void handleNotificationEvent(Notification evt)
Handles the following properties:

refreshRatio

protected void refreshRatio()
Refreshes the compartment ratio property


refreshCollapsed

protected void refreshCollapsed()
Refreshes the compartment collapse state


setCollapsed

protected void setCollapsed(boolean collapsed,
                            boolean animate)
Sets the collapse state of the compartment figure, considering the passed animate flag while doing so

Parameters:
collapsed - the collapsed state
animate - the animate flag

setRatio

protected void setRatio(java.lang.Double ratio)
Sets the ratio of the resizable compartment

Parameters:
ratio -

setShowCompartmentTitle

protected void setShowCompartmentTitle(boolean showCompartmentTitle)
Sets the visibility of the compartment title

Parameters:
showCompartmentTitle -

Runtime

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.