Sign in Join
Wiki copytemporary

VirtualTreeview: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11### About
22
3-VirtualTreeview is a [[TTreeView]] control built from ground up.
3+VirtualTreeview is a [[TTreeView]] control built from ground up.
44
5-Its main characteristics are :
5+Its main characteristics are :
66
7-- it is extremely fast. Adding one million nodes takes only ~700 milliseconds
8-- very small memory foot print. by only allocating about 60 bytes per node
9-- optimized for high speed access. It takes as few as 0.5 seconds to traverse one million nodes
10-- Multiselection is supported
11-- Drawing the entire tree to a bitmap or the printer is supported
12-- fixed background image can be used
13-- Hot style for nodes is supported
14-- Nodes can have individual heights
15-- Sorting via compare [[callback]]
16-- Support for unicode
17-- Multiple columns are supported
18-- ... and many more
7+ * it is extremely fast. Adding one million nodes takes only ~700 milliseconds
8+ * very small memory foot print. by only allocating about 60 bytes per node
9+ * optimized for high speed access. It takes as few as 0.5 seconds to traverse one million nodes
10+ * Multiselection is supported
11+ * Drawing the entire tree to a bitmap or the printer is supported
12+ * fixed background image can be used
13+ * Hot style for nodes is supported
14+ * Nodes can have individual heights
15+ * Sorting via compare [[callback]]
16+ * Support for unicode
17+ * Multiple columns are supported
18+ * ... and many more
1919
20-This component was designed for cross-platform applications.
20+This component was designed for cross-platform applications.
2121
22-![](/wiki-images/a/a4/Anivt.gif)
22+[![Anivt.gif](/wiki-images/a/a4/Anivt.gif)](</File:Anivt.gif>)
2323
2424### Author
2525
26-Author: Mike Lischke\
27-Old LCL Port: Joerg Thaler,Christian Ulrich\
28-New LCL Port: Luiz Américo
26+Author: Mike Lischke
27+Old LCL Port: Joerg Thaler,[Christian Ulrich](</User:Christian> "User:Christian")
28+New LCL Port: [Luiz Américo](</User:Luizmed> "User:Luizmed")
2929
3030### License
3131
32-[LGPL](http://www.opensource.org/licenses/lgpl-license.php) or [Mozilla Public Licence 1.1](http://opensource.org/licenses/mozilla1.1.php)
32+[LGPL](<http://www.opensource.org/licenses/lgpl-license.php>) or [Mozilla Public Licence 1.1](<http://opensource.org/licenses/mozilla1.1.php>)
3333
3434### Download
3535
36-See the project [releases page](https://github.com/blikblum/VirtualTreeView-Lazarus/releases)
37-
38-Note that v5.5.3.1 is included in Lazarus v2.0+, there is not need for a separate download. However, to avoid naming conflicts, a "laz" prefix was added to package, unit and components:
39-
40-<thead>
41-
42-</thead>
43-<tbody>
44-
45-TVirtualDrawTree<br />
46-TVTHeaderPopupMenu</td>
47-
48-TLazVirtualDrawTree<br />
49-TLazVTHeaderPopupMenu</td>
36+See the project [releases page](<https://github.com/blikblum/VirtualTreeView-Lazarus/releases>)
5037
51-</tbody>
38+Note that v5.5.3.1 is included in Lazarus v2.0+, there is not need for a separate download. However, to avoid naming conflicts, a "laz" prefix was added to package, unit and components:
5239
40+| Official version | Lazarus version
41+---|---|---
42+**Package** | virtualtreeview_package.lpk | laz.virtualtreeview_package.lpk
43+**Main unit** | virtualtrees.pas | laz.virtualtrees.pas
44+**Components** | TVirtualStringTree · TVirtualDrawTree · TVTHeaderPopupMenu | TLazVirtualStringTree · TLazVirtualDrawTree · TLazVTHeaderPopupMenu
45+
5346### Repository
5447
55-You can checkout the source code from [GitHub](https://github.com/blikblum/VirtualTreeView-Lazarus)
56-
57-It's possible to use both Subversion and Git clients
48+You can checkout the source code from [GitHub](<https://github.com/blikblum/VirtualTreeView-Lazarus>)
5849
59-Subversion:
50+It's possible to use both Subversion and Git clients
6051
61-```text
62-svn co https://github.com/blikblum/VirtualTreeView-Lazarus/branches/lazarus-v5
52+Subversion:
6353```
64-
65-Replace lazarus_v5 by lazarus_v4 or lazarus_master to get a different version. For more info how to use Subversion, see [GitHub help](https://help.github.com/articles/support-for-subversion-clients/)
54+svn co <https://github.com/blikblum/VirtualTreeView-Lazarus/branches/lazarus-v5>
55+```
6656
67-Git:
57+Replace lazarus_v5 by lazarus_v4 or lazarus_master to get a different version. For more info how to use Subversion, see [GitHub help](<https://help.github.com/articles/support-for-subversion-clients/>)
6858
69-```text
70-git clone https://github.com/blikblum/VirtualTreeView-Lazarus.git
59+Git:
7160```
61+git clone <https://github.com/blikblum/VirtualTreeView-Lazarus.git>
62+```
7263
64+#### Version 8
65+
66+An experimental lcl port of VirtualTreeView version 8 is also available [here](<https://github.com/salvadorbs/VirtualTreeView-Lazarus>).
67+
7368### Bug report / Feature request
7469
75-[Here](https://github.com/blikblum/VirtualTreeView-Lazarus/issues)
70+[Here](<https://github.com/blikblum/VirtualTreeView-Lazarus/issues>)
7671
77-For patches / pull requests, [here](https://github.com/blikblum/VirtualTreeView-Lazarus/pulls). Newcomers to GitHub may want to read the [help](https://help.github.com/articles/using-pull-requests/)
72+For patches / pull requests, [here](<https://github.com/blikblum/VirtualTreeView-Lazarus/pulls>). Newcomers to GitHub may want to read the [help](<https://help.github.com/articles/using-pull-requests/>)
7873
7974### Change Log
8075
81-- 02/06/2016 - [4.8.7 R4 and 5.5.3 R1](http://forum.lazarus.freepascal.org/index.php?topic=32856.0) - First release of 5x branch + moved to GitHub
82-- 20/10/2012 - [4.8.7 LCL R2](http://www.lazarus.freepascal.org/index.php/topic,18640.0.html) - Compatibility with Lazarus 1.0 + 64 bit support
83-- 18/02/2011 - [4.8.7 LCL R1](http://www.lazarus.freepascal.org/index.php/topic,12172.msg62067.html) - Sync with 4.8 branch + misc fixes
84-- 11/02/2010 - [4.8.6](http://www.lazarus.freepascal.org/index.php/topic,8601.msg41542.html) - First stable release of the new port
76+ * 02/06/2016 - [4.8.7 R4 and 5.5.3 R1](<http://forum.lazarus.freepascal.org/index.php?topic=32856.0>) \- First release of 5x branch + moved to GitHub
77+ * 20/10/2012 - [4.8.7 LCL R2](<http://www.lazarus.freepascal.org/index.php/topic,18640.0.html>) \- Compatibility with Lazarus 1.0 + 64 bit support
78+ * 18/02/2011 - [4.8.7 LCL R1](<http://www.lazarus.freepascal.org/index.php/topic,12172.msg62067.html>) \- Sync with 4.8 branch + misc fixes
79+ * 11/02/2010 - [4.8.6](<http://www.lazarus.freepascal.org/index.php/topic,8601.msg41542.html>) \- First stable release of the new port
8580
8681### Dependencies / System Requirements
8782
88-Versions 4.x or 5.x
83+Versions 4.x or 5.x
8984
90-- Lazarus 1.6 or newer
91-- fpc 2.6.4 or newer
92-- LCL Extensions 0.6 or newer
85+ * Lazarus 1.6 or newer
86+ * fpc 2.6.4 or newer
87+ * LCL Extensions 0.6 or newer
9388
94-Version 6.x (lazarus_master branch)
89+Version 6.x (lazarus_master branch)
9590
96-- Lazarus 1.6 or newer
97-- fpc 3.1 (trunk) or newer
98-- LCL Extensions 0.6 or newer
91+ * Lazarus 1.6 or newer
92+ * fpc 3.1 (trunk) or newer
93+ * LCL Extensions 0.6 or newer
9994
10095### Installation
10196
102-- In Lazarus v2.0+ the virtualtreeview package is installed by default. Note, however, that everything has been renamed with a "laz" prefix (see above table) to avoid possible naming conflicts. It is subsequently assumed that you want to install one of the github versions in addition to the built-in version.
103-- If new to Lazarus, read [[Install Packages]]
104-- In Lazarus v2.0 or older, uninstall the built-in version first: go to "Package" \> "Install/uninstall packages", select "virtualtreeview_package 5.5.3.1" in the *left* list, click "Uninstall selection" and "Save and rebuild IDE". Note: This is not required in Lazarus v2.2 or newer.
105-- Download the LCL Extensions package and extract it to a directory (lazarus\components\lclextensions or other of your preference).
106-- Download the Virtual Treeview package and extract it to a directory (lazarus\components\virtualtreeview or other of your preference).
107-- Open lclextensions_package.lpk in LCL Extensions directory and click "Use / Add to project"
108-- Open virtualtreeview_package.lpk in the package editor and click "Use / Install". Rebuild the IDE.
97+ * In Lazarus v2.0+ the virtualtreeview package is installed by default. Note, however, that everything has been renamed with a "laz" prefix (see above table) to avoid possible naming conflicts. It is subsequently assumed that you want to install one of the github versions in addition to the built-in version.
98+ * If new to Lazarus, read [[Install Packages]]
99+ * In Lazarus v2.0 or older, uninstall the built-in version first: go to "Package" > "Install/uninstall packages", select "virtualtreeview_package 5.5.3.1" in the _left_ list, click "Uninstall selection" and "Save and rebuild IDE". Note: This is not required in Lazarus v2.2 or newer.
100+ * Download the LCL Extensions package and extract it to a directory (lazarus\components\lclextensions or other of your preference).
101+ * Download the Virtual Treeview package and extract it to a directory (lazarus\components\virtualtreeview or other of your preference).
102+ * Open lclextensions_package.lpk in LCL Extensions directory and click "Use / Add to project"
103+ * Open virtualtreeview_package.lpk in the package editor and click "Use / Install". Rebuild the IDE.
109104
110105### Help
111106
112-A comprehensive help file in .chm format(*) can be found within the GIT repository [1](https://github.com/blikblum/VirtualTreeView-Lazarus) in the subdirectory *Help*.\
113-A tutorial and numerous code samples can be found in this forum [[VirtualTreeview Example for Lazarus]], in the *Demos* Subdirectory of the VirtualTreeView GIT [2](https://github.com/blikblum/VirtualTreeView-Lazarus), and in the SVN of freepascal.org [3](https://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/examples/virtualtreeview/?root=lazarus)\
114-(*)Beginning with Windows 7, additional security measures were introduced for .chm Files, if you either download a .chm file directly via the browser (without going through a .zip file), or open the file from a network drive. The lock causes the problem that after opening the .chm file you will see only the table of contents, while the actual contents are missing. To manually release the lock use the Windows Explorer (Right Mouse Click - Properties - "Unblock"). This works with Windows 10 (4/2021) as well.
107+A comprehensive help file in .chm format(*) can be found within the GIT repository [[1]](<https://github.com/blikblum/VirtualTreeView-Lazarus>) in the subdirectory _Help_.
108+A tutorial and numerous code samples can be found in this forum [[VirtualTreeview Example for Lazarus]], in the _Demos_ Subdirectory of the VirtualTreeView GIT [[2]](<https://github.com/blikblum/VirtualTreeView-Lazarus>), and in the SVN of freepascal.org [[3]](<https://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/examples/virtualtreeview/?root=lazarus>)
115109
110+(*)Beginning with Windows 7, additional security measures were introduced for .chm Files, if you either download a .chm file directly via the browser (without going through a .zip file), or open the file from a network drive. The lock causes the problem that after opening the .chm file you will see only the table of contents, while the actual contents are missing. To manually release the lock use the Windows Explorer (Right Mouse Click - Properties - "Unblock"). This works with Windows 10 (4/2021) as well.
111+
116112## See also
117113
118-- [[TTreeView]]
114+ * [[TTreeView]]
119115
120116---
121-*From the Free Pascal wiki, page "VirtualTreeview", as it stood on 2022-02-10 after a change by Wp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
122-Category: Components
123-Category: Lazarus
124-Category: Lazarus-CCR
117+*From the Free Pascal wiki, page "VirtualTreeview", as the Internet Archive kept it on 2025-06-16, last changed on 2024-07-11. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history