Lazarus

Programming => Packages and Libraries => Topic started by: LuizAmérico on June 02, 2016, 05:54:06 pm

Title: VirtualTreeView: new home, new release
Post by: LuizAmérico on June 02, 2016, 05:54:06 pm
The LCL port of VirtualTreeView component has a new home: https://github.com/blikblum/VirtualTreeView-Lazarus

It's now a direct fork of Delphi repository making easier to keep in sync

Two versions are released
- 4.8.7
- 5.5.3

Major changes:
- Uses native resources instead of Lazarus resources: smaller binary
- Fix reported bugs: remaining bugs also affects original code or is a side effect of bugs in other parts of LCL

Remarks:
- The users of 4.x must be warned that 5.x has breaking changes. Search for VTMajorVersion directives at the 5.x version of the demos to some of the incompatibilities
- Tested in windows with fpc 2.6.4, fpc 3.0 and fpc trunk
- Under linux the test was fairly basic. Only gtk2 with fpc 2.6.4, compiled and run advanced demo

Downloads at https://github.com/blikblum/VirtualTreeView-Lazarus/releases

Bugs should be reported in github although i will still monitor mantis
Title: Re: VirtualTreeView: new home, new release
Post by: Thaddy on June 02, 2016, 06:11:53 pm
Very good news! Tnx!
Title: Re: VirtualTreeView: new home, new release
Post by: wp on June 02, 2016, 06:50:27 pm
If course you can store your code wherever you want. But I fear the situation will be very confusing to users. We already had the dead "virtualtreeview" folder in ccr next to your "virtualtreeview-new", and now there will be another one on your git site. "virtualtreeview-new" will be dead as well I fear...

Please upload a note to your ccr repository linking to the new site. And I think also that there are several wiki articles covering VTV, they should be updated as well.
Title: Re: VirtualTreeView: new home, new release
Post by: JD on June 02, 2016, 09:02:40 pm
@Luiz Americo Great work! Thanks a lot for keeping VTV alive.

JD
Title: Re: VirtualTreeView: new home, new release
Post by: zeljko on June 02, 2016, 09:52:11 pm
Anyone converted some project with VTV 4.XX to this one ? Any problems with it ?
Title: Re: VirtualTreeView: new home, new release
Post by: LuizAmérico on June 03, 2016, 12:03:47 am
Quote
But I fear the situation will be very confusing to users. We already had the dead "virtualtreeview" folder in ccr next to your "virtualtreeview-new", and now there will be another one on your git site. "virtualtreeview-new" will be dead as well I fear...

I'll add a note at old repository code so anyone using will notice

The code will be kept there to maintain the development history

About the "virtualtreeview" folder at Lazarus-ccr, i'm not maintainer. The maintainer should decide if delete or not.
Title: Re: VirtualTreeView: new home, new release
Post by: LuizAmérico on June 03, 2016, 12:08:14 am
Quote
Anyone converted some project with VTV 4.XX to this one ? Any problems with it ?

I also updated also the 4.8 version. If you don't need the new features i recommend keep it.

For myself, i still use 4.8 so, as far as i can tell is well tested

OTOH, the example projects just compiled and worked fine with 5.5 version.

The problems were related to change in HeaderClick and DoGetChildren signatures. In the 5.5 demos i added the necessary defines so you can see what needs to change to upgrade

Title: Re: VirtualTreeView: new home, new release
Post by: wp on June 03, 2016, 12:28:25 am
I'll add a note at old repository code so anyone using will notice
Thanks.
Title: Re: VirtualTreeView: new home, new release
Post by: GetMem on June 03, 2016, 06:22:20 am
Quote
@LuizAmérico
For myself, i still use 4.8 so, as far as i can tell is well tested
AFAIK the 4.8.7 is the only version which works under every major widgetset: win32/64, osx, qt, gtk2.
Title: Re: VirtualTreeView: new home, new release
Post by: zeljko on June 03, 2016, 08:34:12 am
Thanks Luiz an GetMem....I'll stay with 4x which indeed works ok on all major platforms
Title: Re: VirtualTreeView: new home, new release
Post by: RAW on June 05, 2016, 05:12:56 pm
Is this possible:
I need only 2 different sized images per node (row) and a background image.. everything else should be visually disabled like a "bsNone-Form" for example.

The first image should work like a ON/OFF-Button (small image)
The second image must be created at runtime and has always the same height, but the width depends on what the user needs...

I thought a VirtualTreeView will be better and faster than me using a dynamic array.. ( array of array[0..1] of TImage ).


I just downloaded version 4.8.7 and 5.5.3, but I've never used this component ...
Would be damn nice if anybody could give me a hint...  :)
Title: Re: VirtualTreeView: new home, new release
Post by: LuizAmérico on June 05, 2016, 06:09:38 pm
Quote
I just downloaded version 4.8.7 and 5.5.3, but I've never used this component ...

I'm sure VirtualTreeView can handle that.

But this component has a steep learning curve.

Your best bet is reading the docs https://github.com/Virtual-TreeView/Virtual-TreeView/tree/master/Help although a bit outdated and looking at the demos

Title: Re: VirtualTreeView: new home, new release
Post by: RAW on June 05, 2016, 07:07:28 pm
Quote
I'm sure VirtualTreeView can handle that.
Sounds very good, then I'll try it...

Quote
But this component has a steep learning curve.
No problem at all... I'll take my time...
Thanks for the link and the tip...

This shouldn't be a question for showing me some code, I just wanted to know if this is possible.
Of course I can find out for myself how it's working...

Thanks again...
Title: Re: VirtualTreeView: new home, new release
Post by: MISV on February 04, 2018, 12:23:10 am
For what it is worth:

Virtual Treeview 4.8.7.4 uding Lazarus 1.9 trunk with Cocoa trunk gives "Cannot find FakeActiveX used by VirtualTrees" when compiling a program of mine using VirtualTreeView.

Note: The version 5.x series for Lazarus does not seem to suffer from this problem.

But just a heads up for Mac users.
Title: Re: VirtualTreeView: new home, new release
Post by: MISV on July 22, 2018, 11:11:21 am
Here is a demo project which demonstrates multiple issues when having a visible virtual treeview on Lazarus Mac/Cocoa (using fpcupdeluxe "trunk" which includes newest virtual treeview)

I first reported the issue here: https://bugs.freepascal.org/view.php?id=34002 (https://bugs.freepascal.org/view.php?id=34002)

And together with Lazarus developers narrowed it down to be an issue with virtualtreeview and lazarus/cocoa.

The attached demo project demonstrates:

Toolbuttons becoming invisible until clicked
TPageControl tabsheets misdrawn until clicked
TEdit looking very weird with black background until clicked
Some captions/labels etc. are drawn upside down some places
All only when the two virtual treeviews are set to visible in the project.

...

To see all issues simply

run project
doubleclick window title bar (minimizes to dock)
open from mac dock.
Title: Re: VirtualTreeView: new home, new release
Post by: MISV on September 18, 2020, 10:33:50 am
I am utterly confused. It seeems development have been taken over by laz.VirtualTrees since the old official resource will not compile in recent Lazarus trunk.

At the same time, I do not think the important Mac fixes added to the Lazarus-shipped control. What is the state of this? And where should get virtual treeview from?

Title: Re: VirtualTreeView: new home, new release
Post by: wp on September 18, 2020, 11:47:49 am
It seeems development have been taken over by laz.VirtualTrees since the old official resource will not compile in recent Lazarus trunk.
What do you understand as "old official resource"?

The laz.VirtualTrees fork was necessary because the Online-Package-Manager requires VTV; thus VTV had to be incorporated to Lazarus in some way. Initially it was a simple 1:1 copy of https://github.com/blikblum/VirtualTreeView-Lazarus/tree/lazarus-v5, but it turned out that this prevents users from installing other versions due to naming conflicts. Therefore, the identifiers were renamed by adding the "laz". Apart from that the laz port should be identical to the version at https://github.com/blikblum/VirtualTreeView-Lazarus/tree/lazarus-v5, and we try to back-port changes to this location. This particular version (v5.5.3) is also offered when you install VTV via Online-Package-Manager. If you need a newer version there is also a ported v6 at https://github.com/JAM-Software/Virtual-TreeView - but AFAIK this is not fully in sync with Lazarus, it does not support image scaling of the new TImageList.

The official development of VTV (v7.4) is far ahead of the versions ported to Lazarus (https://github.com/JAM-Software/Virtual-TreeView). There are no plans to adapt this to Lazarus.
Title: Re: VirtualTreeView: new home, new release
Post by: MISV on September 18, 2020, 12:32:17 pm
Up till today, the last public release was 5.5.3-R1, but today was this released:
https://github.com/blikblum/VirtualTreeView-Lazarus/releases/tag/lazarus-5.5.3-R2

However, it appears that in the "laz" version there also other things changed. But I will add to this post later.

And I am 99% sure that in the past the laz version was based on 5.5.3-R1 excluding the fixes that were made available for Mac (i.e. the laz version was for some time at least not updated to include those changes added after the 5.5.3-R1 release)

I was just trying to understand if the official source is still to be considered https://github.com/blikblum/VirtualTreeView-Lazarus/
If yes, then I am happy. I was just worried there was parallel development going on which would be quite annoying.

(Anyhow, I will be checking the laz source later today and see if the Mac fixes have been ported into the laz branch)
Title: Re: VirtualTreeView: new home, new release
Post by: MISV on September 25, 2020, 01:26:31 pm
Okay, so the virtual treeview developer has released
virtualtreeview-5.5.3-R2.zip
https://github.com/blikblum/VirtualTreeView-Lazarus/releases (https://github.com/blikblum/VirtualTreeView-Lazarus/releases)

And I know understand Lazarus teams uses the newest source, so that it great. (In the past, I think there was synchronization issue with lclextensions at least but that seems to have been addressed as well.)

However, I believe there is a bug in the Mac version...? Data column borders are not drawn.

This problem did not persist about 6 months ago using old version virtualtreeview and old Lazarus/LCL/FPC source - so I not sure what to blame.

My setup:
Version 2.1.0
Date: 2020-09-13
FPC Version: 3.3.1
SVN Revision: 63882
X86-64-darwin-cocoa

(The author of the Lazarus virtual treeview port main tests on Windows and Linux as far as I know)

I have also posted here:
https://github.com/blikblum/VirtualTreeView-Lazarus/issues/20 (https://github.com/blikblum/VirtualTreeView-Lazarus/issues/20)
TinyPortal © 2005-2018