com.sibvisions.rad.ui.qt.impl
Class QtComponent<C extends QWidget>

java.lang.Object
  extended by com.sibvisions.rad.ui.qt.impl.QtResource<C>
      extended by com.sibvisions.rad.ui.qt.impl.QtComponentBase<C>
          extended by com.sibvisions.rad.ui.qt.impl.QtComponent<C>
Type Parameters:
C - QT Widget implementation
All Implemented Interfaces:
IAlignmentConstants, IComponent, IResource
Direct Known Subclasses:
QtAbstractButton, QtContainer, QtEditor, QtIcon, QtLabel, QtTable, QtTextArea, QtTextField

public class QtComponent<C extends QWidget>
extends QtComponentBase<C>
implements IComponent, IAlignmentConstants

The QtComponent class is the base class of all QT user interface objects. It is the atom of the user interface: it receives mouse, keyboard and other events from the window system, and paints a representation of itself on the screen.


Field Summary
protected  IContainer parent
          Container where the component is added.
 
Fields inherited from class com.sibvisions.rad.ui.qt.impl.QtComponentBase
factory
 
Fields inherited from class com.sibvisions.rad.ui.qt.impl.QtResource
resource
 
Fields inherited from interface javax.rad.ui.IAlignmentConstants
ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_STRETCH, ALIGN_TOP
 
Constructor Summary
QtComponent(C pQComponent)
          Creates a new instance of QtComponent.
 
Method Summary
protected  void addStyle(String pName, String pValue)
          Adds a stylesheet property to the component.
 IImage capture(int pWidth, int pHeight)
          Creates an image/screenshot of the component.
 IColor getBackground()
          Gets the background color of this component.
 IRectangle getBounds()
          Gets the bounds of this component in the form of a IRectangle object.
 ICursor getCursor()
          Gets the ICursor set in the component.
 IFont getFont()
          Gets the font of this component.
 IColor getForeground()
          Gets the foreground color of this component.
 int getHorizontalAlignment()
          Returns the alignment along the x axis.
 IPoint getLocation()
          Gets the location of this component in the form of a point specifying the component's top-left corner.
 IDimension getMaximumSize()
          Gets the maximum size of this component.
 IDimension getMinimumSize()
          Gets the mininimum size of this component.
 String getName()
          Gets the name of the object.
 IContainer getParent()
          Gets the parent of this component.
 IDimension getPreferredSize()
          Gets the preferred size of this component.
 IDimension getSize()
          Returns the size of this component in the form of a IDimension object.
protected  String getStyleSheet()
          Gets the complete stylesheet, which includes all properties, for the component.
 String getToolTipText()
          Returns the tooltip string that has been set with setToolTipText.
 int getVerticalAlignment()
          Returns the alignment along the y axis.
 boolean isBackgroundSet()
          Returns whether the background color has been explicitly set for this Component.
 boolean isCursorSet()
          Returns whether the cursor has been explicitly set for this Component.
 boolean isEnabled()
          Determines whether this component is enabled.
 boolean isFocusable()
          Returns whether this component can be focused.
 boolean isFontSet()
          Returns whether the font has been explicitly set for this Component.
 boolean isForegroundSet()
          Returns whether the foreground color has been explicitly set for this Component.
 boolean isMaximumSizeSet()
          Returns true if the maximum size has been set to a non-null value otherwise returns false.
 boolean isMinimumSizeSet()
          Returns whether or not setMinimumSize has been invoked with a non-null value.
 boolean isPreferredSizeSet()
          Returns true if the preferred size has been set to a non-null value otherwise returns false.
 void requestFocus()
          Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.
 void setBackground(IColor pBackground)
          Sets the background color of this component.
 void setBounds(IRectangle pBounds)
          Moves and resizes this component to conform to the new bounding rectangle pBounds.
 void setCursor(ICursor pCursor)
          Sets the cursor image to the specified cursor.
 void setEnabled(boolean pEnable)
          Enables or disables this component, depending on the value of the parameter pEnable.
 void setFocusable(boolean pFocusable)
          Sets the focusable state of this component to the specified value.
 void setFont(IFont pFont)
          Sets the IFont of this component.
 void setForeground(IColor pForeground)
          Sets the foreground color of this component.
 void setHorizontalAlignment(int pHorizontalAlignment)
          Sets the horizontal alignment.
 void setLocation(IPoint pLocation)
          Moves this component to a new location.
 void setMaximumSize(IDimension pMaximumSize)
          Sets the maximum size of this component to a constant value.
 void setMinimumSize(IDimension pMinimumSize)
          Sets the minimum size of this component to a constant value.
 void setName(String pName)
          Sets the name of the object to the specified string.
 void setParent(IContainer pParent)
          Sets the parent of this component.
 void setPreferredSize(IDimension pPreferredSize)
          Sets the preferred size of this component to a constant value.
protected  void setResourceVisible(boolean pVisible)
          Sets the visibility of the internal resource.
 void setSize(IDimension pSize)
          Resizes this component so that it has width d.width and height d.height.
 void setToolTipText(String pText)
          Registers the text to display in a tool tip.
 void setVerticalAlignment(int pVerticalAlignment)
          Sets the vertical alignment.
 
Methods inherited from class com.sibvisions.rad.ui.qt.impl.QtComponentBase
eventKeyPressed, eventKeyReleased, eventKeyTyped, eventMouseClicked, eventMouseEntered, eventMouseExited, eventMousePressed, eventMouseReleased, getFactory, isVisible, setFactory, setVisible
 
Methods inherited from class com.sibvisions.rad.ui.qt.impl.QtResource
equals, getResource, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.rad.ui.IComponent
eventKeyPressed, eventKeyReleased, eventKeyTyped, eventMouseClicked, eventMouseEntered, eventMouseExited, eventMousePressed, eventMouseReleased, getFactory, isVisible, setVisible
 
Methods inherited from interface javax.rad.ui.IResource
getResource
 

Field Detail

parent

protected IContainer parent
Container where the component is added.

Constructor Detail

QtComponent

public QtComponent(C pQComponent)
Creates a new instance of QtComponent.

Parameters:
pQComponent - an instance of QWidget
Method Detail

getName

public String getName()
Gets the name of the object.

Specified by:
getName in interface IComponent
Returns:
this component's name
See Also:
IComponent.setName(java.lang.String)

setName

public void setName(String pName)
Sets the name of the object to the specified string.

Specified by:
setName in interface IComponent
Parameters:
pName - the string that is to be this component's name
See Also:
IComponent.getName()

getHorizontalAlignment

public int getHorizontalAlignment()
Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. Possible values are defined in AlignmentConstants.

Specified by:
getHorizontalAlignment in interface IAlignmentConstants
Returns:
the horizontal alignment

setHorizontalAlignment

public void setHorizontalAlignment(int pHorizontalAlignment)
Sets the horizontal alignment. Possible values are defined in AlignmentConstants.

Specified by:
setHorizontalAlignment in interface IAlignmentConstants
Parameters:
pHorizontalAlignment - the new vertical alignment

getVerticalAlignment

public int getVerticalAlignment()
Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. Possible values are defined in AlignmentConstants.

Specified by:
getVerticalAlignment in interface IAlignmentConstants
Returns:
the vertical alignment

setVerticalAlignment

public void setVerticalAlignment(int pVerticalAlignment)
Sets the vertical alignment. Possible values are defined in AlignmentConstants.

Specified by:
setVerticalAlignment in interface IAlignmentConstants
Parameters:
pVerticalAlignment - the new vertical alignment

getPreferredSize

public IDimension getPreferredSize()
Gets the preferred size of this component.

Specified by:
getPreferredSize in interface IComponent
Returns:
an IDimension object indicating this component's preferred size
See Also:
IComponent.getMinimumSize(), LayoutManager

setPreferredSize

public void setPreferredSize(IDimension pPreferredSize)
Sets the preferred size of this component to a constant value. Subsequent calls to getPreferredSize will always return this value. Setting the preferred size to null restores the default behavior.

Specified by:
setPreferredSize in interface IComponent
Parameters:
pPreferredSize - the new preferred size, or null
See Also:
IComponent.getPreferredSize(), IComponent.isPreferredSizeSet()

isPreferredSizeSet

public boolean isPreferredSizeSet()
Returns true if the preferred size has been set to a non-null value otherwise returns false.

Specified by:
isPreferredSizeSet in interface IComponent
Returns:
true if setPreferredSize has been invoked with a non-null value.

getMinimumSize

public IDimension getMinimumSize()
Gets the mininimum size of this component.

Specified by:
getMinimumSize in interface IComponent
Returns:
an IDimension object indicating this component's minimum size
See Also:
IComponent.getPreferredSize(), LayoutManager

setMinimumSize

public void setMinimumSize(IDimension pMinimumSize)
Sets the minimum size of this component to a constant value. Subsequent calls to getMinimumSize will always return this value. Setting the minimum size to null restores the default behavior.

Specified by:
setMinimumSize in interface IComponent
Parameters:
pMinimumSize - the new minimum size of this component
See Also:
IComponent.getMinimumSize(), IComponent.isMinimumSizeSet()

isMinimumSizeSet

public boolean isMinimumSizeSet()
Returns whether or not setMinimumSize has been invoked with a non-null value.

Specified by:
isMinimumSizeSet in interface IComponent
Returns:
true if setMinimumSize has been invoked with a non-null value.

getMaximumSize

public IDimension getMaximumSize()
Gets the maximum size of this component.

Specified by:
getMaximumSize in interface IComponent
Returns:
an IDimension object indicating this component's maximum size
See Also:
IComponent.getMinimumSize(), IComponent.getPreferredSize(), LayoutManager

setMaximumSize

public void setMaximumSize(IDimension pMaximumSize)
Sets the maximum size of this component to a constant value. Subsequent calls to getMaximumSize will always return this value. Setting the maximum size to null restores the default behavior.

Specified by:
setMaximumSize in interface IComponent
Parameters:
pMaximumSize - a IDimension containing the desired maximum allowable size
See Also:
IComponent.getMaximumSize(), IComponent.isMaximumSizeSet()

isMaximumSizeSet

public boolean isMaximumSizeSet()
Returns true if the maximum size has been set to a non-null value otherwise returns false.

Specified by:
isMaximumSizeSet in interface IComponent
Returns:
true if maximumSize is non-null, false otherwise

getBackground

public IColor getBackground()
Gets the background color of this component.

Specified by:
getBackground in interface IComponent
Returns:
this component's background color; if this component does not have a background color, the background color of its parent is returned
See Also:
IComponent.setBackground(javax.rad.ui.IColor)

setBackground

public void setBackground(IColor pBackground)
Sets the background color of this component.

The background color affects each component differently and the parts of the component that are affected by the background color may differ between operating systems.

Specified by:
setBackground in interface IComponent
Parameters:
pBackground - the color to become this component's color; if this parameter is null, then this component will inherit the background color of its parent
See Also:
IComponent.getBackground()

isBackgroundSet

public boolean isBackgroundSet()
Returns whether the background color has been explicitly set for this Component. If this method returns false, this Component is inheriting its background color from an ancestor.

Specified by:
isBackgroundSet in interface IComponent
Returns:
true if the background color has been explicitly set for this Component; false otherwise.

getForeground

public IColor getForeground()
Gets the foreground color of this component.

Specified by:
getForeground in interface IComponent
Returns:
this component's foreground color; if this component does not have a foreground color, the foreground color of its parent is returned
See Also:
IComponent.setForeground(javax.rad.ui.IColor)

setForeground

public void setForeground(IColor pForeground)
Sets the foreground color of this component.

Specified by:
setForeground in interface IComponent
Parameters:
pForeground - the color to become this component's foreground color; if this parameter is null then this component will inherit the foreground color of its parent
See Also:
IComponent.getForeground()

isForegroundSet

public boolean isForegroundSet()
Returns whether the foreground color has been explicitly set for this Component. If this method returns false, this Component is inheriting its foreground color from an ancestor.

Specified by:
isForegroundSet in interface IComponent
Returns:
true if the foreground color has been explicitly set for this Component; false otherwise.

getCursor

public ICursor getCursor()
Gets the ICursor set in the component. If the component does not have a cursor set, the cursor of its parent is returned. If no cursor is set in the entire hierarchy, Cursor.DEFAULT_CURSOR is returned.

Specified by:
getCursor in interface IComponent
Returns:
the ICursor set in the component
See Also:
IComponent.setCursor(javax.rad.ui.ICursor)

setCursor

public void setCursor(ICursor pCursor)
Sets the cursor image to the specified cursor. This cursor image is displayed when the contains method for this component returns true for the current cursor location, and this Component is visible, displayable, and enabled. Setting the cursor of a Container causes that cursor to be displayed within all of the container's subcomponents, except for those that have a non-null cursor.

The method may have no visual effect if the Java platform implementation and/or the native system do not support changing the mouse cursor shape.

Specified by:
setCursor in interface IComponent
Parameters:
pCursor - One of the constants defined by the Cursor class; if this parameter is null then this component will inherit the cursor of its parent
See Also:
IComponent.isEnabled(), IComponent.getCursor(), Toolkit.createCustomCursor(java.awt.Image, java.awt.Point, java.lang.String), ICursor

isCursorSet

public boolean isCursorSet()
Returns whether the cursor has been explicitly set for this Component. If this method returns false, this Component is inheriting its cursor from an ancestor.

Specified by:
isCursorSet in interface IComponent
Returns:
true if the cursor has been explicitly set for this Component; false otherwise.

getFont

public IFont getFont()
Gets the font of this component.

Specified by:
getFont in interface IComponent
Returns:
this component's font; if a font has not been set for this component, the font of its parent is returned
See Also:
IComponent.setFont(javax.rad.ui.IFont)

setFont

public void setFont(IFont pFont)
Sets the IFont of this component.

Specified by:
setFont in interface IComponent
Parameters:
pFont - the IFont to become this component's font; if this parameter is null then this component will inherit the font of its parent
See Also:
IComponent.getFont()

isFontSet

public boolean isFontSet()
Returns whether the font has been explicitly set for this Component. If this method returns false, this Component is inheriting its font from an ancestor.

Specified by:
isFontSet in interface IComponent
Returns:
true if the font has been explicitly set for this Component; false otherwise.

getToolTipText

public String getToolTipText()
Returns the tooltip string that has been set with setToolTipText.

Specified by:
getToolTipText in interface IComponent
Returns:
the text of the tool tip
See Also:
IComponent.setToolTipText(String)

setToolTipText

public void setToolTipText(String pText)
Registers the text to display in a tool tip. The text displays when the cursor lingers over the component.

Specified by:
setToolTipText in interface IComponent
Parameters:
pText - the string to display; if the text is null, the tool tip is turned off for this component

setFocusable

public void setFocusable(boolean pFocusable)
Sets the focusable state of this component to the specified value.

Specified by:
setFocusable in interface IComponent
Parameters:
pFocusable - indicates whether this Component is focusable

isFocusable

public boolean isFocusable()
Returns whether this component can be focused.

Specified by:
isFocusable in interface IComponent
Returns:
true if this Component is focusable, false otherwise.

requestFocus

public void requestFocus()
Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window. This component must be displayable, visible, and focusable for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event. If this request is denied because this Component's top-level Window cannot become the focused Window, the request will be remembered and will be granted when the Window is later focused by the user.

This method cannot be used to set the focus owner to no Component at all. Use KeyboardFocusManager.clearGlobalFocusOwner() instead.

Because the focus behavior of this method is platform-dependent, developers are strongly encouraged to use requestFocusInWindow when possible.

Specified by:
requestFocus in interface IComponent

getParent

public IContainer getParent()
Gets the parent of this component.

Specified by:
getParent in interface IComponent
Returns:
the parent container of this component

setParent

public void setParent(IContainer pParent)
Sets the parent of this component.

Specified by:
setParent in interface IComponent
Parameters:
pParent - the parent container of this component

isEnabled

public boolean isEnabled()
Determines whether this component is enabled. An enabled component can respond to user input and generate events. Components are enabled initially by default. A component may be enabled or disabled by calling its setEnabled method.

Specified by:
isEnabled in interface IComponent
Returns:
true if the component is enabled, false otherwise
See Also:
IComponent.setEnabled(boolean)

setEnabled

public void setEnabled(boolean pEnable)
Enables or disables this component, depending on the value of the parameter pEnable. An enabled component can respond to user input and generate events. Components are enabled initially by default.

Specified by:
setEnabled in interface IComponent
Parameters:
pEnable - if true, this component is enabled; otherwise this component is disabled
See Also:
IComponent.isEnabled()

getLocation

public IPoint getLocation()
Gets the location of this component in the form of a point specifying the component's top-left corner. The location will be relative to the parent's coordinate space.

Due to the asynchronous nature of native event handling, this method can return outdated values (for instance, after several calls of setLocation() in rapid succession). For this reason, the recommended method of obtaining a component's position is within java.awt.event.ComponentListener.componentMoved(), which is called after the operating system has finished moving the component.

Specified by:
getLocation in interface IComponent
Returns:
an instance of IPoint representing the top-left corner of the component's bounds in the coordinate space of the component's parent
See Also:
IComponent.setLocation(IPoint)

setLocation

public void setLocation(IPoint pLocation)
Moves this component to a new location. The top-left corner of the new location is specified by point p. Point p is given in the parent's coordinate space.

Specified by:
setLocation in interface IComponent
Parameters:
pLocation - the point defining the top-left corner of the new location, given in the coordinate space of this component's parent
See Also:
IComponent.getLocation(), IComponent.setBounds(IRectangle)

getSize

public IDimension getSize()
Returns the size of this component in the form of a IDimension object. The height field of the IDimension object contains this component's height, and the width field of the IDimension object contains this component's width.

Specified by:
getSize in interface IComponent
Returns:
an IDimension object that indicates the size of this component
See Also:
IComponent.setSize(javax.rad.ui.IDimension)

setSize

public void setSize(IDimension pSize)
Resizes this component so that it has width d.width and height d.height.

Specified by:
setSize in interface IComponent
Parameters:
pSize - the IDimension specifying the new size of this component
See Also:
IComponent.setSize(javax.rad.ui.IDimension), IComponent.setBounds(javax.rad.ui.IRectangle)

getBounds

public IRectangle getBounds()
Gets the bounds of this component in the form of a IRectangle object. The bounds specify this component's width, height, and location relative to its parent.

Specified by:
getBounds in interface IComponent
Returns:
a rectangle indicating this component's bounds
See Also:
IComponent.setBounds(javax.rad.ui.IRectangle), IComponent.getLocation(), IComponent.getSize()

setBounds

public void setBounds(IRectangle pBounds)
Moves and resizes this component to conform to the new bounding rectangle pBounds. This component's new position is specified by pBounds.x and pBounds.y, and its new size is specified by pBounds.width and pBounds.height

Specified by:
setBounds in interface IComponent
Parameters:
pBounds - the new bounding rectangle for this component
See Also:
IComponent.getBounds(), IComponent.setLocation(IPoint), IComponent.setSize(IDimension)

capture

public IImage capture(int pWidth,
                      int pHeight)
Creates an image/screenshot of the component.

Specified by:
capture in interface IComponent
Parameters:
pWidth - the expected width
pHeight - the expected height
Returns:
the image/screenshot

setResourceVisible

protected void setResourceVisible(boolean pVisible)
Sets the visibility of the internal resource.

Specified by:
setResourceVisible in class QtComponentBase<C extends QWidget>
Parameters:
pVisible - true to set visible, otherwise false

addStyle

protected void addStyle(String pName,
                        String pValue)
Adds a stylesheet property to the component.

Parameters:
pName - the property name
pValue - the value
See Also:
getStyleSheet()

getStyleSheet

protected String getStyleSheet()
Gets the complete stylesheet, which includes all properties, for the component.

Returns:
the stylesheet for the component
See Also:
addStyle(String, String)


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.