ADD_UI.PRG
-----------

This AddIn demonstrates:

* how you might add a button to the Coverage Standard UI's main dialog

* the way the Coverage Standard UI's main dialog accommodates itself to a new button

* how to add a button to the Coverage Standard UI's main dialog's tool container

* standard Coverage error handling (not required for members you add to Coverage objects, but useful to know and convenient to show here!)

The AddIn itself creates a button that becomes a member of the main dialog. The Click code of the button you add with *this* AddIn creates a member of the main dialog's tool container.

Either type of button can call some other AddIn conveniently, without going through the AddIn dialog.  The Click code of the second button you add into the tool container when you press the first button, calls the FIND_REC AddIn!

The most convenient way to add a button or other control into the Standard UI class is to use the main dialog's .AddTool(<classname>) method, which is how the first sample button in this AddIn creates the second button.  When you use this method, the main dialog and its tool container will take care of appropriate dialog dimensions etc.  

If there is an AddIn you use all the time, therefore, you can make it available in the main dialog like this:

  * SET PROC or CLASSLIB as needed
  _oCoverage.frmMainDialog.AddTool("YourControl")
  * RELEASE the PROC or CLASSLIB
  
In this example, "YourControl" executes the engine's RunAddIn() method with your favorite AddIn.

These two sample button classes are descended from a common superclass.  All three button classes are DEFINEd within the ABUTTON.PRG for convenience.  You may want to use the Coverage Engine's method of SETting and RELEASEing Class Libraries when you need to make your libraries available while instantiating other AddIns. (The Cov_Standard Standard UI class will show you the relevant code in its .ShowModalDialog() method, which SETs and RELEASEs a classlibrary when it creates the dialog.)