<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
  <package name="lcl">
    <!--
    ====================================================================
      Toolwin
    ====================================================================
    -->
    <module name="Toolwin">
      <short>
        Implements a control which can paint its client area with optional borders.
        </short>
      <descr>
        <p>
          <file>toolwin.pp</file> implements a control which can paint its client area with optional borders using a raised or lowered drawing style. It defines the common ancestor for controls like TToolBar and TCoolBar.
        </p>
      </descr>

      <!-- unresolved type references Visibility: default -->
      <element name="Classes"/>
      <element name="SysUtils"/>
      <element name="LCLType"/>
      <element name="LCLIntf"/>
      <element name="Controls"/>
      <element name="Graphics"/>
      <element name="StdCtrls"/>
      <element name="GraphType"/>

      <!-- enumeration type Visibility: default -->
      <element name="TEdgeBorder">
        <short>
          Enumeration with values that indicate the border edges to draw in TToolWindow.
        </short>
        <descr>
          <p>
            <var>TEdgeBorder</var> is an enumeration type with values that indicate the border edges to draw in <var>TToolWindow</var>. Values in TEdgeBorder are stored in the <var>TEdgeBorders</var> set type.
          </p>
        </descr>
        <seealso>
          <link id="TToolWindow"/>
          <link id="TEdgeBorders"/>
        </seealso>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TEdgeBorder.ebLeft">
        <short>Draws the border on the left edge of the control.</short>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TEdgeBorder.ebTop">
        <short>Draws the border on the top edge of the control.</short>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TEdgeBorder.ebRight">
        <short>Draws the border on the right edge of the control.</short>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TEdgeBorder.ebBottom">
        <short>Draws the border on the bottom edge of the control.</short>
      </element>

      <!-- set type Visibility: default -->
      <element name="TEdgeBorders">
        <short>
          Set used to store TEdgeBorder enumeration values.
        </short>
        <descr>
          <p>
            <var>TEdgeBorders</var> is a set type used to store values from the <var>TEdgeBorder</var> enumeration. TEdgeBorders is the type used for the <var>TToolWindow.EdgeBorders</var> property.
          </p>
        </descr>
        <seealso>
          <link id="TEdgeBorder"/>
          <link id="TToolWindow.EdgeBorders"/>
        </seealso>
      </element>

      <!-- enumeration type Visibility: default -->
      <element name="TEdgeStyle">
        <short>
          Enumeration type with values that specify the drawing style for borders.
        </short>
        <descr>
          <p>
            <var>TEdgeStyle</var> is an enumeration type with values that specify the drawing style for borders on a control. TEdgeStyle is the type used to implement the <var>TToolWindow.EdgeInner</var> and <var>TToolWindow.EdgeOuter</var> properties.
          </p>
        </descr>
        <seealso>
          <link id="TToolWindow.EdgeInner"/>
          <link id="TToolWindow.EdgeOuter"/>
        </seealso>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TEdgeStyle.esNone">
        <short>No edge style is used.</short>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TEdgeStyle.esRaised">
        <short>Edge is drawn with a raised appearance.</short>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TEdgeStyle.esLowered">
        <short>Edge is drawn with a lowered or sunken appearance.</short>
      </element>

      <!-- object Visibility: default -->
      <element name="TToolWindow">
        <short>
          Implements a control which can paint its client area with borders.
        </short>
        <descr>
          <p>
            <var>TToolWindow</var> is a <var>TCustomControl</var> which supports sizing and drawing its client area with borders. TToolWindow contains properties used to specify the borders (inner and outer) for the control. Methods are provided which adjust the client rectangle for the control, and paint the control to its canvas handle with the desired border edges and style.
          </p>
          <p>
            TToolWindow is the ancestor for <var>TToolBar</var> and <var>TCoolBar</var>.
          </p>
        </descr>
        <seealso>
          <link id="#lcl.controls.TCustomControl">TCustomControl</link>
          <link id="#lcl.comctrls.TToolbar">TToolbar</link>
          <link id="#lcl.comctrls.TCustomCoolbar">TCustomCoolbar</link>
          <link id="#lcl.comctrls.TCoolbar">TCoolbar</link>
        </seealso>
      </element>

      <!-- variable Visibility: private -->
      <element name="TToolWindow.FEdgeBorders"/>
      <element name="TToolWindow.FEdgeInner"/>
      <element name="TToolWindow.FEdgeOuter"/>

      <!-- procedure Visibility: private -->
      <element name="TToolWindow.SetEdgeBorders">
        <short>Sets the value in the EdgeBorders property.</short>
        <descr></descr>
        <seealso>
          <link id="TToolWindow.EdgeBorders"/>
        </seealso>
      </element>
      <element name="TToolWindow.SetEdgeBorders.Value">
        <short>New value for the property.</short>
      </element>

      <!-- procedure Visibility: private -->
      <element name="TToolWindow.SetEdgeInner">
        <short>Sets the value for the EdgeInner property.</short>
        <descr></descr>
        <seealso>
          <link id="TToolWindow.EdgeInner"/>
        </seealso>
      </element>
      <element name="TToolWindow.SetEdgeInner.Value">
        <short>New value for the property.</short>
      </element>

      <!-- procedure Visibility: private -->
      <element name="TToolWindow.SetEdgeOuter">
        <short>Sets the value in the EdgeOuter property.</short>
        <descr></descr>
        <seealso>
          <link id="TToolWindow.EdgeOuter"/>
        </seealso>
      </element>
      <element name="TToolWindow.SetEdgeOuter.Value">
        <short>New value for the property.</short>
      </element>

      <!-- variable Visibility: protected -->
      <element name="TToolWindow.FUpdateCount">
        <short>Internal counter used in BeginUpdate and EndUpdate.</short>
      </element>

      <!-- procedure Visibility: public -->
      <element name="TToolWindow.AdjustClientRect">
        <short>
          Adjusts the client rectangle when borders are drawn for the control.
        </short>
        <descr>
          <p>
            <var>AdjustClientRect</var> is a procedure used to adjust the specified client rectangle when borders are drawn for the control. AdjustClientRect ensures that the client rectangle is increased in size according to values in <var>EdgeBorders</var> and the drawing styles in <var>EdgeOuter</var> and <var>EdgeInner</var>.
          </p>
        </descr>
        <seealso>
          <link id="TToolWindow.EdgeBorders"/>
          <link id="TToolWindow.EdgeOuter"/>
          <link id="TToolWindow.EdgeInner"/>
        </seealso>
      </element>
      <element name="TToolWindow.AdjustClientRect.ARect">
        <short>Client rectangle for the control.</short>
      </element>

      <!-- procedure Visibility: protected -->
      <element name="TToolWindow.Paint">
        <short>
          Draws the control with the borders and style needed.
        </short>
        <descr>
          <p>
            <var>Paint</var> is an overridden procedure that draws the control with the borders and styles indicated in <var>EdgeBorders</var>, <var>EdgeInner</var>, and <var>EdgeOuter</var>. Paint calls <var>DrawEdge</var> to render the control, and calls the inherited <var>Paint</var> method.
          </p>
        </descr>
        <seealso>
          <link id="TToolWindow.EdgeBorders"/>
          <link id="TToolWindow.EdgeOuter"/>
          <link id="TToolWindow.EdgeInner"/>
        </seealso>
      </element>

      <!-- constructor Visibility: public -->
      <element name="TToolWindow.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the constructor for the class instance, and calls the inherited constructor using <var>TheOwner</var> as the owner of the control. Create sets the default values for the following properties:
          </p>
          <dl>
            <dt>EdgeBorders</dt>
            <dd>Set to the value [ebLeft, ebTop, ebRight, ebBottom]</dd>
            <dt>EdgeInner</dt>
            <dd>esRaised</dd>
            <dt>EdgeOuter</dt>
            <dd>esLowered</dd>
          </dl>
        </descr>
        <seealso>
          <link id="TToolWindow.EdgeBorders"/>
          <link id="TToolWindow.EdgeOuter"/>
          <link id="TToolWindow.EdgeInner"/>
        </seealso>
      </element>
      <element name="TToolWindow.Create.TheOwner">
        <short>Owner of the class instance.</short>
      </element>

      <!-- procedure Visibility: public -->
      <element name="TToolWindow.BeginUpdate">
        <short>Increments the internal counter for buffering calls to Update.</short>
        <descr></descr>
        <seealso></seealso>
      </element>

      <!-- procedure Visibility: public -->
      <element name="TToolWindow.EndUpdate">
        <short>Decrements the internal counter for buffering calls to Update.</short>
        <descr></descr>
        <seealso></seealso>
      </element>

      <!-- property Visibility: public -->
      <element name="TToolWindow.EdgeBorders">
        <short>
          Indicates the edges to be drawn with a border on the control.
        </short>
        <descr>
          <p>
            <var>EdgeBorders</var> is a <var>TEdgeBorders</var> property that indicates the edges to be drawn with a border on the control. The default value for EdgeBorders is <b>[ebLeft, ebTop, ebRight, ebBottom]</b>. EdgeBorders is used in the <var>Paint</var> method to render the control with borders in the specified positions with the drawing style in <var>EdgeInner</var> and <var>EdgeOuter</var>.
          </p>
        </descr>
        <seealso>
          <link id="TEdgeBorders"/>
          <link id="TToolWindow.EdgeBorders"/>
          <link id="TToolWindow.EdgeOuter"/>
          <link id="TToolWindow.EdgeInner"/>
        </seealso>
      </element>

      <!-- property Visibility: public -->
      <element name="TToolWindow.EdgeInner">
        <short>
          Specifies the drawing style used for the inner border of the control.
        </short>
        <descr>
          <p>
            <var>EdgeInner</var> is a <var>TEdgeStyle</var> property that specifies the drawing style used for the inner border of the control. The default value for the property is <var>esRaised</var>.
          </p>
          <p>
            EdgeInner is used, along with <var>EdgeOuter</var>, to give the control a beveled 3D appearance. Use <var>EdgeOuter</var> to control the drawing style for the outer border on the control.
          </p>
          <p>
            Use <var>EdgeBorders</var> to specify the positions (for both inner and outer) where borders are drawn.
          </p>
        </descr>
        <seealso>
          <link id="TEdgeStyle"/>
          <link id="TToolWindow.EdgeOuter"/>
          <link id="TToolWindow.EdgeBorders"/>
        </seealso>
      </element>

      <!-- property Visibility: public -->
      <element name="TToolWindow.EdgeOuter">
        <short>
          Specifies the drawing style used for the outer border of the control.
        </short>
        <descr>
          <p>
            <var>EdgeOuter</var> is a <var>TEdgeStyle</var> property that specifies the drawing style used for the outer border of the control. The default value for the property is <var>esLowered</var>.
          </p>
          <p>
            EdgeOuter is used, along with <var>EdgeInner</var>, to give the control a beveled 3D appearance. Use <var>EdgeInner</var> to control the drawing style for the inner border on the control.
          </p>
          <p>
            Use <var>EdgeBorders</var> to specify the positions (for both inner and outer) where borders are drawn.
          </p>
        </descr>
        <seealso>
          <link id="TEdgeStyle"/>
          <link id="TToolWindow.EdgeInner"/>
          <link id="TToolWindow.EdgeBorders"/>
        </seealso>
      </element>
    </module>
    <!-- Toolwin -->
  </package>
</fpdoc-descriptions>
