Difference between revisions of "VirtualTreeview"
(27 intermediate revisions by 10 users not shown) | |||
Line 2: | Line 2: | ||
=== About === | === About === | ||
− | VirtualTreeview is a | + | VirtualTreeview is a [[TTreeView]] control built from ground up. |
Its main characteristics are : | Its main characteristics are : | ||
Line 15: | Line 15: | ||
* Nodes can have individual heights | * Nodes can have individual heights | ||
* Sorting via compare callback | * Sorting via compare callback | ||
− | * | + | * Support for unicode |
* Multiple columns are supported | * Multiple columns are supported | ||
* ... and many more | * ... and many more | ||
− | |||
− | |||
This component was designed for cross-platform applications. | This component was designed for cross-platform applications. | ||
Line 27: | Line 25: | ||
=== Author === | === Author === | ||
Author: Mike Lischke<br> | Author: Mike Lischke<br> | ||
− | LCL Port: Joerg Thaler,[[User:Christian|Christian Ulrich]] | + | Old LCL Port: Joerg Thaler,[[User:Christian|Christian Ulrich]]<br> |
+ | New LCL Port: [[User:Luizmed|Luiz Américo]] | ||
=== License === | === License === | ||
Line 33: | Line 32: | ||
=== Download === | === Download === | ||
− | + | See the project [https://github.com/blikblum/VirtualTreeView-Lazarus/releases releases page] | |
− | [ | ||
− | + | Note that v5.5.3.1 is included in Lazarus v2.0+, there is not need for a separate download. | |
− | === | + | === Repository === |
− | + | You can checkout the source code from [https://github.com/blikblum/VirtualTreeView-Lazarus 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 [https://help.github.com/articles/support-for-subversion-clients/ GitHub help] | |
− | + | Git: | |
+ | git clone https://github.com/blikblum/VirtualTreeView-Lazarus.git | ||
− | + | === Bug report / Feature request === | |
− | + | [https://github.com/blikblum/VirtualTreeView-Lazarus/issues Here] | |
− | + | For patches / pull requests, [https://github.com/blikblum/VirtualTreeView-Lazarus/pulls here]. Newcomers to GitHub may want to read the [https://help.github.com/articles/using-pull-requests/ help] | |
− | |||
− | |||
− | |||
− | + | === Change Log === | |
+ | * 02/06/2016 - [http://forum.lazarus.freepascal.org/index.php?topic=32856.0 4.8.7 R4 and 5.5.3 R1] - First release of 5x branch + moved to GitHub | ||
+ | * 20/10/2012 - [http://www.lazarus.freepascal.org/index.php/topic,18640.0.html 4.8.7 LCL R2] - Compatibility with Lazarus 1.0 + 64 bit support | ||
+ | * 18/02/2011 - [http://www.lazarus.freepascal.org/index.php/topic,12172.msg62067.html 4.8.7 LCL R1] - Sync with 4.8 branch + misc fixes | ||
+ | * 11/02/2010 - [http://www.lazarus.freepascal.org/index.php/topic,8601.msg41542.html 4.8.6] - First stable release of the new port | ||
=== Dependencies / System Requirements === | === 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 === | === 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 === | === Help === | ||
+ | Can be found at [http://www.soft-gems.net/index.php/controls/virtual-treeview VirtualTreeview Main Page] (search for ''help in chm format''). | ||
+ | |||
+ | Example code can be found here: [[VirtualTreeview Example for Lazarus]] | ||
− | + | == See also == | |
+ | * [[TTreeView]] | ||
[[Category:Components]] | [[Category:Components]] | ||
+ | [[Category:Lazarus]] | ||
+ | [[Category:Lazarus-CCR]] |
Revision as of 02:40, 17 November 2020
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
polski (pl) │
About
VirtualTreeview is a TTreeView 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
Note that v5.5.3.1 is included in Lazarus v2.0+, there is not need for a separate download.
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