GoJS® Diagramming Components
version 1.7.26 for JavaScript/HTML
by Northwoods Software®

## Class Adornment

Extends Part. An adornment is a special kind of Part that is associated with another Part, the Adornment.adornedPart.

Adornments are normally associated with a particular GraphObject in the adorned part -- that is the value of adornedObject. However, the adornedObject may be null, in which case the adornedPart will also be null.

The area occupied by the adorned object is represented in the adornment's visual tree by a Placeholder. The placeholder is always the Part.locationObject, although you may specify any Spot as the Part.locationSpot. An adornment need not have a placeholder, but it may have at most one.

Adornments can be distinguished by their Part.category. This property can be an arbitrary string value determined by the code creating the adornment, typically a tool that wants to be able to tell various adornments apart from each other. Use the Part.findAdornment method to find an adornment for a part of a given category.

For example, one of the Adornments created by Part.updateAdornments when the part Part.isSelected has the Part.category of "Selection". Those created by ResizingTool.updateAdornments have a category of "Resize" and normally contain eight resize handles.

Besides the selection adornment and tool adornments, adornments are also used for context menus and tooltips. The adornedObject in such cases refers to the GraphObject to which the the context menu or tooltip applies.

There cannot be any links connected to an adornment, nor can an adornment have members or be a member of a group.

An adornment cannot have its own adornments. An adornment cannot be selected.

Adornments are not positioned by a Layout because they are normally positioned according to the Part that they adorn.

For more discussion and examples, see Selection, ToolTips, Context Menus, and Tools.

## Constructor Summary Details

Name | Description
--- | ---

Adornment(type)

The constructor builds an empty Adornment.More... The optional argument specifies the Panel.type. Add whatever GraphObjects you need so that it can show handles, ornamentation, buttons or whatever you need to show for a Part.

Parameters:
{EnumValue=} type
  if not supplied, the default Panel type is Panel.Position.

## Properties Summary Details

Name, Value Type | Description
--- | ---
adornedObject {GraphObject} | Gets or sets the GraphObject that is adorned.More... Setting this property updates the adorned object's Part by calling Part.addAdornment. This may be null if the Adornment does not adorn a particular object.
adornedPart {Part} | This read-only property returns the Part that contains the adorned object.More... This will be null if the adornedObject is null.
placeholder {Placeholder} | This read-only property returns a Placeholder that this Adornment may contain in its visual tree.More... This may be null if there is no such placeholder object.

Properties borrowed from class Part:
  adornments, category, containingGroup, containingGroupChanged, copyable, deletable, diagram, dragComputation, groupable, highlightedChanged, isAnimated, isHighlighted, isInDocumentBounds, isLayoutPositioned, isSelected, isShadowed, isTopLevel, layer, layerChanged, layerName, LayoutAdded, layoutConditions, LayoutGroupLayout, LayoutHidden, LayoutNodeReplaced, LayoutNodeSized, LayoutNone, LayoutRemoved, LayoutShown, LayoutStandard, location, locationObject, locationObjectName, locationSpot, maxLocation, minLocation, movable, reshapable, resizable, resizeAdornmentTemplate, resizeCellSize, resizeObject, resizeObjectName, rotatable, rotateAdornmentTemplate, rotateObject, rotateObjectName, selectable, selectionAdorned, selectionAdornmentTemplate, selectionChanged, selectionObject, selectionObjectName, shadowBlur, shadowColor, shadowOffset, text, textEditable, zOrder
Properties borrowed from class Panel:
  alignmentFocusName, Auto, columnCount, columnSizing, data, defaultAlignment, defaultColumnSeparatorDashArray, defaultColumnSeparatorStroke, defaultColumnSeparatorStrokeWidth, defaultRowSeparatorDashArray, defaultRowSeparatorStroke, defaultRowSeparatorStrokeWidth, defaultSeparatorPadding, defaultStretch, elements, Graduated, graduatedMax, graduatedMin, graduatedRange, graduatedTickBase, graduatedTickUnit, Grid, gridCellSize, gridOrigin, Horizontal, isClipping, isEnabled, isOpposite, itemArray, itemCategoryProperty, itemIndex, itemTemplate, itemTemplateMap, leftIndex, Link, padding, Position, rowCount, rowSizing, Spot, Table, TableColumn, TableRow, topIndex, type, Vertical, Viewbox, viewboxStretch
Properties borrowed from class GraphObject:
  actionCancel, actionDown, actionMove, actionUp, actualBounds, alignment, alignmentFocus, angle, areaBackground, background, click, column, columnSpan, contextClick, contextMenu, cursor, Default, desiredSize, doubleClick, enabledChanged, Fill, fromEndSegmentLength, fromLinkable, fromLinkableDuplicates, fromLinkableSelfNode, fromMaxLinks, fromShortLength, fromSpot, height, isActionable, isPanelMain, margin, maxSize, measuredBounds, minSize, mouseDragEnter, mouseDragLeave, mouseDrop, mouseEnter, mouseHold, mouseHover, mouseLeave, mouseOver, name, naturalBounds, None, opacity, panel, part, pickable, portId, position, row, rowSpan, scale, segmentFraction, segmentIndex, segmentOffset, segmentOrientation, shadowVisible, stretch, toEndSegmentLength, toLinkable, toLinkableDuplicates, toLinkableSelfNode, toMaxLinks, toolTip, toShortLength, toSpot, Uniform, UniformToFill, visible, width

Methods borrowed from class Part:
  addAdornment, canCopy, canDelete, canEdit, canGroup, canLayout, canMove, canReshape, canResize, canRotate, canSelect, clearAdornments, ensureBounds, findAdornment, findCommonContainingGroup, findSubGraphLevel, findTopLevelPart, invalidateLayout, isMemberOf, isVisible, move, moveTo, removeAdornment, updateAdornments, updateRelationshipsFromData, updateTargetBindings
Methods borrowed from class Panel:
  add, copy, elt, findColumnForLocalX, findItemPanelForData, findMainElement, findObject, findRowForLocalY, getColumnDefinition, getRowDefinition, graduatedPointForValue, graduatedValueForPoint, insertAt, rebuildItemElements, remove, removeAt, removeColumnDefinition, removeRowDefinition
Methods borrowed from class GraphObject:
  bind, getDocumentAngle, getDocumentPoint, getDocumentScale, getLocalPoint, isContainedBy, isEnabledObject, isVisibleObject, setProperties