Class BlockDiagramItemDelegate
- java.lang.Object
-
- com.inductiveautomation.ignition.designer.designable.JComponentItemDelegate
-
- com.inductiveautomation.ignition.designer.blockandconnector.BlockDiagramItemDelegate
-
- All Implemented Interfaces:
DesignableDelegate
public class BlockDiagramItemDelegate extends JComponentItemDelegate
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.inductiveautomation.ignition.designer.designable.JComponentItemDelegate
JComponentItemDelegate.ChildIterator
-
-
Field Summary
-
Fields inherited from class com.inductiveautomation.ignition.designer.designable.JComponentItemDelegate
ROTATION_CENTER_KEY, scratch, tx
-
-
Constructor Summary
Constructors Constructor Description BlockDiagramItemDelegate(AbstractBlockWorkspace workspace)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addObject(javax.swing.JComponent parent, javax.swing.JComponent newChild, java.awt.geom.Rectangle2D newBounds)
Adds the child into the given parent (which must be a container) at the given bounds, relative to the parent.void
copyMove(java.util.List<javax.swing.JComponent> objects, double dX, double dY)
java.util.List<javax.swing.JComponent>
findObjectsAt(DesignableContainer container, java.awt.Point point)
Performs a basic "hit-test" to find objects in a container underneath a point.java.awt.geom.Rectangle2D
getBounds(javax.swing.JComponent source, javax.swing.JComponent relativeTo, java.awt.geom.Rectangle2D rect)
Fetch the current bounds of the given item, relative to the supplied JComponent.javax.swing.JComponent
getParent(javax.swing.JComponent child)
Finds the given item's parent in the container hierarchyboolean
isContainer(javax.swing.JComponent item)
Determines whether any given object is a container.boolean
isLocked(javax.swing.JComponent item)
Returns whether a normally movable object is currently locked or notboolean
isMovable(javax.swing.JComponent item)
Defines whether or not an item is inherently movable or not.boolean
isOffsettingParent(javax.swing.JComponent container)
Tests whether this container is an offsetting parent or notboolean
isRotateCapable(javax.swing.JComponent item)
Returns whether or not an item supports being rotated.void
moveObject(javax.swing.JComponent object, java.awt.geom.Point2D newLocation)
Move the given item to the new location.void
notifyObjectsMoved(java.util.List<javax.swing.JComponent> objects, java.util.Map<javax.swing.JComponent,java.awt.geom.Rectangle2D> originalPositions)
void
notifyObjectsRotated(java.util.List<javax.swing.JComponent> objects, double angle, java.awt.geom.Point2D rotationAnchor)
void
rotateObject(javax.swing.JComponent object, double angle, java.awt.geom.Point2D rotationAnchor)
Rotate the object around the given point by the angle specified.void
scaleObject(javax.swing.JComponent object, java.awt.geom.Rectangle2D newBounds)
Scale the given item to the new bounds.void
setZOrderPosition(javax.swing.JComponent item, int position)
-
Methods inherited from class com.inductiveautomation.ignition.designer.designable.JComponentItemDelegate
convertRect, convertShape, findChildren, getChildCount, getName, getOffsettingParent, getRotationAnchor, getShapeBounds, initRect, setRotationAnchor
-
-
-
-
Constructor Detail
-
BlockDiagramItemDelegate
public BlockDiagramItemDelegate(AbstractBlockWorkspace workspace)
-
-
Method Detail
-
isOffsettingParent
public boolean isOffsettingParent(javax.swing.JComponent container)
Description copied from interface:DesignableDelegate
Tests whether this container is an offsetting parent or not
-
isMovable
public boolean isMovable(javax.swing.JComponent item)
Description copied from interface:DesignableDelegate
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
public boolean isLocked(javax.swing.JComponent item)
Description copied from interface:DesignableDelegate
Returns whether a normally movable object is currently locked or not
-
isRotateCapable
public boolean isRotateCapable(javax.swing.JComponent item)
Description copied from interface:DesignableDelegate
Returns whether or not an item supports being rotated.
-
isContainer
public boolean isContainer(javax.swing.JComponent item)
Description copied from interface:DesignableDelegate
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
public java.util.List<javax.swing.JComponent> findObjectsAt(DesignableContainer container, java.awt.Point point)
Description copied from interface:DesignableDelegate
Performs a basic "hit-test" to find objects in a container underneath a point.point
- The point in question, relative to the DesignableContainer
-
getParent
public javax.swing.JComponent getParent(javax.swing.JComponent child)
Description copied from interface:DesignableDelegate
Finds the given item's parent in the container hierarchy
-
scaleObject
public void scaleObject(javax.swing.JComponent object, java.awt.geom.Rectangle2D newBounds)
Description copied from interface:DesignableDelegate
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
public void rotateObject(javax.swing.JComponent object, double angle, java.awt.geom.Point2D rotationAnchor)
Description copied from interface:DesignableDelegate
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.
-
setZOrderPosition
public void setZOrderPosition(javax.swing.JComponent item, int position)
-
getBounds
public java.awt.geom.Rectangle2D getBounds(javax.swing.JComponent source, javax.swing.JComponent relativeTo, java.awt.geom.Rectangle2D rect)
Description copied from interface:DesignableDelegate
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.- Specified by:
getBounds
in interfaceDesignableDelegate
- Overrides:
getBounds
in classJComponentItemDelegate
-
moveObject
public void moveObject(javax.swing.JComponent object, java.awt.geom.Point2D newLocation)
Description copied from interface:DesignableDelegate
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.
-
notifyObjectsMoved
public void notifyObjectsMoved(java.util.List<javax.swing.JComponent> objects, java.util.Map<javax.swing.JComponent,java.awt.geom.Rectangle2D> originalPositions)
-
notifyObjectsRotated
public void notifyObjectsRotated(java.util.List<javax.swing.JComponent> objects, double angle, java.awt.geom.Point2D rotationAnchor)
-
copyMove
public void copyMove(java.util.List<javax.swing.JComponent> objects, double dX, double dY)
-
addObject
public void addObject(javax.swing.JComponent parent, javax.swing.JComponent newChild, java.awt.geom.Rectangle2D newBounds)
Description copied from interface:DesignableDelegate
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.
-
-