|
IBM Rational Functional Tester Version 8.1.1000 IBM Rational Functional Tester Proxy SDK Reference Project Version 2.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.rational.test.ft.sys.RegisteredObject com.rational.test.ft.domain.ProxyTestObject com.rational.test.ft.domain.java.JavaProxy com.rational.test.ft.domain.java.JavaGuiProxy com.rational.test.ft.domain.java.PseudoTopLevelProxy
public class PseudoTopLevelProxy
This class does not represent a true top level proxy, it exists solely to block recording against children that can not properly respond when a popup window is displaying. There are issues with message pumps in the core JVM that cause deadly embrace situations when popup windows (menus and combolistbox popups) are being displayed. The only real work around is to not allow access to nested controls and limit top level control interaction when these popup windows are displayed.
This class will never get recorded, it will always cause the recording to pass to the associated real proxy object. The only action that can be recorded is a clickDisabled command that is smart enough to not trip over the JVM deadly embrace.
The deadly embrace occurs on any action that requires the JVM to sync with the UI thread while a popup window is being displayed.
Actions such as getLocationOnScreen
must be avoided while in this situation, unles they are performed against the heavvyweight wincow and not against the Java control that
represents that window.
Field Summary | |
---|---|
protected static com.rational.test.ft.util.FtDebug |
debug
|
protected ProxyTestObject |
topLevelProxy
|
protected java.awt.Rectangle |
topLevelRect
|
protected com.rational.test.ft.sys.graphical.Window |
topLevelWindow
|
Fields inherited from class com.rational.test.ft.domain.java.JavaGuiProxy |
---|
LEFT, preDownState, processMouseEventHandler, ROLEINDEX, ROLEINDEXWEIGHT, TESTDATA_SPECIALFRAMESTATE, TESTDATA_SPECIALFRAMESTATE_DESCRIPTION |
Fields inherited from class com.rational.test.ft.domain.java.JavaProxy |
---|
uniqueId |
Fields inherited from class com.rational.test.ft.sys.RegisteredObject |
---|
theTestObject |
Fields inherited from interface com.rational.test.ft.domain.IDataDriven |
---|
INCLUDE_ALL, INCLUDE_JUSTOBJECT, INCLUDE_SIBLINGS |
Constructor Summary | |
---|---|
PseudoTopLevelProxy(ProxyTestObject topLevelProxy, com.rational.test.ft.sys.graphical.Window topLevelWindow, java.awt.Rectangle topLevelRect)
This sole constructor for all proxy objects sets the SUT object as a member variable for the proxy. |
Method Summary | |
---|---|
protected void |
activateTopWindow()
Overload the inherited implementation to never attempt to activate the ComboListBox popup window. |
protected java.awt.Rectangle |
getActionRect()
Gets the screen relative rectangle and throws an invalid action exception if the rectangle is not valid. |
java.lang.Object |
getChildAtPoint(java.awt.Point pt)
Finds the child object that is at the specified point. |
java.util.Enumeration |
getChildrenEnumeration()
Return an enumeration of mappable proxies for the children of this object. |
java.awt.Rectangle |
getClippedScreenRectangle()
Returns the clipped-screen rectangle for the associated TestObject |
java.lang.String |
getDescriptiveName()
Returns a name that can be used to describe the associated UI object in a script. |
java.util.Enumeration |
getImmediateChildren()
Return an enumeration of proxies for the immediate children of this object. |
ProxyTestObject |
getMappableParent()
Returns a proxy object for the parent of this object. |
com.rational.test.ft.sys.MethodSpecification |
getMethodSpecForPoint(java.awt.Point pt)
Return a MethodSpecification for a method that returns a java.awt.Point for the specified coordinates. |
ProxyTestObject |
getParent()
Returns a proxy object for the parent of this object. |
java.lang.Object |
getParentObject()
Returns an object for the parent of this object. |
java.lang.String |
getRole()
Returns TestObjectRole#ROLE_COMBO_LIST_BOX . |
java.awt.Point |
getScreenPoint(java.awt.Point pt)
Returns the screen relative point, given an object relative point. |
java.awt.Rectangle |
getScreenRectangle()
Returns the rectangle that contains the component being evaluated relative to the top left corner of the screen. |
com.rational.test.ft.script.ScriptCommandFlags |
getScriptCommandFlags()
This method returns an active state value that reflects the state of the test object at the time of the call. |
java.lang.String |
getTestObjectClassName()
Set to null when the JPopupMenu is not interesting. |
ProxyTestObject |
getTopLevelProxy()
|
com.rational.test.ft.object.interfaces.ITopWindow |
getTopMappableWindow()
All Gui Components must be inside a top-level object. |
com.rational.test.ft.object.interfaces.ITopWindow |
getTopWindow()
All Gui Components must be inside a top-level object. |
java.awt.Rectangle |
getVisualClippedRectangle()
The optimized way to obtain the ClippedRectangle. |
boolean |
hasFocus()
Check the component under evaluation to determine if it has keyboard focus. |
boolean |
isEnabled()
Check the component under evaluation to determine if it is enabled or disabled. |
boolean |
isOpaque()
Check the component under evaluation to determine if it is opaque or transparent. |
boolean |
isPointInObject(java.awt.Point pt)
Determines if the specified screen relative point is contained in the component under evaluation. |
boolean |
isShowing()
Check the component under evaluation to determine if it is showing (as opposed to hidden). |
void |
processSingleMouseEvent(IMouseActionInfo action)
Return a MethodSpecification for the specified mouse event. |
boolean |
shouldBeMapped()
Returns true; by default, all test objects are mapped. |
Methods inherited from class com.rational.test.ft.domain.java.JavaGuiProxy |
---|
click, click, click, click, doubleClick, doubleClick, doubleClick, doubleClick, drag, drag, drag, drag, dragToScreenPoint, dragToScreenPoint, dragToScreenPoint, dumpAction, ensureObjectIsVisible, getCachedRectX, getCachedRectY, getClippedRect, getProcessMouseEventHandler, getRegisteredTopLevelWindow, getScreenPoint, hover, hover, hover, hover, isDrag, isPointInObject, modifiersChanged, mouseMove, mouseMove, nClick, nClickDrag, nClickDragToScreenPoint, processHoverMouseEvent, processMouseEvent, scrollRectToVisible, setProcessMouseEventHandler, setTopLevelWindow |
Methods inherited from class com.rational.test.ft.sys.RegisteredObject |
---|
addProxyReference, dereference, getObject, getRegisteredId, getTransactionId, isReferenced, isReleaseRequired, register, registerTransiently, release, toString, unregister |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.rational.test.ft.object.interfaces.IGraphical |
---|
click, click, click, click, doubleClick, doubleClick, doubleClick, doubleClick, drag, drag, drag, drag, dragToScreenPoint, dragToScreenPoint, dragToScreenPoint, getScreenPoint, hover, hover, hover, hover, mouseMove, mouseMove, nClick, nClickDrag, nClickDragToScreenPoint |
Field Detail |
---|
protected static com.rational.test.ft.util.FtDebug debug
protected ProxyTestObject topLevelProxy
protected com.rational.test.ft.sys.graphical.Window topLevelWindow
protected java.awt.Rectangle topLevelRect
Constructor Detail |
---|
public PseudoTopLevelProxy(ProxyTestObject topLevelProxy, com.rational.test.ft.sys.graphical.Window topLevelWindow, java.awt.Rectangle topLevelRect)
Method Detail |
---|
public ProxyTestObject getTopLevelProxy()
public java.lang.String getTestObjectClassName()
getTestObjectClassName
in interface IProxyBase
getTestObjectClassName
in class JavaGuiProxy
public ProxyTestObject getParent()
getParent
in class JavaGuiProxy
public java.lang.Object getParentObject()
null
if this
object has no parent.
getParentObject
in class JavaGuiProxy
public ProxyTestObject getMappableParent()
getMappableParent
in class JavaGuiProxy
public java.lang.String getDescriptiveName()
getDescriptiveName
in class JavaGuiProxy
public java.lang.String getRole()
TestObjectRole#ROLE_COMBO_LIST_BOX
.
getRole
in class JavaProxy
public boolean shouldBeMapped()
shouldBeMapped
in class JavaGuiProxy
public com.rational.test.ft.object.interfaces.ITopWindow getTopWindow()
getTopWindow
in class JavaGuiProxy
public com.rational.test.ft.object.interfaces.ITopWindow getTopMappableWindow()
getTopMappableWindow
in class JavaGuiProxy
public java.util.Enumeration getChildrenEnumeration()
getChildrenEnumeration
in class JavaGuiProxy
public java.util.Enumeration getImmediateChildren()
getImmediateChildren
in class JavaGuiProxy
public void processSingleMouseEvent(IMouseActionInfo action)
processSingleMouseEvent
in class JavaGuiProxy
action
- The event cache and other mouse state information
for this mouse action.MethodSpecification
public com.rational.test.ft.sys.MethodSpecification getMethodSpecForPoint(java.awt.Point pt)
IGraphical.getScreenPoint
is returned. However, if a proxy can find
getMethodSpecForPoint
in class JavaGuiProxy
x
- The screen relative x coordinate.y
- The screen relative y coordinate.MethodSpecification
public boolean isShowing()
isShowing
in interface com.rational.test.ft.object.interfaces.IGraphical
isShowing
in class JavaGuiProxy
public boolean isEnabled()
isEnabled
in interface com.rational.test.ft.object.interfaces.IGraphical
isEnabled
in class JavaGuiProxy
public com.rational.test.ft.script.ScriptCommandFlags getScriptCommandFlags()
getScriptCommandFlags
in class JavaGuiProxy
public boolean isOpaque()
isOpaque
in interface com.rational.test.ft.object.interfaces.IGraphical
isOpaque
in class JavaGuiProxy
public boolean hasFocus()
hasFocus
in interface com.rational.test.ft.object.interfaces.IGraphical
hasFocus
in class JavaGuiProxy
public boolean isPointInObject(java.awt.Point pt)
This functionality is performed by the proxy due to potentially
unusual aspects associated with functionality. While typically the getScreenRectangle
is used to resolve this query, there are situations for which this
is not accurate. For instance if the clickable region on a
button is not rectangular, just checking whether the point is in
the rectangle is not valid.
isPointInObject
in interface com.rational.test.ft.object.interfaces.IGraphical
isPointInObject
in class JavaGuiProxy
pt
- Screen relative point to check.
getScreenRectangle()
public java.lang.Object getChildAtPoint(java.awt.Point pt)
If this object has no children, it should return null
.
getChildAtPoint
in interface com.rational.test.ft.object.interfaces.IGraphical
getChildAtPoint
in class JavaGuiProxy
pt
- Screen relative point to check.
getScreenRectangle()
public java.awt.Rectangle getScreenRectangle()
getScreenRectangle
in interface com.rational.test.ft.object.interfaces.IGraphical
getScreenRectangle
in class JavaGuiProxy
IGraphical.isPointInObject(java.awt.Point)
,
IGraphical.getClippedScreenRectangle()
public java.awt.Rectangle getClippedScreenRectangle()
com.rational.test.ft.object.interfaces.IGraphical
TestObject
getClippedScreenRectangle
in interface com.rational.test.ft.object.interfaces.IGraphical
getClippedScreenRectangle
in class JavaGuiProxy
null
if the object cannot be seen
in any window on the screen.IGraphical.getScreenRectangle()
public java.awt.Rectangle getVisualClippedRectangle()
getVisualClippedRectangle
in class ProxyTestObject
public java.awt.Point getScreenPoint(java.awt.Point pt)
getScreenPoint
in interface com.rational.test.ft.object.interfaces.IGraphical
getScreenPoint
in class JavaGuiProxy
pt
- The Object relative point.
protected java.awt.Rectangle getActionRect()
getActionRect
in class JavaGuiProxy
protected void activateTopWindow()
activateTopWindow
in class JavaGuiProxy
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |