Package com.smartgwt.client.widgets.drawing

# Class DrawLabel

java.lang.Object
com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.smartgwt.client.widgets.BaseWidget
com.smartgwt.client.widgets.drawing.DrawItem
com.smartgwt.client.widgets.drawing.DrawLabel

All Implemented Interfaces:
  `HasAttachHandlers`, `HasHandlers`, `EventListener`, `HasVisibility`, `IsWidget`, `LogicalStructure`, `HasClickHandlers`, `HasDoubleClickHandlers`, `HasDragMoveHandlers`, `HasDragResizeMoveHandlers`, `HasDragResizeStartHandlers`, `HasDragResizeStopHandlers`, `HasDragStartHandlers`, `HasDragStopHandlers`, `HasDrawEndHandlers`, `HasDrawStartHandlers`, `HasMouseDownHandlers`, `HasMouseMoveHandlers`, `HasMouseOutHandlers`, `HasMouseOverHandlers`, `HasMouseUpHandlers`, `HasMovedHandlers`, `HasResizedHandlers`, `HasShowContextMenuHandlers`

public class DrawLabel extends DrawItem
DrawItem subclass to render a single-line text label.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

  `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

- ## Field Summary

  ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

  `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

  ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

  `DEBUG_ID_PREFIX`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DrawLabel()`
  `DrawLabel(JavaScriptObject jsObj)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `changeAutoChildDefaults(String autoChildName, Canvas defaults)`
  Changes the defaults for Canvas AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, DrawItem defaults)`
  Changes the defaults for DrawItem AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, FormItem defaults)`
  Changes the defaults for FormItem AutoChildren named `autoChildName`.
  `protected JavaScriptObject`
  `create()`
  `LabelAlignment`
  `getAlignment()`
  Sets the text alignment from the x position.
  `Point`
  `getCenter()`
  Get the center point of the label.
  `String`
  `getContents()`
  This is the content that will exist as the label.
  `String`
  `getEditProxyConstructor()`
  Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
  `boolean`
  `getEscapeContents()`
  For `SVG-based` `DrawPane`s, whether to escape the specified `contents` of this label so that any markup syntax is rendered "as is," without being interpreted as SVG.
  `String`
  `getFontFamily()`
  Font family name, similar to the CSS font-family attribute.
  `int`
  `getFontSize()`
  Font size in pixels, similar to the CSS font-size attribute.
  `String`
  `getFontStyle()`
  Font style, similar to the CSS font-style attribute, eg "normal", "italic".
  `String`
  `getFontWeight()`
  Font weight, similar to the CSS font-weight attribute, eg "normal", "bold".
  `KnobType[]`
  `getKnobs()`
  DrawLabel only supports the `KnobType.MOVE` knob type.
  `int`
  `getLeft()`
  Sets the amount from the left of its positioning that the element should be placed.
  `double`
  `getLeftAsDouble()`
  Sets the amount from the left of its positioning that the element should be placed.
  `String`
  `getLineColor()`
  The text color of the label.
  `LogicalStructureObject`
  `getLogicalStructure()`
  Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `static DrawLabel`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `float`
  `getRotation()`
  Deprecated.
  `GwtFloatVsDouble`
  `double`
  `getRotationAsDouble()`
  Rotation in degrees about the `top` `left` corner.
  `String`
  `getStyleName()`
  For `drawingType` "svg" only, the CSS class applied to this label.
  `int`
  `getTop()`
  Sets the amount from the top of its positioning that the element should be placed.
  `double`
  `getTopAsDouble()`
  Sets the amount from the top of its positioning that the element should be placed.
  `DrawLabel`
  `setAlignment(LabelAlignment alignment)`
  Sets the text alignment from the x position.
  `void`
  `setAlignment(String alignment)`
  Deprecated.
  Use the method which takes a LabelAlignment.
  `DrawLabel`
  `setContents(String contents)`
  This is the content that will exist as the label.
  `static void`
  `setDefaultProperties(DrawLabel drawLabelProperties)`
  Class level method to set the default properties of this class.
  `DrawLabel`
  `setEditProxyConstructor(String editProxyConstructor)`
  Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
  `DrawLabel`
  `setEscapeContents(boolean escapeContents)`
  For `SVG-based` `DrawPane`s, whether to escape the specified `contents` of this label so that any markup syntax is rendered "as is," without being interpreted as SVG.
  `DrawLabel`
  `setFontFamily(String fontFamily)`
  Font family name, similar to the CSS font-family attribute.
  `DrawLabel`
  `setFontSize(int fontSize)`
  Font size in pixels, similar to the CSS font-size attribute.
  `DrawLabel`
  `setFontStyle(String fontStyle)`
  Font style, similar to the CSS font-style attribute, eg "normal", "italic".
  `DrawLabel`
  `setFontWeight(String fontWeight)`
  Font weight, similar to the CSS font-weight attribute, eg "normal", "bold".
  `DrawLabel`
  `setKnobs(KnobType... knobs)`
  DrawLabel only supports the `KnobType.MOVE` knob type.
  `DrawLabel`
  `setLeft(int left)`
  Sets the amount from the left of its positioning that the element should be placed.
  `DrawLabel`
  `setLineColor(String lineColor)`
  The text color of the label.
  `LogicalStructureObject`
  `setLogicalStructure(DrawLabelLogicalStructure s)`
  Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `DrawLabel`
  `setRotation(double rotation)`
  Rotation in degrees about the `top` `left` corner.
  `DrawLabel`
  `setRotation(float rotation)`
  Deprecated.
  `GwtFloatVsDouble`
  `void`
  `setStyleName(String styleName)`
  For `drawingType` "svg" only, the CSS class applied to this label.
  `DrawLabel`
  `setTop(int top)`
  Sets the amount from the top of its positioning that the element should be placed.

  ### Methods inherited from class com.smartgwt.client.widgets.drawing.DrawItem

  `addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDrawEndHandler, addDrawStartHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMovedHandler, addResizedHandler, addShowContextMenuHandler, bringToFront, computeAngle, computeAngleAsDouble, dragResizeMove, draw, erase, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getBoundingBox, getBoundingBoxAsDouble, getById, getByJSObject, getCanDrag, getCanHover, getCanvasAutoChild, getContextMenu, getCornerResizeKnob, getCursor, getDestroyed, getDestroying, getDragStartDistance, getDrawGroup, getDrawItemAutoChild, getDrawPane, getDrawPaneAsString, getEndArrow, getEndKnob, getEventOpaque, getEventPassThrough, getFillColor, getFillGradient, getFillGradientAsString, getFillOpacity, getFormItemAutoChild, getHoverDelay, getHoverHTML, getKeepInParentRect, getLineCap, getLineOpacity, getLinePattern, getLineWidth, getMoveKnob, getMoveKnobOffset, getMoveKnobPoint, getPageLeft, getPageTop, getPaletteDefaults, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRef, getResizeBoundingBox, getResizeBoundingBoxAsDouble, getResizeKnobPoints, getResizeOutline, getResizeViaLocalTransformOnly, getRotateKnob, getScale, getShadow, getShowHover, getShowResizeOutline, getShowTitleLabelBackground, getSideResizeKnob, getStartArrow, getStartKnob, getSvgString, getTitle, getTitleAutoFit, getTitleAutoFitMargin, getTitleAutoFitRotationMode, getTitleLabel, getTitleLabelBackground, getTitleLabelPadding, getTitleRotationMode, getTranslate, getUnderlyingGWTCanvas, getUseSimpleTransform, getXShearFactor, getYShearFactor, getZIndex, hide, hideAllKnobs, hideKnobs, hideKnobs, hover, isInBounds, isPointInPath, moveBy, moveTo, resizeBy, resizeTo, rotateBy, rotateTo, scaleBy, scaleTo, sendToBack, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setCanDrag, setCanHover, setCenterPoint, setContextMenu, setCursor, setDefaultProperties, setDragStartDistance, setDrawGroup, setDrawPane, setDrawPane, setEndArrow, setEventOpaque, setEventPassThrough, setFillColor, setFillGradient, setFillGradient, setFillOpacity, setHoverDelay, setKeepInParentRect, setKeepInParentRect, setLineCap, setLineOpacity, setLinePattern, setLineWidth, setLogicalStructure, setMoveKnobOffset, setMoveKnobPoint, setPrompt, setPropertyValue, setProportionalResizeModifiers, setProportionalResizing, setResizeKnobPoints, setResizeViaLocalTransformOnly, setScale, setShadow, setShapeData, setShowHover, setShowResizeOutline, setShowTitleLabelBackground, setStartArrow, setTitle, setTitleAutoFit, setTitleAutoFitMargin, setTitleAutoFitRotationMode, setTitleLabelPadding, setTitleRotationMode, setTranslate, setUseSimpleTransform, setXShearFactor, setYShearFactor, setZIndex, show, showAllKnobs, showKnobs, showKnobs, supportsEndArrow, supportsStartArrow`

  ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

  `addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, equals, error, errorIfNotCreated, getAttribute, getAttributeAsDateArray, getAttributeAsFloatArray, getAttributeAsIntArray, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAutoDraw, getClassName, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getScClassName, hasAutoAssignedID, hasDynamicProperty, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, isFactoryCreated, onBind, onDestroy, onDraw, onInit, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoDraw, setConfig, setConfigOnly, setDefaultProperties, setDragTracker, setFactoryCreated, setHtmlElement, setID, setJavaScriptObject, setLogicalStructure, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

  ### Methods inherited from class com.google.gwt.user.client.ui.Widget

  `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

  ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

  `addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, setVisible, setWidth, sinkBitlessEvent`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

  `fireEvent`

- ## Constructor Details

  - ### DrawLabel

    public DrawLabel()

  - ### DrawLabel

    public DrawLabel(JavaScriptObject jsObj)

- ## Method Details

  - ### getOrCreateRef

    public static DrawLabel getOrCreateRef(JavaScriptObject jsObj)

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
    Changes the defaults for Canvas AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
    Changes the defaults for FormItem AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, DrawItem defaults)
    Changes the defaults for DrawItem AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - DrawItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### create

    protected JavaScriptObject create()
    Overrides:
      `create` in class `DrawItem`

  - ### setAlignment

    public DrawLabel setAlignment(LabelAlignment alignment) throws IllegalStateException
    Sets the text alignment from the x position. Similar to HTML5 context.textAlign with alignment values such as "start", "center", and "end".

    Note that this setting is ignored for `DrawItem.titleLabel` autochildren, which are always considered to have "start" alignment to make handling of `DrawItem.titleRotationMode` simpler.

    Parameters:
      `alignment` - New alignment value. Default value is DrawLabel.START
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getAlignment

    public LabelAlignment getAlignment()
    Sets the text alignment from the x position. Similar to HTML5 context.textAlign with alignment values such as "start", "center", and "end".

    Note that this setting is ignored for `DrawItem.titleLabel` autochildren, which are always considered to have "start" alignment to make handling of `DrawItem.titleRotationMode` simpler.

    Returns:
      Current alignment value. Default value is DrawLabel.START

  - ### setContents

    public DrawLabel setContents(String contents)
    This is the content that will exist as the label.
    If this method is called after the component has been drawn/initialized: Sets this DrawLabel's `contents`.
    Parameters:
      `contents` - the new contents. Default value is null
    Returns:
      `DrawLabel` instance, for chaining setter calls
    See Also:
      - `setEscapeContents(boolean)`

  - ### getContents

    public String getContents()
    This is the content that will exist as the label.
    Returns:
      Current contents value. Default value is null
    See Also:
      - `getEscapeContents()`

  - ### setEditProxyConstructor

    public DrawLabel setEditProxyConstructor(String editProxyConstructor) throws IllegalStateException
    Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    Overrides:
      `setEditProxyConstructor` in class `DrawItem`
    Parameters:
      `editProxyConstructor` - New editProxyConstructor value. Default value is "DrawLabelEditProxy"
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `SCClassName`

  - ### getEditProxyConstructor

    public String getEditProxyConstructor()
    Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    Overrides:
      `getEditProxyConstructor` in class `DrawItem`
    Returns:
      Current editProxyConstructor value. Default value is "DrawLabelEditProxy"
    See Also:
      - `SCClassName`

  - ### setEscapeContents

    public DrawLabel setEscapeContents(boolean escapeContents)
    For `SVG-based` `DrawPane`s, whether to escape the specified `contents` of this label so that any markup syntax is rendered "as is," without being interpreted as SVG. This setting should not be customized when working with other `drawingType`s, as the `contents` are always escaped in such case.

    In SVG, a `DrawLabel`'s `contents` are rendered inside a `<text>` tag, so any SVG that's legal inside that tag can be set as the `contents` when `escapeContents` is false. See Mozilla SVG Developer Reference for more information about what exactly is supported.

    Note that the Framework will not be able to determine the width or height of a `DrawLabel` when this property is false, so the Framework will consider both dimensions to be zero, and centering will not work (e.g. for `DrawItem.titleLabel` autochildren). For top-level `DrawLabel`s, you may be able to get the DOM to center your content by setting `alignment` as "center" - the DOM will then interpret the `left`, `top` coordinates of the label as its centerpoint even though our Framework doesn't know the label's actual size.

    For a `titleLabel`, the `alignment` setting is ignored, as the Framework always positions it using "start" alignment, but SVG code such as the following demonstrates that centering is possible (via the "style" setting):

          <tspan text-decoration='underline' font-size='20px'
                 style='dominant-baseline:central; text-anchor:middle;'>MyLabel
          </tspan>

    If this method is called after the component has been drawn/initialized: Sets the `escapeContents` property for this DrawLabel.
    Parameters:
      `escapeContents` - whether to escape `contents`. Default value is true
    Returns:
      `DrawLabel` instance, for chaining setter calls
    See Also:
      - `setContents(java.lang.String)`
      - `setAlignment(com.smartgwt.client.types.LabelAlignment)`

  - ### getEscapeContents

    public boolean getEscapeContents()
    For `SVG-based` `DrawPane`s, whether to escape the specified `contents` of this label so that any markup syntax is rendered "as is," without being interpreted as SVG. This setting should not be customized when working with other `drawingType`s, as the `contents` are always escaped in such case.

    In SVG, a `DrawLabel`'s `contents` are rendered inside a `<text>` tag, so any SVG that's legal inside that tag can be set as the `contents` when `escapeContents` is false. See Mozilla SVG Developer Reference for more information about what exactly is supported.

    Note that the Framework will not be able to determine the width or height of a `DrawLabel` when this property is false, so the Framework will consider both dimensions to be zero, and centering will not work (e.g. for `DrawItem.titleLabel` autochildren). For top-level `DrawLabel`s, you may be able to get the DOM to center your content by setting `alignment` as "center" - the DOM will then interpret the `left`, `top` coordinates of the label as its centerpoint even though our Framework doesn't know the label's actual size.

    For a `titleLabel`, the `alignment` setting is ignored, as the Framework always positions it using "start" alignment, but SVG code such as the following demonstrates that centering is possible (via the "style" setting):

          <tspan text-decoration='underline' font-size='20px'
                 style='dominant-baseline:central; text-anchor:middle;'>MyLabel
          </tspan>

    Returns:
      Current escapeContents value. Default value is true
    See Also:
      - `getContents()`
      - `getAlignment()`

  - ### setFontFamily

    public DrawLabel setFontFamily(String fontFamily) throws IllegalStateException
    Font family name, similar to the CSS font-family attribute.
    Parameters:
      `fontFamily` - New fontFamily value. Default value is "Tahoma"
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setStyleName(java.lang.String)`

  - ### getFontFamily

    public String getFontFamily()
    Font family name, similar to the CSS font-family attribute.
    Returns:
      Current fontFamily value. Default value is "Tahoma"
    See Also:
      - `getStyleName()`

  - ### setFontSize

    public DrawLabel setFontSize(int fontSize)
    Font size in pixels, similar to the CSS font-size attribute.
    If this method is called after the component has been drawn/initialized: Sets this DrawLabel's `fontSize`.
    Parameters:
      `fontSize` - the new font size in pixels. Default value is 18
    Returns:
      `DrawLabel` instance, for chaining setter calls
    See Also:
      - `setStyleName(java.lang.String)`

  - ### getFontSize

    public int getFontSize()
    Font size in pixels, similar to the CSS font-size attribute.
    Returns:
      Current fontSize value. Default value is 18
    See Also:
      - `getStyleName()`

  - ### setFontStyle

    public DrawLabel setFontStyle(String fontStyle) throws IllegalStateException
    Font style, similar to the CSS font-style attribute, eg "normal", "italic".
    Parameters:
      `fontStyle` - New fontStyle value. Default value is "normal"
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setStyleName(java.lang.String)`

  - ### getFontStyle

    public String getFontStyle()
    Font style, similar to the CSS font-style attribute, eg "normal", "italic".
    Returns:
      Current fontStyle value. Default value is "normal"
    See Also:
      - `getStyleName()`

  - ### setFontWeight

    public DrawLabel setFontWeight(String fontWeight) throws IllegalStateException
    Font weight, similar to the CSS font-weight attribute, eg "normal", "bold".
    Parameters:
      `fontWeight` - New fontWeight value. Default value is "bold"
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setStyleName(java.lang.String)`

  - ### getFontWeight

    public String getFontWeight()
    Font weight, similar to the CSS font-weight attribute, eg "normal", "bold".
    Returns:
      Current fontWeight value. Default value is "bold"
    See Also:
      - `getStyleName()`

  - ### setKnobs

    public DrawLabel setKnobs(KnobType... knobs) throws IllegalStateException
    DrawLabel only supports the `KnobType.MOVE` knob type.
    Overrides:
      `setKnobs` in class `DrawItem`
    Parameters:
      `knobs` - New knobs value. Default value is null
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `DrawItem.setKnobs(com.smartgwt.client.types.KnobType...)`

  - ### getKnobs

    public KnobType[] getKnobs()
    DrawLabel only supports the `KnobType.MOVE` knob type.
    Overrides:
      `getKnobs` in class `DrawItem`
    Returns:
      Current knobs value. Default value is null
    See Also:
      - `DrawItem.getKnobs()`

  - ### setLeft

    public DrawLabel setLeft(int left) throws IllegalStateException
    Sets the amount from the left of its positioning that the element should be placed.
    Parameters:
      `left` - New left value. Default value is 0
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getLeft

    public int getLeft()
    Sets the amount from the left of its positioning that the element should be placed.
    Returns:
      Current left value. Default value is 0

  - ### getLeftAsDouble

    public double getLeftAsDouble()
    Sets the amount from the left of its positioning that the element should be placed.
    Returns:
      Current left value. Default value is 0

  - ### setLineColor

    public DrawLabel setLineColor(String lineColor)
    The text color of the label.
    If this method is called after the component has been drawn/initialized: Sets the text color of the label.
    Overrides:
      `setLineColor` in class `DrawItem`
    Parameters:
      `lineColor` - new text color. Default value is "#808080"
    Returns:
      `DrawLabel` instance, for chaining setter calls
    See Also:
      - `CSSColor`

  - ### getLineColor

    public String getLineColor()
    The text color of the label.
    Overrides:
      `getLineColor` in class `DrawItem`
    Returns:
      Current lineColor value. Default value is "#808080"
    See Also:
      - `CSSColor`

  - ### setRotation

    public DrawLabel setRotation(float rotation) throws IllegalStateException
    Deprecated.
    `GwtFloatVsDouble`
    Rotation in degrees about the `top` `left` corner. The positive direction is clockwise.
    Overrides:
      `setRotation` in class `DrawItem`
    Parameters:
      `rotation` - New rotation value. Default value is 0.0
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getRotation

    public float getRotation()
    Deprecated.
    `GwtFloatVsDouble`
    Rotation in degrees about the `top` `left` corner. The positive direction is clockwise.
    Overrides:
      `getRotation` in class `DrawItem`
    Returns:
      Current rotation value. Default value is 0.0

  - ### setRotation

    public DrawLabel setRotation(double rotation) throws IllegalStateException
    Rotation in degrees about the `top` `left` corner. The positive direction is clockwise.
    Overrides:
      `setRotation` in class `DrawItem`
    Parameters:
      `rotation` - New rotation value. Default value is 0.0
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getRotationAsDouble

    public double getRotationAsDouble()
    Rotation in degrees about the `top` `left` corner. The positive direction is clockwise.
    Overrides:
      `getRotationAsDouble` in class `DrawItem`
    Returns:
      Current rotation value. Default value is 0.0

  - ### setStyleName

    public void setStyleName(String styleName)
    For `drawingType` "svg" only, the CSS class applied to this label. Similar to `Canvas.styleName`. The font properties `fontSize`, `fontWeight`, `fontStyle`, and `fontFamily`, unless set to null, take priority over any CSS settings. This property can be used in combination with `escapeContents` if needed. but note that in SVG, the precedence of CSS and inline styling applied to an element works differently that it does in HTML. See Mozilla SVG Developer Reference

    Note that only font sizes defined in pixels are supported through this property.
    If this method is called after the component has been drawn/initialized: Sets this DrawLabel's `styleName`.

    Overrides:
      `setStyleName` in class `UIObject`
    Parameters:
      `styleName` - the new styleName. Default value is "normal"
    See Also:
      - `setEscapeContents(boolean)`
      - `CSSStyleName`

  - ### getStyleName

    public String getStyleName()
    For `drawingType` "svg" only, the CSS class applied to this label. Similar to `Canvas.styleName`. The font properties `fontSize`, `fontWeight`, `fontStyle`, and `fontFamily`, unless set to null, take priority over any CSS settings. This property can be used in combination with `escapeContents` if needed. but note that in SVG, the precedence of CSS and inline styling applied to an element works differently that it does in HTML. See Mozilla SVG Developer Reference

    Note that only font sizes defined in pixels are supported through this property.

    Overrides:
      `getStyleName` in class `UIObject`
    Returns:
      Current styleName value. Default value is "normal"
    See Also:
      - `getEscapeContents()`
      - `CSSStyleName`

  - ### setTop

    public DrawLabel setTop(int top) throws IllegalStateException
    Sets the amount from the top of its positioning that the element should be placed.
    Parameters:
      `top` - New top value. Default value is 0
    Returns:
      `DrawLabel` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getTop

    public int getTop()
    Sets the amount from the top of its positioning that the element should be placed.
    Returns:
      Current top value. Default value is 0

  - ### getTopAsDouble

    public double getTopAsDouble()
    Sets the amount from the top of its positioning that the element should be placed.
    Returns:
      Current top value. Default value is 0

  - ### getCenter

    public Point getCenter()
    Get the center point of the label.
    Overrides:
      `getCenter` in class `DrawItem`
    Returns:
      the center point

  - ### setDefaultProperties

    public static void setDefaultProperties(DrawLabel drawLabelProperties)
    Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

    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.

    Parameters:
      `drawLabelProperties` - properties that should be used as new defaults when instances of this class are created
    See Also:
      - `SGWTProperties`

  - ### setAlignment

    public void setAlignment(String alignment) throws IllegalStateException
    Deprecated.
    Use the method which takes a LabelAlignment.
    See `setAlignment(LabelAlignment)`.
    Parameters:
      `alignment` - Default value is "start"
    Throws:
      `IllegalStateException` - Thrown upon attempt to change after component creation.

  - ### setLogicalStructure

    public LogicalStructureObject setLogicalStructure(DrawLabelLogicalStructure s)
    Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

  - ### getLogicalStructure

    public LogicalStructureObject getLogicalStructure()
    Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    Specified by:
      `getLogicalStructure` in interface `LogicalStructure`
    Overrides:
      `getLogicalStructure` in class `DrawItem`