diff --git a/docs/xml/lazutils/avglvltree.xml b/docs/xml/lazutils/avglvltree.xml
index 900dd27956..5310961449 100644
--- a/docs/xml/lazutils/avglvltree.xml
+++ b/docs/xml/lazutils/avglvltree.xml
@@ -526,6 +526,18 @@
+ Used in the implementation of logging classes and the debugger interface in Lazarus. Also used in the implementation of classes for TSynEdit.
+
+ AddReference and ReleaseReference can be used in threads. However a thread can only call the
+ methods, if either:
+
+ AddReference and ReleaseReference can be used in threads. However a thread can only call the
+ methods, if either:
+
+ Provides a Notify method which executes the notification methods for each reference-counted object in the list.
+
+ TCustomPage is a TWinControl descendant which implements the base class for the tabbed pages found in notebooks. TCustomPage provides properties used to maintain the order and visibility of the page, and event handlers signalled when the page is hidden or displayed.
+
+ Values in Flags are normally added or removed when changes are performed in a control which uses the page control class instance. See TPageFlag for more information about enumeration values and their meanings.
+
+ Calls the inherited DialogChar method when Parent is not derived from TCustomTabControl.
+
+ Create is the overridden constructor for TCustomPage.
+
+ Create calls the inherited constructor on entry and sets the default value for the style, visibility, alignment and caption in the class instance.
+
+ PageIndex is an Integer property which contains the ordinal position for the page control in a Parent control. Setting a new value for the property causes the Parent control to call its MoveTab method to reorder the pages on the control. This action is performed when Parent is descended from TCustomTabControl.
+
TabVisible indicates if the Tab in the Parent control is visible.
@@ -2176,7 +2200,17 @@
+ ShowCurrentPage checks the value in PageIndex to determine if a valid page index has been specified. No actions are performed in the method when PageIndex is less than 0 or greater than PageCount - 1.
+
+ ShowCurrentPage gets the TCustomPage instance in Page at the position in PageIndex, and sets its Visible property to True. If the Page is Enabled, it SetFocus method is called.
+
+ ShowCurrentPage sets the Visible property in the previously selected Page to False.
+
+ TabToPageIndex is an Integer function used to get the page index for the tab at the specified position. The tab index value in AIndex does not include any non-visible tabs. TabToPageIndex adjusts the index value to include any TCustomPage instances in Page with its TabVisible property set to False.
+
+ The return value contains the value specified in AIndex after adding any non-visible pages proper to the requested position.
+
+ No actions are performed in the method at design-time; all pages are visible on the designer surface.
+
- TTreeViewState - enumerated type containing the permissible values for state of a TTreeView
+ TTreeViewState is an enumerated type containing the permissible state values for TTreeView.
+
+
+
+ tvsScrollbarChanged,
- tvsMaxRightNeedsUpdate,
- tvsTopsNeedsUpdate,
- tvsMaxLvlNeedsUpdate,
- tvsTopItemNeedsUpdate,
- tvsBottomItemNeedsUpdate,
- tvsCanvasChanged,
- tvsDragged,
- tvsIsEditing,
- tvsStateChanging,
- tvsManualNotify,
- tvsUpdating,
- tvsPainting,
- tvsMouseCapture,
- tvsWaitForDragging,
- tvsDblClicked,
- tvsTripleClicked,
- tvsQuadClicked,
- tvsSelectionChanged
-
A series of defaults used to set the options of a TreeView object when first placed on a form. This set consists of the following items:
-- tvoShowRoot, - tvoShowLines, - tvoShowButtons, - tvoHideSelection, - tvoToolTips, - tvoKeepCollapsedNodes, - tvoAutoItemHeight -+
For the meaning of these options, see the documentation of TTreeView.
+- TCustomTreeView - ancestor class for TTreeView, - which displays a collection of items in a hierarchical tree form. - This class defines many properties which are inherited by children classes, - including loading the data from files or streams, saving to files or streams, - updating, sorting alphabetically, editing, making visible or invisible, expanding - or collapsing the tree display, and many more. + TCustomTreeView - ancestor class for TTreeView, which displays a collection of items in a hierarchical tree form. This class defines many properties which are inherited by descendent classes, including loading the data from files or streams, saving to files or streams, updating, sorting alphabetically, editing, making visible or invisible, expanding or collapsing the tree display, and many more.
- Please note that Accessibility support in TCustomTreeView might make this control - slower if there is a very large number of items, for example, 10.000+ items. - If the performance impact is unacceptable it is possible to turn accessibility - off for tree view items by setting TCustomTreeView.AccessibilityOn to false. - The default value is true. + Please note that Accessibility support in TCustomTreeView might make this control slower if there are a very large number of items, for example: 10,000+ items. If the performance impact is unacceptable, it is possible to turn accessibility off for tree view items by setting the AccessibilityOn property to False. The default value is True.
+ DesignerDeleting is a Boolean property. +
++ IsSpecialSubControl is a read-only Boolean property. + Used in TCustomPairSplitter only. +
+TFileType is a set type used to store zero (0) or more enumeration values from TFileAttr. TFileType is the type used to implement the FileType property in TFileListBox. @@ -93,25 +103,28 @@ TCustomFileListBox is a TCustomListBox descendant which implements the base type for TFileListBox. TCustomFileListBox extends the ancestor with properties, methods, and events used to select a file or directory on the local file system in a list box control.
- Use the Drive and Directory properties to specify the location on the local file sytem displayed in the list box. Please note: Drive is not used on UNIX-like file systems. + Use the Drive and Directory properties to specify the location on the local file sytem displayed in the list box. Please note that Drive is not used on UNIX-like file systems.
- Use FileType to specify the files and/or directories which can be displayed in the control. + Use FileType to specify the files and/or directories which can be displayed in the control.
- Use Mask to specify a file mask (with optional wildcards) used to select the files displayed in the control. Please note: Wild cards may be implemented differently for some file systems. For example: '*' is the "all files" mask on UNIX-like file systems instead of "*.*". + Use Mask to specify a file mask (with optional wildcards) used to select the files displayed in the control. Please note that wild cards may be implemented differently for some file systems. For example: '*' is the "all files" mask on UNIX-like file systems instead of "*.*".
- Use the Sorted property to control the order of files and directories displayed in the control. + Use the Sorted property to control the order of files and directories displayed in the control.
- Use the FileName property to get the current file selection in the control. + Use Items to access the file and/or directory names matching the FileType and Mask in the current Directory for the control. Directory names are enclosed in square brackets ([]).
- Assign an object procedure to the OnChange event handler to perform actions needed when a new item has been selected in the control. + Use FileName or ItemIndex to get or set the current selection in the control.
- Do not create instances of TCustomFileListBox. Use the TFileListBox descendant which sets the visibility of properties used in the class instance. + Assign an object procedure to the OnChange event handler to perform actions needed when a new item has been selected in the control. +
++ Do not create instances of TCustomFileListBox. Use the TFileListBox descendant which sets the visibility of properties used in the class instance.
- IndexOfFile handles drive and volume entries that may be stored in Items by ignoring the square brackets ('[]') used to surround values with the corresponding file attributes. The CompareFileNames routine from
The return value is -1 when AFilename is not stored in the Items property.
@@ -282,22 +295,45 @@
+ SetItemIndex is an overridden method in TCustomFileListBox. Calls the inherited method on entry. Calls UpdateSelectedFileName to set the new value for the FileName property. +
+Create is the overridden constructor for the class instance, and calls the inherited constructor on entry. Create sets the default values for properties in the class instance, including:
-- Create calls the UpdateFileList method to load the file and directory names for the current directory into the Items property. + Create calls the UpdateFileList method to load the file and directory names for the current directory into the Items property.
- Values in FileType are used to construct the corresponding file attributes needed for use with TSearchRec. The FindFirstUTF8 and FindNextUTF8 routines from
+ Please note that Directory names (included when FileType contains ftDirectory) are surrounded by square brackets ('[]') when added to the Items property.
The private UpdateSelectedFileName method is called to include path information in FileName for the selected item in the control. @@ -381,6 +420,9 @@
Use Directory to specify the path on the local file system to the entries displayed in the control.
+- Directory is a String property which contains the path on the local file system to the files or and/or directories displayed in the list box control. The initial value for Directory is assigned in the constructor and uses the current directory for the application. + Directory is a String property which contains the path on the local file system to the files or and/or directories displayed in the list box control. The initial value for Directory is assigned in the constructor and defaults to the current directory for the application.
- The value in Directory is prepended to the value used in Filename in the private UpdateSelectedFileName method. + The value in Directory is prepended to the value in Filename when the UpdateSelectedFileName method is called from methods like: Click, KeyUp, SetItemIndex, SetFileName.
Changing the value in Directory causes the UpdateFileList method to be called to reload the file and or directory names stored in the Items property.
+- Mask should be filled with one or more file masks separated by semi-colons. For example: "*.pdf;*.svg" will show all files with the extensions pdf and svg. The default value for the property is "*" which is the generic mask meaning any file. Do not use the Windows specific mask "*.*" to attempt to show all files, which is the behavior from Delphi. In the LCL version of the control "*.*" will require the file name to have an extension. + Mask should be filled with one or more file masks separated by semi-colons. For example: '*.pdf;*.svg' will show all files with the extensions pdf and svg. The default value for the property is "*" which is the generic mask meaning any file or directory. Do not use the Windows specific mask '*.*' to attempt to show all files, which is the behavior from Delphi. In the LCL version of the control '*.*' will require the file name to have an extension.
- Allowed wildcards include "*" which means zero or more characters, and "?" which means exactly 1 character of any kind. Other characters represent themselves with one important detail: The file matching algorithm is not case sensitive. So if you set "*.PDF" in the mask, then "PostScript.pdf" will also be shown, even on Linux which is a case sensitive file system. + Allowed wildcards include '*.*' which means zero or more characters, and '?' which means exactly 1 character with any value. Other characters represent themselves with one important detail: The file matching algorithm is not case sensitive. So if you set '*.PDF' in the mask, then 'PostScript.pdf' will also be shown, even on Linux which is a case sensitive file system.
This property has exactly the same rules and behavior as the Mask property in TFilterComboBox.
- Changing the value in Mask causes the UpdateFileList method to be called to reload the file information in the Items property. + Changing the value in Mask causes the UpdateFileList method to be called to reload the file information for the current Directory in the Items property.
- Use the Drive and Directory properties to specify the location on the local file sytem displayed in the list box. Please note: Drive is not used on UNIX-like file systems. + Use the Drive and Directory properties to specify the location on the local file sytem displayed in the list box. Please note that Drive is not used on UNIX-like file systems.
Use FileType to specify the files and/or directories which can be displayed in the control.
- Use Mask to specify a file mask (with optional wildcards) used to select the files displayed in the control. Please note: Wild cards may be implemented differently for some file systems. For example: '*' is the "all files" mask on UNIX-like file systems instead of "*.*". + Use Mask to specify a file mask (with optional wildcards) used to select the files displayed in the control. Please note that wild cards may be implemented differently for some file systems. For example: '*' is the "all files" mask on UNIX-like file systems instead of '*.*'.
Use the Sorted property to control the order of files and directories displayed in the control. @@ -592,7 +644,7 @@ Use the Filter property to define the filter names and expressions available in the drop-down for the combo-box. Only the filter name is displayed in the combo-box.
- Use AutoComplete to enable or disable case-insensitive automatic text completion in the edit area for the combo-box. When set to True, the Filter which starts the the typed value is located and selected in the control. Please note: AutoComplete works when the text area is empty, or the entire contents of the editable are are selected. + Use AutoComplete to enable or disable case-insensitive automatic text completion in the edit area for the combo-box. When set to True, the Filter which starts the the typed value is located and selected in the control. Please note that AutoComplete works when the text area is empty, or when the entire contents of the editable are are selected.
Use ItemIndex to get the ordinal position in Filter for the selected filter. Use the OnSelect event handler to perform actions needed when a new value is selected in the combo-box. @@ -601,7 +653,7 @@ TCustomFilterComboBox includes a ShellListView property with the TShellListView instance used to display the list of files matching the seleted filter. ShellListView is updated (when assigned) in the Select method to use the value in Mask in the list view control. Set the Root property in ShellListView to control the directory displayed in the control.
- TCustomFilterComboBox sets the visibility for properties defined in an ancestor class, and does not introduce any new properties, methods, or events. Please note: Some properties are not published for the control, so do they do not appear in the Object Inspector at design-time. For example: Mask. + TCustomFilterComboBox sets the visibility for properties defined in an ancestor class, and does not introduce any new properties, methods, or events. Please note that some properties are not published for the control, so do they do not appear in the Object Inspector at design-time. For example: Mask.
+ ConvertFilterToStrings is a class procedure used to parse the LCL filter string in AFilter, and store the individual filters in AStrings. +
++ AFilter contains a value like: 'Text files (*.txt *.pas)|*.txt;*.pas|Binaries (*.exe)|*.exe'. +
++ Values in AClearStrings, AAddDescription, and AAddFilter control the values stored in the AStrings. +
++ AClearStrings indicates whether existing values in AStrings are cleared before adding values found in the method. +
++ AAddDescription insicates if the descriptive text for file filter(s) are added to the string list. +
++ AAddFilter indicates if the file mask portion of the filter is added to the string list. +
++ When AAddDescription = True and AAddFilter = False, the following values would be stored in AStrings: +
++Text files (*.txt *.pas) +Binaries (*.exe)+
+ Adapted from the converter initially created for QtWSDialogs.pas +
+ Mask is a read-only String property with the file mask for the selected Filter in the control. +
++ When reading the value for Mask, a temporary TStringList instance is used to convert the values in Filter into individual file masks by calling the ConvertFilterToStrings method. The value in ItemIndex determines the value returned for the property. +
++ The property value is an empty string ('') if Filter is unassigned, or ItemIndex contains -1. +
++ Mask can be used to provide the file mask for the selected filter to related controls. +
- The files shown in the TShellListView will be limited to the Filter selected in the control. + ShellListView is a TShellListView property which contains an optional list view control connected to the combo-box control. The files shown in the TShellListView will be limited to the Mask (or selected Filter) in the control. +
++ When a shell list view control is assigned to the property, the value in Mask is copied into the Mask property for the list view control. The list view is added to the free notification list for the combo-box. ShellListView is updated (when assigned) in the Select method to use the current value in the Mask property.
- Use AutoComplete to enable or disable case-insensitive automatic text completion in the edit area for the combo-box. When set to True, the Filter which starts the the typed value is located and selected in the control. Please note: AutoComplete works when the text area is empty, or the entire contents of the editable are are selected. + Use AutoComplete to enable or disable case-insensitive automatic text completion in the edit area for the combo-box. When set to True, the Filter which starts the the typed value is located and selected in the control. Please note that AutoComplete works when the text area is empty, or the entire contents of the editable are are selected.
Use ItemIndex to get the ordinal position in Filter for the selected filter. Use the OnSelect event handler to perform actions needed when a new value is selected in the combo-box. @@ -754,7 +849,7 @@ TFilterComboBox includes a ShellListView property with the TShellListView instance used to display the list of files matching the seleted filter. ShellListView is updated (when assigned) in the Select method to use the value in Mask in the list view control. Set the Root property in ShellListView to control the directory displayed in the control.
- TFilterComboBox sets the visibility for properties defined in an ancestor class, and does not introduce any new properties, methods, or events. Please note: Some properties are not published for the control, so do they do not appear in the Object Inspector at design-time. For example: Mask. + TFilterComboBox sets the visibility for properties defined in an ancestor class, and does not introduce any new properties, methods, or events. Please note that Some properties are not published for the control, so do they do not appear in the Object Inspector at design-time. For example: Mask.
+ Please note that some themes (or styles) in Windows may use a fixed height for the combo-box. +
++ Filter is a String property which is published in TFilterComboBox. Filter contains the file filter(s) which are used in the Items property. Each filter value in the string contains a textual description and mask. For example: +
+'Text files (*.txt *.pas)|*.txt;*.pas|Binaries (*.exe)|*.exe'.
+ + Setting a new value for the property causes ConvertFilterToStrings to be called to parse and store the filter descriptions in the Items property. Existing values in Items are cleared before storing the new filter values. The value in ItemIndex is set to 0 to select the initial filter in Items. +
+- This function will return a shortened version of FileName, so that it fits within the given MaxWidth. It uses the Font currently assigned to the Canvas argument. + This function will return a shortened version of FileName, so that it fits within the width given in MaxWidth. It uses the Font currently assigned to the Canvas argument.
- For example: C:\Documents and Settings\User\Application Data\Microsoft\Word\custom.dic would be shortened to a value like: C:\...\Word\custom.dic. + For example: 'C:\Documents and Settings\User\Application Data\Microsoft\Word\custom.dic' would be shortened to a value like: 'C:\...\Word\custom.dic'. +
++ No actions are performed in the routine when path information is not included in FileName. Normalizes all path delimiters in the file name to the first path delimiter found in the argument. +
++ When FileName is longer than the value in MaxWidth, directory names are dropped and replaced with one '...' value until the shortened file name fits within the specified width.
- TPairSplitterSide is a TWinControl descendant that implements the child controls used in the TPairSplitter component. TPairSplitterSide behaves like a TPanel component with a reference to the TPairSplitter that owns the control. TPairSplitterSide provides a custom Paint method and WMPaint message handling. TPairSplitterSide alters the visibility of inherited properties to match their intended usage. + TPairSplitterSide is a TWinControl descendant that represents the child controls used in the TPairSplitter component. TPairSplitterSide behaves like a TPanel component with a reference to the TPairSplitter that owns the control. TPairSplitterSide provides a custom Paint method and WMPaint message handling. TPairSplitterSide alters the visibility of inherited properties to match their intended usage.
- SetParent is an overridden procedure used to set the value in the Parent property. SetParent ensures that the control is removed from its existing parent prior to setting the new property value. The control is added to the new parent when AParent is not Nil. + SetParent is an overridden procedure used to set the value in the Parent property. SetParent is the re-implemented write access specifier for the Parent property.
- SetParent is the reimplemented write access specifier for the Parent property. + SetParent ensures that the control is removed from the Sides property in the existing Parent prior to setting the new value for the property. SetParent calls the inherited method to handle the Bounds and AutoSizing for the control. +
++ If the new Parent is not Nil, the AddSide method in the TPairSplitter instance is called to add the current control.
- Create is the constructor for the class instance, and calls the inherited constructor using TheOwner as the owner of the control. Create updates the ControlStyle property to include the value csAcceptsControls. + Create is the constructor for the class instance, and calls the inherited constructor using TheOwner as the owner of the control. Create updates values in the ControlStyle property and the internal window control flags used in the control.
- Splitter is a read-only TCustomPairSplitter property which represents the component for the control. The value in Splitter is the same as the Parent for the control, or Nil when Parent has not been assigned. + Splitter is a read-only TCustomPairSplitter property which represents the component for the control. The value in Splitter is the same as the Parent for the control, or Nil when Parent has not been assigned.
+ Defines the base class for the TPairSplitter component. TPairSplitter is a component with two TPairSplitterSide children. Both child components can contain other components. The children are separated by a splitter which can be dragged by the user to resize the adjacent child controls. +
- Destroy is the destructor for the class instance. Destroy frees resources allocated in the Sides property, and calls the inherited destructor. + Destroy is the destructor for the class instance. Destroy ensures that the class instances in Sides are not created (or re-created), and calls the inherited destructor.
- CreateSides is a procedure used to create missing controls in the Sides property. CreateSides ensures that both TPairSplitterSide values used in the component have been created (and parented). + CreateSides is a procedure used to create missing values in the Sides property. CreateSides ensures that both TPairSplitterSide instances used in the component have been created (and parented).
No actions are performed in the method when component streaming has not been completed, or when the component is freed.
@@ -366,7 +368,7 @@
- ChildClassAllowed is an overridden Boolean function used to determine if the specified class is inherited from a specific ancestor class. ChildClassAllowed calls the ChildClass.InheritsFrom method. The return value is True when it is derived from the TPairSplitterSide or TSplitter classes.
+ ChildClassAllowed is an overridden Boolean function used to determine if the specified class is inherited from a specific ancestor class. ChildClassAllowed calls the ChildClass.InheritsFrom method. The return value is True when it is derived from the TPairSplitterSide or TSplitter classes.
- Sides is a read-only indexed TPairSplitterSide property which provides access to the adjacent children resized using the Splitter in the component. Sides always has 2 elements in the array (in the range 0..1). If Index contains an invalid value, an exception is raised.
+ Sides is a read-only indexed TPairSplitterSide property which provides access to the adjacent children resized using the Splitter in the component. Sides always has 2 elements in the array (in the range 0..1). If Index contains an invalid value, an exception is raised.
Each controls in Sides behaves like a TPanel component with a reference to the TPairSplitter that owns the control. They provide a custom Paint method and WMPaint message handling. Some of their properties have altered visibility; for example, Align and Anchors are private, Top and Left are public.
@@ -414,7 +416,7 @@
- SplitterType is a TPairSplitterType property which specifies the orientation for the splitter in the component. The values in TPairSplitterType dictate the splitter orientation relative to the adjacent children in Sides. Writing a new value in the SplitterType property causes the value in the Cursor property to be changed to match the selected orientation. For example:
+ SplitterType is a TPairSplitterType property which specifies the orientation for the splitter in the component. The values in TPairSplitterType dictate the splitter orientation relative to the adjacent children in Sides. Writing a new value in the SplitterType property causes the value in the Cursor property to be changed to match the selected orientation. For example:
- Position is an Integer property that indicates the position for the splitter relative to its orientation. Reading the value in splitter causes the UpdatePosition to be called to recalculate the current position for the Splitter. Position can be set at design-time, or changed at run-time by dragging the grab bar for the splitter. The value in Position affects the sizing of the adjacent child controls in Sides.
+ Position is an Integer property that indicates the position for the splitter relative to its orientation. Reading the value in splitter causes the UpdatePosition to be called to recalculate the current position for the Splitter. Position can be set at design-time, or changed at run-time by dragging the grab bar for the splitter. The value in Position affects the sizing of the adjacent child controls in Sides.
When SplitterType contains pstHorizontal, the value in Position is used as the Width for the child control in Sides[0]. The remaining Width in the component (less the 5 pixels used for the Splitter) is set as the Width for the child control in Sides[1].
@@ -455,7 +457,9 @@
Implements the TPairSplitter component
+ Implements the TPairSplitter component. TPairSplitter is a component with two TPairSplitterSide children. Both child components can contain other components. The children are separated by a splitter which can be dragged by the user to resize the adjacent children.
+