Class MigPane.FXComponentWrapper

java.lang.Object
org.tbee.javafx.scene.layout.MigPane.FXComponentWrapper
All Implemented Interfaces:
ComponentWrapper
Direct Known Subclasses:
MigPane.FXContainerWrapper
Enclosing class:
MigPane

class MigPane.FXComponentWrapper extends Object implements ComponentWrapper
  • Field Details

    • node

      protected final javafx.scene.Node node
  • Constructor Details

    • FXComponentWrapper

      public FXComponentWrapper(javafx.scene.Node node)
  • Method Details

    • getComponent

      public Object getComponent()
      Description copied from interface: ComponentWrapper
      Returns the actual object that this wrapper is aggregating. This might be needed for getting information about the object that the wrapper interface does not provide.

      If this is a container the container should be returned instead.

      Specified by:
      getComponent in interface ComponentWrapper
      Returns:
      The actual object that this wrapper is aggregating. Not null.
    • getParent

      public ContainerWrapper getParent()
      Description copied from interface: ComponentWrapper
      Returns the container for this component.
      Specified by:
      getParent in interface ComponentWrapper
      Returns:
      The container for this component. Will return null if the component has no parent.
    • getComponentType

      public int getComponentType(boolean arg0)
      Description copied from interface: ComponentWrapper
      Returns the type of component that this wrapper is wrapping.

      This method can be invoked often so the result should be cached.

      Specified by:
      getComponentType in interface ComponentWrapper
      Parameters:
      arg0 - Is true any wrapping scroll pane should be disregarded and the type of the scrolled component should be returned.
      Returns:
      The type of component that this wrapper is wrapping. E.g. ComponentWrapper.TYPE_LABEL.
    • getX

      public int getX()
      Description copied from interface: ComponentWrapper
      Returns the current x coordinate for this component.
      Specified by:
      getX in interface ComponentWrapper
      Returns:
      The current x coordinate for this component.
    • getY

      public int getY()
      Description copied from interface: ComponentWrapper
      Returns the current y coordinate for this component.
      Specified by:
      getY in interface ComponentWrapper
      Returns:
      The current y coordinate for this component.
    • getWidth

      public int getWidth()
      Description copied from interface: ComponentWrapper
      Returns the current width for this component.
      Specified by:
      getWidth in interface ComponentWrapper
      Returns:
      The current width for this component.
    • getMinimumWidth

      public int getMinimumWidth(int height)
      Description copied from interface: ComponentWrapper
      Returns the minimum width of the component.
      Specified by:
      getMinimumWidth in interface ComponentWrapper
      Parameters:
      height - The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
      Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.
      Returns:
      The minimum width of the component.
    • getPreferredWidth

      public int getPreferredWidth(int height)
      Description copied from interface: ComponentWrapper
      Returns the preferred width of the component.
      Specified by:
      getPreferredWidth in interface ComponentWrapper
      Parameters:
      height - The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
      Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.
      Returns:
      The preferred width of the component.
    • getMaximumWidth

      public int getMaximumWidth(int height)
      Description copied from interface: ComponentWrapper
      Returns the maximum width of the component.
      Specified by:
      getMaximumWidth in interface ComponentWrapper
      Parameters:
      height - The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
      Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.
      Returns:
      The maximum width of the component.
    • getHeight

      public int getHeight()
      Description copied from interface: ComponentWrapper
      Returns the current height for this component.
      Specified by:
      getHeight in interface ComponentWrapper
      Returns:
      The current height for this component.
    • getMinimumHeight

      public int getMinimumHeight(int width)
      Description copied from interface: ComponentWrapper
      Returns the minimum height of the component.
      Specified by:
      getMinimumHeight in interface ComponentWrapper
      Parameters:
      width - The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
      Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.
      Returns:
      The minimum height of the component.
    • getPreferredHeight

      public int getPreferredHeight(int width)
      Description copied from interface: ComponentWrapper
      Returns the preferred height of the component.
      Specified by:
      getPreferredHeight in interface ComponentWrapper
      Parameters:
      width - The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
      Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.
      Returns:
      The preferred height of the component.
    • getMaximumHeight

      public int getMaximumHeight(int width)
      Description copied from interface: ComponentWrapper
      Returns the maximum height of the component.
      Specified by:
      getMaximumHeight in interface ComponentWrapper
      Parameters:
      width - The Size hint for the other dimension. An implementation can use this value or the current size for the widget in this dimension, or a combination of both, to calculate the correct size.
      Use -1 to denote that there is no hint. This corresponds with SWT.DEFAULT.
      Returns:
      The maximum height of the component.
    • getBaseline

      public int getBaseline(int width, int height)
      Description copied from interface: ComponentWrapper
      Returns the baseline for the component given the suggested height.
      Specified by:
      getBaseline in interface ComponentWrapper
      Parameters:
      width - The width to calculate for if other than the current. If -1 the current size should be used.
      height - The height to calculate for if other than the current. If -1 the current size should be used.
      Returns:
      The baseline from the top or -1 if not applicable.
    • hasBaseline

      public boolean hasBaseline()
      Description copied from interface: ComponentWrapper
      Returns if the component has a baseline and if it can be retrieved. Should for instance return false for Swing before mustang.
      Specified by:
      hasBaseline in interface ComponentWrapper
      Returns:
      If the component has a baseline and if it can be retrieved.
    • getScreenLocationX

      public int getScreenLocationX()
      Description copied from interface: ComponentWrapper
      Returns the screen x-coordinate for the upper left coordinate of the component layout-able bounds.
      Specified by:
      getScreenLocationX in interface ComponentWrapper
      Returns:
      The screen x-coordinate for the upper left coordinate of the component layout-able bounds.
    • getScreenLocationY

      public int getScreenLocationY()
      Description copied from interface: ComponentWrapper
      Returns the screen y-coordinate for the upper left coordinate of the component layout-able bounds.
      Specified by:
      getScreenLocationY in interface ComponentWrapper
      Returns:
      The screen y-coordinate for the upper left coordinate of the component layout-able bounds.
    • getScreenHeight

      public int getScreenHeight()
      Description copied from interface: ComponentWrapper
      Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible or null.

      If in headless mode 768 is returned.

      Specified by:
      getScreenHeight in interface ComponentWrapper
      Returns:
      The screen size. E.g. 1024.
    • getScreenWidth

      public int getScreenWidth()
      Description copied from interface: ComponentWrapper
      Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible or null.

      If in headless mode 1024 is returned.

      Specified by:
      getScreenWidth in interface ComponentWrapper
      Returns:
      The screen size. E.g. 1280.
    • getVisualPadding

      public int[] getVisualPadding()
      Description copied from interface: ComponentWrapper
      Returns the padding on a component by component basis. This method can be overridden to return padding to compensate for example for borders that have shadows or where the outer most pixel is not the visual "edge" to align to.

      Default implementation returns null for all components except for Windows XP's JTabbedPane which will return new Insets(0, 0, 2, 2).

      NOTE! To reduce generated garbage the returned padding should never be changed so that the same insets can be returned many times.

      Specified by:
      getVisualPadding in interface ComponentWrapper
      Returns:
      null if no padding. NOTE! To reduce generated garbage the returned padding should never be changed so that the same insets can be returned many times. [top, left, bottom, right]
    • getHorizontalScreenDPI

      public int getHorizontalScreenDPI()
      Description copied from interface: ComponentWrapper
      Returns the DPI (Dots Per Inch) of the screen the component is currently in or for the default screen if the component is not visible.

      If headless mode PlatformDefaults.getDefaultDPI() will be returned.

      Specified by:
      getHorizontalScreenDPI in interface ComponentWrapper
      Returns:
      The DPI.
    • getVerticalScreenDPI

      public int getVerticalScreenDPI()
      Description copied from interface: ComponentWrapper
      Returns the DPI (Dots Per Inch) of the screen the component is currently in or for the default screen if the component is not visible.

      If headless mode PlatformDefaults.getDefaultDPI() will be returned.

      Specified by:
      getVerticalScreenDPI in interface ComponentWrapper
      Returns:
      The DPI.
    • getPixelUnitFactor

      public float getPixelUnitFactor(boolean isHor)
      Description copied from interface: ComponentWrapper
      Returns the pixel unit factor for the horizontal or vertical dimension.

      The factor is 1 for both dimensions on the normal font in a JPanel on Windows. The factor should increase with a bigger "X".

      This is the Swing version:

       Rectangle2D r = fm.getStringBounds("X", parent.getGraphics());
       wFactor = r.getWidth() / 6;
       hFactor = r.getHeight() / 13.27734375f;
       
      Specified by:
      getPixelUnitFactor in interface ComponentWrapper
      Parameters:
      isHor - If it is the horizontal factor that should be returned.
      Returns:
      The factor.
    • getLayoutHashCode

      public int getLayoutHashCode()
      Description copied from interface: ComponentWrapper
      Returns a hash code that should be reasonably different for anything that might change the layout. This value is used to know if the component layout needs to clear any caches.
      Specified by:
      getLayoutHashCode in interface ComponentWrapper
      Returns:
      A hash code that should be reasonably different for anything that might change the layout. Returns -1 if the widget is disposed.
    • getLinkId

      public String getLinkId()
      Description copied from interface: ComponentWrapper
      Returns a String id that can be used to reference the component in link constraints. This value should return the default id for the component. The id can be set for a component in the constraints and if so the value returned by this method will never be used. If there are no sensible id for the component null should be returned.

      For instance the Swing implementation returns the string returned from Component.getName().

      Specified by:
      getLinkId in interface ComponentWrapper
      Returns:
      The string link id or null.
    • isVisible

      public boolean isVisible()
      Description copied from interface: ComponentWrapper
      Returns if the component's visibility is set to true. This should not return if the component is actually visible, but if the visibility is set to true or not.
      Specified by:
      isVisible in interface ComponentWrapper
      Returns:
      true means visible.
    • getContentBias

      public int getContentBias()
      Description copied from interface: ComponentWrapper
      Returns in what way the min/pref/max sizes relates to it's height or width for the current settings of the component (like wrapText). If the min/pref/max height depends on it's width return LayoutUtil.HORIZONTAL If the min/pref/max width depends on it's height (not common) return LayoutUtil.VERTICAL If there is no connection between the preferred min/pref/max and the size of the component return -1.
      Specified by:
      getContentBias in interface ComponentWrapper
    • paintDebugOutline

      public void paintDebugOutline(boolean useVisualPadding)
      Description copied from interface: ComponentWrapper
      Paints component outline to indicate where it is.
      Specified by:
      paintDebugOutline in interface ComponentWrapper
      Parameters:
      useVisualPadding - If the visual padding should be shown in the debug drawing.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      This needs to be overridden so that different wrappers that hold the same component compare as equal. Otherwise, Grid won't be able to layout the components correctly.
      Overrides:
      equals in class Object
    • setBounds

      public void setBounds(int x, int y, int width, int height)
      Description copied from interface: ComponentWrapper
      Sets the component's bounds.
      Specified by:
      setBounds in interface ComponentWrapper
      Parameters:
      x - The x coordinate.
      y - The y coordinate.
      width - The width.
      height - The height.