<HTML>
<HEAD>
<TITLE>Local Variables Help</TITLE>
</HEAD>
<BODY>
<H1>The Local Variables Window</H1>
<H2>Overview</H2>
<p>The Local Variables Window displays all local variables in scope. It may be used to
visualize and edit local variables. To open the Local Variables window, click on
small house icon on the toolbar, or select "Local Variables" under the View 
pulldown menu.</p>

<H3>Locals Display</H3>

<p>Pointers, structures, and classes appear in the display with small expansion
box before their names. To dereference pointers or
view the members of classes or structures, click
the closed expansion box (which appears as a small plus sign, "+") to "expand"
the listing. The expansion box changes to a minus sign, "-", indicating that the
display is now open. Pointers, structures and classes may be expanded recursively
to allow multiple pointer dereferences and embedded structure viewing.</p>

<P>The Locals Display updates after every execution of the program and highlights
in green those variables whose values have changed.</P>

<P>The Locals Window will, by default, display all pointers in hexadecimal and all
other variables in decimal. To change the display format for a variable, select
the Format option from the popup-menu.</P>

<H3>Editing a Variable</H3>
<p>To edit a variable, either double-click the left mouse button on the value of the variable in
the display or select the Edit option from the pop-up menu. To abort editing a variable's value, 
simply press the escape key on the keyboard. The variable's original value is restored.</p>

<H3>Local Variable Pop-up Menu</H3>
<p>The pop-up menu provides quick access to the functions of the Local Variables Window.
To use the pop-up menu, click the right mouse button while over a variable.</p>
<DL>
    <dt>Format<dd>Change the display format of the variable.</dd></dt>
    <dt>Edit<dd>Edit the variable's value.</dd></dt>
    <dt>Delete<dd>Remove the variable from the display.</dd></dt>
    <dt>Dump Memory<dd>Open a Memory Window with the variable's value as an aaddress.</dd></dt>
    <dt>Help<dd>Open this help page.</dd></dt>
    <dt>Close<dd>Close the Local Variables Window.</dd></dt>
</DL>
</BODY>
</HTML>
