SQABasic "ToolBarFunctions" Library

 MODULE DESCRIPTION:

      Routines and utilities to work on SQA Type=TOOLBAR objects in
      Data-Driven Automation.
      At this time, the library cannot support Robot V2003 .NET proxies.
      For V2003 .NET resort to the Generic Click command requiring coordinates.

 SUPPORTED ACTION COMMANDS:

      ClickButtonText                 'Click a toolbar button using the button's text
      ClickButton                     'Same as ClickButtonText (backwards compatibility)
      ClickUnverifiedButtonID         'Click a toolbar button using the button's ID
      ClickUnverifiedButtonText       'Click a toolbar button using the button's text
      VerifyButtonClicked             'Verify the button item is clicked or selected
      VerifyButtonUnClicked           'Verify the button item is not clicked or selected
      VerifyButtonText                'Verify the button item is exists
      VerifyButtonCount               'Verify the button count

 Orig Author: Natarajan Balashanmugam (Nat)
 Orig   Date: FEB 18, 2003
 History:

      FEB 18, 2003    Original Release
      JUL 01, 2005    Added ClickButtonItemID command (chschr)
      JUL 01, 2005    Removed itemID and case sensitivity parameters
                      from ClickUnverifiedButtonText (chschr)
      JUL 08, 2005    Removed verify processing from ClickButtonText.
                      This command is now ClickUnverifiedButtonText (chschr)
      AUG 03, 2005    (CANAGL) Cleanup and 'CaseInsensitive' support added.

 Copyright (2003) Management Science Associates Inc. All rights reserved.
 GNU General Public License: http://www.opensource.org/licenses/gpl-license.php
Declarations Constants Global Variables User-Defined Types Routine Details

User Dependencies:

(stuff the developer's library/script $INCLUDES at compile time.)
(Note: The order of items may matter and may be different for your code.)

Internal Dependencies:

(stuff this library needs at compile time.)

Exported Declarations

Function GetToolBarIndexText     BasicLib ToolBarFunctions 
Function GetToolBarTextIndex     BasicLib ToolBarFunctions 
Function GetToolBarSelection     BasicLib ToolBarFunctions 
Function VerifyToolBarButtonTextSelection  BasicLib ToolBarFunctions 
Function VerifyToolBarButtonTextExists  BasicLib ToolBarFunctions 

Routine Details



   Sub VerifyButtonCount ()


 DESCRIPTION:

      Routine to verify total button presents in the Toolbar.  Count includes buttons which are not
      visible as well.

      The routine expects that the given object already has Context or Focus.
      It also expects that Global StepDriverTestInfo contains all the information
      it needs to perform its function.

 DATA TABLE PARAMETERS:

      FLD     CONTENT
      ---     ------------------------------
       5      Integer Value (Button count) on the Toolbar.


 ERRORS:

      none

 Orig Author: Natarajan Balashanmugam (Nat)
 Orig   Date: Feb 21, 2003
 History:

      FEB 21, 2003    Original Release
      FEB 28, 2006    (CANAGL) Added .NET support




   Sub VerifyButtonText ()


 DESCRIPTION:

      Routine to verify a particular Button Text item exists.  If comparison value is missing or
      wrongly populated then default comparison is case-sensitive.

      The routine expects that the given object already has Context or Focus.
      It also expects that Global StepDriverTestInfo contains all the information
      it needs to perform its function.

 DATA TABLE PARAMETERS:

      FLD     CONTENT
      ---     ------------------------------
       5      Case-sensitive text of button to verify as exists.
      [6]     Optional string comparison mode. (Default to case-sensitive mode).
              [1] For Case-insensitive comparison.
              [CASEINSENSITIVE] For Case-insensitive comparison.
              [CASE-INSENSITIVE] For Case-insensitive comparison.
              Omit or set to any other value to perform a case-sensitive string comparison.

 ERRORS:

      none

 Orig Author: Natarajan Balashanmugam (Nat)
 Orig   Date: Feb 21, 2003
 History:

      FEB 21, 2003    Original Release
      AUG 03, 2005    (CANAGL) Cleanup and 'CaseInsensitive' support added.




   Sub VerifyButtonClicked (Optional unselected)


 DESCRIPTION:

      Routine to verify a particular Button item is clicked.  Button Text comparison is
      case-sensitive by default.

      The routine expects that the given object already has Context or Focus.
      It also expects that Global StepDriverTestInfo contains all the information
      it needs to perform its function.

 DATA TABLE PARAMETERS:

      FLD     CONTENT
      ---     ------------------------------
       5      Case-sensitive text of button to verify as clicked.

 INTERNAL USE SUBROUTINE PARAMETERS (subject to change at a whim):

      unselected  Optional parameter to test that an item is NOT selected (unselected=1).
                  This is for the Unselected set of commands.

 ERRORS:

      none

 Orig Author: Natarajan Balashanmugam (Nat)
 Orig   Date: Feb 19, 2003
 History:

      FEB 19, 2003    Original Release
      AUG 02, 2005    (CANAGL) refactored to use TBFVerifyButtonTextSelection




   Sub ClickUnverifiedButtonID ()


 DESCRIPTION:

      Routine to Click a toolbar button according to its ID.

      The routine expects that the given object already has Context or Focus.
      It also expects that Global StepDriverTestInfo contains all the information
      it needs to perform its function.

 DATA TABLE PARAMETERS:

      FLD     CONTENT
      ---     ------------------------------
       5      ID of button to click.

 ERRORS:

      none

 Orig Author: Chris Schroter
 Orig   Date: JUL 01, 2005
 History:

      JUL 01, 2005    Original Release





   Sub ClickButtonText (Optional skipVerify)


 DESCRIPTION:

      Routine to Click an item(Button) according to its text(Key) value.  After the selection
      we attempt to verify that the item is actually selected.

      The routine expects that the given object already has Context or Focus.
      It also expects that Global StepDriverTestInfo contains all the information
      it needs to perform its function.

 DATA TABLE PARAMETERS:

      FLD     CONTENT
      ---     ------------------------------
       5      Case-sensitive text of button to click and verify click.

      [6]     Optional string comparison mode. (Default to case-sensitive mode).
              [1] For Case-insensitive comparison.
              [CASEINSENSITIVE] For case-insensitive comparison
              [CASE-INSENSITIVE] For case-insensitive comparison
              Omit or set to any other value to perform a case-sensitive string comparison.

 INTERNAL USE SUBROUTINE PARAMETERS (subject to change at a whim):

      skipVerify  Optional parameter to disable (skipVerify=1) post-selection verifications.
                  This is for the Unverified set of commands.

 ERRORS:

      none

 Orig Author: Natarajan Balashanmugam (Nat)
 Orig   Date: FEB 19, 2003
 History:

      FEB 19, 2003    Original Release
      AUG 03, 2005    (CANAGL) Cleanup and 'CaseInsensitive' support added.





   Sub Main ()

 DESCRIPTION:

      Entry point to process a StepDriver ACTION COMMAND on a TOOLBAR.
      The routine merely reads the Global StepDriverTestInfo.testcommand and
      calls the appropriate subroutine to process it.

      If the testcommand is unrecognized it will log a WARNING_MESSAGE and
      exit with a WARNING status.

 DATA TABLE PARAMETERS:

      none    -   the called subroutine has the requirements

 ERRORS:

      none

 Orig Author: Natarajan Balashanmugam (Nat)
 Orig   Date: FEB 18, 2003
 History:

      FEB 18, 2003    Original Release
      JUL 01, 2005    Added ClickButtonItemID command (chschr)
      JUL 01, 2005    Removed itemID and case sensitivity parameters
                      from ClickUnverifiedButtonText (chschr)
      JUL 08, 2005    Removed verify processing from ClickButtonText.
                      This command is now ClickUnverifiedButtonText (chschr)
      FEB 28, 2006    (CANAGL) added support for .NET


Copyright (C) SAS Institute
GNU General Public License: http://www.opensource.org/licenses/gpl-license.php 
==============================================================================