File: lclclasses.xml

package info (click to toggle)
lazarus 4.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 275,760 kB
  • sloc: pascal: 2,341,904; xml: 509,420; makefile: 348,726; cpp: 93,608; sh: 3,387; java: 609; perl: 297; sql: 222; ansic: 137
file content (406 lines) | stat: -rw-r--r-- 12,303 bytes parent folder | download
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>