Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2016-06

VirtualTreeView: new home, new release

12 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Luiz Americo Pereira Camara

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

Luiz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20160602/c6eb1346/attachment.html>

Reply by email

Denis Kozlov
to Luiz Americo Pereira Camara

On 2 June 2016 at 16:52, Luiz Americo Pereira Camara <

Show quoted text 5 lines
wrote: The LCL port of VirtualTreeView component has a new home: https://github.com/blikblum/VirtualTreeView-Lazarus

That's great!

How does it compare to a copy in Lazarus CCR?
https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/virtualtreeview-new/

Denis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20160602/aefcf275/attachment.html>

Reply by email

Luiz Americo Pereira Camara
to Denis Kozlov

2016-06-02 13:53 GMT-03:00 Denis Kozlov :

Show quoted text 13 lines
On 2 June 2016 at 16:52, Luiz Americo Pereira Camara < > wrote: > The LCL port of VirtualTreeView component has a new home: > https://github.com/blikblum/VirtualTreeView-Lazarus > That's great! How does it compare to a copy in Lazarus CCR? https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/virtualtreeview-new/

Github is newer

All new development will go there

Luiz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20160602/2c374161/attachment.html>

Reply by email

Torsten Bonde Christiansen
to Luiz Americo Pereira Camara: The LCL port of VirtualTreeView component has a new home:…
Luiz Americo Pereira Camara wrote 21 lines
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

I get a compile-time error when compiling the lazarus package:

Free Pascal Compiler version 3.0.0 [2015/11/26] for x86_64 Copyright (c) 1993-2015 by Florian Klaempfl and others (1002) Target OS: Linux for x86-64
(3104) Compiling lclextensions_package.pas

< ... snip ... >

/home/torsten/FreePascal/VirtualTreeView-Lazarus/Source/VirtualTrees.pas(3083,25) Fatal: (2003) Syntax error, ":" expected but "<" found Fatal: (1018) Compilation aborted
Error: /home/torsten/FreePascal/fpc/bin/ppcx64 returned an error exitcode

Kind regards,
Torsten.

Reply by email

Torsten Bonde Christiansen
to Torsten Bonde Christiansen
Torsten Bonde Christiansen wrote 37 lines
On 2016-06-02 17:52, Luiz Americo Pereira Camara wrote: > 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 I get a compile-time error when compiling the lazarus package: Free Pascal Compiler version 3.0.0 [2015/11/26] for x86_64 Copyright (c) 1993-2015 by Florian Klaempfl and others (1002) Target OS: Linux for x86-64 (3104) Compiling lclextensions_package.pas < ... snip ... > /home/torsten/FreePascal/VirtualTreeView-Lazarus/Source/VirtualTrees.pas(3083,25) Fatal: (2003) Syntax error, ":" expected but "<" found Fatal: (1018) Compilation aborted Error: /home/torsten/FreePascal/fpc/bin/ppcx64 returned an error exitcode

Sorry - this was from the master repository, not from the releases.

The releases are working fine on linux x86_64, fpc 3.0

-Torsten.

Reply by email

Denis Kozlov
to Luiz Americo Pereira Camara: 2016-06-02 13:53 GMT-03:00 Denis Kozlov : Github is newer All new development will go…

On 2 June 2016 at 22:55, Luiz Americo Pereira Camara <

Show quoted text 11 lines
wrote: On 2 June 2016 at 16:52, Luiz Americo Pereira Camara < > > wrote: > >> The LCL port of VirtualTreeView component has a new home: >> https://github.com/blikblum/VirtualTreeView-Lazarus >> > > All new development will go there

Can you update the wiki when you get a chance? It's google's first result for "virtualtreeview lazarus", but it doesn't even mention the new home.

http://wiki.freepascal.org/VirtualTreeview

Are you planning to maintain a copy on CCR SVN uptodate? Or is it going to be removed?

Denis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20160603/70fd788c/attachment.html>

Reply by email

Graeme Geldenhuys
to Denis Kozlov
Denis Kozlov wrote
Are you planning to maintain a copy on CCR SVN uptodate? Or is it going to be removed?

If the github one is more up to date, I would recommend removing the code in Lazarus CCR to prevent confusion. There are enough duplicate [component] efforts already, and more confusion is probably not wanted.

Regards,
Graeme

Reply by email

Luiz Americo Pereira Camara
to Denis Kozlov: On 2 June 2016 at 22:55, Luiz Americo Pereira Camara < Can you update the wiki when you…

2016-06-03 5:55 GMT-03:00 Denis Kozlov :

Show quoted text 18 lines
On 2 June 2016 at 22:55, Luiz Americo Pereira Camara < > wrote: > On 2 June 2016 at 16:52, Luiz Americo Pereira Camara < >> > wrote: >> >>> The LCL port of VirtualTreeView component has a new home: >>> https://github.com/blikblum/VirtualTreeView-Lazarus >>> >> >> All new development will go there > Can you update the wiki when you get a chance? It's google's first result for "virtualtreeview lazarus", but it doesn't even mention the new home. http://wiki.freepascal.org/VirtualTreeview

I updated

Are you planning to maintain a copy on CCR SVN uptodate?

No.

Or is it going to be removed?

The only reason to keep is to preserve the development history

But is really confusing. I will try to move the history to other repository so i can delete.

About virtualtreeview folder in Lazarus-ccr is not my work so i don't feel confortable in deleting it.

For a complete history of LCL VTV dev, i posted in the forum a year ago:

Some history:
There was a VTV port by Joerg Thaler,Christian Ulrich hosted at Lazarus-ccr. It used the approach to comment code that were buggy or not implemented in LCL. This lead to a largely incomplete port. So i started a new VTV port long years took another path: as soon as i hit a code that was buggy or not implemented in LCL and its widgetsets i reported in Lazarus bug tracker providing patches when doable. In parallel i created a support package implementing API that does not make sense in LCL (LCLExtensions). Sometime later i was asked by a Lazarus dev (Vincent) to move to Lazarus-ccr initially under the virtualtreeview-unstable repository, later renamed to virtualtreeview-new. The original port is still there.

Changes in VTV delphi repository were backported to the Lazarus port and were in more or less in sync by the times of 4.8 release. At this time Mike Liesche stopped working in VTV and development stalled. When work was resumed in 5.x branch, initially i did not backport. Only later i separated 4.8 from trunk in virtualtreeview-new repository and started to sync Delphi VTV 5.x/trunk with virtualtreeview-new/trunk. Since than virtualtreeview-new/trunk has became unstable because of changes in interface or windows specific code introduced while doing the backport.

Currently the virtualtreeview-new/trunk has most of the 5.x code ported but needs some work to get in a decent shape specially for non windows. With the move of VTV to github things will be easier since git has features that allows to maintain forks tracking and merging changes from the original in a structured way. Until now i was doing almost manually (with help of tools like araxis merge, smartsynchronize and meld)

Luiz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20160603/7cc98c54/attachment.html>

Reply by email

Jürgen Hestermann
to Luiz Americo Pereira Camara: The LCL port of VirtualTreeView component has a new home:…
Luiz Americo Pereira Camara wrote 5 lines
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

I am using a version of VTV from october 2013 which claims to be 4.8.7 too but is slightly different to the one I just downloaded from your link. Especialy one difference stroke me as it looks like a bug: In line 6740 of the current downloaded version there is this code:

----------------------
if not FCheckBox then
    HeaderGlyphSize := Point(FImages.Width, FImages.Height)
else
    HeaderGlyphSize := Point(Treeview.CheckImages.Height, Treeview.CheckImages.Height)
----------------------

Why is "Height" used twice in the last line?
This line is different in the older version of 4.8.7:

----------------------

    HeaderGlyphSize := Point(Treeview.CheckImages.Width, Treeview.CheckImages.Height)

----------------------

which IMO is correct.
Why the change?

Reply by email

Luiz Americo Pereira Camara
to Jürgen Hestermann

2016-06-05 7:52 GMT-03:00 Jürgen Hestermann :

Show quoted text 10 lines
Am 2016-06-02 um 17:52 schrieb Luiz Americo Pereira Camara: > 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 I am using a version of VTV from october 2013 which claims to be 4.8.7 too

There are four LCL releases for 4.8.7. Probably you are using the second release

Show quoted text 14 lines
but is slightly different to the one I just downloaded from your link. Especialy one difference stroke me as it looks like a bug: In line 6740 of the current downloaded version there is this code: ---------------------- if not FCheckBox then HeaderGlyphSize := Point(FImages.Width, FImages.Height) else HeaderGlyphSize := Point(Treeview.CheckImages.Height, Treeview.CheckImages.Height) ---------------------- Why is "Height" used twice in the last line?

CheckImages changed from a ImageList to a Bitmap with all check images in a row. The Width of the bitmap has a different meaning from the imagelist one.

In the Bitmap is the sum of all checkimages Width

In the case the Width of each individual image matches Height, so the code.

Feel free to report any bug

Luiz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20160605/8444c1c0/attachment.html>

Reply by email

Jürgen Hestermann
to Luiz Americo Pereira Camara
Luiz Americo Pereira Camara wrote 12 lines
2016-06-05 7:52 GMT-03:00 Jürgen Hestermann : ---------------------- if not FCheckBox then HeaderGlyphSize := Point(FImages.Width, FImages.Height) else HeaderGlyphSize := Point(Treeview.CheckImages.Height, Treeview.CheckImages.Height) ---------------------- Why is "Height" used twice in the last line? CheckImages changed from a ImageList to a Bitmap with all check images in a row. The Width of the bitmap has a different meaning from the imagelist one. In the Bitmap is the sum of all checkimages Width In the case the Width of each individual image matches Height, so the code. Feel free to report any bug

I don't fully understand the changes regarding CheckImages but if it is not a bug but desired behaviour then why should I report a bug?

Reply by email

Luiz Americo Pereira Camara
to Jürgen Hestermann

2016-06-05 10:50 GMT-03:00 Jürgen Hestermann :

Show quoted text 8 lines
Am 2016-06-05 um 14:56 schrieb Luiz Americo Pereira Camara: > Feel free to report any bug I don't fully understand the changes regarding CheckImages but if it is not a bug but desired behaviour then why should I report a bug?

I mean, any bug you find, graphical or behavior

Luiz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20160605/76d25435/attachment.html>

Reply by email