VirtualTreeview
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
polski (pl) │
About
VirtualTreeview is a treeview control built from ground up.
Its main characteristics are :
- it is extremely fast. Adding one million nodes takes only ~700 milliseconds
- very small memory foot print. by only allocating about 60 bytes per node
- optimized for high speed access. It takes as few as 0.5 seconds to traverse one million nodes
- Multiselection is supported
- Drawing the entire tree to a bitmap or the printer is supported
- fixed background image can be used
- Hot style for nodes is supported
- Nodes can have individual heights
- Sorting via compare callback
- Support for unicode
- Multiple columns are supported
- ... and many more
This component was designed for cross-platform applications.
Author
Author: Mike Lischke
Old LCL Port: Joerg Thaler,Christian Ulrich
New LCL Port: Luiz Américo
License
LGPL or Mozilla Public Licence 1.1
Download
See the project releases page
Repository
You can checkout the source code from GitHub
It's possible to use both Subversion and Git clients
Subversion:
svn co https://github.com/blikblum/VirtualTreeView-Lazarus/branches/lazarus_v5
Replace lazarus_v5 by lazarus_v4 or lazarus_master to get a different version. For more info how to use Subversion, see GitHub help
Git:
git clone https://github.com/blikblum/VirtualTreeView-Lazarus.git
Bug report / Feature request
For patches / pull requests, here. Newcomers to GitHub may want to read the help
Change Log
- 02/06/2016 - 4.8.7 R4 and 5.5.3 R1 - First release of 5x branch + moved to GitHub
- 20/10/2012 - 4.8.7 LCL R2 - Compatibility with Lazarus 1.0 + 64 bit support
- 18/02/2011 - 4.8.7 LCL R1 - Sync with 4.8 branch + misc fixes
- 11/02/2010 - 4.8.6 - First stable release of the new port
Dependencies / System Requirements
Versions 4.x or 5.x
- Lazarus 1.6 or newer
- fpc 2.6.4 or newer
- LCL Extensions 0.6 or newer
Version 6.x (lazarus_master branch)
- Lazarus 1.6 or newer
- fpc 3.1 (trunk) or newer
- LCL Extensions 0.6 or newer
Installation
- If new to Lazarus, read Install Packages
- Lazarus v2.0: The lclextensions and virtualtreeview packages are contained in the standard distribution of Lazarus because they are needed by the OnlinePackageManager. Go to "Package" > "Install/uninstall packages", select "virtualtreeview_package 5.5.3.1" in the right list, click "Install selection", then "Save and rebuild IDE".
- Lazarus v2.2+ (or trunk): Like above, but the package and all units have been renamed to have a "laz." prefix, e.g. "laz.virtualtreeview_package" instead of "virtualtreeview_package" and "laz.virtualtrees" instead of "virtualtrees". The names of the registered components also begin with "Laz", e.g. "TLazVirtualStringTree" instead of "TVirtualStringTree". This was made to avoid a naming conflict when the user wants to install another version of VTV in addition to the built-in one.
- Lazarus before v2.0, or VTV version other than v5.5.3.1 (in Laz v2.0 you will have to uninstall the built-in version first):
- Download the LCL Extensions package and extract it to a directory (lazarus\components\lclextensions or other of your preference).
- Download the Virtual Treeview package and extract it to a directory (lazarus\components\virtualtreeview or other of your preference).
- Open lclextensions_package.lpk in LCL Extensions directory and click "Use / Add to project"
- Open virtualtreeview_package.lpk in Virtual Treeview and click "Use / Install". Rebuild the IDE.
Help
Can be found at VirtualTreeview Main Page (search for help in chm format).
Example code can be found here: VirtualTreeview Example for Lazarus