lazarus/components/rtticontrols/fpdoc/rttigrids.xml

2007 lines
57 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
<package name="RunTimeTypeInfoControls">
<module name="RTTIGrids">
<short>
Contains controls which access and modify properties in TPersistent objects
using RTTI.
</short>
<descr>
<p>
Provides LCL controls that access properties of TPersistent objects via RTTI
(the FreePascal Run-Time Type Information). Every published property can be
edited in the Object Inspector. There you have a TOIPropertyGrid working with
TEdit, TComboBox and TButton. These controls extends the possibilities to
edit single properties and the developer can choose how to represent the
property.
</p>
<p>
A TTICustomPropertyGrid property editor is registered during initialization
of the <file>rttigrids.pas</file> unit for objects descended from
TPersistent. This property grid, along with any other TTICustomPropertyGrid
property editors registered at run-time, are freed during finalization of the
unit.
</p>
<p>
The following components are added to the component palette in the Lazarus
IDE:
</p>
<p>
<b>RTTI Tab</b>
</p>
<ul>
<li>TTIPropertyGrid</li>
<li>TTIGrid</li>
</ul>
<p>
<file>rttigrids.pas</file> is part of the
<file>runtimetypeinfocontrols</file> package.
</p>
</descr>
<!-- unresolved external references -->
<element name="Classes"/>
<element name="SysUtils"/>
<element name="Controls"/>
<element name="LCLProc"/>
<element name="LCLType"/>
<element name="ObjectInspector"/>
<element name="PropEdits"/>
<element name="GraphPropEdits"/>
<element name="TypInfo"/>
<element name="RTTICtrls"/>
<element name="Grids"/>
<element name="TTICustomPropertyGrid">
<short>
Base class for an RTTI-enabled object inspector grid.
</short>
<descr/>
<seealso>
<link id="TTIPropertyGrid"/>
<!--
<link id="#ideintf.objectinspector.TCustomPropertiesGrid">TCustomPropertiesGrid</link>
-->
</seealso>
</element>
<element name="TTIPropertyGrid">
<short>
Grid control used for property names and values in a specified persistent
object.
</short>
<descr>
<p>
Sets the visibility for properties introduced in ancestor classes. See
<link id="TTICustomPropertyGrid">TTICustomPropertyGrid</link> for information
about properties, methods, and events specific to the property grid control.
</p>
</descr>
<seealso>
<link id="TTICustomPropertyGrid"/>
</seealso>
</element>
<element name="TTIPropertyGrid.Align" link="#lcl.controls.TControl.Align"/>
<element name="TTIPropertyGrid.Anchors" link="#lcl.controls.TControl.Anchors"/>
<!-- No links available for ideintf/ObjectInspector symbols -->
<element name="TTIPropertyGrid.BackgroundColor">
<short>
Background color used for the property grid control.
</short>
<descr>
<p>
The default value for the property (set in the TOICustomPropertyGrid
ancestor) is clBtnFace. Changing the value for the property causes the
control to be redrawn.
</p>
</descr>
<seealso>
<link id="#lcl.graphics.TColor">TColor</link>
</seealso>
</element>
<element name="TTIPropertyGrid.BorderSpacing" link="#lcl.controls.TControl.BorderSpacing"/>
<element name="TTIPropertyGrid.BorderStyle" link="#lcl.controls.TCustomControl.BorderStyle"/>
<element name="TTIPropertyGrid.CheckboxForBoolean">
<short>True if a check box control is used for Boolean values.</short>
<descr>
<p>
When set to <b>True</b>, a TCheckBox control is used to edit a Boolean
property. If UseOINormalCheckBox is not defined for the platform, a themed
check box control is used for a Boolean property.
</p>
<p>
When set to <b>False</b>, the values '<b>(True)</b>' and '<b>(False)</b>' are
used for the Boolean property.
</p>
</descr>
<seealso/>
</element>
<element name="TTIPropertyGrid.Constraints" link="#lcl.controls.TControl.Constraints"/>
<element name="TTIPropertyGrid.DefaultItemHeight">
<short>
Default height for property names and values displayed on the property grid.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIPropertyGrid.DefaultValueFont">
<short>
Font face and style used for default values on the property grid.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIPropertyGrid.Filter">
<short>
Set of TTypeKind values with the types supported for properties on the grid.
</short>
<descr/>
<seealso>
<link id="#rtl.typinfo.TTypeKinds">TTypeKinds</link>
<link id="#rtl.typinfo.TTypeKind">TTypeKind</link>
</seealso>
</element>
<element name="TTIPropertyGrid.Indent">
<short>
Number of pixels used to separate adjacent theme elements for a property on
the grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIPropertyGrid.NameFont">
<short>
Font used to display property names on the property grid.
</short>
<descr/>
<seealso>
<link id="TTIPropertyGrid.ValueFont"/>
<link id="TTIPropertyGrid.DefaultValueFont"/>
</seealso>
</element>
<element name="TTIPropertyGrid.OnChangeBounds" link="#lcl.controls.TControl.OnChangeBounds"/>
<element name="TTIPropertyGrid.OnClick" link="#lcl.controls.TControl.OnClick"/>
<element name="TTIPropertyGrid.OnEditorFilter">
<short>
Event handler signalled to locate and select an editor for the property grid.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIPropertyGrid.OnEnter" link="#lcl.controls.TWinControl.OnEnter"/>
<element name="TTIPropertyGrid.OnExit" link="#lcl.controls.TWinControl.OnExit"/>
<element name="TTIPropertyGrid.OnKeyDown" link="#lcl.controls.TWinControl.OnKeyDown"/>
<element name="TTIPropertyGrid.OnKeyPress" link="#lcl.controls.TWinControl.OnKeyPress"/>
<element name="TTIPropertyGrid.OnKeyUp" link="#lcl.controls.TWinControl.OnKeyUp"/>
<element name="TTIPropertyGrid.OnModified">
<short>
Event handler signalled when a property value has been modified on the
property grid.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIPropertyGrid.OnMouseDown" link="#lcl.controls.TControl.OnMouseDown"/>
<element name="TTIPropertyGrid.OnMouseEnter" link="#lcl.controls.TControl.OnMouseEnter"/>
<element name="TTIPropertyGrid.OnMouseLeave" link="#lcl.controls.TControl.OnMouseLeave"/>
<element name="TTIPropertyGrid.OnMouseMove" link="#lcl.controls.TControl.OnMouseMove"/>
<element name="TTIPropertyGrid.OnMouseUp" link="#lcl.controls.TControl.OnMouseUp"/>
<element name="TTIPropertyGrid.OnResize" link="#lcl.controls.TControl.OnResize"/>
<element name="TTIPropertyGrid.PopupMenu" link="#lcl.controls.TControl.PopupMenu"/>
<element name="TTIPropertyGrid.PreferredSplitterX">
<short>
Best horizontal position for the splitter between the names and values on the
property grid pages.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIPropertyGrid.SplitterX">
<short>
Current horizontal position for the splitter between the names and values on
the property grid pages.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIPropertyGrid.Tabstop" link="#lcl.controls.TWinControl.Tabstop"/>
<element name="TTIPropertyGrid.TIObject">
<short>
Persistent object with the properties represented on the property grid.
</short>
<descr/>
<seealso>
<link id="#rtl.classes.TPersistent">TPersistent</link>
</seealso>
</element>
<element name="TTIPropertyGrid.ValueFont">
<short>
Font face and style used for non-default values displayed on the property
grid.
</short>
<descr/>
<seealso>
<link id="TTIPropertyGrid.NameFont"/>
<link id="TTIPropertyGrid.DefaultValueFont"/>
</seealso>
</element>
<element name="TTIPropertyGrid.Visible" link="#lcl.controls.TControl.Visible"/>
<element name="TTIGridProperty">
<short>
Contains information about the editor and its windowed editing control for an
individual property on an RTTI-enabled property grid.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.FEditor"/>
<element name="TTIGridProperty.FEditorControl"/>
<element name="TTIGridProperty.FButtonEditorControl"/>
<element name="TTIGridProperty.FGrid"/>
<element name="TTIGridProperty.FIndex"/>
<element name="TTIGridProperty.FTitle"/>
<element name="TTIGridProperty.SetTitle">
<short>Sets the value for the Title property.</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.SetTitle.AValue">
<short>New value for the Title property.</short>
</element>
<element name="TTIGridProperty.EditorControlKeyUp">
<short>Implements the OnKeyUp event handler for the property Editor.</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.EditorControlKeyUp.Sender">
<short/>
</element>
<element name="TTIGridProperty.EditorControlKeyUp.Key">
<short/>
</element>
<element name="TTIGridProperty.EditorControlKeyUp.Shift">
<short/>
</element>
<element name="TTIGridProperty.Create">
<short>Constructor for the class instance.</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.Create.TheGrid">
<short>Grid control which hosts the property and its editor.</short>
</element>
<element name="TTIGridProperty.Create.TheEditor">
<short>Control used to edit the value for the property.</short>
</element>
<element name="TTIGridProperty.Create.TheIndex">
<short>
Ordinal position in the properties defined for the grid control.
</short>
</element>
<element name="TTIGridProperty.Destroy">
<short>Destructor for the class instance.</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.PropInfo">
<short>Pointer to the RTTI type information for the property.</short>
<descr/>
<seealso>
<link id="#rtl.typinfo.PPropInfo">PPropInfo</link>
<link id="#rtl.typinfo.TPropData">TPropData</link>
</seealso>
</element>
<element name="TTIGridProperty.PropInfo.Result">
<short/>
</element>
<element name="TTIGridProperty.GetEditorControl">
<short>
Gets the windowed control with the Editor for the Grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.GetEditorControl.Result">
<short>TWinControl instance used to edit the property.</short>
</element>
<element name="TTIGridProperty.GetButtonEditorControl">
<short>
Gets the windowed control with the button-style Editor for the Grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.GetButtonEditorControl.Result">
<short>TWinControl instance used to edit the property.</short>
</element>
<element name="TTIGridProperty.PropName">
<short>
Gets the property name from RTTI property information in the Editor for the
control.
</short>
<descr/>
<seealso>
<link id="TTIGridProperty.PropInfo"/>
<link id="TTIGridProperty.Editor"/>
</seealso>
</element>
<element name="TTIGridProperty.PropName.Result">
<short>
Name of the property maintained in the property Editor.
</short>
</element>
<element name="TTIGridProperty.Editor">
<short>
Property editor class instance for the property in PropName.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.Grid">
<short>
RTTI-enabled grid control for the property in the class instance.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.Index">
<short>
Position for the grid property passed as an argument to the constructor.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridProperty.Title">
<short>
Title displayed for the grid property.
</short>
<descr>
<p>
The default value assigned in Create is the property name from the RTTI
property information.
</p>
</descr>
<seealso>
<link id="TTIGridProperty.PropName"/>
<link id="TTIGridProperty.PropInfo"/>
</seealso>
</element>
<element name="TTIListDirection">
<short>
Represents the display layout for objects on a TTICustomGrid component.
</short>
<descr>
<p>
TTIListDirection is the type used for the ListDirection property in
TTICustomGrid.
</p>
</descr>
<seealso>
<link id="TTICustomGrid.ListDirection"/>
</seealso>
</element>
<element name="TTIListDirection.tldObjectsAsRows">
<short>
PropertyIndex is a Column index, and needs to be checked against
ObjectHeaderLines (FixedCols).
ObjectIndex is a Row index, and needs to be checked against PropHeaderLines
(FixedRows).
</short>
</element>
<element name="TTIListDirection.tldObjectsAsColumns">
<short>
PropertyIndex is a Row index, and needs to be checked against
ObjectHeaderLines (FixedRows).
ObjectIndex is a Column index, and needs to be checked against
PropHeaderLines (FixedCols).
</short>
</element>
<element name="TTIGridState">
<short>
Represents grid states that occur when updating a RTTI-enabled grid control.
</short>
<descr>
<p>
Used in the implementation of the TTICustomGrid control.
</p>
</descr>
<seealso>
<link id="TTIGridStates"/>
<link id="TTICustomGrid"/>
</seealso>
</element>
<element name="TTIGridState.tgsRebuildTIListNeeded">
<short>
Indicates the ListObject in a RTTI-enabled grid needs to be reloaded.
</short>
</element>
<element name="TTIGridState.tgsRebuildingTIList">
<short>
Indicates the ListObject in a RTTI-enabled grid is being updated.
</short>
</element>
<element name="TTIGridState.tgsDefaultDrawing">
<short>
Set during default drawing for items on a RTTI-enabled grid control.
</short>
</element>
<element name="TTIGridStates">
<short>
Set type used to store values from the TTIGridState enumeration.
</short>
<descr>
<p>
Used in the implementation of the TTICustomGrid control.
</p>
</descr>
<seealso>
<link id="TTIGridState"/>
<link id="TTICustomGrid"/>
</seealso>
</element>
<element name="TTIGridCellType">
<short>
Indicates how a cell is used in a RTTI-enabled grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridCellType.tgctNone">
<short>
Out or undefined.
</short>
</element>
<element name="TTIGridCellType.tgctValue">
<short>
A normal property cell.
</short>
</element>
<element name="TTIGridCellType.tgctPropName">
<short>
Header cell for property name.
</short>
</element>
<element name="TTIGridCellType.tgctPropNameAlt">
<short>
Header cell for alternative property name (e. g. FixedRows&gt;1).
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridCellType.tgctObjectName">
<short>
Header cell for the object name.
</short>
</element>
<element name="TTIGridCellType.tgctObjectNameAlt">
<short>
Header cell for an alternative object name (e. g. FixedCols&gt;1).
</short>
</element>
<element name="TTIGridCellType.tgctCorner">
<short>
Corner cell at the left, top of the grid.
</short>
</element>
<element name="TTIGridCellTypes">
<short>
Set type used to store TTIGridCellType enumeration values.
</short>
<descr>
<p>
Not used in the current implementation.
</p>
</descr>
<seealso/>
</element>
<element name="TTIGridOption">
<short>
Represents options that can be enabled for a RTTI grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridOption.tgoStartIndexAtOne">
<short>
Start object index at 1 for displayed object.
</short>
</element>
<element name="TTIGridOption.tgoShowOnlyProperties">
<short>
Show only those properties in ShowOnlyProperties.
</short>
</element>
<element name="TTIGridOptions">
<short>
Set type used to store TTIGridOption enumeration values.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGridGetObject">
<short>
Specifies an event handler which gets the persistent object at the specified
position on a RTTI grid control.
</short>
<descr/>
<seealso>
<link id="TTICustomGrid.OnGetObject"/>
<link id="TTICustomGrid.GetTIObject"/>
</seealso>
</element>
<element name="TTIGridGetObject.Sender">
<short>Object instance (TTICustomGrid) for the event.</short>
</element>
<element name="TTIGridGetObject.Index">
<short>
Position of the persistent object in the list of linked objects.
</short>
</element>
<element name="TTIGridGetObject.TIObject">
<short>
Object instance retrieved at the specified position.
</short>
</element>
<element name="TTIGridGetObjectCount">
<short>
Specifies an event handler signalled to get the number of persistent objects
defined for a RTTI-enabled grid control.
</short>
<descr>
<p>
<var>TTIGridGetObjectCount</var> is the type used to implement the
<var>OnGetObjectCount</var> property in <var>TTICustomGrid</var>.
</p>
</descr>
<seealso>
<link id="TTICustomGrid.OnGetObjectCount"/>
</seealso>
</element>
<element name="TTIGridGetObjectCount.Sender">
<short>Object (TTICustomGrid) instance for the event notification.</short>
</element>
<element name="TTIGridGetObjectCount.ListObject">
<short>
Container with the list of persistent objects examined in the method.
</short>
</element>
<element name="TTIGridGetObjectCount.ObjCount">
<short>
Number of persistent objects found in ListObject.
</short>
</element>
<element name="TTIGridGetObjectName">
<short>
Specifies an event handler signalled to get the name for a persistent
object at a specified position in a RTTI grid control.
</short>
<descr/>
<seealso>
<link id="TTICustomGrid.OnGetObjectName"/>
</seealso>
</element>
<element name="TTIGridGetObjectName.Sender">
<short>
Object (TTICustomGrid) instance for the event notification.
</short>
</element>
<element name="TTIGridGetObjectName.Index">
<short>
Ordinal position for the persistent object examined in the event handler.
</short>
</element>
<element name="TTIGridGetObjectName.TIObject">
<short>
Reference to the persistent object examined in the event handler.
</short>
</element>
<element name="TTIGridGetObjectName.ObjName">
<short>
Returns the name for the specified persistent object.
</short>
</element>
<element name="TTIGridCreateCellEditor">
<short>
Specifies an event handler used to get a cell editor for a RTTI-enabled grid
control.
</short>
<descr/>
<seealso>
<link id="TTICustomGrid.OnCreateCellEditor"/>
</seealso>
</element>
<element name="TTIGridCreateCellEditor.GridProp">
<short>
Property editor for the cell editor created in the event handler.
</short>
</element>
<element name="TTIGridCreateCellEditor.NewEditorControl">
<short>
Control used as the cell editor for the specified grid property.
</short>
</element>
<element name="TTIGridInitCellEditor">
<short>
Specifies an event handler used to initialize an editor control for a grid
property.
</short>
<descr/>
<seealso>
<link id="TTICustomGrid.OnInitCellEditor"/>
</seealso>
</element>
<element name="TTIGridInitCellEditor.GridProp">
<short>
TTIGridProperty instance with property information for the editor control.
</short>
</element>
<element name="TTIGridInitCellEditor.TheEditorControl">
<short>
Editor control updated in the event handler.
</short>
</element>
<element name="TTICustomGrid">
<short>
Specifies a grid control which uses RTTI type information to access and
maintain a list of property values in a linked object.
</short>
<descr>
<p>
<var>TTICustomGrid</var> is a <var>TCustomGrid</var> descendant and the base
class for the TTIGrid control.
</p>
<p>
TTICustomGrid / TTIGrid can be thought of as an "Object Grid", where
persistent objects in an indexed or enumerable list can be displayed and
edited using the RTTI information for the items.
</p>
<p>
The ListObject property contains the collection or container with
the persistent objects displayed on the RTTI grid control. Items in the list
object can be displayed as either a row or a column on the grid control using
the ListDirection property.
</p>
<p>
Properties provides indexed access to the RTTI type information for the items
in the list object. This includes the grid control for the item, the property
Editor, the Column title for the property, and its ordinal position in the
collection or container.
</p>
<p>
An example using TTIGrid is located in the
<url href="https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main/components/rtticontrols/examples/exampleprojectgrid1.lpr">
<file>components/rtticontrols/examples/exampleprojectgrid1.lpr</file>
</url> file.
</p>
</descr>
<seealso>
<link id="TTIGrid"/>
<link id="#lcl.grids.TCustomGrid">TCustomGrid</link>
</seealso>
</element>
<element name="TTICustomGrid.FAliasPropertyNames"/>
<element name="TTICustomGrid.FFilter"/>
<element name="TTICustomGrid.FHideProperties"/>
<element name="TTICustomGrid.FListDirection"/>
<element name="TTICustomGrid.FListObject"/>
<element name="TTICustomGrid.FOnCreateCellEditor"/>
<element name="TTICustomGrid.FOnGetObject"/>
<element name="TTICustomGrid.FOnGetObjectCount"/>
<element name="TTICustomGrid.FOnGetObjectName"/>
<element name="TTICustomGrid.FOnHeaderClick"/>
<element name="TTICustomGrid.FOnHeaderSized"/>
<element name="TTICustomGrid.FHeaderPropHook"/>
<element name="TTICustomGrid.FOnInitCellEditor"/>
<element name="TTICustomGrid.FOnPropertiesCreated"/>
<element name="TTICustomGrid.FPropertyOrder"/>
<element name="TTICustomGrid.FShowOnlyProperties"/>
<element name="TTICustomGrid.FTIOptions"/>
<element name="TTICustomGrid.FTIStates"/>
<element name="TTICustomGrid.FTIObjectCount"/>
<element name="TTICustomGrid.FProperties"/>
<element name="TTICustomGrid.FExtraBtnEditor"/>
<!-- private -->
<element name="TTICustomGrid.GetProperties"/>
<element name="TTICustomGrid.GetProperties.Result"/>
<element name="TTICustomGrid.GetProperties.Index"/>
<element name="TTICustomGrid.GetPropertyCount"/>
<element name="TTICustomGrid.GetPropertyCount.Result"/>
<element name="TTICustomGrid.SetAliasPropertyNames"/>
<element name="TTICustomGrid.SetAliasPropertyNames.AValue"/>
<element name="TTICustomGrid.SetFilter"/>
<element name="TTICustomGrid.SetFilter.AValue"/>
<element name="TTICustomGrid.SetHideProperties"/>
<element name="TTICustomGrid.SetHideProperties.AValue"/>
<element name="TTICustomGrid.SetListDirection"/>
<element name="TTICustomGrid.SetListDirection.AValue"/>
<element name="TTICustomGrid.SetListObject"/>
<element name="TTICustomGrid.SetListObject.AValue"/>
<element name="TTICustomGrid.SetPropertyOrder"/>
<element name="TTICustomGrid.SetPropertyOrder.AValue"/>
<element name="TTICustomGrid.SetShowOnlyProperties"/>
<element name="TTICustomGrid.SetShowOnlyProperties.AValue"/>
<element name="TTICustomGrid.SetTIOptions"/>
<element name="TTICustomGrid.SetTIOptions.NewOptions"/>
<element name="TTICustomGrid.DebugEditor"/>
<element name="TTICustomGrid.DebugEditor.msg"/>
<element name="TTICustomGrid.DebugEditor.aEditor"/>
<element name="TTICustomGrid.RebuildGridLayout">
<short>
Populates the list of Properties for the grid control from RTTI property
information for the linked object.
</short>
<descr>
<p>
Existing values in Properties are discarded by calling the ClearProperties
method. Type information for the persistent properties is reloaded and
ordered by the values in PropertyOrder. No actions are performed in the
method if a TList instance has not been allocated for the Properties member.
</p>
<p>
The OnPropertiesCreated event handler is signalled (when assigned) prior to
exiting from the method.
</p>
</descr>
<seealso>
<link id="TTICustomGrid.ClearProperties"/>
<link id="TTICustomGrid.Properties"/>
<link id="TTICustomGrid.PropertyOrder"/>
</seealso>
</element>
<element name="TTICustomGrid.AddHeaderPropertyEditor">
<short>
Creates a TTIGridProperty editor the specified property and adds it to Properties.
</short>
<descr/>
<seealso>
<link id="TTICustomGrid.RebuildGridLayout"/>
<link id="TTICustomGrid.ClearProperties"/>
<link id="TTICustomGrid.OnPropertiesCreated"/>
<link id="TTICustomGrid.HideProperties"/>
<link id="TTICustomGrid.ShowOnlyProperties"/>
<link id="TTICustomGrid.TIOptions"/>
</seealso>
</element>
<element name="TTICustomGrid.AddHeaderPropertyEditor.Prop">
<short>Property editor with the header information added in the method.</short>
</element>
<element name="TTICustomGrid.BeforeMoveSelection">
<short>
Performs actions needed prior to changing the selected grid cell.
</short>
<descr/>
<seealso>
<link id="#lcl.grids.TCustomGrid.BeforeMoveSelection">TCustomGrid.BeforeMoveSelection</link>
<link id="#lcl.grids.TCustomGrid.OnBeforeSelection">TCustomGrid.OnBeforeSelection</link>
</seealso>
</element>
<element name="TTICustomGrid.BeforeMoveSelection.DCol">
<short>New column number to select in the grid.</short>
</element>
<element name="TTICustomGrid.BeforeMoveSelection.DRow">
<short>New row number to select in the grid.</short>
</element>
<element name="TTICustomGrid.CalcCellExtent">
<short>Not used in the current version.</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.CalcCellExtent.aCol">
<short/>
</element>
<element name="TTICustomGrid.CalcCellExtent.aRow">
<short/>
</element>
<element name="TTICustomGrid.CalcCellExtent.aRect">
<short/>
</element>
<element name="TTICustomGrid.DoEditorHide">
<short>
Performs actions to hide the active Editor for the grid control.
</short>
<descr>
<p>
Locates the property link with the current Editor and removes both the object
and property references in the property link. Calls the inherited method
prior to exit.
</p>
<p>
DoEditorHide is called from the EditorHide method when the active Editor is
changed. It is also called when goAlwaysShowEditor is removed from the
Options for the grid control.
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.DoEditorShow">
<short>
Performs actions to display the Editor for the active cell on the grid
control.
</short>
<descr>
<p>
Calls the inherited DoEditorShow method on entry. DoEditorShow ensures that a
button-style editor has its Parent property set to the grid control instance,
and its Visible property is set to <b>True</b>.
</p>
<p>
DoEditorShow is called from the EditorShow method, and occurs when the active
cell editor has been changed or when the grid control receives focus. It is
also called when goAlwaysShowEditor is added to the Options for the grid
control.
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.DrawCell">
<short>
Draws the specified cell on the grid using a given grid drawing state.
</short>
<descr>
<p>
At run-time, DrawCell uses the OnDrawCell event handler (when assigned) to
draw the cell at the specified coordinates. PrepareCanvas is called to
configure the Brush, Pen, and Font for the canvas for the specified grid
drawing state. When DefaultDrawing is enabled, the display rectangle is
filled using the Brush for the canvas. The OnDrawCell event handler is
signalled to perform the user-specified drawing operations.
</p>
<p>
When OnDrawCell is omitted (or at design-time), the DefaultDrawCell method is
called.
</p>
<p>
DrawCell calls the DrawCellGrid method to draw fixed header cells and grid
lines when enabled for the control.
</p>
<p>
DrawCell is called from the DrawRow method.
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.DrawCell.aCol">
<short>
Column number for the grid cell drawn in the method.
</short>
</element>
<element name="TTICustomGrid.DrawCell.aRow">
<short>
Row number for the grid cell drawn in the method.
</short>
</element>
<element name="TTICustomGrid.DrawCell.aRect">
<short>
Display rectangle for the content drawn on the grid cell.
</short>
</element>
<element name="TTICustomGrid.DrawCell.aState">
<short>
Grid drawing state applied to the values drawn in the method.
</short>
</element>
<element name="TTICustomGrid.EditorPosChanged">
<short/>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.EditorPosChanged.aEditor">
<short/>
</element>
<element name="TTICustomGrid.EditorWidthChanged">
<short>
Recalculates the position and size for a cell Editor when the column width is
changed.
</short>
<descr>
<p>
<var>EditorWidthChanged</var> is overridden in <var>TTICustomGrid</var> and
re-implements the method from the ancestor class. It calls the EditPosChanged
method to recalculate the cell rectangle for the Editor control in the
current cell.
</p>
<p>
Values in the ACol and AWidth arguments are not used in the overridden method.
</p>
<p>
EditorWidthChanged is called when either the ColWidths or DefColWidth
property has been changed.
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.EditorWidthChanged.aCol">
<short>Not used in the method.</short>
</element>
<element name="TTICustomGrid.EditorWidthChanged.aWidth">
<short>Not used in the method.</short>
</element>
<element name="TTICustomGrid.HeaderClick">
<short>
Performs actions needed when a mouse click occurs in a fixed header for a
grid column or row.
</short>
<descr>
<p>
<var>HeaderClick</var> is an overridden method in <var>TTICustomGrid</var>.
It applies changes to the sort order for the grid when the mouse event occurs
in a column header.
</p>
<p>
<var>IsColumn</var> indicates whether the header click applies to a column or
a row. When set to <b>True</b>, the mouse click occurred in a fixed header
for the column number in <var>Index</var>.
</p>
<p>
HeaderClick calls the inherited method on entry to update the SortColumn and
SortOrder properties when a mouse up event occurs. The Sort method is used to
re-order the grid data when ColumnClickSorts is enabled.
</p>
<p>
The OnHeaderClick event handler is signalled (when assigned) to perform
additional actions needed in the application. The handler can be used to
respond to a click on a fixed row header (IsColumn is <b>False</b>) which is
ignored in the ancestor class.
</p>
<p>
OnHeaderClick is called from the MouseUp and DialogChar methods in the
ancestor class.
</p>
</descr>
<seealso>
<link id="TTICustomGrid.OnHeaderClick"/>
<link id="#lcl.grids.TCustomGrid.HeaderClick">TCustomGrid.HeaderClick</link>
<link id="#lcl.grids.TCustomGrid.SortOrder">TCustomGrid.SortOrder</link>
<link id="#lcl.grids.TCustomGrid.SortColumn">TCustomGrid.SortColumn</link>
<link id="#lcl.grids.TCustomGrid.Sort">TCustomGrid.Sort</link>
<link id="#lcl.grids.TCustomGrid.ColumnClickSorts">TCustomGrid.ColumnClickSorts</link>
<link id="#lcl.grids.TCustomGrid.MouseUp">TCustomGrid.MouseUp</link>
<link id="#lcl.grids.TCustomGrid.MouseUp">TCustomGrid.DialogChar</link>
<link id="#lcl.grids.THdrEvent">THdrEvent</link>
</seealso>
</element>
<element name="TTICustomGrid.HeaderClick.IsColumn">
<short>
<b>True</b> if the mouse event occurred in the fixed header for the specified
column number.
</short>
</element>
<element name="TTICustomGrid.HeaderClick.Index">
<short>
Column number for the mouse click event.
</short>
</element>
<element name="TTICustomGrid.HeaderSized">
<short>
Performs actions needed when the header for a column or a row has been
resized.
</short>
<descr>
<p>
<var>HeaderSized</var> is an overridden method in <var>TTICustomGrid</var>
which implements the virtual method defined in the ancestor class. It signals
the OnHeaderSized event handler (when assigned) using IsColumn and Index as
arguments to the handler.
</p>
<p>
<var>IsColumn</var> indicates whether the sizing action applies to a header
for a column or a row. When set to <b>True</b>, the column header has been
resized. When set to <b>False</b>, the row header was resized.
</p>
<p>
<var>Index</var> indicates the column or row number in the grid where the
resizing action occurred.
</p>
<p>
HeaderSized is called from methods like MouseUp (when column or row sizing is
completed) and DblClick (when column sizing is enabled in the grid Options).
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.HeaderSized.IsColumn">
<short>
<var>True</var> when a column header is resized, <var>False</var> for a row
header.
</short>
</element>
<element name="TTICustomGrid.HeaderSized.Index">
<short>
Column or row number for the header resized in the grid control.
</short>
</element>
<element name="TTICustomGrid.GetAutoFillColumnInfo">
<short>
Re-implements the method used to get auto-fill information for the column.
</short>
<descr>
<p>
<var>GetAutoFillColumnInfo</var> is an overridden method in
<var>TTICustomGrid</var>. It updates the value in the <var>APriority</var>
argument to set the auto-sizing priority for the column represented by the
<var>Index</var> argument.
</p>
<p>
If Index is one of the FixedCols for the control, APriority is set to 0. This
disables auto-sizing for the column. Otherwise, APriority is set to 1 to
enable auto-sizing for the column.
</p>
<p>
Values in AMin and AMax are not used or assigned in the overridden method.
</p>
<p>
GetAutoFillColumnInfo is called when AutoFillColumns is set to <b>True</b>,
and the column sizes are recalculated for the grid control.
</p>
</descr>
<seealso>
<link id="#lcl.grids.TCustomGrid.GetAutoFillColumnInfo">TCustomGrid.GetAutoFillColumnInfo</link>
<link id="#lcl.grids.TCustomGrid.AutoFillColumns">TCustomGrid.AutoFillColumns</link>
<link id="#lcl.grids.TCustomGrid.ColumnFromGridColumn">TCustomGrid.ColumnFromGridColumn</link>
<link id="#lcl.grids.TCustomGrid.Columns">TCustomGrid.Columns</link>
<link id="#lcl.grids.TGridColumn.MinSize">TGridColumn.MinSize</link>
<link id="#lcl.grids.TGridColumn.MaxSize">TGridColumn.MaxSize</link>
<link id="#lcl.grids.TGridColumn.SizePriority">TGridColumn.SizePriority</link>
</seealso>
</element>
<element name="TTICustomGrid.GetAutoFillColumnInfo.Index">
<short>
Position of the column for the auto-fill information.
</short>
</element>
<element name="TTICustomGrid.GetAutoFillColumnInfo.aMin">
<short>
Calculated minimum width for the column. Not used in TTICustomGrid.
</short>
</element>
<element name="TTICustomGrid.GetAutoFillColumnInfo.aMax">
<short>
Calculated maximum width for the column. Not used in TTICustomGrid.
</short>
</element>
<element name="TTICustomGrid.GetAutoFillColumnInfo.aPriority">
<short>
Auto-sizing priority for the column. 0 is disabled.
</short>
</element>
<element name="TTICustomGrid.SelectEditor">
<short>
Gets the Editor for a property name or value displayed on the RTTI-enabled
grid control.
</short>
<descr>
<p>
<var>SelectEditor</var> is an overridden method in <var>TTICustomGrid</var>.
It re-implements the method from the ancestor class, and does not call the
inherited method.
</p>
<p>
SelectEditor determines the editor class needed for the persistent object and
property at the Col and Row for the grid control. The Editor property is
updated with the control used to edit the property name or value on the grid.
It is also updated with the RTTI type information for the property name or
value.
</p>
<p>
The OnSelectEditor event handler is signalled (when assigned) with the cell
coordinates (Col, Row) and the Editor control selected in the method.
</p>
<p>
No actions are performed in the method when Properties has not been assigned.
In this case, the value in Editor is <b>Nil</b>.
</p>
<p>
SelectEditor is called from methods in the ancestor class, and occurs when
mouse / key / cell navigation events are handled for the control. It is also
called when values in the Options property are updated.
</p>
</descr>
<seealso>
<link id="TTICustomGrid.Properties"/>
<link id="TTICustomGrid.GetTIObject"/>
<link id="#lcl.grids.TCustomGrid.Editor">TCustomGrid.Editor</link>
<link id="#lcl.grids.TCustomGrid.Col">TCustomGrid.Col</link>
<link id="#lcl.grids.TCustomGrid.Row">TCustomGrid.Row</link>
<link id="#lcl.grids.TCustomGrid.Options">TCustomGrid.Options</link>
<link id="#lcl.grids.TCustomGrid.KeyDown">TCustomGrid.KeyDown</link>
<link id="#lcl.grids.TCustomGrid.KeyPress">TCustomGrid.KeyPress</link>
<link id="#lcl.grids.TCustomGrid.MouseDown">TCustomGrid.MouseDown</link>
<link id="#lcl.grids.TCustomGrid.MouseUp">TCustomGrid.MouseUp</link>
<link id="#lcl.grids.TCustomGrid.DoEnter">TCustomGrid.DoEnter</link>
<link id="#lcl.grids.TCustomGrid.MoveExtend">TCustomGrid.MoveExtend</link>
<link id="#lcl.grids.TCustomGrid.MoveNextSelectable">TCustomGrid.MoveNextSelectable</link>
<link id="#lcl.grids.TCustomGrid.EditorShowInCell">TCustomGrid.EditorShowInCell</link>
</seealso>
</element>
<element name="TTICustomGrid.DoEditorControlKeyUp">
<short>
Implements the KeyUp handler for the active Editor on the RTTI-enabled grid.
</short>
<descr>
<p>
<var>DoEditorControlKeyUp</var> ensures that key events using the Ctrl modifier are handled for the control, including:
</p>
<dl>
<dt>CTRL + Up</dt>
<dd>Moves the selection pointer towards the top of the grid.</dd>
<dt>Ctrl + Down</dt>
<dd>Moves the selection pointer towards the bottom of the grid.</dd>
<dt>Ctrl + Home</dt>
<dd>Moves the selection pointer to the first non-fixed row in the grid.</dd>
<dt>Ctrl + End</dt>
<dd>Moves the selection pointer to the last non-fixed row in the grid.</dd>
<dt>Ctrl + F2</dt>
<dd>
Reloads property type information and activates the Editor for the current
cell.
</dd>
</dl>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.DoEditorControlKeyUp.Sender">
<short>
Object for the event notification.
</short>
</element>
<element name="TTICustomGrid.DoEditorControlKeyUp.Key">
<short>
Key code for the key event notification.
</short>
</element>
<element name="TTICustomGrid.DoEditorControlKeyUp.Shift">
<short>
Shift, Alt, or Ctrl modifier for the key event notification.
</short>
</element>
<element name="TTICustomGrid.WriteCellText">
<short>
Draws the specified cell text to the a display rectangle on the Canvas for
the control.
</short>
<descr>
<p>
<var>WriteCellText</var> adjusts the coordinates in ARect to account for grid
lines and padding around the text value. Space is reserved at the top of the
rectangle, and on the edge indicated by the text alignment for the Canvas.
</p>
<p>
The TextRectangle method in Canvas is called to render the text to the
display rectangle.
</p>
<p>
No actions are performed in the method if AText is an empty string ('').
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.WriteCellText.aRect">
<short>
Rectangle where the value is drawn on the Canvas for the control.
</short>
</element>
<element name="TTICustomGrid.WriteCellText.aText">
<short>
Text value drawn for the cell on the Canvas for the control.
</short>
</element>
<element name="TTICustomGrid.UnlinkPropertyEditor">
<short>
Sets the property link for the specified editor control to <b>Nil</b>.
</short>
<descr/>
<seealso>
<link id="TTICustomGrid.BeforeMoveSelection"/>
</seealso>
</element>
<element name="TTICustomGrid.UnlinkPropertyEditor.aEditor">
<short>
Editing control to locate and unlink in the method.
</short>
</element>
<element name="TTICustomGrid.SetFixedCols">
<short>
Sets the value for the FixedCols property.
</short>
<descr>
<p>
Overridden in TTICustomGrid. Calls the inherited method on entry to update
the property value. Calls RebuildGridLayout to reload and reconfigure the
Properties for the RTTI-enabled grid control.
</p>
</descr>
<seealso>
<link id="TTICustomGrid.RebuildGridLayout"/>
<link id="#lcl.grids.TCustomGrid.FixedCols">TCustomGrid.FixedCols</link>
</seealso>
</element>
<element name="TTICustomGrid.SetFixedCols.AValue">
<short>
New value for the FixedCols property.
</short>
</element>
<element name="TTICustomGrid.SetFixedRows">
<short>
Sets the value for the FixedRows property.
</short>
<descr>
Overridden in TTICustomGrid. Calls the inherited method on entry to update
the property value. Calls RebuildGridLayout to reload and reconfigure the
Properties for the RTTI-enabled grid control.
</descr>
<seealso>
<link id="TTICustomGrid.RebuildGridLayout"/>
<link id="#lcl.grids.TCustomGrid.FixedRows">TCustomGrid.FixedRows</link>
</seealso>
</element>
<element name="TTICustomGrid.SetFixedRows.AValue">
<short>
New value for the FixedRows property.
</short>
</element>
<element name="TTICustomGrid.Create">
<short>
Constructor for the class instance.
</short>
<descr>
<p>
<var>Create</var> is the overridden constructor for the class instance, and
calls the inherited method on entry. It allocates resources needed for
members in the class instance, including: Properties, HideProperties,
PropertyOrder, ShowOnlyProperties, and AliasPropertyNames.
</p>
<p>
Creates set the default values for the following properties:
</p>
<dl>
<dt>Filter</dt>
<dd>
Configured to use RTTI property types: tkInteger, tkChar, tkEnumeration,
tkFloat, tkSString, tkLString, tkAString, tkWString, tkVariant,tkWChar,
tkBool, tkInt64, and tkQWord.
</dd>
<dt>ListDirection</dt>
<dd>
Set to tldObjectsAsRows.
</dd>
</dl>
</descr>
<seealso>
<link id="TTICustomGrid.Destroy"/>
</seealso>
</element>
<element name="TTICustomGrid.Create.TheOwner">
<short>
Owner of the class instance.
</short>
</element>
<element name="TTICustomGrid.Destroy">
<short>
Destructor for the class instance.
</short>
<descr>
<p>
<var>Destroy</var> calls ClearProperties to remove the RTTI property
information for the linked object in the control. Destroy frees resources
allocated for members including: Properties, HideProperties, PropertyOrder,
ShowOnlyProperties, and AliasPropertyNames. Destroy calls the inherited
destructor prior to exiting from the method.
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.Loaded">
<short>
Performs actions needed when LCL component streaming has been completed.
</short>
<descr>
<p>
Calls the inherited method on entry.
</p>
<p>
Calls the ReloadTIList method when tgsRebuildTIListNeeded has been included
in the internal RTTI state flags.
</p>
</descr>
<seealso>
<link id="TTIGridState"/>
<link id="TTIGridStates"/>
</seealso>
</element>
<element name="TTICustomGrid.ReloadTIList">
<short>
Reloads RTTI property information in Properties and rebuilds the grid layout.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.ClearProperties">
<short>
Removes existing RTTI property information for the linked object in the grid
control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.DefaultDrawCell">
<short>
Prepares the Canvas for the control and performs default drawing for values
on the grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.DefaultDrawCell.aCol">
<short>
Column number for values drawn in the method.
</short>
</element>
<element name="TTICustomGrid.DefaultDrawCell.aRow">
<short>
Row number for values drawn in the method.
</short>
</element>
<element name="TTICustomGrid.DefaultDrawCell.aRect">
<short>
Display rectangle calculated in the method for the content displayed on the
grid control.
</short>
</element>
<element name="TTICustomGrid.DefaultDrawCell.aState">
<short>
Grid drawing state used to display the value for the grid cell.
</short>
</element>
<element name="TTICustomGrid.DrawObjectName">
<short>
Draws the name / caption / title for the specified object found in the list
or collection in ListObject.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.DrawObjectName.Index">
<short>
Ordinal position for the persistent object drawn in the method.
</short>
</element>
<element name="TTICustomGrid.DrawObjectName.aRect">
<short>
Display rectangle for the object calculated in the method.
</short>
</element>
<element name="TTICustomGrid.DrawObjectName.aState">
<short>
Grid drawing state for the name drawn in the method.
</short>
</element>
<element name="TTICustomGrid.GetCellEditor">
<short>
Gets the property editor for the specified grid cell.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.GetCellEditor.aCol">
<short>
Column number for the editor retrieved in the method.
</short>
</element>
<element name="TTICustomGrid.GetCellEditor.aRow">
<short>
Row number for the editor retrieved in the method.
</short>
</element>
<element name="TTICustomGrid.GetCellEditor.aPropEditor">
<short>
Property editor class instance retrieved in the method.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.GetCellEditor.aIndependentEditor">
<short>
Contains True when the cell editor represents a persistent object instead of
a named property.
</short>
</element>
<element name="TTICustomGrid.FreeCellEditor">
<short>
Frees the specified property editor for cell in the grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.FreeCellEditor.PropEditor">
<short>
TPropertyEditor class instance freed in the method. Ensures that the
PropertyHook for the editor is also freed.
</short>
</element>
<element name="TTICustomGrid.GridStateToPropEditState">
<short>
Translates selected and focused grid draw state values to property editor
state values.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.GridStateToPropEditState.Index">
<short/>
</element>
<element name="TTICustomGrid.GridStateToPropEditState.GridState">
<short/>
</element>
<element name="TTICustomGrid.GetTIObject">
<short>
Gets the persistent object at the specified ordinal position in ListObject
(or from OnGetObject).
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.GetTIObject.Result">
<short>
TPersistent class instance at the specified position.
</short>
</element>
<element name="TTICustomGrid.GetTIObject.Index">
<short>
Ordinal position for the persistent object.
</short>
</element>
<element name="TTICustomGrid.MapCell">
<short>
Gets the position for the object and property at the specified cell
coordinates, and the type for the cell.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.MapCell.aCol">
<short/>
</element>
<element name="TTICustomGrid.MapCell.aRow">
<short/>
</element>
<element name="TTICustomGrid.MapCell.ObjectIndex">
<short/>
</element>
<element name="TTICustomGrid.MapCell.PropertyIndex">
<short/>
</element>
<element name="TTICustomGrid.MapCell.CellType">
<short/>
</element>
<element name="TTICustomGrid.GetCurrentGridProperty">
<short>
Gets the TTIGridProperty instance for a cell which represents a property
value.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.GetCurrentGridProperty.Result">
<short/>
</element>
<element name="TTICustomGrid.IndexOfGridProperty">
<short>
Gets the ordinal position in Properties for the property with the specified
name.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.IndexOfGridProperty.Result">
<short>
Ordinal position for the specified property name, or -1 when PropName is not
found.
</short>
</element>
<element name="TTICustomGrid.IndexOfGridProperty.PropName">
<short>
Name of the property to locate in the RTTI property information.
</short>
</element>
<element name="TTICustomGrid.FindGridProperty">
<short>
Gets the TTIGridProperty instance for the property with the specified name.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.FindGridProperty.Result">
<short>
TTIGridProperty for the specified name, or -1 when not found.
</short>
</element>
<element name="TTICustomGrid.FindGridProperty.PropName">
<short>
Name of the property to locate in the RTTI-enabled grid control.
</short>
</element>
<element name="TTICustomGrid.MoveProperty">
<short/>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.MoveProperty.FromID">
<short/>
</element>
<element name="TTICustomGrid.MoveProperty.ToID">
<short/>
</element>
<element name="TTICustomGrid.AliasPropertyNames">
<short>
Contains alternate text for property names used in the control.
</short>
<descr/>
<p>
AliasPropertyNames is a TAliasStrings property which provides an alias or
alternate text for property names found in Properties.
</p>
<seealso/>
</element>
<element name="TTICustomGrid.DefaultRowHeight">
<short>
Default height for a row drawn on the grid control.
</short>
<descr>
<p>
The default value for the property is 20 (pixels) in TTICustomGrid.
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.Filter">
<short>
Identifies the RTTI types eligible for use in the RTTI-enabled grid control.
</short>
<descr>
<p>
The default value for the property is a set which contains all TTypeKind
enumeration values except tkUnknown.
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.HideProperties">
<short>
Contains the list of properties in a persistent object which cannot be
displayed or edited using the RTTI-enabled grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.ListDirection">
<short>
Indicates the layout direction for Properties on the grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.ListObject">
<short>
List or collection with the values which can be maintained using the grid
control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.OnCreateCellEditor">
<short>
Event handler signalled to create a user-specified cell editor for the grid
control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.OnGetObject">
<short>
Event handler signalled to get the persistent object at the specified
position in a user-supplied list of objects.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.OnGetObjectCount">
<short>
Event handler signalled to get the number of persistent objects in ListObject.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.OnGetObjectName">
<short>
Event handler signalled to get the user-specified name for a persistent
object on the grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.OnHeaderClick">
<short>
Event handler signalled when a fixed cell in the grid is clicked.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.OnHeaderSized">
<short>
Event handler signalled when a fixed cell in the grid is resized.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.OnInitCellEditor">
<short>
Event handler signalled to initialize a cell editor for the grid control.
</short>
<descr>
<p>
Signalled from the GetEditorControl method after the editor class has been
determined. It is signalled twice when a button-style editor is also used for
a property value.
</p>
</descr>
<seealso/>
</element>
<element name="TTICustomGrid.OnPropertiesCreated">
<short>
Event handler signalled when the grid layout has been rebuilt for the
Properties on the control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.Properties">
<short>
Provides indexed access to RTTI property information used on the grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.Properties.Index">
<short/>
</element>
<element name="TTICustomGrid.PropertyCount">
<short>
Indicates the number of entries in Properties.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.PropertyOrder">
<short>
Contains property names in the order they are displayed on the grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.ShowOnlyProperties">
<short>
Contains property names to which the grid control is restricted.
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.TIObjectCount">
<short>
Number of persistent objects in ListObject (or available to OnGetObject).
</short>
<descr/>
<seealso/>
</element>
<element name="TTICustomGrid.TIOptions">
<short>
Contains the grid options enabled for the RTTI grid control.
</short>
<descr/>
<seealso/>
</element>
<element name="TTIGrid">
<short>
Implements a grid control which uses RTTI type information to access and
maintain a list of properties in a linked object.
</short>
<descr>
<p>
<var>TTIGrid</var> is a <var>TTICustomGrid</var> descendant which implements
an RTTI-enabled grid control that accesses a list of properties in a linked
object. It sets the visibility for properties introduced in ancestor classes.
</p>
<p>
TTICustomGrid / TTIGrid can be thought of as an "Object Grid", where
persistent objects in an indexed or enumerable list can be displayed and
edited using the RTTI information for the items.
</p>
<p>
The ListObject property contains the collection or container with
the persistent objects displayed on the RTTI grid control. Items in the list
object can be displayed as either a row or a column on the grid control using
the ListDirection property.
</p>
<p>
Properties provides indexed access to the RTTI type information for the items
in the list object. This includes the grid control for the item, the property
Editor, the Column title for the property, and its ordinal position in the
collection or container.
</p>
<p>
An example using TTIGrid is located in the
<url href="https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main/components/rtticontrols/examples/exampleprojectgrid1.lpr">
<file>components/rtticontrols/examples/exampleprojectgrid1.lpr</file>
</url>
file.
</p>
</descr>
<seealso>
<link id="TTICustomGrid"/>
<link id="#lcl.grids.TCustomGrid">TCustomGrid</link>
</seealso>
</element>
<element
name="TTIGrid.AliasPropertyNames"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.AliasPropertyNames"/>
<element name="TTIGrid.Align" link="#lcl.controls.TControl.Align"/>
<element name="TTIGrid.Anchors" link="#lcl.controls.TControl.Anchors"/>
<element name="TTIGrid.AutoAdvance" link="#lcl.grids.TCustomGrid.AutoAdvance"/>
<element name="TTIGrid.AutoFillColumns" link="#lcl.grids.TCustomGrid.AutoFillColumns"/>
<element name="TTIGrid.BorderSpacing" link="#lcl.controls.TControl.BorderSpacing"/>
<element name="TTIGrid.BorderStyle" link="#lcl.grids.TCustomGrid.BorderStyle"/>
<element name="TTIGrid.Color" link="#lcl.controls.TControl.Color"/>
<element name="TTIGrid.Constraints" link="#lcl.controls.TControl.Constraints"/>
<element name="TTIGrid.DefaultDrawing" link="#lcl.grids.TCustomGrid.DefaultDrawing"/>
<element
name="TTIGrid.DefaultRowHeight"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.DefaultRowHeight"/>
<element name="TTIGrid.Enabled" link="#lcl.controls.TControl.Enabled"/>
<element name="TTIGrid.Filter" link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.Filter"/>
<element name="TTIGrid.FixedColor" link="#lcl.grids.TCustomGrid.FixedColor"/>
<element name="TTIGrid.FixedCols" link="#lcl.grids.TCustomGrid.FixedCols"/>
<element name="TTIGrid.FixedRows" link="#lcl.grids.TCustomGrid.FixedRows"/>
<element name="TTIGrid.Flat" link="#lcl.grids.TCustomGrid.Flat"/>
<element name="TTIGrid.Font" link="#lcl.controls.TControl.Font"/>
<element
name="TTIGrid.HideProperties"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.HideProperties"/>
<element
name="TTIGrid.ListDirection"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.ListDirection"/>
<element
name="TTIGrid.OnCreateCellEditor"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.OnCreateCellEditor"/>
<element name="TTIGrid.OnDblClick" link="#lcl.controls.TControl.OnDblClick"/>
<element name="TTIGrid.OnEditButtonClick" link="#lcl.grids.TCustomGrid.OnEditButtonClick"/>
<element name="TTIGrid.OnEnter" link="#lcl.controls.TWinControl.OnEnter"/>
<element name="TTIGrid.OnExit" link="#lcl.controls.TWinControl.OnExit"/>
<element
name="TTIGrid.OnGetObject"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.OnGetObject"/>
<element
name="TTIGrid.OnGetObjectCount"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.OnGetObjectCount"/>
<element
name="TTIGrid.OnGetObjectName"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.OnGetObjectName"/>
<element
name="TTIGrid.OnHeaderClick"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.OnHeaderClick"/>
<element
name="TTIGrid.OnHeaderSized"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.OnHeaderSized"/>
<element
name="TTIGrid.OnInitCellEditor"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.OnInitCellEditor"/>
<element name="TTIGrid.OnKeyDown" link="#lcl.controls.TWinControl.OnKeyDown"/>
<element name="TTIGrid.OnKeyPress" link="#lcl.controls.TWinControl.OnKeyPress"/>
<element name="TTIGrid.OnKeyUp" link="#lcl.controls.TWinControl.OnKeyUp"/>
<element name="TTIGrid.OnMouseDown" link="#lcl.controls.TControl.OnMouseDown"/>
<element name="TTIGrid.OnMouseMove" link="#lcl.controls.TControl.OnMouseMove"/>
<element name="TTIGrid.OnMouseUp" link="#lcl.controls.TControl.OnMouseUp"/>
<element name="TTIGrid.OnPrepareCanvas" link="#lcl.grids.TCustomGrid.OnPrepareCanvas"/>
<element name="TTIGrid.OnPropertiesCreated" link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.OnPropertiesCreated"/>
<element name="TTIGrid.Options" link="#lcl.grids.TCustomGrid.Options"/>
<element name="TTIGrid.ParentColor" link="#lcl.controls.TControl.ParentColor"/>
<element name="TTIGrid.ParentFont" link="#lcl.controls.TControl.ParentFont"/>
<element name="TTIGrid.PopupMenu" link="#lcl.controls.TControl.PopupMenu"/>
<element name="TTIGrid.PropertyOrder"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.PropertyOrder"/>
<element name="TTIGrid.ShowHint" link="#lcl.controls.TControl.ShowHint"/>
<element
name="TTIGrid.ShowOnlyProperties"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.ShowOnlyProperties"/>
<element name="TTIGrid.TabOrder" link="#lcl.controls.TWinControl.TabOrder"/>
<element name="TTIGrid.TabStop" link="#lcl.grids.TCustomGrid.TabStop"/>
<element
name="TTIGrid.TIOptions"
link="#runtimetypeinfocontrols.rttigrids.TTICustomGrid.TIOptions"/>
<element name="TTIGrid.TitleFont" link="#lcl.grids.TCustomGrid.TitleFont"/>
<element name="TTIGrid.Visible" link="#lcl.controls.TWinControl.Visible"/>
<element name="TRegisteredTIGridControl">
<short>
Represents a property editor and its windowed editing control registered for
use on a property grid.
</short>
<descr/>
<seealso/>
</element>
<element name="TRegisteredTIGridControl.FPropEditorClass"/>
<element name="TRegisteredTIGridControl.FWinControlClass"/>
<element name="TRegisteredTIGridControl.PropEditorClass">
<short/>
<descr/>
<seealso/>
</element>
<element name="TRegisteredTIGridControl.WinControlClass">
<short/>
<descr/>
<seealso/>
</element>
<element name="RegisterTIGridControl">
<short>
Registers a RTTI grid control for the specified property and editor classes.
</short>
<descr/>
<seealso/>
</element>
<element name="RegisterTIGridControl.PropEditorClass">
<short>
Class type for the object maintained in the property grid.
</short>
</element>
<element name="RegisterTIGridControl.WinControlClass">
<short>
Class type for the editor needed to edit the property value.
</short>
</element>
<element name="FindTIGridControl">
<short>
Gets the registered RTTI-enabled grid with the property editor for the
specified property class.
</short>
<descr/>
<seealso/>
</element>
<element name="FindTIGridControl.PropEditorClass">
<short>
TPropertyEditorClass instance to locate in the routine.
</short>
</element>
<element name="Register">
<short>
Registers components for use in the Lazarus IDE.
</short>
<descr>
<p>
The following components are added to the component palette in the Lazarus
IDE:
</p>
<p>
<b>RTTI Tab</b>
</p>
<ul>
<li>TTIPropertyGrid</li>
<li>TTIGrid</li>
</ul>
</descr>
<seealso/>
</element>
</module>
</package>
</fpdoc-descriptions>