Runtime

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

    java.lang.Object
      org.eclipse.gef.editparts.AbstractEditPart
          org.eclipse.gef.editparts.AbstractGraphicalEditPart
              org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart
                  org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart
                      org.eclipse.gmf.runtime.diagram.ui.editparts.TextCompartmentEditPart
                          org.eclipse.gmf.runtime.diagram.ui.editparts.ListItemEditPart
                              org.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:
  - `Properties.ID_RATIO` calls `NestableListItemEditPart.refreshRatio()`
  - `Properties.ID_COLLAPSED` calls `NestableListItemEditPart.refreshCollapsed()`
    All other properties are forwarded to the parent class for processing.

  Overrides:
    `handleNotificationEvent` in class `TextCompartmentEditPart`
  Parameters:
    `evt` - a property change event.
  See Also:
    `org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart#handlePropertyChangeEvent(java.beans.PropertyChangeEvent)`

### 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.