Package 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:
  `HasAttachHandlers`, `HasHandlers`, `EventListener`, `HasVisibility`, `IsWidget`, `LogicalStructure`, `HasClearHandlers`, `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`, `HasRuleContextChangedHandlers`, `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 specified directly via `contents`, or loaded 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.

HTMLFlows are typically used to render snippets of HTML directly in the document rather than holding a complete HTML page, as the component can only size to fit HTML content it renders directly into the DOM. If you are looking to display a complete HTML page, you will need to modify the default `Overflow` and `defaultHeight`, or use the `HTMLPane` 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.

HTMLFlow is a `DataBoundComponent` but only supports one method at this time, `fetchRelatedData`.

See Also:
  - `ContentLoading overview and related methods`

- ## 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
  `HTMLFlow()`
  `HTMLFlow(JavaScriptObject jsObj)`
  `HTMLFlow(String contents)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `HandlerRegistration`
  `addContentLoadedHandler(ContentLoadedHandler handler)`
  Add a contentLoaded handler.
  `static void`
  `changeAutoChildDefaults(String autoChildName, Canvas defaults)`
  Changes the defaults for Canvas AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, FormItem defaults)`
  Changes the defaults for FormItem AutoChildren named `autoChildName`.
  `protected JavaScriptObject`
  `create()`
  `void`
  `fetchRelatedData(ListGridRecord record, Canvas schema)`
  Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this data set that are related to the passed-in record.
  `void`
  `fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback)`
  See `fetchRelatedData()`
  `void`
  `fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback, DSRequest requestProperties)`
  Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this data set that are related to the passed-in record.
  `Boolean`
  `getAllowCaching()`
  By default an HTMLFlow will explicitly prevent browser caching.
  `Boolean`
  `getAutoChangeProtocol()`
  If this component is passed a URL with a protocol that differs from the current page, should it be automatically changed to match the page?
  `boolean`
  `getAutoDeriveContentsType()`
  If `ContentsType` is not explicitly specified, should it be automatically derived?
  `Boolean`
  `getCanSelectText()`
  Text selection for copy and paste is enabled by default in the HTMLFlow class.
  `Boolean`
  `getCaptureSCComponents()`
  If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.
  `String`
  `getContents()`
  String of HTML contents for this component - may be a fragment of HTML to display or a complete HTML page.
  `ContentsType`
  `getContentsType()`
  The `contentsType` attribute governs whether the contents of this htmlFlow are a fragment of HTML to inserted directly into the DOM, or a complete HTML page to be displayed in an IFRAME.
  `String`
  `getContentsURL()`
  If specified the HTMLFlow will load its contents from this URL instead of displaying `this.contents`.
  `int`
  `getDefaultHeight()`
  HTMLFlow defaultHeight is set to `1` which, together with `overflow:"visible"` causes the HTMLFlow to size to its content HTML.
  `int`
  `getDefaultWidth()`
  For custom components, establishes a default width for the component.
  `Boolean`
  `getDynamicContents()`
  Dynamic string of HTML contents for this component.
  `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.
  `String`
  `getIframeSandbox()`
  When using `contentsType` `ContentsType.PAGE`, sets the <iframe> `sandbox` attribute to the provided value.
  `String`
  `getLoadingMessage()`
  HTML to show while content is being fetched, active only if the `contentsURL` property has been set.
  `LogicalStructureObject`
  `getLogicalStructure()`
  Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `static HTMLFlow`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `Overflow`
  `getOverflow()`
  HTMLFlows are `overflow:"visible"` by default, allowing them to fit their HTML content.
  `Boolean`
  `getSelectContentOnSelectAll()`
  When this `HTMLFlow` is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed to all content on the screen becoming selected.
  `String[]`
  `getStructuralHTMLTags()`
  List of tags used to determine whether the HTML contents of an HTMLFlow should be rendered with `contentsType:"page"`.
  `boolean`
  `getSupportsContentsAsPage()`
  Can this component have its `contents` specified as a complete standalone HTML page to be rendered into an embedded IFRAME?
  `boolean`
  `isPageHTML(String html)`
  Determines whether the html string passed in is source for a standalone HTML page as opposed to an HTML fragment to be added to the DOM.
  `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"`
  `HTMLFlow`
  `setAllowCaching(Boolean allowCaching)`
  By default an HTMLFlow will explicitly prevent browser caching.
  `HTMLFlow`
  `setAutoChangeProtocol(Boolean autoChangeProtocol)`
  If this component is passed a URL with a protocol that differs from the current page, should it be automatically changed to match the page?
  `HTMLFlow`
  `setAutoDeriveContentsType(boolean autoDeriveContentsType)`
  If `ContentsType` is not explicitly specified, should it be automatically derived?
  `HTMLFlow`
  `setCanSelectText(Boolean canSelectText)`
  Text selection for copy and paste is enabled by default in the HTMLFlow class.
  `HTMLFlow`
  `setCaptureSCComponents(Boolean captureSCComponents)`
  If true, Smart GWT components created while executing the loaded HTML are captured for rendering inside the HTMLFlow.
  `HTMLFlow`
  `setContents(String contents)`
  String of HTML contents for this component - may be a fragment of HTML to display or a complete HTML page.
  `HTMLFlow`
  `setContentsType(ContentsType contentsType)`
  The `contentsType` attribute governs whether the contents of this htmlFlow are a fragment of HTML to inserted directly into the DOM, or a complete HTML page to be displayed in an IFRAME.
  `HTMLFlow`
  `setContentsURL(String contentsURL)`
  If specified the HTMLFlow will load its contents from this URL instead of displaying `this.contents`.
  `HTMLFlow`
  `setContentsURLParams(Map contentsURLParams)`
  Parameters to be sent to the contentsURL when fetching content.
  `HTMLFlow`
  `setDefaultHeight(int defaultHeight)`
  HTMLFlow defaultHeight is set to `1` which, together with `overflow:"visible"` causes the HTMLFlow to size to its content HTML.
  `static void`
  `setDefaultProperties(HTMLFlow hTMLFlowProperties)`
  Class level method to set the default properties of this class.
  `HTMLFlow`
  `setDefaultWidth(int defaultWidth)`
  For custom components, establishes a default width for the component.
  `HTMLFlow`
  `setDynamicContents(Boolean dynamicContents)`
  Dynamic string of HTML contents for this component.
  `HTMLFlow`
  `setEvalScriptBlocks(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.
  `HTMLFlow`
  `setHttpMethod(SendMethod httpMethod)`
  Selects the HTTP method that will be used when fetching content.
  `HTMLFlow`
  `setIframeSandbox(String iframeSandbox)`
  When using `contentsType` `ContentsType.PAGE`, sets the <iframe> `sandbox` attribute to the provided value.
  `HTMLFlow`
  `setLoadingMessage(String loadingMessage)`
  HTML to show while content is being fetched, active only if the `contentsURL` property has been set.
  `LogicalStructureObject`
  `setLogicalStructure(HTMLFlowLogicalStructure s)`
  Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `HTMLFlow`
  `setOverflow(Overflow overflow)`
  HTMLFlows are `overflow:"visible"` by default, allowing them to fit their HTML content.
  `HTMLFlow`
  `setSelectContentOnSelectAll(Boolean selectContentOnSelectAll)`
  When this `HTMLFlow` is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed to all content on the screen becoming selected.
  `HTMLFlow`
  `setStructuralHTMLTags(String... structuralHTMLTags)`
  List of tags used to determine whether the HTML contents of an HTMLFlow should be rendered with `contentsType:"page"`.
  `HTMLFlow`
  `setSupportsContentsAsPage(boolean supportsContentsAsPage)`
  Can this component have its `contents` specified as a complete standalone HTML page to be rendered into an embedded IFRAME?
  `void`
  `transformHTML(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, addClearHandler, 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, addRuleContextChangedHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateHide, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clearExplicitTabIndex, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsEventTarget, containsFocus, containsPoint, containsPoint, contentsComponentConnected, dataContextChanged, deparent, depeer, disable, doValueDictation, doVoiceCommand, enable, encloses, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAllCanvases, getAllCanvases, getAllCanvases, getAlwaysManageFocusNavigation, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeLayoutMode, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaHandleID, getAriaRole, getAriaStateDefaults, getAutoMaskComponents, getAutoParent, getAutoPopulateData, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBorderRadius, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanDropContent, getCanDropFiles, getCanFocus, getCanHover, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenAsStringArray, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getChildTabPosition, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContentsComponentDefaults, getContextMenu, getCorrectZoomOverflow, getCursor, getDataContext, getDataPath, getDeferActionConversion, getDefiningProperty, getDefiningPropertyName, getDefiningPropertyNameOptions, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragTargetAsString, getDragType, getDropTarget, getDropTargetAsString, getDropTypes, getDropTypesAsString, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getEditProxyConstructor, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getEvents, getExtraSpace, getFacetId, getFloatingScrollbars, getFormItemAutoChild, getForwardSVGeventsToObject, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupPadding, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverPersist, getHoverScreen, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlElementAsString, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeaveGroupLabelSpace, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateByIDOnly, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getLocatorName, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMatchElementHeight, getMatchElementWidth, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getName, getNativeAutoHideScrollbars, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentCanvasAsString, getParentElement, getParentElementAsString, getPeers, getPendingMarkerStyle, getPendingMarkerVisible, getPercentBox, getPercentSource, getPersistentMatchElement, getPointerSettings, getPointerTarget, getPointerTargetAsString, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrintStyleName, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getReceiveScrollbarEvents, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowFocusOutline, getShowHover, getShowHoverComponents, getShowPointer, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSingleDiv, getSizeMayChangeOnRedraw, getSkinImgDir, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapGridLineProperties, getSnapGridStyle, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getStyleName, getTabIndex, getTestDataContext, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getTopLevelComponents, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDragMask, getUseGeneratedStyles, getUseImageForSVG, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getValuesManagerAsString, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWhen, getVisibleWidth, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getWorkflows, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, initComplete, intersects, isDirty, isDisabled, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, onInit, pageScrollDown, pageScrollUp, parentResized, placeNear, placeNear, placeNear, print, print, print, print, printComponents, provideRuleContext, provideRuleContext, redraw, redraw, registerFontScaledPaddingStyles, removeChild, removeChild, removePeer, removePeer, removeRuleContext, removeSnapAlignCandidate, resizeAutoChildAttributes, resizeBy, resizeControls, resizeControlsTo, resizeFonts, resizeFonts, resizeFonts, resizeFontsTo, resizeIcons, resizePadding, resizePadding, resizeTo, resizeTo, resolveContentsComponent, revealChild, revealChild, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAlign, setAllowExternalFilters, setAlwaysManageFocusNavigation, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeLayoutMode, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoHeight, setAutoMaskComponents, setAutoParent, setAutoPopulateData, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBorderRadius, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanDropContent, setCanDropFiles, setCanFocus, setCanHover, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContentsComponentDefaults, setContextMenu, setCorrectZoomOverflow, setCursor, setDataContext, setDataPath, setDefaultNativeAutoHideScrollbars, setDefaultPageSpace, setDefaultProperties, setDefaultShowCustomScrollbars, setDeferActionConversion, setDefiningProperty, setDefiningPropertyNameOptions, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragTarget, setDragType, setDropTarget, setDropTarget, setDropTypes, setDropTypes, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setEditProxyConstructor, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setFloatingScrollbars, setForwardSVGeventsToObject, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupPadding, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverPersist, setHoverScreen, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeaveGroupLabelSpace, setLeavePageSpace, setLeft, setLeft, setLocateByIDOnly, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLocatorName, setLocatorParent, setLocatorParent, setLogicalStructure, setMargin, setMatchElement, setMatchElementHeight, setMatchElementWidth, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setName, setNativeAutoHideScrollbars, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentCanvas, setParentElement, setParentElement, setPeers, setPendingMarkerStyle, setPendingMarkerVisible, setPercentBox, setPercentSource, setPersistentMatchElement, setPointerSettings, setPointerTarget, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrintStyleName, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setReceiveScrollbarEvents, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowFocusOutline, setShowHover, setShowHoverComponents, setShowPointer, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSingleDiv, setSizeMayChangeOnRedraw, setSkinImgDir, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapGridLineProperties, setSnapGridStyle, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setStyleName, setTabIndex, setTestDataContext, setTitle, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDragMask, setUseGeneratedStyles, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth, setWidth, setWidth100, setWorkflows, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPendingMarker, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, startDebuggingOverflow, stopDebuggingOverflow, supportsValueDictation, supportsVoiceCommands, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint, willAcceptDrop`

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

  `addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAutoDraw, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hasDynamicProperty, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoDraw, setConfig, setConfigOnly, setDefaultProperties, setDragTracker, setFactoryCreated, 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, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

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

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

  - ### HTMLFlow

    public HTMLFlow()

  - ### HTMLFlow

    public HTMLFlow(JavaScriptObject jsObj)

  - ### HTMLFlow

    public HTMLFlow(String contents)

- ## Method Details

  - ### getOrCreateRef

    public static HTMLFlow 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`

  - ### create

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

  - ### setAllowCaching

    public HTMLFlow setAllowCaching(Boolean allowCaching) throws 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` - New allowCaching value. Default value is false
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getAllowCaching

    public 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:
      Current allowCaching value. Default value is false

  - ### setAutoChangeProtocol

    public HTMLFlow setAutoChangeProtocol(Boolean autoChangeProtocol)
    If this component is passed a URL with a protocol that differs from the current page, should it be automatically changed to match the page?
    Parameters:
      `autoChangeProtocol` - New autoChangeProtocol value. Default value is true
    Returns:
      `HTMLFlow` instance, for chaining setter calls

  - ### getAutoChangeProtocol

    public Boolean getAutoChangeProtocol()
    If this component is passed a URL with a protocol that differs from the current page, should it be automatically changed to match the page?
    Returns:
      Current autoChangeProtocol value. Default value is true

  - ### setAutoDeriveContentsType

    public HTMLFlow setAutoDeriveContentsType(boolean autoDeriveContentsType)
    If `ContentsType` is not explicitly specified, should it be automatically derived?

    If set to true, this component will use `isPageHTML()` to determine whether the contents are a standalone HTML page which should be rendered into an embedded IFRAME rather than written directly into the component's handle in the DOM.

    Note that this property will auto derive the appropriate contents type for both explicitly specified `contents` and for HTML loaded from the `contentsURL`

    See `ContentsType` for further information on displaying complete HTML pages in an IFRAME.

    Parameters:
      `autoDeriveContentsType` - New autoDeriveContentsType value. Default value is false
    Returns:
      `HTMLFlow` instance, for chaining setter calls

  - ### getAutoDeriveContentsType

    public boolean getAutoDeriveContentsType()
    If `ContentsType` is not explicitly specified, should it be automatically derived?

    If set to true, this component will use `isPageHTML()` to determine whether the contents are a standalone HTML page which should be rendered into an embedded IFRAME rather than written directly into the component's handle in the DOM.

    Note that this property will auto derive the appropriate contents type for both explicitly specified `contents` and for HTML loaded from the `contentsURL`

    See `ContentsType` for further information on displaying complete HTML pages in an IFRAME.

    Returns:
      Current autoDeriveContentsType value. Default value is false

  - ### setCanSelectText

    public HTMLFlow setCanSelectText(Boolean canSelectText) throws IllegalStateException
    Text selection for copy and paste is enabled by default in the HTMLFlow class. Note that this setting has no impact if `ContentsType` is set to `ContentsType.PAGE`. In this case contents is loaded from a target URL via an IFRAME element, and text selection behavior will be dictated by the loaded HTML.
    Overrides:
      `setCanSelectText` in class `Canvas`
    Parameters:
      `canSelectText` - New canSelectText value. Default value is true
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getCanSelectText

    public Boolean getCanSelectText()
    Text selection for copy and paste is enabled by default in the HTMLFlow class. Note that this setting has no impact if `ContentsType` is set to `ContentsType.PAGE`. In this case contents is loaded from a target URL via an IFRAME element, and text selection behavior will be dictated by the loaded HTML.
    Overrides:
      `getCanSelectText` in class `Canvas`
    Returns:
      Current canSelectText value. Default value is true

  - ### setCaptureSCComponents

    public HTMLFlow setCaptureSCComponents(Boolean captureSCComponents) throws 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` - New captureSCComponents value. Default value is true
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getCaptureSCComponents

    public 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:
      Current captureSCComponents value. Default value is true

  - ### setContents

    public HTMLFlow setContents(String contents)
    String of HTML contents for this component - may be a fragment of HTML to display or a complete HTML page. See `contentsType` and `supportsContentsAsPage`.

    To load HTML contents from a URL, use `contentsURL` instead of this property. If `contentsURL` is non-null, `contents` will be ignored.
    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. Default value is "&nbsp;"
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    See Also:
      - `setContentsURL(java.lang.String)`
      - `setDynamicContents(java.lang.Boolean)`
      - `HTMLString`

  - ### getContents

    public String getContents()
    String of HTML contents for this component - may be a fragment of HTML to display or a complete HTML page. See `contentsType` and `supportsContentsAsPage`.

    To load HTML contents from a URL, use `contentsURL` instead of this property. If `contentsURL` is non-null, `contents` will be ignored.

    Overrides:
      `getContents` in class `Canvas`
    Returns:
      Current contents value. Default value is "&nbsp;"
    See Also:
      - `getContentsURL()`
      - `getDynamicContents()`
      - `HTMLString`

  - ### setContentsType

    public HTMLFlow setContentsType(ContentsType contentsType) throws IllegalStateException
    The `contentsType` attribute governs whether the contents of this htmlFlow are a fragment of HTML to inserted directly into the DOM, or a complete HTML page to be displayed in an IFRAME. If not explicitly specified, `autoDeriveContentsType` may be set to automatically determine the appropriate contents type by analyzing the contents of the component. If `autoDeriveContentsType` is false and `contentsType` is not explicitly specified, contents will always be assumed to be `"fragment"`.

    HTMLFlow contents may be `directly specified` or loaded from a `specified URL`. Note that if `supportsContentsAsPage` is false and no `contentsURL` is specified, the contents string will always be assumed to be a fragment, even if `ContentsType` is explicitly set to `"page"`.

    Note that an HTMLFlow with contentsType:"page" should not be used to load and display a page containing a set of Smart GWT components into the application. To dynamically load Smart GWT components, use `ViewLoader`, never this mechanism (click `here` for why).

    Scripting, CSS and scoping considerations for HTMLFlow contents
    The following considerations apply to HTMLFlow contents, whether directly specified or loaded from a contentsURL.

    When contentsType is `"page"`, the HTML content will be rendered as a standalone document using an IFRAME. Use `iframeSandbox` to specify IFRAME restrictions using the native sandbox attribute. Note that any script (if allowed) will be executed in the scope of the embedded IFRAME window, not the main application window. Similarly, other features like css stylesheets loaded by the HTMLFlow will apply to the IFRAME window only, and the IFRAME will not pick up css style from the main application by default.

    When contentsType is `"fragment"`, if script is encountered within the HTML fragment it will be evaluated in the scope of the main application if `evalScriptBlocks` is enabled. Developers should be aware that this evaluation occurs as part of the draw/redraw process, but unlike script embedded directly in a static HTML page, it is not processed by the browser while the elements are being written into the DOM and `document.write(...)` can not be used to modify the HTML as it is being rendered. In this mode, since the contents is written directly into the DOM, standard css styling for the page will be applied.

    Note that if `autoDeriveContentsType` is enabled, the default set of recognized `structuralHTMLTags` include `<script&gt`, so HTML contents including script will display as `contentsType:"page"`. The list of `structuralHTMLTags` can be modified to exclude script tags if desired.

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

  - ### getContentsType

    public ContentsType getContentsType()
    The `contentsType` attribute governs whether the contents of this htmlFlow are a fragment of HTML to inserted directly into the DOM, or a complete HTML page to be displayed in an IFRAME. If not explicitly specified, `autoDeriveContentsType` may be set to automatically determine the appropriate contents type by analyzing the contents of the component. If `autoDeriveContentsType` is false and `contentsType` is not explicitly specified, contents will always be assumed to be `"fragment"`.

    HTMLFlow contents may be `directly specified` or loaded from a `specified URL`. Note that if `supportsContentsAsPage` is false and no `contentsURL` is specified, the contents string will always be assumed to be a fragment, even if `ContentsType` is explicitly set to `"page"`.

    Note that an HTMLFlow with contentsType:"page" should not be used to load and display a page containing a set of Smart GWT components into the application. To dynamically load Smart GWT components, use `ViewLoader`, never this mechanism (click `here` for why).

    Scripting, CSS and scoping considerations for HTMLFlow contents
    The following considerations apply to HTMLFlow contents, whether directly specified or loaded from a contentsURL.

    When contentsType is `"page"`, the HTML content will be rendered as a standalone document using an IFRAME. Use `iframeSandbox` to specify IFRAME restrictions using the native sandbox attribute. Note that any script (if allowed) will be executed in the scope of the embedded IFRAME window, not the main application window. Similarly, other features like css stylesheets loaded by the HTMLFlow will apply to the IFRAME window only, and the IFRAME will not pick up css style from the main application by default.

    When contentsType is `"fragment"`, if script is encountered within the HTML fragment it will be evaluated in the scope of the main application if `evalScriptBlocks` is enabled. Developers should be aware that this evaluation occurs as part of the draw/redraw process, but unlike script embedded directly in a static HTML page, it is not processed by the browser while the elements are being written into the DOM and `document.write(...)` can not be used to modify the HTML as it is being rendered. In this mode, since the contents is written directly into the DOM, standard css styling for the page will be applied.

    Note that if `autoDeriveContentsType` is enabled, the default set of recognized `structuralHTMLTags` include `<script&gt`, so HTML contents including script will display as `contentsType:"page"`. The list of `structuralHTMLTags` can be modified to exclude script tags if desired.

    Returns:
      Current contentsType value. Default value is null

  - ### setContentsURL

    public HTMLFlow setContentsURL(String contentsURL)
    If specified the HTMLFlow will load its contents from this URL instead of displaying `this.contents`. May be combined with parameters if `contentsURLParams` were specified.

    The HTML retrieved from the target URL may be a complete standalone page to be rendered into its own scope using an IFRAME, or a fragment of HTML to display within this component's handle. See `ContentsType` and `autoDeriveContentsType` for more information.

    Note that the link{loadingMessage} and `httpMethod` features only apply if contentsURL was set and contentsType was not explicitly set to `"page"`
    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`.

    Parameters:
      `contentsURL` - URL to retrieve contents from. Default value is null
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    See Also:
      - `URL`

  - ### getContentsURL

    public String getContentsURL()
    If specified the HTMLFlow will load its contents from this URL instead of displaying `this.contents`. May be combined with parameters if `contentsURLParams` were specified.

    The HTML retrieved from the target URL may be a complete standalone page to be rendered into its own scope using an IFRAME, or a fragment of HTML to display within this component's handle. See `ContentsType` and `autoDeriveContentsType` for more information.

    Note that the link{loadingMessage} and `httpMethod` features only apply if contentsURL was set and contentsType was not explicitly set to `"page"`

    Returns:
      Current contentsURL value. Default value is null
    See Also:
      - `URL`

  - ### setContentsURLParams

    public HTMLFlow setContentsURLParams(Map contentsURLParams)
    Parameters to be sent to the contentsURL when fetching content.
    Parameters:
      `contentsURLParams` - New contentsURLParams value. Default value is null
    Returns:
      `HTMLFlow` instance, for chaining setter calls

  - ### setDefaultHeight

    public HTMLFlow setDefaultHeight(int defaultHeight)
    HTMLFlow defaultHeight is set to `1` which, together with `overflow:"visible"` causes the HTMLFlow to size to its content HTML.

    Note that if `ContentsType` is `"page"`, `overflow:"visible"` is not supported - for this usage an explicit larger height should be specified. You may want to use the preconfigured `HTMLPane` class instead of HTMLFlow for this usage.

    Overrides:
      `setDefaultHeight` in class `Canvas`
    Parameters:
      `defaultHeight` - New defaultHeight value. Default value is 1
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    See Also:
      - `Sizing overview and related methods`

  - ### getDefaultHeight

    public int getDefaultHeight()
    HTMLFlow defaultHeight is set to `1` which, together with `overflow:"visible"` causes the HTMLFlow to size to its content HTML.

    Note that if `ContentsType` is `"page"`, `overflow:"visible"` is not supported - for this usage an explicit larger height should be specified. You may want to use the preconfigured `HTMLPane` class instead of HTMLFlow for this usage.

    Overrides:
      `getDefaultHeight` in class `Canvas`
    Returns:
      Current defaultHeight value. Default value is 1
    See Also:
      - `Sizing overview and related methods`

  - ### setDefaultWidth

    public HTMLFlow setDefaultWidth(int defaultWidth)
    For custom components, establishes a default width for the component.

    For a component that should potentially be sized automatically by a Layout, set this property rather than `width` directly, because Layouts regard a width setting as an explicit size that shouldn't be changed.

    Overrides:
      `setDefaultWidth` in class `Canvas`
    Parameters:
      `defaultWidth` - New defaultWidth value. Default value is 200
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    See Also:
      - `Sizing overview and related methods`

  - ### getDefaultWidth

    public int getDefaultWidth()
    For custom components, establishes a default width for the component.

    For a component that should potentially be sized automatically by a Layout, set this property rather than `width` directly, because Layouts regard a width setting as an explicit size that shouldn't be changed.

    Overrides:
      `getDefaultWidth` in class `Canvas`
    Returns:
      Current defaultWidth value. Default value is 200
    See Also:
      - `Sizing overview and related methods`

  - ### setDynamicContents

    public HTMLFlow setDynamicContents(Boolean dynamicContents)
    Dynamic string of HTML contents for this component. As with `contents`, this may be a fragment of HTML to display or a complete HTML page. See `contentsType` and `supportsContentsAsPage`.

    See `Canvas.dynamicContents` for details on how dynamicContents are resolved to a final string value.

    Note : This is an advanced setting

    Overrides:
      `setDynamicContents` in class `Canvas`
    Parameters:
      `dynamicContents` - New dynamicContents value. Default value is false
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    See Also:
      - `Canvas.setContents(java.lang.String)`
      - `com.smartgwt.client.widgets.Canvas#setDynamicContentsVars`
      - `Dynamic Strings`

  - ### getDynamicContents

    public Boolean getDynamicContents()
    Dynamic string of HTML contents for this component. As with `contents`, this may be a fragment of HTML to display or a complete HTML page. See `contentsType` and `supportsContentsAsPage`.

    See `Canvas.dynamicContents` for details on how dynamicContents are resolved to a final string value.

    Overrides:
      `getDynamicContents` in class `Canvas`
    Returns:
      Current dynamicContents value. Default value is false
    See Also:
      - `Canvas.getContents()`
      - `com.smartgwt.client.widgets.Canvas#getDynamicContentsVars`
      - `Dynamic Strings`

  - ### setEvalScriptBlocks

    public HTMLFlow setEvalScriptBlocks(Boolean evalScriptBlocks) throws 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 `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` - New evalScriptBlocks value. Default value is null
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getEvalScriptBlocks

    public 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 `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:
      Current evalScriptBlocks value. Default value is null

  - ### setHttpMethod

    public HTMLFlow setHttpMethod(SendMethod httpMethod)
    Selects the HTTP method that will be used when fetching content. Valid values are "POST" and "GET".
    Parameters:
      `httpMethod` - New httpMethod value. Default value is "GET"
    Returns:
      `HTMLFlow` instance, for chaining setter calls

  - ### getHttpMethod

    public SendMethod getHttpMethod()
    Selects the HTTP method that will be used when fetching content. Valid values are "POST" and "GET".
    Returns:
      Current httpMethod value. Default value is "GET"

  - ### setIframeSandbox

    public HTMLFlow setIframeSandbox(String iframeSandbox) throws IllegalStateException
    When using `contentsType` `ContentsType.PAGE`, sets the <iframe> `sandbox` attribute to the provided value.

    Use the value "*ALL*" to cause the "sandbox" attribute to be output with no value (which causes full sandboxing).

    See any HTML reference for other legal values of the "sandbox" attribute, which allow you to remove individual restrictions on the loaded content.

    Note that Smart GWT simply applies the provided value to the generated <iframe> element and cannot fix bugs or differences in sandbox behavior across different browsers.

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

  - ### getIframeSandbox

    public String getIframeSandbox()
    When using `contentsType` `ContentsType.PAGE`, sets the <iframe> `sandbox` attribute to the provided value.

    Use the value "*ALL*" to cause the "sandbox" attribute to be output with no value (which causes full sandboxing).

    See any HTML reference for other legal values of the "sandbox" attribute, which allow you to remove individual restrictions on the loaded content.

    Note that Smart GWT simply applies the provided value to the generated <iframe> element and cannot fix bugs or differences in sandbox behavior across different browsers.

    Returns:
      Current iframeSandbox value. Default value is null

  - ### setLoadingMessage

    public HTMLFlow setLoadingMessage(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 `contentsType` was explicitly specified as `"page"`.

    Parameters:
      `loadingMessage` - New loadingMessage value. Default value is "&nbsp;${loadingImage}"
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    See Also:
      - `HTMLString`

  - ### getLoadingMessage

    public 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 `contentsType` was explicitly specified as `"page"`.

    Returns:
      Current loadingMessage value. Default value is "&nbsp;${loadingImage}"
    See Also:
      - `HTMLString`

  - ### setOverflow

    public HTMLFlow setOverflow(Overflow overflow)
    HTMLFlows are `overflow:"visible"` by default, allowing them to fit their HTML content.

    Note that if `ContentsType` is `"page"`, `overflow:"visible"` is not supported and the overflow will default to `"auto"` instead

    Overrides:
      `setOverflow` in class `Canvas`
    Parameters:
      `overflow` - New overflow value. Default value is Canvas.VISIBLE
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    See Also:
      - `Sizing overview and related methods`

  - ### getOverflow

    public Overflow getOverflow()
    HTMLFlows are `overflow:"visible"` by default, allowing them to fit their HTML content.

    Note that if `ContentsType` is `"page"`, `overflow:"visible"` is not supported and the overflow will default to `"auto"` instead

    Overrides:
      `getOverflow` in class `Canvas`
    Returns:
      Current overflow value. Default value is Canvas.VISIBLE
    See Also:
      - `Sizing overview and related methods`

  - ### setSelectContentOnSelectAll

    public HTMLFlow setSelectContentOnSelectAll(Boolean selectContentOnSelectAll)
    When this `HTMLFlow` is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed to all content on the screen becoming selected. This `HTMLFlow` must be `focusable` in order for this setting to have an effect.

    Not valid with `contentsType` `ContentsType.PAGE`.

    Parameters:
      `selectContentOnSelectAll` - New selectContentOnSelectAll value. Default value is null
    Returns:
      `HTMLFlow` instance, for chaining setter calls
    See Also:
      - HTMLPane Example

  - ### getSelectContentOnSelectAll

    public Boolean getSelectContentOnSelectAll()
    When this `HTMLFlow` is focused, causes Ctrl-A / Command-A keypresses to select just the content, as opposed to all content on the screen becoming selected. This `HTMLFlow` must be `focusable` in order for this setting to have an effect.

    Not valid with `contentsType` `ContentsType.PAGE`.

    Returns:
      Current selectContentOnSelectAll value. Default value is null
    See Also:
      - HTMLPane Example

  - ### setStructuralHTMLTags

    public HTMLFlow setStructuralHTMLTags(String... structuralHTMLTags)
    List of tags used to determine whether the HTML contents of an HTMLFlow should be rendered with `contentsType:"page"`.

    If an HTML string contains any of these tags not enclosed in either `<pre> ... </pre>` tags or comments (`<!-- ... -->`), `isPageHTML()` will return true.

    The default list of tags are as follows:

    - "!doctype"
    - "html"
    - "head"
    - "body"
    - "style"
    - "link"
    - "script"

    Note : This is an advanced setting

    Parameters:
      `structuralHTMLTags` - New structuralHTMLTags value. Default value is ["!doctype","html","head","body","style","link","script"]
    Returns:
      `HTMLFlow` instance, for chaining setter calls

  - ### getStructuralHTMLTags

    public String[] getStructuralHTMLTags()
    List of tags used to determine whether the HTML contents of an HTMLFlow should be rendered with `contentsType:"page"`.

    If an HTML string contains any of these tags not enclosed in either `<pre> ... </pre>` tags or comments (`<!-- ... -->`), `isPageHTML()` will return true.

    The default list of tags are as follows:

    - "!doctype"
    - "html"
    - "head"
    - "body"
    - "style"
    - "link"
    - "script"
    Returns:
      Current structuralHTMLTags value. Default value is ["!doctype","html","head","body","style","link","script"]

  - ### setSupportsContentsAsPage

    public HTMLFlow setSupportsContentsAsPage(boolean supportsContentsAsPage)
    Can this component have its `contents` specified as a complete standalone HTML page to be rendered into an embedded IFRAME?

    If true, if `ContentsType` is specified as, or `derived to be` "page", the contents will be rendered into an embedded IFRAME using the `srcdoc` attribute rather than written directly into the component handle.

    If false, contentsType has no effect unless contents are being loaded from an explicitly specified `contentsURL`

    Parameters:
      `supportsContentsAsPage` - New supportsContentsAsPage value. Default value is true
    Returns:
      `HTMLFlow` instance, for chaining setter calls

  - ### getSupportsContentsAsPage

    public boolean getSupportsContentsAsPage()
    Can this component have its `contents` specified as a complete standalone HTML page to be rendered into an embedded IFRAME?

    If true, if `ContentsType` is specified as, or `derived to be` "page", the contents will be rendered into an embedded IFRAME using the `srcdoc` attribute rather than written directly into the component handle.

    If false, contentsType has no effect unless contents are being loaded from an explicitly specified `contentsURL`

    Returns:
      Current supportsContentsAsPage value. Default value is true

  - ### addContentLoadedHandler

    public HandlerRegistration addContentLoadedHandler(ContentLoadedHandler handler)
    Add a contentLoaded handler.

    StringMethod fired when content is completely loaded in this htmlFlow. Has no default implementation. Add a notification 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 `HTMLFlow.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 `HTMLFlow.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

  - ### fetchRelatedData

    public void fetchRelatedData(ListGridRecord record, Canvas schema)
    Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this data set that are related to the passed-in record.

    Relationships between DataSources are declared via `DataSourceField.foreignKey`.

    For example, given two related DataSources "orders" and "orderItems", where we want to fetch the "orderItems" that belong to a given "order". "orderItems" should declare a field that is a `foreignKey` to the "orders" table (for example, it might be named "orderId" with foreignKey="orders.id"). Then, to load the records related to a given "order", call fetchRelatedData() on the component bound to "orderItems", pass the "orders" DataSource as the "schema" and pass a record from the "orders" DataSource as the "record" argument.

    Note: When you expect a large number of records to be returned it is not recommended to display these in the DetailViewer as it doesn't have the same level of support for large datasets as the `ListGrid`.

    Parameters:
      `record` - DataSource record
      `schema` - schema of the DataSource record, or DataBoundComponent already bound to that schema
    See Also:
      - `DataBound Component Methods`

  - ### fetchRelatedData

    public void fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback)
    See `fetchRelatedData()`

  - ### fetchRelatedData

    public void fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback, DSRequest requestProperties)
    Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this data set that are related to the passed-in record.

    Relationships between DataSources are declared via `DataSourceField.foreignKey`.

    For example, given two related DataSources "orders" and "orderItems", where we want to fetch the "orderItems" that belong to a given "order". "orderItems" should declare a field that is a `foreignKey` to the "orders" table (for example, it might be named "orderId" with foreignKey="orders.id"). Then, to load the records related to a given "order", call fetchRelatedData() on the component bound to "orderItems", pass the "orders" DataSource as the "schema" and pass a record from the "orders" DataSource as the "record" argument.

    Note: When you expect a large number of records to be returned it is not recommended to display these in the DetailViewer as it doesn't have the same level of support for large datasets as the `ListGrid`.

    Parameters:
      `record` - DataSource record
      `schema` - schema of the DataSource record, or DataBoundComponent already bound to that schema
      `callback` - callback to invoke on completion
      `requestProperties` - additional properties to set on the DSRequest that will be issued
    See Also:
      - `DataBound Component Methods`

  - ### isPageHTML

    public boolean isPageHTML(String html)
    Determines whether the html string passed in is source for a standalone HTML page as opposed to an HTML fragment to be added to the DOM.

    Returns true if any `structuralHTMLTags` are found in the HTML string, outside of HTML comment or `<pre> ... </pre>` blocks.

    This method is used by `autoDeriveContentsType` to determine whether the widget contents should be rendered inside an embedded IFRAME.

    Parameters:
      `html` - HTML string to test
    Returns:
      true if the HTML string contains any structural HTML page elements.

  - ### loadingContent

    public 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(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. See `HTMLString`
    See Also:
      - `HTMLString`

  - ### setDefaultProperties

    public static void setDefaultProperties(HTMLFlow hTMLFlowProperties)
    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:
      `hTMLFlowProperties` - properties that should be used as new defaults when instances of this class are created
    See Also:
      - `SGWTProperties`

  - ### setLogicalStructure

    public LogicalStructureObject setLogicalStructure(HTMLFlowLogicalStructure 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 `Canvas`