com.smartgwt.client.widgets

## Class HTMLFlow

- 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.Canvas
        - - com.smartgwt.client.widgets.HTMLFlow

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClickHandlers, HasContentLoadedHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers
  Direct Known Subclasses:
    HTMLPane

      public class HTMLFlow
      extends Canvas
      implements HasContentLoadedHandlers

  Use the HTMLFlow component to display HTML content that should expand to its natural size without scrolling.

  HTML content can be loaded and reloaded from a URL via the property `contentsURL`. This method of loading is for simple HTML content only; Smart GWT components should be loaded via the `ViewLoader` class.

  NOTE: Since the size of an HTMLFlow component is determined by its HTML contents, this component will draw at varying sizes if given content of varying size. When using HTMLFlow components within a Layout, consider what will happen if the HTMLFlow renders at various sizes. An HTMLFlow which can expand should be placed in a container where other components can render smaller, where the container is allowed to scroll, or where there is padding to expand into.

- - ### Nested Class Summary

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

      `com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled`

  - ### Field Summary

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

      `config, configOnly, id, isElementSet, nativeObject, scClassName`

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

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HTMLFlow()`
    `HTMLFlow(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `HTMLFlow(java.lang.String contents)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.event.shared.HandlerRegistration` | `addContentLoadedHandler(ContentLoadedHandler handler)` Add a contentLoaded handler.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `java.lang.Boolean` | `getAllowCaching()` By default an HTMLFlow will explicitly prevent browser caching.
    `java.lang.Boolean` | `getCaptureSCComponents()` If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.
    `java.lang.String` | `getContents()` The contents of a canvas or label widget.
    `ContentsType` | `getContentsType()` The default setting of 'null' or 'fragment' indicates that HTML loaded from `contentsURL` is assumed to be an HTML fragment rather than a complete page.
    `java.lang.String` | `getContentsURL()` URL to load content from.
    `java.lang.Boolean` | `getDynamicContents()` Dynamic contents allows the contents string to be treated as a simple, but powerful template.
    `java.lang.Boolean` | `getEvalScriptBlocks()` If `evalScriptBlocks` is true, HTMLFlow will pre-process the loaded HTML in order to mimic how the HTML would execute if it were loaded as an independent page or loaded via an IFRAME.
    `SendMethod` | `getHttpMethod()` Selects the HTTP method that will be used when fetching content.
    `java.lang.String` | `getLoadingMessage()` HTML to show while content is being fetched, active only if the `contentsURL` property has been set.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()`
    `static HTMLFlow` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.Boolean` | `loadingContent()` Returns true if this htmlFlow is currently loading content from the server. Note: Does not apply to htmlFlows with `contentsType` set to `"page"`
    `void` | `setAllowCaching(java.lang.Boolean allowCaching)` By default an HTMLFlow will explicitly prevent browser caching.
    `void` | `setCaptureSCComponents(java.lang.Boolean captureSCComponents)` If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.
    `void` | `setContents(java.lang.String contents)` The contents of a canvas or label widget.
    `void` | `setContentsType(ContentsType contentsType)` The default setting of 'null' or 'fragment' indicates that HTML loaded from `contentsURL` is assumed to be an HTML fragment rather than a complete page.
    `void` | `setContentsURL(java.lang.String contentsURL)` URL to load content from.
    `void` | `setContentsURLParams(java.util.Map contentsURLParams)` Parameters to be sent to the contentsURL when fetching content.
    `static void` | `setDefaultProperties(HTMLFlow hTMLFlowProperties)` Class level method to set the default properties of this class.
    `void` | `setDynamicContents(java.lang.Boolean dynamicContents)` Dynamic contents allows the contents string to be treated as a simple, but powerful template.
    `void` | `setEvalScriptBlocks(java.lang.Boolean evalScriptBlocks)` If `evalScriptBlocks` is true, HTMLFlow will pre-process the loaded HTML in order to mimic how the HTML would execute if it were loaded as an independent page or loaded via an IFRAME.
    `void` | `setHttpMethod(SendMethod httpMethod)` Selects the HTTP method that will be used when fetching content.
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `void` | `setLoadingMessage(java.lang.String loadingMessage)` HTML to show while content is being fetched, active only if the `contentsURL` property has been set.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.HTMLFlowLogicalStructure s)`
    `void` | `transformHTML(java.lang.String html)` Override to modify the loaded HTML before it is rendered.

    - ### Methods inherited from class com.smartgwt.client.widgets.Canvas

      `addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getContentElement, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinWidth, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getOverflow, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getSkinImgDir, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getStyleName, getTabIndex, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseOpacityFilter, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, onInit, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAlign, setAllowExternalFilters, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setCanvasItem, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlPosition, setImage, setImage, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinWidth, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setOverflow, setPadding, setPageLeft, setPageTop, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setSkinImgDir, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setStyleName, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseOpacityFilter, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop`

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

      `addDrawHandler, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getElement, getElement, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setElement, setHtmlElement, setID, 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, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents`

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

      `addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, unsinkEvents`

    - ### 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 Detail

    - #### HTMLFlow

          public HTMLFlow()

    - #### HTMLFlow

          public HTMLFlow(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### HTMLFlow

          public HTMLFlow(java.lang.String contents)

  - ### Method Detail

    - #### getOrCreateRef

          public static HTMLFlow getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### setJavaScriptObject

          public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `Canvas`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.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.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.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.
      See Also:
        `AutoChildUsage`

    - #### create

          protected com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `Canvas`

    - #### setAllowCaching

          public void setAllowCaching(java.lang.Boolean allowCaching)
                               throws java.lang.IllegalStateException

      By default an HTMLFlow will explicitly prevent browser caching.

      Set to true to allow browser caching if the browser would normally do so, in other words, if the HTTP headers returned with the response indicate that the response can be cached.

      Parameters:
        `allowCaching` - allowCaching Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAllowCaching

          public java.lang.Boolean getAllowCaching()

      By default an HTMLFlow will explicitly prevent browser caching.

      Set to true to allow browser caching if the browser would normally do so, in other words, if the HTTP headers returned with the response indicate that the response can be cached.

      Returns:
        Boolean

    - #### setCaptureSCComponents

          public void setCaptureSCComponents(java.lang.Boolean captureSCComponents)
                                      throws java.lang.IllegalStateException

      If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.

      Only applies when contentsType is not "page".

      Parameters:
        `captureSCComponents` - captureSCComponents Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCaptureSCComponents

          public java.lang.Boolean getCaptureSCComponents()

      If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.

      Only applies when contentsType is not "page".

      Returns:
        Boolean

    - #### setContents

          public void setContents(java.lang.String contents)

      The contents of a canvas or label widget. Any HTML string is acceptable.
      If this method is called after the component has been drawn/initialized: Changes the contents of a widget to newContents, an HTML string.
      Overrides:
        `setContents` in class `Canvas`
      Parameters:
        `contents` - an HTML string to be set as the contents of this widget. See `HTMLString`. Default value is "&nbsp;"
      See Also:
        `setDynamicContents(java.lang.Boolean)`

    - #### getContents

          public java.lang.String getContents()

      The contents of a canvas or label widget. Any HTML string is acceptable.
      Overrides:
        `getContents` in class `Canvas`
      Returns:
        . See `HTMLString`
      See Also:
        `getDynamicContents()`

    - #### setContentsURL

          public void setContentsURL(java.lang.String contentsURL)

      URL to load content from.

      If specified, this component will load HTML content from the specified URL when it is first drawn.

      This feature relies on the XMLHttpRequest object which can be disabled by end-users in some supported browsers. See `PlatformDependencies` for more information.
      If this method is called after the component has been drawn/initialized: Change the URL this component loads content from. Triggers a fetch for content from the new URL.

      Can also be called with no arguments to reload content from the existing `contentsURL`.

      This feature relies on the XMLHttpRequest object which can be disabled by end-users in some supported browsers. See `PlatformDependencies` for more information.

      Parameters:
        `contentsURL` - URL to retrieve contents from. See `String`. Default value is null

    - #### getContentsURL

          public java.lang.String getContentsURL()

      URL to load content from.

      If specified, this component will load HTML content from the specified URL when it is first drawn.

      This feature relies on the XMLHttpRequest object which can be disabled by end-users in some supported browsers. See `PlatformDependencies` for more information.

      Returns:
        . See `String`

    - #### setDynamicContents

          public void setDynamicContents(java.lang.Boolean dynamicContents)

      Dynamic contents allows the contents string to be treated as a simple, but powerful template. When this attribute is set to true, expressions of the form \${arbitrary JS here} are replaced by the result of the evaluation of the JS code inside the curly brackets. This evaluation happens at draw time. If you want to trigger a re-evaluation of the expressions in the contents string you can call markForRedraw() on the canvas.

      You can use this feature to build some simple custom components. For example, let's say you want to show the value of a Slider in a Canvas somewhere on the screen. You can do this by observing the valueChanged() method on the slider and calling setContents() on your canvas with the new string or you can set the contents of the canvas to something like:

      `"The slider value is \${sliderInstance.getValue()}."`

      Next you set dynamicContents: true on the canvas, observe valueChanged() on the slider and call canvas.markForRedraw() in that observation. This approach is cleaner than setContents() when the Canvas is aggregating several values or dynamic expressions. Like so:

            Slider.create({
                ID: "mySlider"
            });

            Canvas.create({
                ID: "myCanvas",
                dynamicContents: true,
                contents: "The slider value is \${mySlider.getValue()}."
            });

            myCanvas.observe(mySlider, "valueChanged",
                             "observer.markForRedraw()");

      You can embed an arbitrary number of dynamic expressions in the contents string. The search and replace is optimized for speed.

      If an error occurs during the evaluation of one of the expressions, a warning is logged to the ISC Developer Console and the error string is embedded in place of the expected value in the Canvas.

      The value of a function is its return value. The value of any variable is the same as that returned by its toString() representation.

      Inside the evaluation contentext, `this` points to the canvas instance that has the dynamicContents string as its contents - in other words the canvas instance on which the template is declared.

      Note : This is an advanced setting

      Overrides:
        `setDynamicContents` in class `Canvas`
      Parameters:
        `dynamicContents` - dynamicContents Default value is false
      See Also:
        `setContents(java.lang.String)`, `com.smartgwt.client.widgets.Canvas#setDynamicContentsVars`

    - #### getDynamicContents

          public java.lang.Boolean getDynamicContents()

      Dynamic contents allows the contents string to be treated as a simple, but powerful template. When this attribute is set to true, expressions of the form \${arbitrary JS here} are replaced by the result of the evaluation of the JS code inside the curly brackets. This evaluation happens at draw time. If you want to trigger a re-evaluation of the expressions in the contents string you can call markForRedraw() on the canvas.

      You can use this feature to build some simple custom components. For example, let's say you want to show the value of a Slider in a Canvas somewhere on the screen. You can do this by observing the valueChanged() method on the slider and calling setContents() on your canvas with the new string or you can set the contents of the canvas to something like:

      `"The slider value is \${sliderInstance.getValue()}."`

      Next you set dynamicContents: true on the canvas, observe valueChanged() on the slider and call canvas.markForRedraw() in that observation. This approach is cleaner than setContents() when the Canvas is aggregating several values or dynamic expressions. Like so:

            Slider.create({
                ID: "mySlider"
            });

            Canvas.create({
                ID: "myCanvas",
                dynamicContents: true,
                contents: "The slider value is \${mySlider.getValue()}."
            });

            myCanvas.observe(mySlider, "valueChanged",
                             "observer.markForRedraw()");

      You can embed an arbitrary number of dynamic expressions in the contents string. The search and replace is optimized for speed.

      If an error occurs during the evaluation of one of the expressions, a warning is logged to the ISC Developer Console and the error string is embedded in place of the expected value in the Canvas.

      The value of a function is its return value. The value of any variable is the same as that returned by its toString() representation.

      Inside the evaluation contentext, `this` points to the canvas instance that has the dynamicContents string as its contents - in other words the canvas instance on which the template is declared.

      Overrides:
        `getDynamicContents` in class `Canvas`
      Returns:
        Boolean
      See Also:
        `getContents()`, `com.smartgwt.client.widgets.Canvas#getDynamicContentsVars`

    - #### setEvalScriptBlocks

          public void setEvalScriptBlocks(java.lang.Boolean evalScriptBlocks)
                                   throws java.lang.IllegalStateException

      If `evalScriptBlocks` is true, HTMLFlow will pre-process the loaded HTML in order to mimic how the HTML would execute if it were loaded as an independent page or loaded via an IFRAME.

      This feature is intended to assist with migrating existing applications to Smart GWT.

      `evalScriptBlocks` is enabled by default when loading remote content (via `contentsURL`) and disabled by default for content supplied via `HTMLFlow.setContents`.

      Note that, if evalScriptBlocks is false, <SCRIPT> blocks will still be detected and disabled to avoid the inconsistent results across different browsers.

      Only applies when contentsType is not "page".

      Parameters:
        `evalScriptBlocks` - evalScriptBlocks Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getEvalScriptBlocks

          public java.lang.Boolean getEvalScriptBlocks()

      If `evalScriptBlocks` is true, HTMLFlow will pre-process the loaded HTML in order to mimic how the HTML would execute if it were loaded as an independent page or loaded via an IFRAME.

      This feature is intended to assist with migrating existing applications to Smart GWT.

      `evalScriptBlocks` is enabled by default when loading remote content (via `contentsURL`) and disabled by default for content supplied via `HTMLFlow.setContents`.

      Note that, if evalScriptBlocks is false, <SCRIPT> blocks will still be detected and disabled to avoid the inconsistent results across different browsers.

      Only applies when contentsType is not "page".

      Returns:
        Boolean

    - #### setHttpMethod

          public void setHttpMethod(SendMethod httpMethod)

      Selects the HTTP method that will be used when fetching content. Valid values are "POST" and "GET".
      Parameters:
        `httpMethod` - httpMethod Default value is "GET"

    - #### getHttpMethod

          public SendMethod getHttpMethod()

      Selects the HTTP method that will be used when fetching content. Valid values are "POST" and "GET".
      Returns:
        SendMethod

    - #### setLoadingMessage

          public void setLoadingMessage(java.lang.String loadingMessage)

      HTML to show while content is being fetched, active only if the `contentsURL` property has been set. Use `"\${loadingImage}"` to include `a loading image`.

      The loading message will show both during the initial load of content, and during reload if the contents are reloaded or the contentsURL changed. For a first-time only loading message, initialize the `contents` property instead.
      Note: the `loadingMessage` is never displayed when loading complete web pages rather than HTML fragments (see `contentsType`).

      Parameters:
        `loadingMessage` - . See `String`. Default value is "&amp;nbsp;\${loadingImage}"

    - #### getLoadingMessage

          public java.lang.String getLoadingMessage()

      HTML to show while content is being fetched, active only if the `contentsURL` property has been set. Use `"\${loadingImage}"` to include `a loading image`.

      The loading message will show both during the initial load of content, and during reload if the contents are reloaded or the contentsURL changed. For a first-time only loading message, initialize the `contents` property instead.
      Note: the `loadingMessage` is never displayed when loading complete web pages rather than HTML fragments (see `contentsType`).

      Returns:
        . See `String`

    - #### addContentLoadedHandler

          public com.google.gwt.event.shared.HandlerRegistration addContentLoadedHandler(ContentLoadedHandler handler)

      Add a contentLoaded handler.

      StringMethod fired when content is completely loaded in this htmlFlow. Has no default implementation. May be observed or overridden as a notification type method to fire custom logic when loading completes.

      Notes:

      - A call to `this.setContents()` will cause this notification to be fired when the contents have been set. If `evalScriptBlocks` is true, and the HTML passed into `setContents()` contains any `<script src=... >` tags, this callback will be fired asynchronously once the scripts have been loaded from the server and executed, as well as having the widget content updated
      - When using `contentsURL`, this does not apply to htmlFlows with `contentsType` set to `"page"`
      Specified by:
        `addContentLoadedHandler` in interface `HasContentLoadedHandlers`
      Parameters:
        `handler` - the contentLoaded handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### loadingContent

          public java.lang.Boolean loadingContent()

      Returns true if this htmlFlow is currently loading content from the server.
      Note: Does not apply to htmlFlows with `contentsType` set to `"page"`
      Returns:
        whether content is currently being loaded
      See Also:
        `ContentLoadedEvent`

    - #### transformHTML

          public void transformHTML(java.lang.String html)

      Override to modify the loaded HTML before it is rendered.
      Parameters:
        `html` - the html as loaded from the server return (HTML) html to be rendered

    - #### setDefaultProperties

          public static void setDefaultProperties(HTMLFlow hTMLFlowProperties)

      Class level method to set the default properties of this class. If set, then all subsequent instances of this class will automatically have the default properties that were set when this method was called. 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 effect 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.

      Parameters:
        `hTMLFlowProperties` - properties that should be used as new defaults when instances of this class are created

    - #### setContentsType

          public void setContentsType(ContentsType contentsType)
                               throws java.lang.IllegalStateException

      The default setting of 'null' or 'fragment' indicates that HTML loaded from `contentsURL` is assumed to be an HTML fragment rather than a complete page. Set to "page" to load HTML as a standalone page, via an IFRAME.

      `contentsType:"page"` should only be used for controlled HTML content, and only when such content cannot be delivered as an HTML fragment instead (the default). To dynamically load Smart GWT components, use `ViewLoader`, never this mechanism (click `here` for why).

      Loading HTML content as a fragment is less resource intensive and avoids visual artifacts such as translucent media HTML content as a fragment is less resource intensive and avoids visual artifacts such as translucent media becoming opaque or disappearing when placed over an IFRAME.

      Loading third-party, uncontrolled content could lead to the surrounding page disappearing if a user clicks on an HTML link with `target=_top`.

      With `contentsType:"page"`, `loadingMessage` is not supported, and only "GET" is supported for `httpMethod`.

      Parameters:
        `contentsType` - contentsType Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getContentsType

          public ContentsType getContentsType()

      The default setting of 'null' or 'fragment' indicates that HTML loaded from `contentsURL` is assumed to be an HTML fragment rather than a complete page. Set to "page" to load HTML as a standalone page, via an IFRAME.

      `contentsType:"page"` should only be used for controlled HTML content, and only when such content cannot be delivered as an HTML fragment instead (the default). To dynamically load Smart GWT components, use `ViewLoader`, never this mechanism (click `here` for why).

      Loading HTML content as a fragment is less resource intensive and avoids visual artifacts such as translucent media becoming opaque or disappearing when placed over an IFRAME.

      Loading third-party, uncontrolled content could lead to the surrounding page disappearing if a user clicks on an HTML link with `target=_top`.

      With `contentsType:"page"`, `loadingMessage` is not supported, and only "GET" is supported for `httpMethod`.

      Returns:
        String

    - #### setContentsURLParams

          public void setContentsURLParams(java.util.Map contentsURLParams)

      Parameters to be sent to the contentsURL when fetching content.
      Parameters:
        `contentsURLParams` - parameters

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.HTMLFlowLogicalStructure s)

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `Canvas`