Interface DesignableDelegate
- All Known Implementing Classes:
BlockDiagramItemDelegate
,JComponentItemDelegate
,StandaloneDelegate
public interface DesignableDelegate
Defines many functions required for the design panel to interact with a DesignableContainer.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addObject
(JComponent parent, JComponent newChild, Rectangle2D newBounds) Adds the child into the given parent (which must be a container) at the given bounds, relative to the parent.void
copyMove
(List<JComponent> objects, double dX, double dY) Iterator<? extends JComponent>
findChildren
(JComponent container) Returns an iterator that iterates through the children of the given container in decreasing Z-order (highest layer to lowest layer)findObjectsAt
(DesignableContainer container, Point point) Performs a basic "hit-test" to find objects in a container underneath a point.getBounds
(JComponent item, JComponent relativeTo, Rectangle2D rect) Fetch the current bounds of the given item, relative to the supplied JComponent.int
getChildCount
(JComponent container) Returns the count of the number of items currently held in the given containergetName
(JComponent object) Returns the "name" of the object.getOffsettingParent
(JComponent source) Find the parent component for whose bounds the component is relative to.getParent
(JComponent child) Finds the given item's parent in the container hierarchygetRotationAnchor
(JComponent object) Get the initial or last-used rotation anchor for an object.getShapeBounds
(JComponent item, JComponent relativeTo, Rectangle rect) Return non-rectangular bounds of the given item relative to the supplied JComponent.boolean
isContainer
(JComponent item) Determines whether any given object is a container.boolean
isLocked
(JComponent item) Returns whether a normally movable object is currently locked or notboolean
isMovable
(JComponent item) Defines whether or not an item is inherently movable or not.boolean
isOffsettingParent
(JComponent container) Tests whether this container is an offsetting parent or notboolean
isRotateCapable
(JComponent item) Returns whether or not an item supports being rotated.void
moveObject
(JComponent object, Point2D newLocation) Move the given item to the new location.void
notifyObjectsMoved
(List<JComponent> objects, Map<JComponent, Rectangle2D> originalPositions) void
notifyObjectsRotated
(List<JComponent> objects, double angle, Point2D rotationAnchor) void
rotateObject
(JComponent object, double angle, Point2D rotationAnchor) Rotate the object around the given point by the angle specified.void
scaleObject
(JComponent object, Rectangle2D newBounds) Scale the given item to the new bounds.void
setRotationAnchor
(JComponent object, Point2D point) When the rotation anchor gets moved, this is used to store the rotation anchor so that it can be retrieved next time the object is selected.void
setZOrderPosition
(JComponent item, int position)
-
Method Details
-
getBounds
Fetch the current bounds of the given item, relative to the supplied JComponent. If the rect argument is null, a new Rectangle should be instantiated and returned. Otherwise, rect should be modified and returned to avoid unnecessary Rectangle instantiation, because this function is called very frequently. -
getShapeBounds
Return non-rectangular bounds of the given item relative to the supplied JComponent. If the bounds happen to be rectangular, you may alter the supplied rectangle to avoid instantiating a new shape. -
getOffsettingParent
Find the parent component for whose bounds the component is relative to. -
isOffsettingParent
Tests whether this container is an offsetting parent or not -
isMovable
Defines whether or not an item is inherently movable or not. Note that a normally movable object that is currently "locked" would still return true for this function. -
isLocked
Returns whether a normally movable object is currently locked or not -
isRotateCapable
Returns whether or not an item supports being rotated. -
isContainer
Determines whether any given object is a container. That is - whether it contains other selectable objects inside itself.- Parameters:
item
- The item to test- Returns:
- true if item is a container.
-
findObjectsAt
Performs a basic "hit-test" to find objects in a container underneath a point.- Parameters:
point
- The point in question, relative to the DesignableContainer
-
findChildren
Returns an iterator that iterates through the children of the given container in decreasing Z-order (highest layer to lowest layer) -
getChildCount
Returns the count of the number of items currently held in the given container -
getParent
Finds the given item's parent in the container hierarchy -
moveObject
Move the given item to the new location. Location is relative to its parent. This is used for realtime, transient moves, so it shouldn't add an undo action. -
scaleObject
Scale the given item to the new bounds. Bounds location is relative to its parent. This is used for realtime, transient scales, so it shouldn't add an undo action. -
rotateObject
Rotate the object around the given point by the angle specified.- Parameters:
object
- The object to rotate.angle
- The angle to rotate, specified in radians.rotationAnchor
- The rotation center, relative to the object's parent.
-
getRotationAnchor
Get the initial or last-used rotation anchor for an object. Point should be specified as a percentage of the object's bounds relative to its position. For example, the center of its bounding rectangle is (0.5, 0.5) -
setRotationAnchor
When the rotation anchor gets moved, this is used to store the rotation anchor so that it can be retrieved next time the object is selected. -
setZOrderPosition
-
notifyObjectsMoved
-
notifyObjectsRotated
-
getName
Returns the "name" of the object. -
copyMove
-
addObject
Adds the child into the given parent (which must be a container) at the given bounds, relative to the parent. If the bounds rectangle is null, then the component is assumed to already have it's location set on it.
-