<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
  <package name="LCL">
    <!--
    ====================================================================
      CalcForm
    ====================================================================
    -->
    <module name="CalcForm">
      <short>Contains classes and types used in TCalculatorForm.</short>
      <descr>
        <p>
          <file>calcform.pas</file> contains classes and types used in <var>TCalculatorForm</var>, a dialog form used to display a calculator. It is part of the Lazarus Component Library (<b>LCL</b>).
        </p>
      </descr>

      <!-- used units -->
      <element name="Classes"/>
      <element name="SysUtils"/>
      <element name="LazUtilities"/>
      <element name="Forms"/>
      <element name="Controls"/>
      <element name="Graphics"/>
      <element name="StdCtrls"/>
      <element name="ExtCtrls"/>
      <element name="Buttons"/>
      <element name="Menus"/>
      <element name="Clipbrd"/>
      <element name="WSExtDlgs"/>
      <element name="LCLStrConsts"/>

      <element name="CalcDefPrecision">
        <short>
          Defines the default number of digits of precision used for values in TCalculatorForm.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorCalcKeyEvent">
        <short>
          Specifies an event handler signalled for Key events occurring in TCalculatorForm.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorCalcKeyEvent.Key">
        <short>Key value examined in the event handler.</short>
      </element>

      <element name="TCalculatorDispChangeEvent">
        <short>
          Specifies an event handler signalled when the display in TCalculatorForm is changed.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorState">
        <short/>
        <descr>
          <p>
            <var>TCalculatorState</var> is an enumerated type with values that represent the status for keys/operations in the calculator. TCalculatorState is the type used to implement the <var>Status</var> property in <var>TCalculatorPanel</var>.
          </p>
        </descr>
        <seealso>
          <link id="TCalculatorPanel.Status"/>
        </seealso>
      </element>
      <element name="TCalculatorState.csFirst">
        <short>Value on the First key press.</short>
      </element>
      <element name="TCalculatorState.csValid">
        <short>Value after the operation for the key has been applied successfully.</short>
      </element>
      <element name="TCalculatorState.csError">
        <short>Value when the operation resulted in an error.</short>
      </element>

      <element name="TCalculatorLayout">
        <short/>
        <descr>
          <p>
            <var>TCalculatorLayout</var> is an enumerated type with values that represent the layout for keys and panels on a calculator form. TCalculatorLayout is passed as an argument to the <var>CreateCalculatorForm</var> routine, and to methods in <var>TCalculatorForm</var> and <var>TCalculatorPanel</var>.
          </p>
        </descr>
        <seealso>
          <link id="TCalculatorForm.Create"/>
          <link id="TCalculatorForm.InitForm"/>
          <link id="TCalculatorPanel.CreateLayout"/>
        </seealso>
      </element>
      <element name="TCalculatorLayout.clNormal">
        <short>The default layout with larger button sizes and more whitespace.</short>
      </element>
      <element name="TCalculatorLayout.clSimple">
        <short>The compact layout with smaller button sizes.</short>
      </element>

      <element name="TCalculatorPanel">
        <short>
          Implements a panel used for buttons and the value display in a calculator form.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.FText"/>
      <element name="TCalculatorPanel.FStatus"/>
      <element name="TCalculatorPanel.FOperator"/>
      <element name="TCalculatorPanel.FOperand"/>
      <element name="TCalculatorPanel.FMemory"/>
      <element name="TCalculatorPanel.FPrecision"/>
      <element name="TCalculatorPanel.FBeepOnError"/>
      <element name="TCalculatorPanel.FMemoryPanel"/>
      <element name="TCalculatorPanel.FMemoryLabel"/>
      <element name="TCalculatorPanel.FOnError"/>
      <element name="TCalculatorPanel.FOnOk"/>
      <element name="TCalculatorPanel.FOnCancel"/>
      <element name="TCalculatorPanel.FOnResult"/>
      <element name="TCalculatorPanel.FOnTextChange"/>
      <element name="TCalculatorPanel.FOnCalcKey"/>
      <element name="TCalculatorPanel.FOnDisplayChange"/>
      <element name="TCalculatorPanel.FControl"/>

      <element name="TCalculatorPanel.SetCalcText">
        <short>Sets the value for the text property.</short>
        <descr/>
        <seealso>
          <link id="TCalculatorPanel.Text"/>
        </seealso>
      </element>
      <element name="TCalculatorPanel.SetCalcText.Value">
        <short>New value for the property.</short>
      </element>

      <element name="TCalculatorPanel.CheckFirst">
        <short>Ensures that Text is updated and displayed when Status is csFirst.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.CalcKey">
        <short>
          Performs actions for a key press not handled by a button in the calculator panel.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorPanel.CalcKey.Key">
        <short/>
      </element>

      <element name="TCalculatorPanel.Clear">
        <short>Clears the display and operator in the calculator panel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.Error">
        <short>
          Updates the calculator panel to reflect an error condition, and signals OnError.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.SetDisplay">
        <short>
          Sets the Text in the calculator panel to the specified value, and signals OnDisplayChange.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorPanel.SetDisplay.R">
        <short>Double value formatted and assigned to the Text property.</short>
      </element>

      <element name="TCalculatorPanel.GetDisplay">
        <short>Gets the Double value represented in the Text property.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorPanel.GetDisplay.Result">
        <short/>
      </element>

      <element name="TCalculatorPanel.FindButton">
        <short>Finds the calculator button which handles the specified key character.</short>
        <descr>
          <p>
            <var>Key</var> contains  a character value to locate in the button captions on the panel. Keys which are not represented by buttons, like <b>Enter</b> (#13) and <b>Escape</b> (#27), are translated to the value used for the target button. In addition, when ',' is used as the decimal separator on the system, it is translated into the '.' decimal notation.
          </p>
          <p>
            FindButton iterates through the <var>Controls</var> on the panel to locate the button using the associated Key. The return value is <b>Nil</b> when a button is not located for the value in Key.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TCalculatorPanel.FindButton.Result">
        <short>
          Button which handles the Key, or Nil when no button is available for Key.
        </short>
      </element>
      <element name="TCalculatorPanel.FindButton.Key">
        <short>Key character to locate in the buttons for the calculator panel.</short>
      </element>

      <element name="TCalculatorPanel.BtnClick">
        <short>Translates a mouse click on a button to the character key used in CalcKey.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorPanel.BtnClick.Sender">
        <short>Calculator button for the button click notification.</short>
      </element>

      <element name="TCalculatorPanel.ErrorBeep">
        <short/>
        <descr>
          ErrorBeep is an empty implementation in the current LCL version.
        </descr>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.TextChange">
        <short>Sets the display text for the associated control and signals OnTextChange.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.CreateLayout">
        <short>
          Initializes and configures the calculator panel using the specified layout.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorPanel.CreateLayout.AOwner">
        <short/>
      </element>
      <element name="TCalculatorPanel.CreateLayout.ALayout">
        <short/>
      </element>

      <element name="TCalculatorPanel.CalcKeyPress">
        <short>Locates the button using the specified Key and perform its Click method.</short>
        <descr>
          CalcKey is called when a button is located using the specified Key.
        </descr>
        <seealso/>
      </element>
      <element name="TCalculatorPanel.CalcKeyPress.Sender">
        <short>Object for the KeyPress event.</short>
      </element>
      <element name="TCalculatorPanel.CalcKeyPress.Key">
        <short>Key value captured in the panel.</short>
      </element>

      <element name="TCalculatorPanel.Copy">
        <short>Loads the value in Text into the Clipboard as a text value.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.Paste">
        <short>
          Pastes text from the Clipboard into the text display for the calculator panel.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.WorkingPrecision">
        <short>Gets the minimum number of precision digits allowable for the panel.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorPanel.WorkingPrecision.Result">
        <short/>
      </element>

      <element name="TCalculatorPanel.UpdateMemoryLabel">
        <short>
          Updates the Memory indicator to reflect a non-zero value in the Memory property.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.DisplayValue">
        <short>Contains the Double value representing the Text in the panel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.Memory">
        <short>Contains the Double value stored in the memory for the calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.Precision">
        <short>
          Maximum number of digits of precision allowed for the Double value in the calculator.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.BeepOnError">
        <short>
          Indicates if a beep occurs when an error condition is detected in the calculator panel.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.Status">
        <short>
          Contains the status or state for the calculator panel.
        </short>
        <descr>
        </descr>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.OperatorChar">
        <short>Character representing the last operator entered in the calculator panel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.Text">
        <short>Text representation for the Double value in the calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.OnOkClick">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.OnCancelClick">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.OnResultClick">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.OnError">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.OnTextChange">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.OnCalcKey">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.OnDisplayChange">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorPanel.Color">
        <short>Color for the calculator panel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorForm">
        <short>
          Implements the form used to display a calculator in a TCalculatorDialog.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorForm.FMainPanel"/>
      <element name="TCalculatorForm.FCalcPanel"/>
      <element name="TCalculatorForm.FDisplayPanel"/>
      <element name="TCalculatorForm.FDisplayLabel"/>
      <element name="TCalculatorForm.FOnCalcKey"/>
      <element name="TCalculatorForm.FOnDisplayChange"/>
      <element name="TCalculatorForm.FMenu"/>

      <element name="TCalculatorForm.FormKeyPress">
        <short>
          Performs actions needed to handle OnKeyPress events in the calculator form.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.FormKeyPress.Sender">
        <short>Object for the event notification.</short>
      </element>
      <element name="TCalculatorForm.FormKeyPress.Key">
        <short>Key handled in the event handler.</short>
      </element>

      <element name="TCalculatorForm.CopyItemClick">
        <short>Implements a copy menu item in the pop-up menu for the form.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.CopyItemClick.Sender">
        <short>Object for the event notification.</short>
      </element>

      <element name="TCalculatorForm.GetValue">
        <short>Gets the value for the Value property.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.GetValue.Result">
        <short>Value for the property.</short>
      </element>

      <element name="TCalculatorForm.PasteItemClick">
        <short>Implements a paste menu item in the pop-up menu for the form.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.PasteItemClick.Sender">
        <short/>
      </element>

      <element name="TCalculatorForm.SetValue">
        <short>Sets the value for the Value property.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.SetValue.AValue">
        <short>New value for the property.</short>
      </element>

      <element name="TCalculatorForm.OkClick">
        <short>Performs actions needed when the OK button is clicked.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.OkClick.Sender">
        <short/>
      </element>

      <element name="TCalculatorForm.CancelClick">
        <short>Performs actions needed when the Cancel button is clicked.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.CancelClick.Sender">
        <short>Object for the event notification.</short>
      </element>

      <element name="TCalculatorForm.CalcKey">
        <short>Performs actions needed for a key received in the calculator form.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.CalcKey.Sender">
        <short>Object for the event notification.</short>
      </element>
      <element name="TCalculatorForm.CalcKey.Key">
        <short>Key examined in the method.</short>
      </element>

      <element name="TCalculatorForm.DisplayChange">
        <short>Performs actions needed when the calculator display is changed.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.DisplayChange.Sender">
        <short>Object for the event notification.</short>
      </element>

      <element name="TCalculatorForm.InitForm">
        <short>Initializes the calculator form using the specified layout.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.InitForm.ALayout">
        <short>Layout applied to the calculator form instance.</short>
      </element>

      <element name="TCalculatorForm.Create">
        <short>Constructor for the class instance.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCalculatorForm.Create.AOwner">
        <short>Owner of the class instance.</short>
      </element>
      <element name="TCalculatorForm.Create.ALayout">
        <short>TCalculatorLayout used for the form instance.</short>
      </element>

      <element name="TCalculatorForm.Value">
        <short>Value displayed or returned from the calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorForm.MainPanel">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorForm.CalcPanel">
        <short>Panel with the calculator keys, operators,memory buttons, et. al.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorForm.DisplayPanel">
        <short>Panel for the display area on the calculator form.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorForm.DisplayLabel">
        <short>Label used to display the value in the panel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorForm.OnCalcKey">
        <short>Event handler signalled to handle keys press on the calculator form.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCalculatorForm.OnDisplayChange">
        <short>Event handler signalled when the calculator display has been changed.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="CreateCalculatorForm">
        <short>Creates and configures a new TCalculatorForm instance.</short>
        <descr/>
        <seealso>
          <link id="TCalculatorForm"/>
          <link id="TCalculatorLayout"/>
        </seealso>
      </element>
      <element name="CreateCalculatorForm.Result">
        <short>Form instance created in the method.</short>
      </element>
      <element name="CreateCalculatorForm.AOwner">
        <short>Owner for the new form instance.</short>
      </element>
      <element name="CreateCalculatorForm.ALayout">
        <short>Layout for the calculator panel in the form instance.</short>
      </element>

      <element name="CreateCalculatorForm.AHelpContext">
        <short/>
      </element>

      <element name="cColorBtnDigits">
        <short>Color for the numeric digit buttons in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cColorBtnMemory">
        <short>Color for the Memory button in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cColorBtnClear">
        <short>Color for the Clear button in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cColorBtnOk">
        <short>Color for the OK button in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cColorBtnCancel">
        <short>Color for the Cancel button in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cColorBtnOthers">
        <short>Color for miscellaneous "other" buttons in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cColorDisplayText">
        <short>Color for text on the display area for a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cColorDisplayBack">
        <short>Color for the background of the display area in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cCalculatorFontName">
        <short>Font name used for buttons and displays in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cCalculatorFontSize">
        <short>Font size used for buttons and displays in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cCalculatorFontStyle">
        <short>Font style used for buttons and displays in a calculator.</short>
        <descr/>
        <seealso/>
      </element>

    </module>
    <!-- CalcForm -->
  </package>
</fpdoc-descriptions>
