Sunday, October 26, 2008

Status of Virtual Treeview port

It has been more than one year after the last blog update about the Virtual Treeview (VTV) port and some people may be asking what happened with it.

The port is far from dead. In fact, it is fully working under Win32, Gtk1/2 and Qt since, at least, the previous six months. I was just waiting to the Lazarus 0.9.26 release to do an official release. Lazarus 0.9.26 is out, so where is the new VTV?

One of the main features of Lazarus 0.9.26 is the Unicode support for Win32 interface that, in your turn, uses UTF8 encoding. Currently VTV supports Unicode by using UTF-16/WideString and was working fine. After the LCL Unicode switch some encoding conversion problems appeared when iterating with strings returned by databases or LCL controls, so i decided to anticipate the migration to UTF-8 before doing a release.

This task is not trivial and i'll start to work on it only after December, so don't expect an release soon.

This has some advantages:
  • There will be no need to further string types changes (WideString -> String) in applications created with the released component
  • It will be faster since WideString is known to be slower specially under Win32
Anyway if someone is interested in testing the component check the instructions on how to use the svn version here. Be aware that a change from WideString to String type will be necessary in the long run.

13 comments:

DSP said...

that's great!

I'm going to be doing some mac work soon - what is support like for OSX/carbon?

DSP

Luiz Américo said...

I can't develop for Mac/Carbon because i don't have access for a Mac.

To compile VTV, and start testing, is necessary only implement a few functions in LCLExtensions package.

I added a dummy implementation of LCLExtensions Carbon interface in svn so if someone is interested can start hacking. The hardest part to implement is SetTimer/KillTimer but looking at Qt/Gtk implementation will help a lot.

Vitaly said...

Great news!
Will the updated VTV be based on the latest 4.7 version from soft-gems.net?

Luiz Américo said...

It will be based in version 4.8.0 (from svn). I already did the port, just waiting for some review so it can be committed.

Unknown said...

Any news on this?

Luiz Américo said...

Yes. The only missing piece is fix the hint support. After this is read for release. It will require the future Lazarus 0.9.28 anyway

Unknown said...

Great!

Is this the one?
https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/virtualtreeview-new/

Will it run with builds from the testing repository (deb)?

Luiz Américo said...

Yes. Use together with

http://luipack.googlecode.com/svn/trunk/lclextensions

and

http://luipack.googlecode.com/svn/trunk/multilog

I don't know what version of Lazarus is packaged in deb format. I use with the Lazarus svn

Unknown said...

Great! I'm going to try it! Thank you!

Unknown said...

Is it "done" yet?

Luiz Américo said...

It's almost done. Just terminate hint support and sync with delphi svn

Unknown said...

Hint support - is that font hinting or "tool-tips"?

Luiz Américo said...

Tool tips.

What is missing is the placement according to bidi mode