Interface ComponentWrapper
-
- All Known Subinterfaces:
ContainerWrapper
- All Known Implementing Classes:
BBComponentWrapper
,BBContainerWrapper
public interface ComponentWrapper
A class that wraps the important parts of a Component.NOTE!.equals() and .hashcode() should be forwarded to the wrapped component. E.g.
public int hashCode() { return getComponent().hashCode(); } public final boolean equals(Object o) { if (o instanceof ComponentWrapper == false) return false; return getComponent().equals(((ComponentWrapper) o).getComponent()); }
-
-
Field Summary
Fields Modifier and Type Field Description static int
TYPE_BUTTON
static int
TYPE_CHECK_BOX
static int
TYPE_COMBO_BOX
static int
TYPE_CONTAINER
static int
TYPE_IMAGE
static int
TYPE_LABEL
static int
TYPE_LIST
static int
TYPE_PANEL
static int
TYPE_PROGRESS_BAR
static int
TYPE_SCROLL_BAR
static int
TYPE_SCROLL_PANE
static int
TYPE_SEPARATOR
static int
TYPE_SLIDER
static int
TYPE_SPINNER
static int
TYPE_TABBED_PANE
static int
TYPE_TABLE
static int
TYPE_TEXT_AREA
static int
TYPE_TEXT_FIELD
static int
TYPE_TREE
static int
TYPE_UNKNOWN
static int
TYPE_UNSET
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getBaseline(int width, int height)
Returns the baseline for the component given the suggested height.Object
getComponent()
Returns the actual object that this wrapper is aggregating.int
getComponentType(boolean disregardScrollPane)
Returns the type of component that this wrapper is wrapping.int
getContentBias()
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).int
getHeight()
Returns the current height for this component.int
getHorizontalScreenDPI()
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.int
getLayoutHashCode()
Returns a hash code that should be reasonably different for anything that might change the layout.String
getLinkId()
Returns a String id that can be used to reference the component in link constraints.int
getMaximumHeight(int wHint)
Returns the maximum height of the component.int
getMaximumWidth(int hHint)
Returns the maximum width of the component.int
getMinimumHeight(int wHint)
Returns the minimum height of the component.int
getMinimumWidth(int hHint)
Returns the minimum width of the component.ContainerWrapper
getParent()
Returns the container for this component.float
getPixelUnitFactor(boolean isHor)
Returns the pixel unit factor for the horizontal or vertical dimension.int
getPreferredHeight(int wHint)
Returns the preferred height of the component.int
getPreferredWidth(int hHint)
Returns the preferred width of the component.int
getScreenHeight()
Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible ornull
.int
getScreenLocationX()
Returns the screen x-coordinate for the upper left coordinate of the component layout-able bounds.int
getScreenLocationY()
Returns the screen y-coordinate for the upper left coordinate of the component layout-able bounds.int
getScreenWidth()
Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible ornull
.int
getVerticalScreenDPI()
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.int[]
getVisualPadding()
Returns the padding on a component by component basis.int
getWidth()
Returns the current width for this component.int
getX()
Returns the current x coordinate for this component.int
getY()
Returns the current y coordinate for this component.boolean
hasBaseline()
Returns if the component has a baseline and if it can be retrieved.boolean
isVisible()
Returns if the component's visibility is set totrue
.void
paintDebugOutline(boolean showVisualPadding)
Paints component outline to indicate where it is.void
setBounds(int x, int y, int width, int height)
Sets the component's bounds.
-
-
-
Field Detail
-
TYPE_UNSET
static final int TYPE_UNSET
- See Also:
- Constant Field Values
-
TYPE_UNKNOWN
static final int TYPE_UNKNOWN
- See Also:
- Constant Field Values
-
TYPE_CONTAINER
static final int TYPE_CONTAINER
- See Also:
- Constant Field Values
-
TYPE_LABEL
static final int TYPE_LABEL
- See Also:
- Constant Field Values
-
TYPE_TEXT_FIELD
static final int TYPE_TEXT_FIELD
- See Also:
- Constant Field Values
-
TYPE_TEXT_AREA
static final int TYPE_TEXT_AREA
- See Also:
- Constant Field Values
-
TYPE_BUTTON
static final int TYPE_BUTTON
- See Also:
- Constant Field Values
-
TYPE_LIST
static final int TYPE_LIST
- See Also:
- Constant Field Values
-
TYPE_TABLE
static final int TYPE_TABLE
- See Also:
- Constant Field Values
-
TYPE_SCROLL_PANE
static final int TYPE_SCROLL_PANE
- See Also:
- Constant Field Values
-
TYPE_IMAGE
static final int TYPE_IMAGE
- See Also:
- Constant Field Values
-
TYPE_PANEL
static final int TYPE_PANEL
- See Also:
- Constant Field Values
-
TYPE_COMBO_BOX
static final int TYPE_COMBO_BOX
- See Also:
- Constant Field Values
-
TYPE_SLIDER
static final int TYPE_SLIDER
- See Also:
- Constant Field Values
-
TYPE_SPINNER
static final int TYPE_SPINNER
- See Also:
- Constant Field Values
-
TYPE_PROGRESS_BAR
static final int TYPE_PROGRESS_BAR
- See Also:
- Constant Field Values
-
TYPE_TREE
static final int TYPE_TREE
- See Also:
- Constant Field Values
-
TYPE_CHECK_BOX
static final int TYPE_CHECK_BOX
- See Also:
- Constant Field Values
-
TYPE_SCROLL_BAR
static final int TYPE_SCROLL_BAR
- See Also:
- Constant Field Values
-
TYPE_SEPARATOR
static final int TYPE_SEPARATOR
- See Also:
- Constant Field Values
-
TYPE_TABBED_PANE
static final int TYPE_TABBED_PANE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getComponent
Object getComponent()
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.
- Returns:
- The actual object that this wrapper is aggregating. Not
null
.
-
getX
int getX()
Returns the current x coordinate for this component.- Returns:
- The current x coordinate for this component.
-
getY
int getY()
Returns the current y coordinate for this component.- Returns:
- The current y coordinate for this component.
-
getWidth
int getWidth()
Returns the current width for this component.- Returns:
- The current width for this component.
-
getHeight
int getHeight()
Returns the current height for this component.- Returns:
- The current height for this component.
-
getScreenLocationX
int getScreenLocationX()
Returns the screen x-coordinate for the upper left coordinate of the component layout-able bounds.- Returns:
- The screen x-coordinate for the upper left coordinate of the component layout-able bounds.
-
getScreenLocationY
int getScreenLocationY()
Returns the screen y-coordinate for the upper left coordinate of the component layout-able bounds.- Returns:
- The screen y-coordinate for the upper left coordinate of the component layout-able bounds.
-
getMinimumWidth
int getMinimumWidth(int hHint)
Returns the minimum width of the component.- Parameters:
hHint
- 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.
- Since:
- 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.
-
getMinimumHeight
int getMinimumHeight(int wHint)
Returns the minimum height of the component.- Parameters:
wHint
- 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.
- Since:
- 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.
-
getPreferredWidth
int getPreferredWidth(int hHint)
Returns the preferred width of the component.- Parameters:
hHint
- 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.
- Since:
- 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.
-
getPreferredHeight
int getPreferredHeight(int wHint)
Returns the preferred height of the component.- Parameters:
wHint
- 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.
- Since:
- 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.
-
getMaximumWidth
int getMaximumWidth(int hHint)
Returns the maximum width of the component.- Parameters:
hHint
- 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.
- Since:
- 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.
-
getMaximumHeight
int getMaximumHeight(int wHint)
Returns the maximum height of the component.- Parameters:
wHint
- 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.
- Since:
- 3.5. Added the hint as a parameter knowing that a correction and recompilation is necessary for any implementing classes. This change was worth it though.
-
setBounds
void setBounds(int x, int y, int width, int height)
Sets the component's bounds.- Parameters:
x
- The x coordinate.y
- The y coordinate.width
- The width.height
- The height.
-
isVisible
boolean isVisible()
Returns if the component's visibility is set totrue
. This should not return if the component is actually visible, but if the visibility is set to true or not.- Returns:
true
means visible.
-
getBaseline
int getBaseline(int width, int height)
Returns the baseline for the component given the suggested height.- 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
boolean hasBaseline()
Returns if the component has a baseline and if it can be retrieved. Should for instance returnfalse
for Swing before mustang.- Returns:
- If the component has a baseline and if it can be retrieved.
-
getParent
ContainerWrapper getParent()
Returns the container for this component.- Returns:
- The container for this component. Will return
null
if the component has no parent.
-
getPixelUnitFactor
float getPixelUnitFactor(boolean isHor)
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;
- Parameters:
isHor
- If it is the horizontal factor that should be returned.- Returns:
- The factor.
-
getHorizontalScreenDPI
int getHorizontalScreenDPI()
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.- Returns:
- The DPI.
-
getVerticalScreenDPI
int getVerticalScreenDPI()
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.- Returns:
- The DPI.
-
getScreenWidth
int getScreenWidth()
Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible ornull
.If in headless mode
1024
is returned.- Returns:
- The screen size. E.g.
1280
.
-
getScreenHeight
int getScreenHeight()
Returns the pixel size of the screen that the component is currently in or for the default screen if the component is not visible ornull
.If in headless mode
768
is returned.- Returns:
- The screen size. E.g.
1024
.
-
getLinkId
String getLinkId()
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 componentnull
should be returned.For instance the Swing implementation returns the string returned from
Component.getName()
.- Returns:
- The string link id or
null
.
-
getLayoutHashCode
int getLayoutHashCode()
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.- Returns:
- A hash code that should be reasonably different for anything that might change the layout. Returns -1 if the widget is disposed.
-
getVisualPadding
int[] getVisualPadding()
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.
- 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]
-
paintDebugOutline
void paintDebugOutline(boolean showVisualPadding)
Paints component outline to indicate where it is.- Parameters:
showVisualPadding
- If the visual padding should be shown in the debug drawing.
-
getComponentType
int getComponentType(boolean disregardScrollPane)
Returns the type of component that this wrapper is wrapping.This method can be invoked often so the result should be cached.
- Parameters:
disregardScrollPane
- Istrue
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.
TYPE_LABEL
.
-
getContentBias
int getContentBias()
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 returnLayoutUtil.HORIZONTAL
If the min/pref/max width depends on it's height (not common) returnLayoutUtil.VERTICAL
If there is no connection between the preferred min/pref/max and the size of the component return -1.- Since:
- 5.0
-
-