Class StretchImg

All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsWidget, LogicalStructure, HasClearHandlers, HasClickHandlers, 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:
Progressbar, Scrollbar, Splitbar, StretchImgButton

public class StretchImg extends StatefulCanvas
The StretchImg widget class implements a widget type that displays a list of multiple images that make up a single image.
  • Constructor Details

    • StretchImg

      public StretchImg()
    • StretchImg

      public StretchImg(JavaScriptObject jsObj)
  • Method Details

    • getOrCreateRef

      public static StretchImg 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:
    • 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:
    • create

      protected JavaScriptObject create()
      Overrides:
      create in class StatefulCanvas
    • setCapSize

      public StretchImg setCapSize(int capSize)
      If the default items are used, capSize is the size in pixels of the first and last images in this stretchImg.
      Parameters:
      capSize - New capSize value. Default value is 2
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getCapSize

      public int getCapSize()
      If the default items are used, capSize is the size in pixels of the first and last images in this stretchImg.
      Returns:
      Current capSize value. Default value is 2
      See Also:
    • setGripImgSuffix

      public StretchImg setGripImgSuffix(String gripImgSuffix) throws IllegalStateException
      Suffix used the 'grip' image if showGrip is true.

      Note : This is an advanced setting

      Parameters:
      gripImgSuffix - New gripImgSuffix value. Default value is "grip"
      Returns:
      StretchImg instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
    • getGripImgSuffix

      public String getGripImgSuffix()
      Suffix used the 'grip' image if showGrip is true.
      Returns:
      Current gripImgSuffix value. Default value is "grip"
    • setHSrc

      public StretchImg setHSrc(String hSrc)
      Base URL for the image if vertical is false and src is unset.
      Parameters:
      hSrc - New hSrc value. Default value is null
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getHSrc

      public String getHSrc()
      Base URL for the image if vertical is false and src is unset.
      Returns:
      Current hSrc value. Default value is null
      See Also:
    • setIgnoreRTL

      public StretchImg setIgnoreRTL(boolean ignoreRTL)
      Should the items for this StretchImg display left-to-right even if this page is displaying right to left text?

      Only has an effect if this StretchImg is horizontal (vertical is set to false).

      Having this property set to true is usually desirable for the common pattern of media consisting of fixed size "end caps" and a stretchable center, because it allows the same media to be used for LTR and RTL pages.

      If set to false, items will be displayed in RTL order for RTL pages.

      If this method is called after the component has been drawn/initialized: Setter for ignoreRTL.

      Overrides:
      setIgnoreRTL in class StatefulCanvas
      Parameters:
      ignoreRTL - new value for ignoreRTL. Default value is true
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getIgnoreRTL

      public boolean getIgnoreRTL()
      Should the items for this StretchImg display left-to-right even if this page is displaying right to left text?

      Only has an effect if this StretchImg is horizontal (vertical is set to false).

      Having this property set to true is usually desirable for the common pattern of media consisting of fixed size "end caps" and a stretchable center, because it allows the same media to be used for LTR and RTL pages.

      If set to false, items will be displayed in RTL order for RTL pages.

      Overrides:
      getIgnoreRTL in class StatefulCanvas
      Returns:
      Current ignoreRTL value. Default value is true
      See Also:
    • setImageType

      public StretchImg setImageType(ImageStyle imageType)
      Indicates whether the image should be tiled/cropped, stretched, or centered when the size of this widget does not match the size of the image. See ImageStyle for details.
      Parameters:
      imageType - New imageType value. Default value is Img.STRETCH
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getImageType

      public ImageStyle getImageType()
      Indicates whether the image should be tiled/cropped, stretched, or centered when the size of this widget does not match the size of the image. See ImageStyle for details.
      Returns:
      Current imageType value. Default value is Img.STRETCH
      See Also:
    • setItemBaseStyle

      public StretchImg setItemBaseStyle(String itemBaseStyle)
      If specified this css class will be applied to the individual item images within this StretchImg. May be overridden by specifying item-specific base styles to each object in the items array. This base style will have standard stateful suffixes appended to indicate the state of this component (as described in StatefulCanvas.baseStyle).
      Parameters:
      itemBaseStyle - New itemBaseStyle value. Default value is null
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getItemBaseStyle

      public String getItemBaseStyle()
      If specified this css class will be applied to the individual item images within this StretchImg. May be overridden by specifying item-specific base styles to each object in the items array. This base style will have standard stateful suffixes appended to indicate the state of this component (as described in StatefulCanvas.baseStyle).
      Returns:
      Current itemBaseStyle value. Default value is null
      See Also:
    • setItems

      public StretchImg setItems(StretchItem... items)
      The list of images to display as an array of objects specifying the image names and sizes.

      The name is appended as a suffix to the src URL in order to fetch separate media files for each image. Alternatively a StretchItem may specify its own src.

      The height and width can be set to a number, "*" (remaining space, divided amongst all images that specify "*") or to the name of a property on this StretchImg component, such as "capSize" for the capSize.

      Height or width is only used for the axis along which images are stacked. For example, if vertical is true, images stack vertically and heights are used to size images on the vertical axis, but all images will have width matching the overall component size.

      For example, the default setting for items, which is used to produce stretchable buttons and headers with fixed-size endcaps, is as follows:

          new StretchItem[] {
              new StretchItem("start", "capSize", "capSize"),
              new StretchItem("stretch", "*", "*"),
              new StretchItem("end", "capSize", "capSize")
          };
        
      Note that by default horizontal StretchImg instances will always render their items in left-to-right order, even if the page is localized for right-to-left display (see Page.isRTL()). This default behavior may be overridden by setting the ignoreRTL flag to false.

      If this method is called after the component has been drawn/initialized: Setter for items.
      Parameters:
      items - the new array of items. Default value is see below
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getItems

      public StretchItem[] getItems()
      The list of images to display as an array of objects specifying the image names and sizes.

      The name is appended as a suffix to the src URL in order to fetch separate media files for each image. Alternatively a StretchItem may specify its own src.

      The height and width can be set to a number, "*" (remaining space, divided amongst all images that specify "*") or to the name of a property on this StretchImg component, such as "capSize" for the capSize.

      Height or width is only used for the axis along which images are stacked. For example, if vertical is true, images stack vertically and heights are used to size images on the vertical axis, but all images will have width matching the overall component size.

      For example, the default setting for items, which is used to produce stretchable buttons and headers with fixed-size endcaps, is as follows:

          new StretchItem[] {
              new StretchItem("start", "capSize", "capSize"),
              new StretchItem("stretch", "*", "*"),
              new StretchItem("end", "capSize", "capSize")
          };
        
      Note that by default horizontal StretchImg instances will always render their items in left-to-right order, even if the page is localized for right-to-left display (see Page.isRTL()). This default behavior may be overridden by setting the ignoreRTL flag to false.
      Returns:
      Current items value. Default value is see below
      See Also:
    • setShowDownGrip

      public StretchImg setShowDownGrip(Boolean showDownGrip) throws IllegalStateException
      If showGrip is true, this property determines whether to show the 'Down' state on the grip image when the user mousedown's on this widget. Has no effect if StatefulCanvas.showDown is false.

      Note : This is an advanced setting

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

      public Boolean getShowDownGrip()
      If showGrip is true, this property determines whether to show the 'Down' state on the grip image when the user mousedown's on this widget. Has no effect if StatefulCanvas.showDown is false.
      Returns:
      Current showDownGrip value. Default value is null
    • setShowGrip

      public StretchImg setShowGrip(Boolean showGrip) throws IllegalStateException
      Should we show a "grip" image floating above the center of this widget?

      Note : This is an advanced setting

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

      public Boolean getShowGrip()
      Should we show a "grip" image floating above the center of this widget?
      Returns:
      Current showGrip value. Default value is null
    • setShowRollOverGrip

      public StretchImg setShowRollOverGrip(Boolean showRollOverGrip) throws IllegalStateException
      If showGrip is true, this property determines whether to show the 'Over' state on the grip image when the user rolls over on this widget. Has no effect if StatefulCanvas.showRollOver is false.

      Note : This is an advanced setting

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

      public Boolean getShowRollOverGrip()
      If showGrip is true, this property determines whether to show the 'Over' state on the grip image when the user rolls over on this widget. Has no effect if StatefulCanvas.showRollOver is false.
      Returns:
      Current showRollOverGrip value. Default value is null
    • setShowTitle

      public StretchImg setShowTitle(Boolean showTitle)
      Determines whether any specified title will be displayed for this component.
      Applies to Image-based components only, where the title will be rendered out in a label floating over the component

      Note : This is an advanced setting

      Parameters:
      showTitle - New showTitle value. Default value is false
      Returns:
      StretchImg instance, for chaining setter calls
    • getShowTitle

      public Boolean getShowTitle()
      Determines whether any specified title will be displayed for this component.
      Applies to Image-based components only, where the title will be rendered out in a label floating over the component
      Returns:
      Current showTitle value. Default value is false
    • setSrc

      public StretchImg setSrc(String src)
      The base URL for the image.

      The State for the component will be combined with this URL using the same approach as described in Img.src. Then the image segment name as specified by each StretchItem is added.

      For example, for a stretchImg in "Over" state with a src of "button.png" and a segment name of "stretch", the resulting URL would be "button_Over_stretch.png".

      If this method is called after the component has been drawn/initialized: Changes the base src for this stretchImg, redrawing if necessary.

      Parameters:
      src - new URL for the image. Default value is null
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getSrc

      public String getSrc()
      The base URL for the image.

      The State for the component will be combined with this URL using the same approach as described in Img.src. Then the image segment name as specified by each StretchItem is added.

      For example, for a stretchImg in "Over" state with a src of "button.png" and a segment name of "stretch", the resulting URL would be "button_Over_stretch.png".

      Returns:
      Current src value. Default value is null
      See Also:
    • setVertical

      public StretchImg setVertical(Boolean vertical)
      Indicates whether the list of images is drawn vertically from top to bottom (true), or horizontally from left to right (false).
      Parameters:
      vertical - New vertical value. Default value is true
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getVertical

      public Boolean getVertical()
      Indicates whether the list of images is drawn vertically from top to bottom (true), or horizontally from left to right (false).
      Returns:
      Current vertical value. Default value is true
      See Also:
    • setVSrc

      public StretchImg setVSrc(String vSrc)
      Base URL for the image if vertical is true and src is unset.
      Parameters:
      vSrc - New vSrc value. Default value is null
      Returns:
      StretchImg instance, for chaining setter calls
      See Also:
    • getVSrc

      public String getVSrc()
      Base URL for the image if vertical is true and src is unset.
      Returns:
      Current vSrc value. Default value is null
      See Also:
    • setState

      public void setState(String newState)
      Set the specified image's state to newState and update the displayed image given by whichPart, or set the state for all images to newState and update the displayed images if whichPart is not provided.
      Parameters:
      newState - name for the new state ("off", "down", etc)
      See Also:
    • setState

      public void setState(String newState, String whichPart)
      Set the specified image's state to newState and update the displayed image given by whichPart, or set the state for all images to newState and update the displayed images if whichPart is not provided.
      Parameters:
      newState - name for the new state ("off", "down", etc)
      whichPart - name of the piece to set ("start", "stretch" or "end") if not specified, sets them all
      See Also:
    • setDefaultProperties

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

      public LogicalStructureObject setLogicalStructure(StretchImgLogicalStructure 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 StatefulCanvas