Docs: Batch of documentation updates for LCL. Issue #36702, patch from Don Siders.

git-svn-id: trunk@62632 -
This commit is contained in:
juha 2020-02-16 13:29:32 +00:00
parent ef98ace025
commit d66d8ecf94
9 changed files with 2035 additions and 1449 deletions

View File

@ -1095,8 +1095,9 @@
<element name="TCustomDesignControl.FScaled"/>
<element name="TCustomDesignControl.FDesignTimePPI"/>
<element name="TCustomDesignControl.FPixelsPerInch"/>
<!-- TODO -->
<element name="TCustomDesignControl.DesignTimePPIIsStored">
<!-- TODO -->
<short></short>
<descr></descr>
<seealso></seealso>
@ -3720,18 +3721,30 @@
<link id="TWindowState"/>
</seealso>
</element>
<!-- "class of" type Visibility: default -->
<element name="TCustomFormClass" link="TCustomForm"/>
<!-- object Visibility: default -->
<element name="TForm">
</element>
<element name="TForm" link="TCustomForm"/>
<!-- variable Visibility: private -->
<element name="TForm.FLCLVersion" link="TForm.LCLVersion"/>
<!-- function Visibility: private -->
<element name="TForm.LCLVersionIsStored" link="TForm.LCLVersion"/>
<element name="TForm.LCLVersionIsStored.Result">
<short/>
</element>
<element name="TForm.WSRegisterClass">
<short></short>
<descr>
WSRegisterClass is an overridden class procedure used to register the widget set class used to create new instances of the form.
</descr>
<seealso></seealso>
</element>
<!-- procedure Visibility: protected -->
<element name="TForm.CreateWnd" link="#lcl.Controls.TWinControl.CreateWnd"/>
<element name="TForm.Loaded" link="#LCL.Forms.TCustomForm.Loaded"/>

View File

@ -15,7 +15,13 @@
<var>GraphUtil.pp</var> contains routines and types used when drawing graphics. They focus primarily on converting colors and drawing gradients, scroll bars, and arrows.
</p>
<p>
It includes routines used to convert between both the HSL (hue, saturation, lightness) and HSV (hue, saturation, brightness value) alternative representations of the RGB color model. HSV models the way different colors mix together, with the saturation dimension resembling various tints of brightly colored paint, and the value dimension resembling the mixture of those paints with varying amounts of black or white paint. HSL places saturated colors around a circle at a lightness value of .5, where a lightness value of 0 or 1 is fully black or white (respectively).
It includes routines used to convert between both the HSL (hue, saturation, lightness) and HSV (hue, saturation, brightness value) alternative representations of the RGB color model.
</p>
<p>
HSV models the way different colors mix together, with the saturation dimension resembling various tints of brightly colored paint, and the value dimension resembling the mixture of those paints with varying amounts of black or white paint.
</p>
<p>
HSL places saturated colors around a circle with a lightness value of 0.5, where a lightness value of 0 or 1 is fully black or white (respectively).
</p>
<p>
GraphUtil is used in the Lazarus IDE, in LCL WidgetSet components, and optional Lazarus components like FPReport, SynEdit, and TAChart.
@ -494,7 +500,7 @@
<short>Direction for the arrow</short>
</element>
<element name="DrawArrow.Location">
<short>Point that indictes the canvas coordinates where the arrow is drawn</short>
<short>Point that indicates the canvas coordinates where the arrow is drawn</short>
</element>
<element name="DrawArrow.Size">
<short></short>

View File

@ -2741,8 +2741,11 @@
</short>
<descr>
<p>
<var>WriteData</var> is a procedure used to write the image data for the default resolution to the stream specified in AStream. WriteData calls <var>GetResolution</var> using the value in <var>Width</var> to retrieve the default image resolution. The WriteData method in <var>TCustomImageListResolution</var> is called to perform the write operation using the specified stream. Data compression is not enabled for image data to retain compatibility with earlier versions of Lazarus.
<var>WriteData</var> is a procedure used to write the image data for the default resolution to the stream specified in AStream. WriteData calls <var>GetResolution</var> using the value in <var>Width</var> to retrieve the default image resolution. The WriteData method in <var>TCustomImageListResolution</var> is called to perform the write operation using the specified stream.
</p>
<remark>
Please note: Data compression is enabled when writing image data for the resolution. Data compression was not enabled in previous LCL versions to maintain compatibility with earlier versions of Lazarus. That backward compatibility is no longer possible with image compression enabled.
</remark>
<p>
Use <var>WriteAdvData</var> to write image data for all resolutions in the image list.
</p>
@ -2750,6 +2753,9 @@
Use ReadData to read image data from a stream.
</p>
</descr>
<version>
Image compression was enabled as a default in revision 62583, and will be included in Lazarus versions after 2.0.6.
</version>
<seealso>
<link id="TCustomImageList.GetResolution"/>
<link id="TCustomImageList.WriteAdvData"/>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,201 +2,262 @@
<fpdoc-descriptions>
<package name="lcl">
<!--
====================================================================
LCLClasses
====================================================================
-->
====================================================================
LCLClasses
====================================================================
-->
<module name="LCLClasses">
<short>Defines the base class for all LCL TComponents including controls</short>
<descr/>
<!-- unresolved type reference Visibility: default -->
<element name="Classes">
<short/>
<descr/>
<seealso/>
<!-- unresolved type references Visibility: default -->
<element name="Classes"/>
<element name="WSLCLClasses"/>
<element name="WSReferences"/>
<element name="LCLType"/>
<element name="LCLProc"/>
<element name="LazLongRec">
<short></short>
<descr>
<p>
<file>SysUtils</file> has a <var>LongRec</var> structure which uses an unsigned <var>Word</var> type for <var>Lo</var> and <var>Hi</var>. <var>LazLongRec</var> provides a similar record with signed <var>SmallInt</var> members.
</p>
</descr>
<seealso></seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="WSLCLClasses">
<short/>
<descr/>
<seealso/>
<element name="LazLongRec.Lo">
<short>The low-order signed small integer value</short>
</element>
<!-- object Visibility: default -->
<element name="LazLongRec.Hi">
<short>The high-order signed small integer value</short>
</element>
<!-- object Visibility: default -->
<element name="TLCLComponent">
<short>The base class for LCL components associated with widgets.
</short>
<descr/>
<errors/>
<seealso/>
<short>The base class for LCL components which have an associated widget</short>
<descr>
<p>
<var>TLCLComponent</var> is a <var>TComponent</var> descendant which is used as the ancestor for many components in the Lazarus Component Library (<b>LCL</b>), including:
</p>
<ul>
<li>TApplicationProperties</li>
<li>TCommonDialog</li>
<li>TControl</li>
<li>TCustomImageList</li>
<li>TCustomTrayIcon</li>
<li>TLCLReferenceComponent</li>
<li>TMenu</li>
<li>TMenuItem</li>
<li>TScreen</li>
</ul>
</descr>
<seealso>
<link id="TLCLReferenceComponent"/>
<link id="#LCL.Classes.TComponent"/>
</seealso>
</element>
<!-- variable Visibility: private -->
<element name="TLCLComponent.FWidgetSetClass" link="TLCLComponent.WidgetSetClass"/>
<element name="TLCLComponent.FLCLRefCount" link="TLCLComponent.LCLRefCount"/>
<!-- property Visibility: protected -->
<element name="TLCLComponent.WidgetSetClass">
<short>The widget for this component is derived from WidgetSetClass.
</short>
<descr/>
<seealso/>
</element>
<element name="TLCLComponent.WSRegisterClass">
<short>Registers this component class with the current WidgetSet.
</short>
<short>Registers this component class with the current WidgetSet</short>
</element>
<!-- class function Visibility: default -->
<element name="TLCLComponent.GetWSComponentClass">
<short>This method allows descendents to override the WidgetSetClass.
</short>
<short>This method allows descendants to override the WidgetSetClass</short>
<descr>
<p>
<var>GetWSComponentClass</var> is a <var>TWSLCLComponentClass</var> class function which allows descendants to override the <var>WidgetSetClass</var> class type used to create instances of the component. When WidgetSetClass has not been assigned (contains Nil), the return value is set to the <var>TWSLCLComponent</var> type.
</p>
</descr>
<errors>
</errors>
<seealso>
<link id="TLCLComponent.WidgetSetClass"/>
<link id="#LCL.WidgetSet.FindWSComponentClass"/>
<link id="#LCL.WidgetSet.TWSLCLComponent"/>
</seealso>
</element>
<element name="TLCLComponent.GetWSComponentClass.Result">
<short/>
<short>Class type used to create instances of the specified component</short>
</element>
<element name="TLCLComponent.GetWSComponentClass.ASelf">
<short/>
<short>Component instance examined in the method</short>
</element>
<element name="TLCLComponent.Create">
<short>Constructor for the class instance</short>
<descr>
<p>
<var>Create</var> is the overridden constructor for the class instance. Create calls the inherited constructor. It also provides support for additional debugging information when <b>DebugLCLComponents</b> has been defined.
</p>
</descr>
<seealso></seealso>
</element>
<element name="TLCLComponent.Create"/>
<element name="TLCLComponent.Create.TheOwner">
<short/>
<short>Owner of the class instance</short>
</element>
<element name="TLCLComponent.Destroy"/>
<element name="TLCLComponent.Destroy">
<short>Destructor for the class instance</short>
<descr>
<p>
<var>Destroy</var> is the overridden destructor for the class instance. Destroy provides support for additional debugging information when <b>DebugLCLComponents</b> has been defined. Destroy calls the inherited destructor prior to exiting from the method.
</p>
</descr>
<seealso></seealso>
</element>
<!-- function Visibility: public -->
<element name="TLCLComponent.NewInstance">
<short>Registers the class and initializes WidgetSetClass.
<short>
Creates and registers a new instance of the class, and initializes the WidgetSetClass property
</short>
<descr/>
<errors/>
<seealso>
<link id="TLCLComponent.WidgetSetClass"/>
<link id="#rtl.System.TObject.NewInstance">TObject.NewInstance</link>
<link id="#RTL.System.TObject.NewInstance"/>
</seealso>
</element>
<element name="TLCLComponent.NewInstance.Result">
<short/>
<short>Class instance created in the method</short>
</element>
<!-- procedure Visibility: public -->
<element name="TLCLComponent.RemoveAllHandlersOfObject">
<short>Override this method to remove all references to notification handlers in AnObject.
<short>
Override this method to remove all references to notification handlers in AnObject
</short>
<descr>An override is required as soon as a component allows one to add notification handlers.
Then all such handlers must be removed, when their owner (AnObject) is destroyed.
<descr>
<p>
An override is required as soon as a component allows one to add notification handlers. Then all such handlers must be removed, when their owner (AnObject) is destroyed.
</p>
</descr>
<errors/>
<seealso/>
</element>
<element name="TLCLComponent.RemoveAllHandlersOfObject.AnObject">
<short>The object whose handlers shall be removed.
</short>
<short>The object whose handlers shall be removed</short>
</element>
<element name="TLCLComponent.IncLCLRefCount" link="TLCLComponent.LCLRefCount"/>
<element name="TLCLComponent.DecLCLRefCount" link="TLCLComponent.LCLRefCount"/>
<element name="TLCLComponent.LCLRefCount">
<short>The number of references to this component.</short>
<descr>
</descr>
<notes><note>Which are the possible owners of such references?</note>
</notes>
</element>
<!-- object Visibility: default -->
<element name="TLCLReferenceComponent">
<short>Base class for all components having an associated widget.
</short>
<short>The number of references to this component</short>
<descr>
<p>
The widget is created by the LCL control whenever required,
and its reference is stored in FReferencePtr.
This reference is for internal use by the LCL control, not by application code.
<var>LCLRefCount</var> is a read-only Integer property that contains the number of references to this component. The value in <var>LCLRefCount</var> is updated when the <var>IncLCLRefCount</var> and <var>DecLCLRefCount</var> methods are called while handling messages where the component instance is the target.
</p>
</descr>
<seealso>
<link id="TLCLComponent.IncLCLRefCount"/>
<link id="TLCLComponent.DecLCLRefCount"/>
<link id="#LCL.Controls.TWinControl.IntfUTF8KeyPress"/>
</seealso>
</element>
<element name="TLCLComponent.WidgetSetClass">
<short>The class type used to create instances of this component</short>
<descr>
<p>
<var>WidgetSetClass</var> is a read-only <var>TWSLCLComponentClass</var> property which contains the class type used to create new instances of the component. The value for the property is set in the <var>NewInstance</var> method.
</p>
</descr>
<seealso>
<link id="TLCLComponent.NewInstance"/>
</seealso>
</element>
<!-- object Visibility: default -->
<element name="TLCLReferenceComponent">
<short>Base class for all components having an associated widget with a handle</short>
<descr>
<p>
The widget is created by the LCL control whenever required, and its reference is stored in the FReferencePtr member. This reference is for internal use by the LCL control, and not by application code.
</p>
<p>
This reference is different from the OS/window manager-specific window Handle.
</p>
<p>
Applications only can send messages to a windowed control, using its window Handle.
</p>
<p>This reference is different from the OS/window manager specific window Handle.</p>
<p>Applications only can send messages to a windowed control, using its window Handle.</p>
</descr>
<seealso>
<link id="TLCLReferenceComponent.ReferenceNeeded"/>
</seealso>
<notes><note>can be?</note>
<notes><note>can be?</note>
</notes>
</element>
<!-- variable Visibility: private -->
<element name="TLCLReferenceComponent.FReferencePtr">
<short>Pointer to a widget class Reference.</short>
<descr>
</descr>
<seealso>
</seealso>
<short>Pointer to a widget class Reference</short>
</element>
<!-- variable Visibility: private -->
<element name="TLCLReferenceComponent.FCreating">
<short>Set while we are creating the Reference.</short>
<descr>
</descr>
<seealso>
</seealso>
<short>Set while we are creating the Reference</short>
</element>
<!-- function Visibility: private -->
<element name="TLCLReferenceComponent.GetHandle" link="TLCLReferenceComponent.Handle"/>
<element name="TLCLReferenceComponent.GetHandle.Result">
<short/>
</element>
<!-- function Visibility: private -->
<element name="TLCLReferenceComponent.GetReferenceAllocated">
<short>Checks for a valid widget reference.
</short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
<short>Checks for a valid widget reference</short>
<descr></descr>
<seealso></seealso>
</element>
<element name="TLCLReferenceComponent.GetReferenceAllocated.Result">
<short/>
</element>
<!-- function Visibility: protected -->
<element name="TLCLReferenceComponent.CreateParams">
<short>Override this method to supply specific widget creation parameters.
</short>
<short>Override this method to supply specific widget creation parameters</short>
</element>
<element name="TLCLReferenceComponent.CreateParams.AParams">
<short>The parameter record to update.</short>
<short>The parameter record to update</short>
</element>
<!-- function Visibility: protected -->
<element name="TLCLReferenceComponent.DestroyReference">
<short>Destroys the reference object.
</short>
<short>Destroys the reference object</short>
</element>
<!-- function Visibility: protected -->
<element name="TLCLReferenceComponent.GetReferenceHandle">
<short>Override this method to return the Handle from the reference
</short>
<notes><note>what is Handle?</note>
</notes>
<short>Override this method to return the Handle from the reference</short>
<notes><note>what is Handle?</note></notes>
</element>
<element name="TLCLReferenceComponent.GetReferenceHandle.Result">
<short/>
</element>
<!-- function Visibility: protected -->
<element name="TLCLReferenceComponent.ReferenceCreated">
<short>Called after the Reference is created.</short>
<short>Called after the Reference is created</short>
</element>
<!-- function Visibility: protected -->
<element name="TLCLReferenceComponent.ReferenceDestroying">
<short>Called before the Reference is destroyed</short>
</element>
<!-- function Visibility: protected -->
<element name="TLCLReferenceComponent.ReferenceNeeded">
<short>Creates a Reference, if not already done.
</short>
<short>Creates a Reference, if not already done</short>
</element>
<!-- function Visibility: protected -->
<element name="TLCLReferenceComponent.WSCreateReference">
<short>Tells the widgetset to create a Reference.
</short>
<descr>This implementation returns Nil, should be overridden in every derived class.
<short>Tells the widgetset to create a Reference</short>
<descr>
This implementation returns Nil, and should be overridden in derived classes.
</descr>
</element>
<element name="TLCLReferenceComponent.WSCreateReference.Result">
@ -205,24 +266,31 @@
<element name="TLCLReferenceComponent.WSCreateReference.AParams">
<short/>
</element>
<!-- function Visibility: protected -->
<element name="TLCLReferenceComponent.WSDestroyReference">
<short>Tells the widgetset to destroy the Reference.</short>
<short>Tells the widgetset to destroy the Reference</short>
</element>
<!-- function Visibility: public -->
<element name="TLCLReferenceComponent.Destroy"/>
<element name="TLCLReferenceComponent.Handle">
<short>Get the Handle of this component.</short>
<descr>The Handle is sort of pointer or reference, allocated by the operating system or widgetset to this component.
A window handle can be used for sending messages to the component.</descr>
<notes><note>?</note>
</notes>
<element name="TLCLReferenceComponent.Destroy">
<short>Destructor for the class instance</short>
<descr>
<p>
<var>Destroy</var> is the overridden destructor for the class instance. Destroy calls <var>DestroyReference</var> to release an assigned internal reference for the widgetset class. Destroy calls the inherited destructor prior to exiting from the method.
</p>
</descr>
<seealso>
<link id="TLCLReferenceComponent.DestroyReference"/>
</seealso>
</element>
<element name="TLCLReferenceComponent.HandleAllocated" link="TLCLReferenceComponent.ReferenceAllocated"/>
<element name="TLCLReferenceComponent.ReferenceAllocated">
<short>If True, a Reference has been allocated for this component.
</short>
<short>If True, a Reference has been allocated for this component</short>
</element>
</module>
<!-- LCLClasses -->
</package>

View File

@ -1,30 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
<package name="lcl">
<package name="lcl">
<!--
====================================================================
RegisterLCL
====================================================================
-->
<module name="RegisterLCL">
<short>
Registers LCL components and packages
</short>
<descr>
<p>
This unit registers all LCL components in a predefined order. It is called from the
<file>ide/formeditor.pp</file> unit.
</p>
</descr>
<!--
====================================================================
RegisterLCL
====================================================================
-->
<!-- unresolved external references -->
<element name="LazarusPackageIntf"/>
<element name="Menus"/>
<element name="Buttons"/>
<element name="StdCtrls"/>
<element name="ExtCtrls"/>
<element name="ComCtrls"/>
<element name="MaskEdit"/>
<element name="CheckLst"/>
<element name="Forms"/>
<element name="Grids"/>
<element name="Controls"/>
<element name="Dialogs"/>
<element name="Spin"/>
<element name="Arrow"/>
<element name="Calendar"/>
<element name="PairSplitter"/>
<element name="ExtDlgs"/>
<element name="StdActns"/>
<element name="DbCtrls"/>
<element name="DbExtCtrls"/>
<element name="DBGrids"/>
<element name="DBActns"/>
<element name="EditBtn"/>
<element name="ActnList"/>
<element name="FileCtrl"/>
<element name="Graphics"/>
<element name="XMLPropStorage"/>
<element name="IniPropStorage"/>
<element name="JSONPropStorage"/>
<element name="ColorBox"/>
<element name="ButtonPanel"/>
<element name="LResources"/>
<element name="LazHelpHTML"/>
<element name="PopupNotifier"/>
<element name="AsyncProcess"/>
<element name="UTF8Process"/>
<element name="ShellCtrls"/>
<element name="ValEdit"/>
<element name="ComboEx"/>
<module name="RegisterLCL">
<short/>
<descr>
</descr>
<element name="Register">
<short>
Registers units in the Lazarus IDE to get a predefined order in the component palette
</short>
<descr></descr>
<seealso></seealso>
</element>
<!-- procedure Visibility: default -->
<element name="Register">
<short/>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<element name="RegisterLCLBase">
<short>
Registers the LCLBase package in the Lazarus IDE
</short>
<descr>
Calls the Register routine to manually register units needed for the package.
</descr>
<seealso></seealso>
</element>
</module> <!-- RegisterLCL -->
</package>
</module>
<!-- RegisterLCL -->
</package>
</fpdoc-descriptions>

View File

@ -491,12 +491,23 @@
<seealso></seealso>
</element>
<!-- TODO:: -->
<element name="TCustomShellTreeView.PopulateWithBaseFiles">
<short></short>
<short>Fills the tree view when the Root directory is empty</short>
<descr>
<remark>
The implementation for PopulateWithBaseFiles is present for Windows platforms other than Windows CE. For other platforms, the implementation is empty.
The implementation of PopulateWithBaseFiles is platform-specific.
</remark>
<p>
For Windows platforms other than Windows CE, the tree view is filled with <var>TShellTreeNode</var> entries for the logical drive names found on the system. The drive information is retrieved using the <var>GetLogicalDriveStrings</var> routine in the Windows API.
</p>
<p>
For other platforms, which do not use drive letters, the tree view is populated with nodes for the files or directories in the base path for the control.
</p>
<p>
PopulateWithBaseFiles is called from the <var>Loaded</var>, <var>SetRoot</var>, and <var>SetFileSortType</var> methods when an empty string (<b>''</b>) is assigned to the <var>Root</var> property.
</p>
<remark>
No actions are performed in the method at design-time, or when the component is loaded using the LCL streaming mechanism on platforms other than Windows.
</remark>
</descr>
<seealso></seealso>
@ -527,14 +538,21 @@
</seealso>
</element>
<!-- TODO: Expand -->
<!-- property Visibility: public -->
<element name="TCustomShellTreeView.ShellListView">
<short>
Connects this ShellTreeView to a ShellListView
</short>
<descr>
The ShellListView will show the contents of the currently selected directory in the ShellListView.
<p>
<var>ShellListView</var> is a <var>TCustomShellListView</var> property used to connect the tree view to a list view control.
</p>
<p>
Methods and properties in the list view control can be used to change the currently selected directory, or to limit its display to specified object types. Changes to the <var>Root</var> or <var>ObjectTypes</var> properties in the list view are propogated to the associated tree view.
</p>
<p>
In a similar fashion, changes to the <var>Root</var> property or the selected item in the tree view causes the changes to be propogated to the associated list view control.
</p>
</descr>
<seealso>
<link id="TShellListView"/>
@ -572,32 +590,75 @@
</seealso>
</element>
<!-- TODO: Expand -->
<!-- property Visibility: public -->
<element name="TCustomShellTreeView.Root">
<short>
Indicates the directory to start showing the list of items
</short>
<descr>
Indicates the directory to start showing the list of items. If empty, indicates that the entire file system structure should be shown.
<p>
<var>Root</var> is a <var>String</var> property used to set the directory (or logical device) used to fill the list of items in the tree view control. Changing the value in Root causes the Items in the control to be re-populated.
</p>
<remark>
Please note: No actions are performed in the method when a new value is set for the the Root property while the component is being loaded using the LCL streaming mechanism. The actions are performed when the Loaded method is called.
</remark>
<p>
An empty string (<b>''</b>) indicates that the base path for the platform should be used to populate the tree view. This causes the PopulateWithBaseFiles method to be called to determine the Items displayed in the control.
</p>
<p>
Setting Root to an invalid path name causes an EInvalidPath exception to be raised at run-time; the error is ignored at design-time to prevent crashing the Lazarus IDE.
</p>
<p>
TShellTreeNode instances are created and added to the Items property using the expanded fully qualified path name in Root.
</p>
<p>
If ShellListView has been assigned for the control, its Root property is updated to match the new value for the property.
</p>
</descr>
<seealso>
<link id="TShellTreeView.GetBasePath"/>
<link id="TShellTreeView.PopulateWithBaseFiles"/>
<link id="TShellTreeView.Items"/>
<link id="TShellTreeView.ShellListView"/>
<link id="TShellListView"/>
<link id="TShellTreeNode"/>
</seealso>
</element>
<!-- TODO: Expand -->
<element name="TCustomShellTreeView.Path">
<short>Path to the directory displayed in the shell control</short>
<descr></descr>
<descr>
<p>
<var>Path</var> is a <var>String</var> property which represents the path on the local file system to the Selected tree node in the control.
</p>
<p>
Reading the value for the property calls the <var>GetPathFromNode</var> method to derive the value for the property using the <var>Selected</var> tree node. The full path for the <var>TShellTreeNode</var> is used, with a path delimiter appended for a directory entry. If the path is not absolute, the base path name is prepended to the path value.
</p>
<p>
Setting the value for the property causes the the new value to be resolved to a fully qualified path name when needed. A relative path is expanded into a fully qualified absolute path value resolved relative to the base path in <var>Root</var>.
</p>
<p>
An <var>EInvalidPath</var> exception is raised when setting Path to a value that is not valid, including:
</p>
<ul>
<li>The path does not exist on the local file system</li>
<li>The path cannot be resolved as a directory located under the Root directory</li>
<li>The path represents an entry not valid for the settings in ObjectTypes</li>
</ul>
</descr>
<seealso></seealso>
<notes><note>Needs review.</note></notes>
</element>
<!-- TODO: Expand -->
<element name="TCustomShellTreeView.OnAddItem">
<short>
Event handler signalled when an item (tree node) is added to the shell control
</short>
<descr></descr>
<descr>
<p>
<var>OnAddItem</var> is a <var>TAddItemEvent</var> property which contains the event handler signalled when an item (tree node) is added to the shell control. OnAddItem is signalled from the <var>PopulateTreeNodeWithFiles</var> method.
</p>
</descr>
<seealso></seealso>
</element>
@ -870,18 +931,22 @@
</element>
<element name="TCustomShellListView.DoAddItem">
<short></short>
<short>
Signals the OnAddItem event handler when an entry is added to the Items in the control
</short>
<descr></descr>
<seealso></seealso>
</element>
<element name="TCustomShellListView.DoAddItem.ABasePath">
<short></short>
<short>Base path for the list view</short>
</element>
<element name="TCustomShellListView.DoAddItem.AFileInfo">
<short></short>
<short>TSearchRec with the information for the new entry</short>
</element>
<element name="TCustomShellListView.DoAddItem.CanAdd">
<short></short>
<short>
Set the argument to True to allow the item to be added; set to False to prevent adding the item
</short>
</element>
<element name="TCustomShellListView.OnFileAdded">
@ -1259,7 +1324,7 @@
</seealso>
</element>
<element name="TShellTreeNode.FullFilename.Result">
<short></short>
<short>The full path and name for the file system object</short>
</element>
<element name="TShellTreeNode.IsDirectory">
@ -1343,11 +1408,11 @@
<p>
For <var>TMaskCaseSensitivity</var>, a string version of the enumeration value is used as the return value. For example:
</p>
<pre>
'mcsPlatformDefault'
'mcsCaseInsensitive'
'mcsCaseSensitive'
</pre>
<code>
'mcsPlatformDefault'
'mcsCaseInsensitive'
'mcsCaseSensitive'
</code>
</descr>
<seealso>
<link id="TObjectTypes"/>
@ -1366,8 +1431,12 @@
<!-- procedure Visibility: default -->
<element name="Register">
<short>Registers components in the package</short>
<descr></descr>
<short>Registers components for use in the Lazarus IDE</short>
<descr>
<p>
<var>Register</var> is a procedure used to add the <var>TShellTreeView</var> and <var>TShellListView</var> components to the Misc tab in the Lazarus IDE.
</p>
</descr>
<seealso></seealso>
</element>

View File

@ -1,74 +1,27 @@
<?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 borders
</short>
<descr></descr>
<!-- unresolved type reference Visibility: default -->
<element name="Classes">
<short></short>
<descr></descr>
<seealso></seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="Controls">
<short></short>
<descr></descr>
<seealso></seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="SysUtils">
<short></short>
<descr></descr>
<seealso></seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="GraphType">
<short></short>
<descr></descr>
<seealso></seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="Graphics">
<short></short>
<descr></descr>
<seealso></seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="LCLType">
<short></short>
<descr></descr>
<seealso></seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="LCLIntf">
<short></short>
<descr></descr>
<seealso></seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="StdCtrls">
<short></short>
<descr></descr>
<seealso></seealso>
</element>
<!-- unresolved type references Visibility: default -->
<element name="Classes"/>
<element name="LCLProc"/>
<element name="Controls"/>
<element name="SysUtils"/>
<element name="GraphType"/>
<element name="Graphics"/>
<element name="LCLType"/>
<element name="LCLIntf"/>
<element name="StdCtrls"/>
<!-- enumeration type Visibility: default -->
<element name="TEdgeBorder">
@ -77,27 +30,26 @@
</short>
<descr>
<p>
TEdgeBorder is an enumeration type with values that indicate the border edges to draw in TToolWindow. Values in TEdgeBorder are stored in the TEdgeBorders set type.
<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></seealso>
<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>
@ -110,12 +62,12 @@
</short>
<descr>
<p>
TEdgeBorders is a set type used to store values from the TEdgeBorder enumeration. TEdgeBorders is the type used for the TToolWindow.EdgeBorders property.
<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">TEdgeBorder</link>
<link id="TToolWindow.EdgeBorders">TToolWindow.EdgeBorders</link>
<link id="TEdgeBorder"/>
<link id="TToolWindow.EdgeBorders"/>
</seealso>
</element>
@ -126,69 +78,60 @@
</short>
<descr>
<p>
TEdgeStyle is an enumeration type with values that specify the drawing style for borders on a control. TEdgeStyle is the type used to implement the TToolWindow.EdgeInner and TToolWindow.EdgeOuter properties.
<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">TToolWindow.EdgeInner</link>
<link id="TToolWindow.EdgeOuter">TToolWindow.EdgeOuter</link>
<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" link="#lcl,Controls.TCustomControl">
<element name="TToolWindow" link="#LCL.Controls.TCustomControl">
<short>
Implements a control which can paint its client area with borders
</short>
<descr>
<p>
TToolWindow is a TCustomControl 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.
<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 TToolBar and TCoolBar.
TToolWindow is the ancestor for <var>TToolBar</var> and <var>TCoolBar</var>.
</p>
</descr>
<seealso></seealso>
<seealso>
<link id="#LCL.Controls.TCustomControl"/>
<link id="#LCL.ComCtrls.TToolbar"/>
<link id="#LCL.ComCtrls.TCoolbar"/>
</seealso>
</element>
<!-- variable Visibility: private -->
<element name="TToolWindow.FEdgeBorders">
<short></short>
</element>
<!-- variable Visibility: private -->
<element name="TToolWindow.FEdgeInner">
<short></short>
</element>
<!-- variable Visibility: private -->
<element name="TToolWindow.FEdgeOuter">
<short></short>
</element>
<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></seealso>
<seealso>
<link id="TToolWindow.EdgeBorders"/>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TToolWindow.SetEdgeBorders.Value">
<short>New value for the property</short>
</element>
@ -197,10 +140,10 @@
<element name="TToolWindow.SetEdgeInner">
<short>Sets the value for the EdgeInner property</short>
<descr></descr>
<seealso></seealso>
<seealso>
<link id="TToolWindow.EdgeInner"/>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TToolWindow.SetEdgeInner.Value">
<short>New value for the property</short>
</element>
@ -209,10 +152,10 @@
<element name="TToolWindow.SetEdgeOuter">
<short>Sets the value in the EdgeOuter property</short>
<descr></descr>
<seealso></seealso>
<seealso>
<link id="TToolWindow.EdgeOuter"/>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TToolWindow.SetEdgeOuter.Value">
<short>New value for the property</short>
</element>
@ -229,13 +172,15 @@
</short>
<descr>
<p>
AdjustClientRect 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 EdgeBorders and the drawing style in EdgeOuter and EdgeInner.
<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></seealso>
<seealso>
<link id="TToolWindow.EdgeBorders"/>
<link id="TToolWindow.EdgeOuter"/>
<link id="TToolWindow.EdgeInner"/>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TToolWindow.AdjustClientRect.ARect">
<short>Client rectangle for the control</short>
</element>
@ -247,10 +192,14 @@
</short>
<descr>
<p>
Paint is an overridden procedure that draws the control with the borders and styles indicated in EdgeBorders, EdgeInner, and EdgeOuter. Paint calls DrawEdge to render the control, and calls the inherited Paint method.
<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></seealso>
<seealso>
<link id="TToolWindow.EdgeBorders"/>
<link id="TToolWindow.EdgeOuter"/>
<link id="TToolWindow.EdgeInner"/>
</seealso>
</element>
<!-- constructor Visibility: public -->
@ -258,7 +207,7 @@
<short>Constructor for the class instance</short>
<descr>
<p>
Create is the constructor for the class instance, and calls the inherited constructor using TheOwner as the owner of the control. Create sets the default values for the following properties:
<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>
@ -269,11 +218,12 @@
<dd>esLowered</dd>
</dl>
</descr>
<errors></errors>
<seealso></seealso>
<seealso>
<link id="TToolWindow.EdgeBorders"/>
<link id="TToolWindow.EdgeOuter"/>
<link id="TToolWindow.EdgeInner"/>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TToolWindow.Create.TheOwner">
<short>Owner of the class instance</short>
</element>
@ -282,7 +232,6 @@
<element name="TToolWindow.BeginUpdate">
<short>Increments the internal counter for buffering calls to Update</short>
<descr></descr>
<errors></errors>
<seealso></seealso>
</element>
@ -290,7 +239,6 @@
<element name="TToolWindow.EndUpdate">
<short>Decrements the internal counter for buffering calls to Update</short>
<descr></descr>
<errors></errors>
<seealso></seealso>
</element>
@ -301,10 +249,15 @@
</short>
<descr>
<p>
EdgeBorders is a TEdgeBorders property that indicates the edges to be drawn with a border on the control. The default value for EdgeBorders is [ebLeft, ebTop, ebRight, ebBottom]. EdgeBorders is used in the Paint method to render the control with borders in the specified positions with the drawing style in EdgeInner and EdgeOuter.
<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></seealso>
<seealso>
<link id="TEdgeBorders"/>
<link id="TToolWindow.EdgeBorders"/>
<link id="TToolWindow.EdgeOuter"/>
<link id="TToolWindow.EdgeInner"/>
</seealso>
</element>
<!-- property Visibility: public -->
@ -314,16 +267,20 @@
</short>
<descr>
<p>
EdgeInner is a TEdgeStyle property that specifies the drawing style used for the inner border of the control. The default value for the property is esRaised.
<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 EdgeOuter, to give the control a beveled 3D appearance. Use EdgeOuter to control the drawing style for the outer border on the control.
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 EdgeBorders to specify the positions (for both inner and outer) where borders are drawn.
Use <var>EdgeBorders</var> to specify the positions (for both inner and outer) where borders are drawn.
</p>
</descr>
<seealso></seealso>
<seealso>
<link id="TEdgeStyle"/>
<link id="TToolWindow.EdgeOuter"/>
<link id="TToolWindow.EdgeBorders"/>
</seealso>
</element>
<!-- property Visibility: public -->
@ -333,19 +290,22 @@
</short>
<descr>
<p>
EdgeOuter is a TEdgeStyle property that specifies the drawing style used for the outer border of the control. The default value for the property is esLowered.
<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 EdgeInner, to give the control a beveled 3D appearance. Use EdgeInner to control the drawing style for the inner border on the control.
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 EdgeBorders to specify the positions (for both inner and outer) where borders are drawn.
Use <var>EdgeBorders</var> to specify the positions (for both inner and outer) where borders are drawn.
</p>
</descr>
<seealso></seealso>
<seealso>
<link id="TEdgeStyle"/>
<link id="TToolWindow.EdgeInner"/>
<link id="TToolWindow.EdgeBorders"/>
</seealso>
</element>
</module>
<!-- Toolwin -->
</package>
</fpdoc-descriptions>