Sign in Join
Wiki copytemporary

VirtualTreeview: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: VirtualTreeview

OldNewLine
1+### About
2+
3+VirtualTreeview is a [[TTreeView]] control built from ground up.
4+
5+Its main characteristics are :
6+
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
19+
20+This component was designed for cross-platform applications.
21+
22+![](/wiki-images/a/a4/Anivt.gif)
23+
24+### Author
25+
26+Author: Mike Lischke\
27+Old LCL Port: Joerg Thaler,Christian Ulrich\
28+New LCL Port: Luiz Américo
29+
30+### License
31+
32+[LGPL](http://www.opensource.org/licenses/lgpl-license.php) or [Mozilla Public Licence 1.1](http://opensource.org/licenses/mozilla1.1.php)
33+
34+### Download
35+
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>
50+
51+</tbody>
52+
53+### Repository
54+
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
58+
59+Subversion:
60+
61+`svn co `[`https://github.com/blikblum/VirtualTreeView-Lazarus/branches/lazarus-v5`](https://github.com/blikblum/VirtualTreeView-Lazarus/branches/lazarus-v5)
62+
63+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/)
64+
65+Git:
66+
67+`git clone `[`https://github.com/blikblum/VirtualTreeView-Lazarus.git`](https://github.com/blikblum/VirtualTreeView-Lazarus.git)
68+
69+### Bug report / Feature request
70+
71+[Here](https://github.com/blikblum/VirtualTreeView-Lazarus/issues)
72+
73+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/)
74+
75+### Change Log
76+
77+- 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
78+- 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
79+- 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
80+- 11/02/2010 - [4.8.6](http://www.lazarus.freepascal.org/index.php/topic,8601.msg41542.html) - First stable release of the new port
81+
82+### Dependencies / System Requirements
83+
84+Versions 4.x or 5.x
85+
86+- Lazarus 1.6 or newer
87+- fpc 2.6.4 or newer
88+- LCL Extensions 0.6 or newer
89+
90+Version 6.x (lazarus_master branch)
91+
92+- Lazarus 1.6 or newer
93+- fpc 3.1 (trunk) or newer
94+- LCL Extensions 0.6 or newer
95+
96+### Installation
97+
98+- 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.
99+- If new to Lazarus, read [[Install Packages]]
100+- 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.
101+- Download the LCL Extensions package and extract it to a directory (lazarus\components\lclextensions or other of your preference).
102+- Download the Virtual Treeview package and extract it to a directory (lazarus\components\virtualtreeview or other of your preference).
103+- Open lclextensions_package.lpk in LCL Extensions directory and click "Use / Add to project"
104+- Open virtualtreeview_package.lpk in the package editor and click "Use / Install". Rebuild the IDE.
105+
106+### Help
107+
108+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*.\
109+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)\
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+
112+## See also
113+
114+- [[TTreeView]]
115+
116+---
117+*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).*
118+Category: Components
119+Category: Lazarus
120+Category: Lazarus-CCR

Back to history