org.safs.rational.wpf
Class CFWPFMenuBar

java.lang.Object
  extended by org.safs.Processor
      extended by org.safs.ComponentFunction
          extended by org.safs.rational.CFComponent
              extended by org.safs.rational.CFMenuBar
                  extended by org.safs.rational.wpf.CFWPFMenuBar
Direct Known Subclasses:
CFWPFPopupMenu

public class CFWPFMenuBar
extends CFMenuBar


Purpose: process a menubar component of domain .NET_WPF
Lifetime: instantiated by TestStepProcessor

Since:
Sep 27, 2009

Field Summary
static java.lang.String CLASS_CONTEXTMENU_NAME
           
static java.lang.String CLASS_MENU_NAME
           
static java.lang.String CLASS_MENUITEM_NAME
           
static java.lang.String CLASS_SEPARATOR_NAME
           
static java.lang.String METHOD_GET_ITEM_AT
           
static java.lang.String PROPERTY_COUNT
           
static java.lang.String PROPERTY_HEADER
           
static java.lang.String PROPERTY_MENU_ITEMS
           
static java.lang.String SHORT_CUT_KEY_UNDERSCORE
           
 
Fields inherited from class org.safs.rational.CFMenuBar
ITEMCOUNT_PROPERTY, MENUCOUNT_PROPERTY, PATH_PREFIX, SELECTMENUITEM, SELECTMENUITEMCONTAINS, SELECTPOPUPMENUITEM, SELECTUNVERIFIEDMENUITEM, SELECTUNVERIFIEDPOPUPMENUITEM, TEXT_PROPERTY, UITYPE_MENUBAR, UITYPE_POPUPMENU, UITYPE_PROPERTY, VERIFYMENUITEM, VERIFYMENUITEMCONTAINS, VERIFYPOPUPMENU, VERIFYPOPUPMENUCONTAINS, VERIFYPOPUPMENUITEM, VERIFYPOPUPMENUPARTIALMATCH
 
Fields inherited from class org.safs.rational.CFComponent
ALTLEFTDRAG, ASSIGNPROPERTYVARIABLE, CAPTUREOBJECTDATATOFILE, CAPTUREPROPERTIESTOFILE, CAPTUREPROPERTYTOFILE, CLEARAPPMAPCACHE, CLICK, CLOSEWINDOW, COMPONENTCLICK, CTRLALTLEFTDRAG, CTRLCLICK, CTRLLEFTDRAG, CTRLRIGHTCLICK, CTRLSHIFTLEFTDRAG, DOUBLECLICK, GETGUIIMAGE, GETTEXTFROMGUI, GUIDOESEXIST, GUIDOESNOTEXIST, HOVERMOUSE, HSCROLLTO, INPUTCHARACTERS, INPUTKEYS, ISPROPERTYEXIST, keepEncodingConsistent, LEFTDRAG, LOCATESCREENIMAGE, MAXIMIZE, MINIMIZE, MOUSECLICK, obj1, RESTORE, RIGHTCLICK, RIGHTDRAG, SAVETEXTFROMGUI, script, SENDEVENT, SETPOSITION, SETPROPERTYVALUE, SHIFTCLICK, SHIFTLEFTDRAG, VERIFYARRAYPROPERTYTOFILE, VERIFYBINARYFILETOFILE, VERIFYCLIPBOARDTOFILE, VERIFYFILETOFILE, VERIFYGUIIMAGETOFILE, VERIFYOBJECTDATATOFILE, VERIFYPROPERTY, VERIFYPROPERTYCONTAINS, VERIFYPROPERTYTOFILE, VERIFYTEXTFILETOFILE, VERIFYVALUECONTAINS, VERIFYVALUEEQUALS, VERIFYVALUES, VERIFYVALUESIGNORECASE, VSCROLLTO, WAITFORGUI, WIN_MAXIMIZED, WIN_MINIMIZED, WIN_NORMAL
 
Fields inherited from class org.safs.ComponentFunction
action, compName, mapname, utils, windowName
 
Fields inherited from class org.safs.Processor
breakpointsOn, CASE_INSENSITIVE_FLAG, CASEINSENSITIVE_FLAG, clearProxiesAlways, commandLineBreakpoint, customStr, customText, DEBUG_MESSAGE, debugStr, debugText, DEFAULT_CUSTOM_PROCESSOR_PACKAGE, DEFAULT_CUSTOM_PROCESSOR_SUBPACKAGE, DEFAULT_PROCESSOR_PACKAGE, FAILED_MESSAGE, FAILED_OK_MESSAGE, failedStr, failedText, FAILURE_DETAIL, GENERIC_MESSAGE, genericStr, genericText, LINE_FAILURE_4, log, myBreakpointsOn, otherStr, otherText, PARAM_SIZE_1, PARAM_SIZE_2, PARAM_SIZE_3, PARAM_SIZE_4, params, PASSED_MESSAGE, passedStr, passedText, PRE_TXT_SUCCESS_4, PRE_TXT_SUCCESS_5, processorConfigSet, processorMap, recordProcessed, RECTYPE_DRIVER_COMMAND, RECTYPE_DRIVER_COMMAND_F, RECTYPE_DRIVER_COMMAND_W, RECTYPE_TEST_STEP, RECTYPE_TEST_STEP_F, RECTYPE_TEST_STEP_W, RFSMCache, RFSMOnly, RFT_FIND_SEARCH_MODE_ALGORITHM, RFT_FIND_SEARCH_MODE_CACHE, SAFS_CLEARPROXIESALWAYS_ITEM, SAFS_COMMANDLINEBREAKPOINT_ITEM, SAFS_COMMANDLINEBREAKPOINT_VARIABLE, SAFS_PARAMS_FILE, SAFS_RESBUN_NAME, SAFS_SECSWAITFORCOMPONENT_ITEM, SAFS_SECSWAITFORCOMPONENT_VARIABLE, SAFS_SECSWAITFORWINDOW_ITEM, SAFS_SECSWAITFORWINDOW_VARIABLE, SAFS_TESTDOMAINS_ITEM, SAFS_TESTDOMAINS_VARIABLE, secsWaitForComponent, secsWaitForWindow, SENT_MSG_3, testDomains, testRecordData, TXT_FAILURE_1, TXT_FAILURE_2, TXT_FAILURE_3, TXT_FAILURE_4, TXT_FAILURE_5, TXT_SUCCESS_1, TXT_SUCCESS_2, TXT_SUCCESS_2a, TXT_SUCCESS_3, TXT_SUCCESS_3a, TXT_SUCCESS_4, TXT_SUCCESS_5, WARNING_MESSAGE, WARNING_OK_MESSAGE, warningStr, warningText
 
Constructor Summary
CFWPFMenuBar()
           
 
Method Summary
protected  MenuTreeNode getNewTreeNode(java.lang.Object userObject, int siblingCounter, int childrenCounter)
          Note: Needed to be overrided for other application than Swing.
protected  java.lang.String getPropertyText(TestObject testObject)
          Note: Override that of its superclass.
protected  java.lang.String getPropertyTextName()
           
protected  java.lang.Integer getSubMenuItemCount(TestObject aMenuObj)
          Note: This is a static method, used by extractMenuItems()
protected  boolean isMenuBar(TestObject menuObject)
          Note: Needed to be override in subclass.
protected  boolean isMenuItem(TestObject menuObject)
          Note: Needed to be override in subclass.
protected  boolean isPopupMenu(TestObject menuObject)
           
static java.lang.String removeFisrtChar(java.lang.String originalString, java.lang.String toBeremoved)
           
static Tree staticExtractMenuItems(java.lang.Object obj, int level)
          Note: This method is used by the RDDGUIUtilities.java
 
Methods inherited from class org.safs.rational.CFMenuBar
captureObjectData, convertToMap, extractMenuItems, getAbsoluteFileName, getPath, getStatus, getSubMenuItemFullPath, localProcess, selectMenuBar, selectMenuItem, selectMenuItemContains, selectMenuItemWithoutVerification, selectMenuItemWithVerification, selectUnverifiedMenuItem, selectUnverifiedPopupMenuItem, verifyMenuBar, verifyMenuItem, verifyMenuItemContains, verifyPopupMenu
 
Methods inherited from class org.safs.rational.CFComponent
action_GetSaveTextFromGUI, captureObjectDataToFile, checkForCoord, checkForCoord, componentClick, convertObjectValueToString, extractTreeItemsSub, findMenuBars, formatObjectData, getAppletsBrowser, getComponentRectangle, getHelpers, getKeepEncodingConsistent, getObjectProperty, getObjectPropertyFromProperties, getUserObject, isDotnetDomain, isFlexDomain, isHtmlDomain, isJavaDomain, isSwtDomain, isSWTWidget, isWinDomain, listAllProperties, listAllProperties, listMethods, listNonValueProperties, listProperties, locateScreenImage, matchedPathOfMenuItem, mouseClick, parseWhereInfo, performClick, preformDrag, process, selectMenuItem, sendEvent, sendFlexEvent, setKeepEncodingConsistent, setPosition, tobj, verifyMenuItem
 
Methods inherited from class org.safs.ComponentFunction
action_getGuiImage, action_verifyGuiImageToFile, componentExecutedFailureMessage, componentFailureMessage, componentSuccessMessage, convertCoords, convertLine, convertNum, getAlternateParams, getHelpersWorker, issueActionFailure, issueActionOnXFailure, issueErrorPerformingAction, issueErrorPerformingActionOnX, issueFileErrorFailure, issueInputRecordFailure, issueParameterCountFailure, issueParameterCountFailure, issueParameterValueFailure, issuePassedSuccess, issuePassedSuccessUsing, issueUnknownErrorFailure, isSupportedRecordType, lookupAppMapCoordReference, lookupAppMapLineReference, lookupAppMapNumReference, lookupAppMapReference, setRectVars, updateFromTestRecordData
 
Methods inherited from class org.safs.Processor
activateBreakpoint, checkBreakpoints, checkMyBreakpoints, delay, distributeConfigInformation, getAppMapItem, getChainedProcessor, getClassInstance, getClearProxiesAlways, getCustomProcClassNames, getCustomProcInstancePath, getLogUtilities, getParams, getProcClassNames, getProcInstance, getProcInstancePath, getRequiredField, getSecsWaitForComponent, getSecsWaitForWindow, getStandardErrorMessage, getTestRecordData, getVariable, hasChainedProcessor, initProcessorAndProcess, instanceProcessorAndProcess, isBreakpointsOn, isComponentFunctionRecord, isDriverCommandRecord, isEngineCommandRecord, isMyBreakpointsOn, isRecordProcessed, isRFSMCache, isRFSMOnly, paramsFailedMsg, paramsFailedMsg, processCustomProcessor, processSubclassProcessor, setBreakpointsOn, setChainedProcessor, setClearProxiesAlways, setCommandLineBreakpoint, setCustomProcInstancePath, setLogUtilities, setMyBreakpointsOn, setParams, setProcInstance, setProcInstancePath, setRecordProcessed, setRFSMCache, setRFSMOnly, setSecsWaitForComponent, setSecsWaitForWindow, setTestDomains, setTestRecordData, setVariable, standardFailureMessage, substituteVariable, validateParamSize, validProcessorClassName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_MENU_NAME

public static final java.lang.String CLASS_MENU_NAME
See Also:
Constant Field Values

CLASS_CONTEXTMENU_NAME

public static final java.lang.String CLASS_CONTEXTMENU_NAME
See Also:
Constant Field Values

CLASS_MENUITEM_NAME

public static final java.lang.String CLASS_MENUITEM_NAME
See Also:
Constant Field Values

CLASS_SEPARATOR_NAME

public static final java.lang.String CLASS_SEPARATOR_NAME
See Also:
Constant Field Values

PROPERTY_COUNT

public static final java.lang.String PROPERTY_COUNT
See Also:
Constant Field Values

METHOD_GET_ITEM_AT

public static final java.lang.String METHOD_GET_ITEM_AT
See Also:
Constant Field Values

PROPERTY_HEADER

public static final java.lang.String PROPERTY_HEADER
See Also:
Constant Field Values

PROPERTY_MENU_ITEMS

public static final java.lang.String PROPERTY_MENU_ITEMS
See Also:
Constant Field Values

SHORT_CUT_KEY_UNDERSCORE

public static final java.lang.String SHORT_CUT_KEY_UNDERSCORE
See Also:
Constant Field Values
Constructor Detail

CFWPFMenuBar

public CFWPFMenuBar()
Method Detail

staticExtractMenuItems

public static Tree staticExtractMenuItems(java.lang.Object obj,
                                          int level)
                                   throws SAFSException
Note: This method is used by the RDDGUIUtilities.java

Throws:
SAFSException

getSubMenuItemCount

protected java.lang.Integer getSubMenuItemCount(TestObject aMenuObj)
Note: This is a static method, used by extractMenuItems()

Overrides:
getSubMenuItemCount in class CFMenuBar
Parameters:
aMenuObj - -- Typically a MenuItem proxy. Will be cast to TestObject.
Returns:
Integer -- the number of child Menus or MenuItems or 0.

getPropertyText

protected java.lang.String getPropertyText(TestObject testObject)
Note: Override that of its superclass. In .NET_WPF, the text property of menuitem is represented by string "Header".

Overrides:
getPropertyText in class CFMenuBar
Returns:
The value of "text" property of a menuitem.

getPropertyTextName

protected java.lang.String getPropertyTextName()
Overrides:
getPropertyTextName in class CFMenuBar

isMenuBar

protected boolean isMenuBar(TestObject menuObject)
                     throws SAFSException
Description copied from class: CFMenuBar
Note: Needed to be override in subclass. "uIClassID" is a property specific for java swing object, we use this property to test what UI Component it is. This can only work for swing.

Overrides:
isMenuBar in class CFMenuBar
Parameters:
menuObject - A TestObject represents a MenuBar or PopupMenu or Menu or MenuItem
Returns:
True if the TestObject is MenuBar or PopupMenu. False otherwise.
Throws:
SAFSException

isMenuItem

protected boolean isMenuItem(TestObject menuObject)
                      throws SAFSException
Description copied from class: CFMenuBar
Note: Needed to be override in subclass. We just call isMenuBar() to make the test.

Overrides:
isMenuItem in class CFMenuBar
Parameters:
menuObject - A TestObject represents a MenuBar or PopupMenu or Menu or MenuItem
Returns:
True if the TestObject is Menu or MenuItem. False otherwise.
Throws:
SAFSException

isPopupMenu

protected boolean isPopupMenu(TestObject menuObject)
                       throws SAFSException
Overrides:
isPopupMenu in class CFMenuBar
Returns:
True if the menuObject is a popupMenu; False otherwise.
Throws:
SAFSException

getNewTreeNode

protected MenuTreeNode getNewTreeNode(java.lang.Object userObject,
                                      int siblingCounter,
                                      int childrenCounter)
Description copied from class: CFMenuBar
Note: Needed to be overrided for other application than Swing.

Overrides:
getNewTreeNode in class CFMenuBar
Returns:
An apporiate MenuTreeNode. For Example, a JavaMenuTreeNode for java application; a DotNetMenuTreeNode for .NET application.

removeFisrtChar

public static java.lang.String removeFisrtChar(java.lang.String originalString,
                                               java.lang.String toBeremoved)