1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
Documentation for LCL (Lazarus Component Library) and LazUtils (Lazarus
Utilities) are published under the Creative Commons Attribution-ShareAlike 4.0
International public license.
https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt
https://gitlab.com/freepascal.org/lazarus/lazarus/-/blob/main/docs/cc-by-sa-4-0.txt
Copyright (c) 1997-2025, by the Lazarus Development Team.
-->
<fpdoc-descriptions>
<package name="lcl">
<!--
====================================================================
LCLClasses
====================================================================
-->
<module name="LCLClasses">
<short>
Defines the base class for all LCL TComponents including controls.
</short>
<descr/>
<!-- unresolved type references, used units -->
<element name="Classes"/>
<element name="WSLCLClasses"/>
<element name="WSReferences"/>
<element name="LCLType"/>
<element name="LCLProc"/>
<element name="LazLongRec">
<short>
Represents a Long value as low- and high-order signed SmallInt values.
</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>
<element name="LazLongRec.Lo">
<short>The low-order signed small integer value.</short>
</element>
<element name="LazLongRec.Hi">
<short>The high-order signed small integer value.</short>
</element>
<element name="TLCLComponent">
<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="#rtl.classes.TComponent">TComponent</link>
</seealso>
</element>
<!-- private -->
<element name="TLCLComponent.FWidgetSetClass" link="#lcl.lclclasses.TLCLComponent.WidgetSetClass"/>
<element name="TLCLComponent.FLCLRefCount" link="#lcl.lclclasses.TLCLComponent.LCLRefCount"/>
<element name="TLCLComponent.WSRegisterClass">
<short>Registers this component class with the current WidgetSet.</short>
</element>
<element name="TLCLComponent.GetWSComponentClass">
<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>
<seealso>
<link id="TLCLComponent.WidgetSetClass"/>
</seealso>
</element>
<element name="TLCLComponent.GetWSComponentClass.Result">
<short>Class type used to create instances of the specified component.</short>
</element>
<element name="TLCLComponent.GetWSComponentClass.ASelf">
<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/>
</element>
<element name="TLCLComponent.Create.TheOwner">
<short>Owner of the class instance.</short>
</element>
<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>
<!-- public -->
<element name="TLCLComponent.NewInstance">
<short>
Creates and registers a new instance of the class, and initializes the
WidgetSetClass property.
</short>
<descr/>
<seealso>
<link id="TLCLComponent.WidgetSetClass"/>
</seealso>
</element>
<element name="TLCLComponent.NewInstance.Result">
<short>Class instance created in the method.</short>
</element>
<element name="TLCLComponent.RemoveAllHandlersOfObject">
<short>
Override this method to remove all references to notification handlers in
AnObject.
</short>
<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>
<seealso/>
</element>
<element name="TLCLComponent.RemoveAllHandlersOfObject.AnObject">
<short>The object whose handlers shall be removed.</short>
</element>
<element name="TLCLComponent.IncLCLRefCount" link="#lcl.lclclasses.TLCLComponent.LCLRefCount"/>
<element name="TLCLComponent.DecLCLRefCount">
<short>
Decrements the reference counter for the LCL component.
</short>
<descr>
<p>
When the internal counter reaches 0, the FreeComponent method in the
application is called to free resources allocated for the LCL component.
</p>
</descr>
<version>
Modified in LCL version 3.0 to signal the OnDecLCLRefcountToZero event in
lclclasses.pas when the counter reaches 0.
</version>
<seealso>
<link id="TLCLComponent.LCLRefCount"/>
<link id="TLCLComponent.IncLCLRefCount"/>
<link id="#lcl.lclclasses.TLCLComponent.LCLRefCount">TLCLComponent.LCLRefCount</link>
</seealso>
</element>
<element name="TLCLComponent.LCLRefCount">
<short>The number of references to this component.</short>
<descr>
<p>
<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="#lcl.controls.TWinControl.IntfUTF8KeyPress">TWinControl.IntfUTF8KeyPress</link>
</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>
<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>
</descr>
<version>
Modified in LCL version 4.0 to use the TLCLHandle type instead of the
deprecated THandle type as the return value for the GetReferenceHandle method.
</version>
<seealso>
<link id="TLCLReferenceComponent.GetReferenceHandle"/>
<link id="TLCLReferenceComponent.ReferenceNeeded"/>
<link id="#lcl.WSReferences.TLCLHandle">TLCLHandle</link>
</seealso>
</element>
<!-- private -->
<element name="TLCLReferenceComponent.FReferencePtr">
<short>Pointer to a widget class Reference.</short>
</element>
<element name="TLCLReferenceComponent.FCreating">
<short>Set while we are creating the Reference.</short>
</element>
<element name="TLCLReferenceComponent.GetHandle"/>
<element name="TLCLReferenceComponent.GetHandle.Result"/>
<element name="TLCLReferenceComponent.GetReferenceAllocated">
<short>Gets the value for the ReferenceAllocated property.</short>
<descr></descr>
<seealso></seealso>
</element>
<element name="TLCLReferenceComponent.GetReferenceAllocated.Result">
<short>
Value for the ReferenceAllocated property.
</short>
</element>
<!-- protected -->
<element name="TLCLReferenceComponent.CreateParams">
<short>
Override this method to supply specific widget creation parameters.
</short>
</element>
<element name="TLCLReferenceComponent.CreateParams.AParams">
<short>The parameter record to update.</short>
</element>
<element name="TLCLReferenceComponent.DestroyReference">
<short>Destroys the reference object.</short>
</element>
<element name="TLCLReferenceComponent.GetReferenceHandle">
<short>Override this method to return the Handle from the reference.</short>
<seealso>
<link id="TLCLReferenceComponent.HandleAllocated"/>
</seealso>
</element>
<element name="TLCLReferenceComponent.GetReferenceHandle.Result">
<short>
<b>True</b> if both the component reference pointer and its Handle have been allocated.
</short>
</element>
<element name="TLCLReferenceComponent.ReferenceCreated">
<short>Called after the Reference is created.</short>
</element>
<element name="TLCLReferenceComponent.ReferenceDestroying">
<short>Called before the Reference is destroyed.</short>
</element>
<element name="TLCLReferenceComponent.ReferenceNeeded">
<short>
Creates the widgetset Reference for the class, if it has not already been
allocated.
</short>
<seealso>
<link id="TLCLReferenceComponent.WSCreateReference"/>
<link id="TLCLReferenceComponent.GetReferenceHandle"/>
</seealso>
</element>
<element name="TLCLReferenceComponent.WSCreateReference">
<short>Tells the widgetset to create a Reference.</short>
<descr>
<p>
This implementation returns <b>Nil</b>, and should be overridden in derived
classes.
</p>
</descr>
<seealso>
<link id="TLCLReferenceComponent.ReferenceNeeded"/>
</seealso>
</element>
<element name="TLCLReferenceComponent.WSCreateReference.Result">
<short>
Pointer to the reference for the widgetset class instance, or <b>Nil</b> when
not allocated.
</short>
</element>
<element name="TLCLReferenceComponent.WSCreateReference.AParams">
<short>
Creation parameters for the reference.
</short>
</element>
<element name="TLCLReferenceComponent.WSDestroyReference">
<short>Tells the widgetset to destroy the Reference.</short>
</element>
<!-- public -->
<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="#lcl.lclclasses.TLCLReferenceComponent.ReferenceAllocated"/>
<element name="TLCLReferenceComponent.ReferenceAllocated">
<short>
If <b>True</b>, a Reference has been allocated for this component.
</short>
</element>
<element name="OnDecLCLRefcountToZero">
<short>
Event handler signalled when a reference counted LCL component is released.
</short>
<descr>
<p>
<var>OnDecLCLRefcountToZero</var> is a <var>TNotifyEvent</var> variable which
contains the event handler signalled when reference counted TLCLComponent
instances are released. It is signalled (when assigned) from the
DecLCLRefCount method in TLCLComponent using the component instance as an
argument.
</p>
<p>
The handler routine is assigned to the variable when the ReleaseComponent
method is called in TApplication. It is set to the DoDecLCLRefcountToZero
method in the Application. The routine will continue to be called until the
LCLRefCount for the TLCLComponent reaches 0. At time, the handler is
unassigned and FreeComponent is called.
</p>
</descr>
<verison>
Added in LCL version 3.0.
</verison>
<seealso/>
</element>
</module>
<!-- LCLClasses -->
</package>
</fpdoc-descriptions>
|