Class JComponentItemDelegate
- java.lang.Object
-
- com.inductiveautomation.ignition.designer.designable.JComponentItemDelegate
-
- All Implemented Interfaces:
DesignableDelegate
- Direct Known Subclasses:
BlockDiagramItemDelegate
,StandaloneDelegate
public abstract class JComponentItemDelegate extends java.lang.Object implements DesignableDelegate
An abstract DesignableDelegate that implements many functions using the size/locations provided by JComponent
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
JComponentItemDelegate.ChildIterator
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
ROTATION_CENTER_KEY
protected java.awt.Point
scratch
protected java.awt.geom.AffineTransform
tx
-
Constructor Summary
Constructors Constructor Description JComponentItemDelegate()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.awt.geom.Rectangle2D
convertRect(javax.swing.JComponent source, javax.swing.JComponent relativeTo, java.awt.geom.Rectangle2D r)
Converts a rectangle from the coordinates of one component to another.protected java.awt.Shape
convertShape(javax.swing.JComponent source, javax.swing.JComponent relativeTo, java.awt.Shape shape)
java.util.Iterator<? extends javax.swing.JComponent>
findChildren(javax.swing.JComponent container)
Returns an iterator that iterates through the children of the given container in decreasing Z-order (highest layer to lowest layer)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.int
getChildCount(javax.swing.JComponent container)
Returns the count of the number of items currently held in the given containerjava.lang.String
getName(javax.swing.JComponent object)
Uses the JComponent's namejavax.swing.JComponent
getOffsettingParent(javax.swing.JComponent source)
Find the parent component for whose bounds the component is relative to.java.awt.geom.Point2D
getRotationAnchor(javax.swing.JComponent c)
Implemented using a client property with key "rotation.center" whose value is expected to be a Point2D.Floatjava.awt.Shape
getShapeBounds(javax.swing.JComponent item, javax.swing.JComponent relativeTo, java.awt.Rectangle rect)
Return non-rectangular bounds of the given item relative to the supplied JComponent.protected java.awt.geom.Rectangle2D
initRect(java.awt.geom.Rectangle2D rv, java.awt.geom.Rectangle2D copyFrom)
Initializes a return value rectangle rv, or creates a new one if it's null.void
setRotationAnchor(javax.swing.JComponent object, java.awt.geom.Point2D point)
Puts the given point on the JComponent using client property "rotation.center"-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.ignition.designer.designable.DesignableDelegate
addObject, copyMove, findObjectsAt, getParent, isContainer, isLocked, isMovable, isOffsettingParent, isRotateCapable, moveObject, notifyObjectsMoved, notifyObjectsRotated, rotateObject, scaleObject, setZOrderPosition
-
-
-
-
Field Detail
-
ROTATION_CENTER_KEY
protected static final java.lang.String ROTATION_CENTER_KEY
- See Also:
- Constant Field Values
-
scratch
protected java.awt.Point scratch
-
tx
protected java.awt.geom.AffineTransform tx
-
-
Method Detail
-
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
-
initRect
protected java.awt.geom.Rectangle2D initRect(java.awt.geom.Rectangle2D rv, java.awt.geom.Rectangle2D copyFrom)
Initializes a return value rectangle rv, or creates a new one if it's null. If copyFrom isn't null, then the rect is set to that size.
-
getShapeBounds
public java.awt.Shape getShapeBounds(javax.swing.JComponent item, javax.swing.JComponent relativeTo, java.awt.Rectangle rect)
Description copied from interface:DesignableDelegate
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.- Specified by:
getShapeBounds
in interfaceDesignableDelegate
-
getOffsettingParent
public javax.swing.JComponent getOffsettingParent(javax.swing.JComponent source)
Find the parent component for whose bounds the component is relative to.- Specified by:
getOffsettingParent
in interfaceDesignableDelegate
-
convertRect
protected java.awt.geom.Rectangle2D convertRect(javax.swing.JComponent source, javax.swing.JComponent relativeTo, java.awt.geom.Rectangle2D r)
Converts a rectangle from the coordinates of one component to another.
-
convertShape
protected java.awt.Shape convertShape(javax.swing.JComponent source, javax.swing.JComponent relativeTo, java.awt.Shape shape)
-
getRotationAnchor
public java.awt.geom.Point2D getRotationAnchor(javax.swing.JComponent c)
Implemented using a client property with key "rotation.center" whose value is expected to be a Point2D.Float- Specified by:
getRotationAnchor
in interfaceDesignableDelegate
-
setRotationAnchor
public void setRotationAnchor(javax.swing.JComponent object, java.awt.geom.Point2D point)
Puts the given point on the JComponent using client property "rotation.center"- Specified by:
setRotationAnchor
in interfaceDesignableDelegate
-
getName
public java.lang.String getName(javax.swing.JComponent object)
Uses the JComponent's name- Specified by:
getName
in interfaceDesignableDelegate
-
findChildren
public java.util.Iterator<? extends javax.swing.JComponent> findChildren(javax.swing.JComponent container)
Description copied from interface:DesignableDelegate
Returns an iterator that iterates through the children of the given container in decreasing Z-order (highest layer to lowest layer)- Specified by:
findChildren
in interfaceDesignableDelegate
-
getChildCount
public int getChildCount(javax.swing.JComponent container)
Description copied from interface:DesignableDelegate
Returns the count of the number of items currently held in the given container- Specified by:
getChildCount
in interfaceDesignableDelegate
-
-