public class DrawItem extends BaseClass implements HasClickHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMovedHandlers, HasDragMoveHandlers, HasDragResizeMoveHandlers, HasDragStartHandlers, HasDragStopHandlers, HasResizedHandlers, HasShowContextMenuHandlers
Note that DrawItems as such should never be created, only concrete
subclasses such as DrawGroup and DrawLine.
See DrawPane for the
different approaches to create DrawItems.
config, id, scClassName| Constructor and Description |
|---|
DrawItem() |
DrawItem(com.google.gwt.core.client.JavaScriptObject jsObj) |
| Modifier and Type | Method and Description |
|---|---|
com.google.gwt.event.shared.HandlerRegistration |
addClickHandler(ClickHandler handler)
Add a click handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addDragMoveHandler(DragMoveHandler handler)
Add a dragMove handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addDragResizeMoveHandler(DragResizeMoveHandler handler)
Add a dragResizeMove handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addDragStartHandler(DragStartHandler handler)
Add a dragStart handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addDragStopHandler(DragStopHandler handler)
Add a dragStop handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addMouseDownHandler(MouseDownHandler handler)
Add a mouseDown handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addMouseMoveHandler(MouseMoveHandler handler)
Add a mouseMove handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addMouseOutHandler(MouseOutHandler handler)
Add a mouseOut handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addMouseOverHandler(MouseOverHandler handler)
Add a mouseOver handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addMouseUpHandler(MouseUpHandler handler)
Add a mouseUp handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addMovedHandler(MovedHandler handler)
Add a moved handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addResizedHandler(ResizedHandler handler)
Add a resized handler.
|
com.google.gwt.event.shared.HandlerRegistration |
addShowContextMenuHandler(ShowContextMenuHandler handler)
Add a showContextMenu handler.
|
static float |
computeAngle(double px1,
double py1,
double px2,
double py2)
Deprecated.
|
static double |
computeAngleAsDouble(double px1,
double py1,
double px2,
double py2)
Computes the angle in degrees from the positive X axis to the difference vector
|
com.google.gwt.core.client.JavaScriptObject |
create() |
void |
dragResizeMove(java.lang.String position,
java.lang.Integer x,
java.lang.Integer y,
java.lang.Integer dX,
java.lang.Integer dY)
If
canDrag is true and the control knobs include "resize" knobs, then this notification
method will be fired when the user drag-resizes the draw item. |
void |
draw()
Draw this item into its current
DrawPane. |
void |
erase()
Erase this drawItem's visual representation and remove it from its DrawGroup (if any) and DrawPane.
|
protected int[] |
getAttributeAsIntArray(java.lang.String property) |
int[] |
getBoundingBox()
Returns the startPoint endPoint
|
java.lang.Double[] |
getBoundingBoxAsDouble()
Returns the startPoint endPoint
|
java.lang.Boolean |
getCanDrag()
Is this DrawItem draggable? If true, then the DrawItem can be drag-repositioned by the user.
|
java.lang.Boolean |
getCanHover()
Will this DrawItem fire hover events when the user hovers over it?
|
Menu |
getContextMenu()
Context menu to show for this object, an instance of the Menu widget.
|
Cursor |
getCursor()
If set, specifies the cursor to display when the mouse pointer is over this DrawItem.
|
java.lang.Boolean |
getDestroyed()
Flag indicating a drawItem has been destroyed, similar to
destroyed. |
java.lang.Boolean |
getDestroying()
Flag indicating a drawItem is mid-destruction, similar to
destroying. |
int |
getDragStartDistance()
Number of pixels the cursor needs to move before the EventHandler starts a drag operation.
|
DrawGroup |
getDrawGroup()
DrawGroup this drawItem is a member of. |
DrawPane |
getDrawPane()
DrawPane this drawItem should draw in. |
ArrowStyle |
getEndArrow()
Style of arrowhead to draw at the end of the line or path.
|
boolean |
getEventOpaque()
Should events inside this DrawItem be attributed to it regardless of which pixels are actually set, if no fill is
specified? If set for DrawItems that aren't closed, will capture events occurring in the region that would filled if a
fill were specified.
|
java.lang.String |
getFillColor()
Fill color to use for shapes.
|
Gradient |
getFillGradient()
Fill gradient to use for shapes.
|
java.lang.String |
getFillGradientAsString()
Fill gradient to use for shapes.
|
float |
getFillOpacity()
Opacity of the fillColor, as a number between 0 (transparent) and 1 (opaque).
|
int |
getHoverDelay()
If
this.canHover is true, how long should the mouse be kept over this widget before the hover event is
fired |
java.lang.String |
getHoverHTML()
If
showHover is true, when the user holds the mouse
over this DrawItem for long enough to trigger a hover event, a hover canvas is shown by default. |
java.lang.Boolean |
getKeepInParentRect()
Constrains drag-resizing and drag-repositioning of this draw item to either the current visible area of the
draw pane or an arbitrary bounding box (if set to an array of the form
[left, top, left + width, top + height]). |
KnobType[] |
getKnobs()
Array of control knobs to display for this item.
|
LineCap |
getLineCap()
Style of drawing the endpoints of a line.
|
java.lang.String |
getLineColor()
Line color
|
float |
getLineOpacity()
Opacity for lines, as a number between 0 (transparent) and 1 (opaque).
|
LinePattern |
getLinePattern()
Pattern for lines, eg "solid" or "dash".
|
int |
getLineWidth()
Pixel width for lines.
|
int[] |
getMoveKnobOffset()
If this item is showing a
"move" control
knob, this attribute allows you to specify an offset in pixels from the moveKnobPoint for the move knob. |
MoveKnobPoint |
getMoveKnobPoint()
If this item is showing a
KnobType.MOVE control knob, this attribute specifies where the knob should
appear with respect to the draw item. |
static DrawItem |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
int |
getPageLeft()
Returns the page-relative left coordinate of the widget on the page, in pixels.
|
int |
getPageTop()
Returns the page-relative top coordinate of the widget on the page, in pixels
|
java.lang.String |
getPrompt()
Default
hover HTML that is displayed in the global
hover canvas if the user hovers over this DrawItem and showHover is true. |
static DrawItem |
getRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
ResizeKnobPoint[] |
getResizeKnobPoints()
If this item is showing
KnobType.RESIZE control knobs, this attribute specifies the points with respect
to the draw item where resize knobs should appear. |
float |
getRotation()
Deprecated.
|
double |
getRotationAsDouble()
Rotation in degrees about the center of the
bounding
box. |
int[] |
getScale()
Array holds 2 values representing scaling along x and y dimensions.
|
Shadow |
getShadow()
Shadow used for all DrawItem subtypes.
|
boolean |
getShowHover()
If
canHover is true, should we show the global hover
canvas by default when the user hovers over this DrawItem? |
ArrowStyle |
getStartArrow()
Style of arrowhead to draw at the beginning of the line or path.
|
void |
getSvgString()
Generates a string containing the SVG source of this DrawItem.
|
void |
hide()
Hide this drawItem.
|
void |
hideKnobs(KnobType... knobType)
Hides a set of control knobs for this drawItem.
|
void |
hideKnobs(KnobType knobType)
Hides a set of control knobs for this drawItem.
|
boolean |
hover()
If
canHover is true for this DrawItem, the hover()
string method will be fired when the user hovers over this DrawItem. |
boolean |
isInBounds(int x,
int y)
Returns true if the given point in the global coordinate system, when converted to coordinates in the drawing coordinate
system, is within the
bounding box of this
DrawItem's shape. |
boolean |
isPointInPath(int x,
int y)
Returns true if the given point in the drawing coordinate system is within this DrawItem's shape, taking into account
local transforms.
|
void |
moveBy(int dX,
int dY)
Move the shape by the specified deltas for the left and top coordinate.
|
void |
resizeBy(int dX,
int dY)
Resize the shape by the specified deltas for the left and top coordinate.
|
void |
resizeTo(int width,
int height)
Resize to the specified size
|
void |
rotateBy(double degrees)
Rotate the shape by the relative rotation in degrees
|
void |
rotateTo(double degrees)
Rotate the shape by the absolute rotation in degrees
|
void |
scaleBy(double x,
double y)
Scale the shape by the x, y multipliers
|
void |
scaleTo(double x,
double y)
Scale the shape by the x, y multipliers
|
protected void |
setAttribute(java.lang.String attribute,
float[] value,
boolean allowPostCreate) |
protected void |
setAttribute(java.lang.String attribute,
java.lang.Float[] value,
boolean allowPostCreate) |
void |
setCanDrag(java.lang.Boolean canDrag)
Is this DrawItem draggable? If true, then the DrawItem can be drag-repositioned by the user.
|
void |
setCanHover(java.lang.Boolean canHover)
Will this DrawItem fire hover events when the user hovers over it?
|
void |
setContextMenu(Menu contextMenu)
Context menu to show for this object, an instance of the Menu widget.
|
void |
setCursor(Cursor cursor)
If set, specifies the cursor to display when the mouse pointer is over this DrawItem.
|
static void |
setDefaultProperties(DrawItem drawItemProperties)
Class level method to set the default properties of this class.
|
void |
setDragStartDistance(int dragStartDistance)
Number of pixels the cursor needs to move before the EventHandler starts a drag operation.
|
void |
setDrawGroup(DrawGroup drawGroup)
DrawGroup this drawItem is a member of. |
void |
setDrawPane(DrawPane drawPane)
DrawPane this drawItem should draw in. |
void |
setEndArrow(ArrowStyle endArrow)
Style of arrowhead to draw at the end of the line or path.
|
void |
setEventOpaque(boolean eventOpaque)
Should events inside this DrawItem be attributed to it regardless of which pixels are actually set, if no fill is
specified? If set for DrawItems that aren't closed, will capture events occurring in the region that would filled if a
fill were specified.
|
void |
setFillColor(java.lang.String fillColor)
Fill color to use for shapes.
|
void |
setFillGradient(Gradient fillGradient)
Fill gradient to use for shapes.
|
void |
setFillGradient(java.lang.String fillGradient)
Fill gradient to use for shapes.
|
void |
setFillOpacity(float fillOpacity)
Opacity of the fillColor, as a number between 0 (transparent) and 1 (opaque).
|
void |
setHoverDelay(int hoverDelay)
If
this.canHover is true, how long should the mouse be kept over this widget before the hover event is
fired |
void |
setKeepInParentRect(java.lang.Boolean keepInParentRect)
Constrains drag-resizing and drag-repositioning of this draw item to either the current visible area of the
draw pane or an arbitrary bounding box (if set to an array of the form
[left, top, left + width, top + height]). |
void |
setKeepInParentRect(float... keepInParentRect)
Constrains drag-resizing and drag-repositioning of this draw item to either the current visible area of the
draw pane or an arbitrary bounding box (if set to an array of the form
[left, top, left + width, top + height]). |
void |
setKnobs(KnobType... knobs)
Array of control knobs to display for this item.
|
void |
setLineCap(LineCap lineCap)
Style of drawing the endpoints of a line.
|
void |
setLineColor(java.lang.String lineColor)
Line color
If this method is called after the component has been drawn/initialized: Update lineColor for this drawItem. |
void |
setLineOpacity(float lineOpacity)
Opacity for lines, as a number between 0 (transparent) and 1 (opaque).
|
void |
setLinePattern(LinePattern linePattern)
Pattern for lines, eg "solid" or "dash".
|
void |
setLineWidth(int lineWidth)
Pixel width for lines.
|
void |
setMoveKnobOffset(int[] moveKnobOffset)
If this item is showing a
"move" control
knob, this attribute allows you to specify an offset in pixels from the moveKnobPoint for the move knob. |
void |
setMoveKnobPoint(MoveKnobPoint moveKnobPoint)
If this item is showing a
KnobType.MOVE control knob, this attribute specifies where the knob should
appear with respect to the draw item. |
void |
setPrompt(java.lang.String prompt)
Default
hover HTML that is displayed in the global
hover canvas if the user hovers over this DrawItem and showHover is true. |
void |
setResizeKnobPoints(ResizeKnobPoint... resizeKnobPoints)
If this item is showing
KnobType.RESIZE control knobs, this attribute specifies the points with respect
to the draw item where resize knobs should appear. |
void |
setRotation(double rotation)
Rotation in degrees about the center of the
bounding
box. |
void |
setRotation(float rotation)
Deprecated.
|
void |
setScale(int[] scale)
Array holds 2 values representing scaling along x and y dimensions.
|
void |
setShadow(Shadow shadow)
Shadow used for all DrawItem subtypes.
|
void |
setShowHover(boolean showHover)
If
canHover is true, should we show the global hover
canvas by default when the user hovers over this DrawItem? |
void |
setStartArrow(ArrowStyle startArrow)
Style of arrowhead to draw at the beginning of the line or path.
|
void |
show()
Make this drawItem visible.
|
void |
showKnobs(KnobType... knobType)
Shows a set of control knobs for this drawItem.
|
void |
showKnobs(KnobType knobType)
Shows a set of control knobs for this drawItem.
|
boolean |
supportsEndArrow()
Does this DrawItem support
DrawItem.setEndArrow()? For
example, this is false for DrawRect and DrawOval, and true for DrawLine. |
boolean |
supportsStartArrow()
Does this DrawItem support
DrawItem.setStartArrow()?
For example, this is false for DrawRect and DrawOval, and true for DrawLine. |
asSGWTComponent, createJsObj, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getID, getJsObj, getOrCreateJsObj, getScClassName, hasAutoAssignedID, internalSetID, internalSetID, isCreated, onBind, onInit, registerID, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setID, setJavaScriptObject, setProperty, setProperty, setProperty, setProperty, setScClassNamepublic DrawItem()
public DrawItem(com.google.gwt.core.client.JavaScriptObject jsObj)
public static DrawItem getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public com.google.gwt.core.client.JavaScriptObject create()
public void setCanDrag(java.lang.Boolean canDrag)
canDrag.
Note : This is an advanced setting
canDrag - new value for this.canDrag.. Default value is falsepublic java.lang.Boolean getCanDrag()
public void setCanHover(java.lang.Boolean canHover)
canHover - Default value is nullsetShowHover(boolean)public java.lang.Boolean getCanHover()
getShowHover()public void setContextMenu(Menu contextMenu)
Note: if Canvas.destroy() is called on a canvas, any specified context menu is not
automatically destroyed as well. This is in contrast to MenuButtons which
automatically destroy their specified menu by default. The
behavior is intentional as context menus are commonly reused across components.
contextMenu - Default value is nullShowContextMenuEvent,
Cues overview and related methods,
Context menus Examplepublic Menu getContextMenu()
Note: if Canvas.destroy() is called on a canvas, any specified context menu is not
automatically destroyed as well. This is in contrast to MenuButtons which
automatically destroy their specified menu by default. The
behavior is intentional as context menus are commonly reused across components.
ShowContextMenuEvent,
Cues overview and related methods,
Context menus Examplepublic void setCursor(Cursor cursor)
Note : This is an advanced setting
cursor - new cursor.. Default value is nullpublic Cursor getCursor()
public java.lang.Boolean getDestroyed()
throws java.lang.IllegalStateException
destroyed.
Note : This method should be called only after the underlying component has been created.
java.lang.IllegalStateException - if the underlying component has not yet been created.public java.lang.Boolean getDestroying()
throws java.lang.IllegalStateException
destroying.
Note : This method should be called only after the underlying component has been created.
java.lang.IllegalStateException - if the underlying component has not yet been created.public void setDragStartDistance(int dragStartDistance)
Note : This is an advanced setting
dragStartDistance - Default value is 5Dragdrop overview and related methodspublic int getDragStartDistance()
Dragdrop overview and related methodspublic void setDrawGroup(DrawGroup drawGroup) throws java.lang.IllegalStateException
DrawGroup this drawItem is a member of.drawGroup - Default value is nulljava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic DrawGroup getDrawGroup()
DrawGroup this drawItem is a member of.public void setDrawPane(DrawPane drawPane) throws java.lang.IllegalStateException
DrawPane this drawItem should draw in. If this item has a DrawGroup, the drawGroup's drawPane is automatically used.
drawPane - Default value is nulljava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic DrawPane getDrawPane()
DrawPane this drawItem should draw in. If this item has a DrawGroup, the drawGroup's drawPane is automatically used.
public void setEndArrow(ArrowStyle endArrow)
NOTE: Not all DrawItem classes support arrowheads. You can use DrawItem.supportsEndArrow() to dynamically check whether a DrawItem instance supports this method.
endArrow - style of arrow to use. Default value is nullpublic ArrowStyle getEndArrow()
public void setEventOpaque(boolean eventOpaque)
throws java.lang.IllegalStateException
Note : This is an advanced setting
eventOpaque - Default value is variesjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdsetFillColor(java.lang.String),
setFillOpacity(float)public boolean getEventOpaque()
getFillColor(),
getFillOpacity()public void setFillColor(java.lang.String fillColor)
fillColor - new fillColor to use. Pass null for transparent. See CSSColor . Default value is nullpublic java.lang.String getFillColor()
CSSColorpublic void setFillGradient(Gradient fillGradient)
DrawPane.addGradient(). Otherwise it expects one of SimpleGradient, LinearGradient or RadialGradient.
fillGradient - new gradient to use. Pass null for transparent.. Default value is nullGradientpublic Gradient getFillGradient()
DrawPane.addGradient(). Otherwise it expects one of SimpleGradient, LinearGradient or RadialGradient.Gradientpublic void setFillGradient(java.lang.String fillGradient)
DrawPane.addGradient(). Otherwise it expects one of SimpleGradient, LinearGradient or RadialGradient.
fillGradient - new gradient to use. Pass null for transparent.. Default value is nullGradientpublic java.lang.String getFillGradientAsString()
DrawPane.addGradient(). Otherwise it expects one of SimpleGradient, LinearGradient or RadialGradient.Gradientpublic void setFillOpacity(float fillOpacity)
fillOpacity - new opacity, as a number between 0 (transparent) and 1 (opaque).. Default value is 1.0public float getFillOpacity()
public void setHoverDelay(int hoverDelay)
this.canHover is true, how long should the mouse be kept over this widget before the hover event is
firedhoverDelay - Default value is 300setCanHover(java.lang.Boolean),
hover()public int getHoverDelay()
this.canHover is true, how long should the mouse be kept over this widget before the hover event is
firedgetCanHover(),
hover()public void setKeepInParentRect(java.lang.Boolean keepInParentRect)
draw pane or an arbitrary bounding box (if set to an array of the form
[left, top, left + width, top + height]). When using a bounding box-type argument the left/top values can
be negative, or the width/height values can be greater than the dimensions of the viewable area, to allow positioning or
resizing the draw item beyond the confines of the draw pane. Note: keepInParentRect affects only user drag interactions, not programmatic moves or resizes.
Note : This is an advanced setting
keepInParentRect - Default value is nullpublic java.lang.Boolean getKeepInParentRect()
draw pane or an arbitrary bounding box (if set to an array of the form
[left, top, left + width, top + height]). When using a bounding box-type argument the left/top values can
be negative, or the width/height values can be greater than the dimensions of the viewable area, to allow positioning or
resizing the draw item beyond the confines of the draw pane. Note: keepInParentRect affects only user drag interactions, not programmatic moves or resizes.
public void setKeepInParentRect(float... keepInParentRect)
draw pane or an arbitrary bounding box (if set to an array of the form
[left, top, left + width, top + height]). When using a bounding box-type argument the left/top values can
be negative, or the width/height values can be greater than the dimensions of the viewable area, to allow positioning or
resizing the draw item beyond the confines of the draw pane. Note: keepInParentRect affects only user drag interactions, not programmatic moves or resizes.
Note : This is an advanced setting
keepInParentRect - Default value is nullpublic void setKnobs(KnobType... knobs) throws java.lang.IllegalStateException
KnobType specified in this will
turn on UI element(s) allowing the user to manipulate this drawItem. To update the set of knobs at runtime use DrawItem.showKnobs() and DrawItem.hideKnobs(). NOTE: Unless otherwise
documented, DrawItem types only support KnobType.RESIZE and KnobType.MOVE knobs.
knobs - Default value is nulljava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic KnobType[] getKnobs()
KnobType specified in this will
turn on UI element(s) allowing the user to manipulate this drawItem. To update the set of knobs at runtime use DrawItem.showKnobs() and DrawItem.hideKnobs(). NOTE: Unless otherwise
documented, DrawItem types only support KnobType.RESIZE and KnobType.MOVE knobs.
public void setLineCap(LineCap lineCap)
Note that for dashed and dotted lines, the lineCap style affects each dash
or dot.
If this method is called after the component has been drawn/initialized:
Update lineCap for this drawItem.
lineCap - new lineCap to use. Default value is "round"public LineCap getLineCap()
Note that for dashed and dotted lines, the lineCap style affects each dash or dot.
public void setLineColor(java.lang.String lineColor)
lineColor - new line color. Pass null for transparent. See CSSColor . Default value is "#808080"public java.lang.String getLineColor()
CSSColorpublic void setLineOpacity(float lineOpacity)
lineOpacity - new opacity, as a number between 0 (transparent) and 1 (opaque).. Default value is 1.0public float getLineOpacity()
public void setLinePattern(LinePattern linePattern)
Note that support in old browsers, such as Internet Explorer versions
before IE11, is limited for drawingType "bitmap" to
items with straight edges - DrawLines, DrawPaths, and DrawRects with no
rounding.
If this method is called after the component has been drawn/initialized:
Update linePattern for this drawItem.
linePattern - new linePattern to use. Default value is "solid"public LinePattern getLinePattern()
Note that support in old browsers, such as Internet Explorer versions
before IE11, is limited for drawingType "bitmap" to
items with straight edges - DrawLines, DrawPaths, and DrawRects with no
rounding.
public void setLineWidth(int lineWidth)
lineWidth - new pixel lineWidth. Default value is 3public int getLineWidth()
public void setMoveKnobOffset(int[] moveKnobOffset)
"move" control
knob, this attribute allows you to specify an offset in pixels from the moveKnobPoint for the move knob. Offset should be
specified as a 2-element array of [left offset, top offset].
moveKnobOffset.
Note : This is an advanced setting
moveKnobOffset - the new move knob offset. This is a 2-element array of [left offset, top offset]. If null, then new int[] {0,
0} is assumed.. Default value is [0,0]setMoveKnobPoint(com.smartgwt.client.types.MoveKnobPoint)public int[] getMoveKnobOffset()
"move" control
knob, this attribute allows you to specify an offset in pixels from the moveKnobPoint for the move knob. Offset should be
specified as a 2-element array of [left offset, top offset].getMoveKnobPoint()public void setMoveKnobPoint(MoveKnobPoint moveKnobPoint) throws java.lang.IllegalStateException
KnobType.MOVE control knob, this attribute specifies where the knob should
appear with respect to the draw item.moveKnobPoint - Default value is "TL"java.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdsetMoveKnobOffset(int[])public MoveKnobPoint getMoveKnobPoint()
KnobType.MOVE control knob, this attribute specifies where the knob should
appear with respect to the draw item.getMoveKnobOffset()public void setPrompt(java.lang.String prompt)
hover HTML that is displayed in the global
hover canvas if the user hovers over this DrawItem and showHover is true.prompt - See HTMLString . Default value is nullpublic java.lang.String getPrompt()
hover HTML that is displayed in the global
hover canvas if the user hovers over this DrawItem and showHover is true.HTMLStringpublic void setResizeKnobPoints(ResizeKnobPoint... resizeKnobPoints) throws java.lang.IllegalStateException
KnobType.RESIZE control knobs, this attribute specifies the points with respect
to the draw item where resize knobs should appear.resizeKnobPoints - Default value is ["TL","TR","BL","BR"]java.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic ResizeKnobPoint[] getResizeKnobPoints()
KnobType.RESIZE control knobs, this attribute specifies the points with respect
to the draw item where resize knobs should appear.public void setRotation(float rotation)
throws java.lang.IllegalStateException
GwtFloatVsDoublebounding
box. The positive direction is clockwise.rotation - Default value is 0.0java.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic float getRotation()
GwtFloatVsDoublebounding
box. The positive direction is clockwise.public void setRotation(double rotation)
throws java.lang.IllegalStateException
bounding
box. The positive direction is clockwise.rotation - Default value is 0.0java.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic double getRotationAsDouble()
bounding
box. The positive direction is clockwise.public void setScale(int[] scale)
throws java.lang.IllegalStateException
Note : This is an advanced setting
scale - Default value is nulljava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic int[] getScale()
public void setShadow(Shadow shadow)
shadow - new shadow. Default value is nullpublic Shadow getShadow()
public void setShowHover(boolean showHover)
canHover is true, should we show the global hover
canvas by default when the user hovers over this DrawItem?showHover - Default value is truegetHoverHTML()public boolean getShowHover()
canHover is true, should we show the global hover
canvas by default when the user hovers over this DrawItem?getHoverHTML()public void setStartArrow(ArrowStyle startArrow)
NOTE: Not all DrawItem classes support arrowheads. You can use DrawItem.supportsStartArrow() to dynamically check whether a DrawItem instance supports this method.
startArrow - style of arrow to use. Default value is nullpublic ArrowStyle getStartArrow()
public com.google.gwt.event.shared.HandlerRegistration addClickHandler(ClickHandler handler)
Notification fired when the user clicks on this DrawItem.
Note that if this item is part of a DrawGroup, then the group's useGroupRect setting affects whether this item receives
the notification. If useGroupRect is true, then this item will not receive the notification. Otherwise, the
item receives the notification and notification bubbles up to the group.
addClickHandler in interface HasClickHandlershandler - the click handlerHandlerRegistration used to remove this handlerpublic void dragResizeMove(java.lang.String position,
java.lang.Integer x,
java.lang.Integer y,
java.lang.Integer dX,
java.lang.Integer dY)
canDrag is true and the control knobs include "resize" knobs, then this notification
method will be fired when the user drag-resizes the draw item.position - provides which knob of the resizeKnobPoints was
draggedx - new x-coordinate of the knoby - new y-coordinate of the knobdX - horizontal distance moveddY - vertical distance movedpublic void draw()
DrawPane.public void erase()
To re-draw the
item within the DrawPane, call DrawItem.draw() again, or use
DrawPane.addDrawItem() to move to another DrawGroup.
public java.lang.String getHoverHTML()
showHover is true, when the user holds the mouse
over this DrawItem for long enough to trigger a hover event, a hover canvas is shown by default. This method returns the
contents of that hover canvas. Default implementation returns prompt - override for custom hover HTML. Note that returning
null or an empty string will suppress the hover canvas altogether.public int getPageLeft()
Positioning overview and related methodspublic int getPageTop()
Positioning overview and related methodspublic void getSvgString()
NOTE: The generated SVG source assumes that the
default namespace is http://www.w3.org/2000/svg and that namespace prefix xlink refers to
namespace name http://www.w3.org/1999/xlink.
public void hide()
public void hideKnobs(KnobType knobType)
knobs to remove the specified knobType, and clears any drawn knobs for this knobType.knobType - knobs to hidepublic void hideKnobs(KnobType... knobType)
knobs to remove the specified knobType, and clears any drawn knobs for this knobType.knobType - knobs to hidepublic boolean hover()
canHover is true for this DrawItem, the hover()
string method will be fired when the user hovers over this DrawItem. If this method returns false, it will suppress the
default behavior of showing a hover canvas if showHover is true.public boolean isInBounds(int x,
int y)
bounding box of this
DrawItem's shape. This method can be used to quickly check whether the given point is definitely not within
the DrawItem shape. To check whether the point is within the DrawItem shape, use the slower but exact DrawItem.isPointInPath() method.
x - X coordinate of the point in the global coordinate system.y - Y coordinate of the point in the global coordinate system.public boolean isPointInPath(int x,
int y)
x - X coordinate of the test point.y - Y coordinate of the test point.public com.google.gwt.event.shared.HandlerRegistration addMouseDownHandler(MouseDownHandler handler)
Notification fired when the user presses the left mouse button on this DrawItem.
Note that if this item is part of a
DrawGroup, then the group's useGroupRect setting affects whether this item receives
the notification. If useGroupRect is true, then this item will not receive the notification. Otherwise, the
item receives the notification and notification bubbles up to the group.
addMouseDownHandler in interface HasMouseDownHandlershandler - the mouseDown handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler)
Notification fired when the user moves the mouse over this DrawItem.
Note that if this item is part of a DrawGroup, then the group's useGroupRect setting affects whether this item receives
the notification. If useGroupRect is true, then this item will not receive the notification. Otherwise, the
item receives the notification and notification bubbles up to the group.
addMouseMoveHandler in interface HasMouseMoveHandlershandler - the mouseMove handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addMouseOutHandler(MouseOutHandler handler)
Notification fired when the mouse leaves this DrawItem.
Note that if this item is part of a DrawGroup, then the group's useGroupRect setting affects whether this item receives
the notification. If useGroupRect is true, then this item will not receive the notification. Otherwise, the
item receives the notification and notification bubbles up to the group.
addMouseOutHandler in interface HasMouseOutHandlershandler - the mouseOut handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addMouseOverHandler(MouseOverHandler handler)
Notification fired when the mouse enters this DrawItem.
Note that if this item is part of a DrawGroup, then the group's useGroupRect setting affects whether this item receives
the notification. If useGroupRect is true, then this item will not receive the notification. Otherwise, the
item receives the notification and notification bubbles up to the group.
addMouseOverHandler in interface HasMouseOverHandlershandler - the mouseOver handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addMouseUpHandler(MouseUpHandler handler)
Notification fired when the user releases the left mouse button on this DrawItem.
Note that if this item is part of
a DrawGroup, then the group's useGroupRect setting affects whether this item receives
the notification. If useGroupRect is true, then this item will not receive the notification. Otherwise, the
item receives the notification and notification bubbles up to the group.
addMouseUpHandler in interface HasMouseUpHandlershandler - the mouseUp handlerHandlerRegistration used to remove this handlerpublic void moveBy(int dX,
int dY)
dX - change to left coordinate in pixelsdY - change to top coordinate in pixelspublic com.google.gwt.event.shared.HandlerRegistration addMovedHandler(MovedHandler handler)
Notification method fired when this component is explicitly moved. Note that a component's position on the screen may
also be changed due to an ancestor being moved. The parentMoved() method provides a notification entry point to catch that case as well.
addMovedHandler in interface HasMovedHandlershandler - the moved handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addDragMoveHandler(DragMoveHandler handler)
If canDrag is true, this notification method will be
fired when the user drags the draw item.
addDragMoveHandler in interface HasDragMoveHandlershandler - the dragMove handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addDragResizeMoveHandler(DragResizeMoveHandler handler)
If canDrag is true and the control knobs include "resize" knobs, then this notification
method will be fired when the user drags the resize knobs of the draw item.
addDragResizeMoveHandler in interface HasDragResizeMoveHandlershandler - the dragResizeMove handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addDragStartHandler(DragStartHandler handler)
If canDrag is true, this notification method will be
fired when the user starts to drag the draw item.
addDragStartHandler in interface HasDragStartHandlershandler - the dragStart handlerHandlerRegistration used to remove this handlerpublic com.google.gwt.event.shared.HandlerRegistration addDragStopHandler(DragStopHandler handler)
If canDrag is true, this notification method will be
fired when the user completes a drag on the draw item.
addDragStopHandler in interface HasDragStopHandlershandler - the dragStop handlerHandlerRegistration used to remove this handlerpublic void resizeBy(int dX,
int dY)
dX - change to left coordinate in pixelsdY - change to top coordinate in pixelspublic com.google.gwt.event.shared.HandlerRegistration addResizedHandler(ResizedHandler handler)
Observable method called whenever a DrawItem changes size.
addResizedHandler in interface HasResizedHandlershandler - the resized handlerHandlerRegistration used to remove this handlerpublic void resizeTo(int width,
int height)
width - new widthheight - new heightpublic void rotateBy(double degrees)
degrees - number of degrees to rotate from current orientation.public void rotateTo(double degrees)
degrees - number of degrees to rotatepublic void scaleBy(double x,
double y)
x - scale in the x directiony - scale in the y directionpublic void scaleTo(double x,
double y)
x - scale in the x directiony - scale in the y directionpublic void show()
public com.google.gwt.event.shared.HandlerRegistration addShowContextMenuHandler(ShowContextMenuHandler handler)
Executed when the right mouse button is clicked. The default implementation of this method auto-creates a Menu from the contextMenu
property on this component and then calls Menu.showContextMenu() on it to show it.
If you want to show a standard context menu, you can simply define your Menu and set it as the contextMenu property on your component - you do not need to override this method.
If you want to do some other processing before showing a menu or do something else entirely, then you should override this method. Note that the return value from this method controls whether or not the native browser context menu is shown.
addShowContextMenuHandler in interface HasShowContextMenuHandlershandler - the showContextMenu handlerHandlerRegistration used to remove this handlerpublic void showKnobs(KnobType knobType)
knobs to include the specified knobType, and if necessary draws out the appropriate control knobs.knobType - knobs to showpublic void showKnobs(KnobType... knobType)
knobs to include the specified knobType, and if necessary draws out the appropriate control knobs.knobType - knobs to showpublic boolean supportsEndArrow()
DrawItem.setEndArrow()? For
example, this is false for DrawRect and DrawOval, and true for DrawLine.public boolean supportsStartArrow()
DrawItem.setStartArrow()?
For example, this is false for DrawRect and DrawOval, and true for DrawLine.public static void setDefaultProperties(DrawItem drawItemProperties)
Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.
drawItemProperties - properties that should be used as new defaults when instances of this class are createdpublic static DrawItem getRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public static float computeAngle(double px1,
double py1,
double px2,
double py2)
GwtFloatVsDoublepx1 - X coordinate of v1py1 - Y coordinate of v1px2 - X coordinate of v2py2 - Y coordinate of v2public static double computeAngleAsDouble(double px1,
double py1,
double px2,
double py2)
px1 - X coordinate of v1py1 - Y coordinate of v1px2 - X coordinate of v2py2 - Y coordinate of v2public java.lang.Double[] getBoundingBoxAsDouble()
public int[] getBoundingBox()
protected int[] getAttributeAsIntArray(java.lang.String property)
protected void setAttribute(java.lang.String attribute,
java.lang.Float[] value,
boolean allowPostCreate)
setAttribute in class BaseClassprotected void setAttribute(java.lang.String attribute,
float[] value,
boolean allowPostCreate)
setAttribute in class BaseClass