Recent

Author Topic: VirtualTreeView 4.8.7 released  (Read 46406 times)

LuizAmérico

  • Sr. Member
  • ****
  • Posts: 457
VirtualTreeView 4.8.7 released
« on: February 19, 2011, 01:21:11 am »
I'm glad to announce the update of the VirtualTreeView package.

It's compatible with Lazarus 0.9.30 and later. Users of Lazarus 0.9.28 must use version 4.8.6

What's new:

  * Synchronized with Delphi version up to revision 263 of 4.8 branch
  * DefaultText can be set to ''
  * Fix GetNodeAt when using client coordinates with the header visible
  * Avoid warning when inline edit control is hidden
  * Minimize dependency on LCLExtensions
  * Add changes to make compatible with recent LCL versions

Known issues:

    * It does not work on 64bit
    * Not tested with Carbon/MacOSX, WinCE

It depends of LCLExtensions package.

Download the package at Lazarus-CCR (VirtualTreeView (NewPort)).

cpalx

  • Hero Member
  • *****
  • Posts: 753
Re: VirtualTreeView 4.8.7 released
« Reply #1 on: February 19, 2011, 03:27:54 am »
Thanks a lot,

i can test it on mac ... i will tell you how it goes

IPguy

  • Sr. Member
  • ****
  • Posts: 385
Re: VirtualTreeView 4.8.7 released
« Reply #2 on: February 19, 2011, 03:53:36 am »
Luiz,
what is considered 0.9.30?  Is the Lazarus fix snapshot (0.9.29-295xx) considered 0.9.30 or should this only be used with the 0.9.31 stream?
John
Update: at first compile and brief testing, it works with 0.9.29-29572-win32.
« Last Edit: February 19, 2011, 04:10:23 am by IPguy »

eny

  • Hero Member
  • *****
  • Posts: 1634
Re: VirtualTreeView 4.8.7 released
« Reply #3 on: February 19, 2011, 12:16:57 pm »
Thx for the update; first smooth install with no errors  8-)
And the background property again honours the clDefault value.
All posts based on: Win10 (Win64); Lazarus 2.0.10 'stable' (x64) unless specified otherwise...

LuizAmérico

  • Sr. Member
  • ****
  • Posts: 457
Re: VirtualTreeView 4.8.7 released
« Reply #4 on: February 19, 2011, 12:45:54 pm »
Quote
what is considered 0.9.30?  Is the Lazarus fix snapshot (0.9.29-295xx) considered 0.9.30 or should this only be used with the 0.9.31 stream?

In fact it should work with a recent 0.9.29 but as i cannot determine exactly the required revision i think better to set 0.9.30 as the minimum requirement. With this i hope to minimize the compatibility problems (see the 4.8.6 thread).

Dibo

  • Hero Member
  • *****
  • Posts: 1048
Re: VirtualTreeView 4.8.7 released
« Reply #5 on: February 19, 2011, 03:15:32 pm »
Are plans for 64 bit?

LuizAmérico

  • Sr. Member
  • ****
  • Posts: 457
Re: VirtualTreeView 4.8.7 released
« Reply #6 on: February 19, 2011, 04:01:10 pm »
Quote
Are plans for 64 bit?

The trunk should work with 64bit (not tested by me)

Dibo

  • Hero Member
  • *****
  • Posts: 1048
Re: VirtualTreeView 4.8.7 released
« Reply #7 on: March 19, 2011, 04:20:53 pm »
Active svn link is still https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/virtualtreeview-new/trunk/ ?
Because this source need lclextensions but I read somewhere (on mantis?) that this pachage was included into LCL.
Package from trunk show that this is still 4.8.6 version.
« Last Edit: March 19, 2011, 04:22:26 pm by Dibo »


Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2582
Re: VirtualTreeView 4.8.7 released
« Reply #9 on: March 21, 2011, 11:08:20 am »
Because this source need lclextensions but I read somewhere (on mantis?) that this pachage was included into LCL.

I've integrated a part of it. The other part of lcl extensions were winapi functions implemented only for windows. Adding them to the LCL would mean that I had to implement the missing parts for wince/gtk/qt/carbon. So I postponed that attempt.
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

Shebuka

  • Sr. Member
  • ****
  • Posts: 427
Re: VirtualTreeView 4.8.7 released
« Reply #10 on: June 30, 2011, 10:33:02 am »
Hi, i'm now using VirtualTree as my main component for tree visualization (before i'v only used it as advanced list box XD ) and i'm discovering on Mac OS same bug as on all other components with multiselection due to fact that Mac OS X uses ssCtrl with Mouse Click as Right Mouse Click (so it call PopUp), for multiselection Mac OS X uses ssMeta and this means that in VirtualTree.pas i'v need to ifdef darwin all lines with ssCtrl, but i think that there is more cool way to do this, ifdef declare a constant like ssCtrlOS in witch put ssMeta if it's Mac and ssCtrl in other cases, and then in code use always ssCtrlOS :D what you think?

LuizAmérico

  • Sr. Member
  • ****
  • Posts: 457
Re: VirtualTreeView 4.8.7 released
« Reply #11 on: June 30, 2011, 11:51:11 am »
Better.

Make a patch (please with only that modification) and send me.

Shebuka

  • Sr. Member
  • ****
  • Posts: 427
Re: VirtualTreeView 4.8.7 released
« Reply #12 on: June 30, 2011, 03:43:09 pm »
Better.

Make a patch (please with only that modification) and send me.
Here it is, i'v replaced all ssCtrl with ssCtrlOS so it must be tested to see if there is no conflicts with other functions

Shebuka

  • Sr. Member
  • ****
  • Posts: 427
Re: VirtualTreeView 4.8.7 released
« Reply #13 on: July 05, 2011, 07:10:23 pm »
Quote
Hi, i'm having very strange behaviour with enabled right click selection, multiselection and associated pop up.
If i right click on an item in the tree my pop up come out, then click on pop up item and when pop up disappears the mouse is in state as i'm still holding left mouse button... (so the mouse pointer is binded in that moment to make a selection with rect) as i still holding left mouse button, but i don't. Sometimes it after pop up disappears it is in drag drop state... As i click somewhere it resets to normal state.

btw. i'v tested that ssCtrlOS has nothing to do with this.

edit: Resolved, if you need to use toRightClickSelect then you MUST assign popup on runtime in OnGetPopupMenu and not at design time via PopupMenu property.
« Last Edit: July 06, 2011, 11:50:21 am by Shebuka »

Shebuka

  • Sr. Member
  • ****
  • Posts: 427
Re: VirtualTreeView 4.8.7 released
« Reply #14 on: July 06, 2011, 06:42:25 pm »
Quote
Hi again, i'v found one tricky problem and don't really know how to fix it...
As i can see on Mac scrolling with Magic Mouse or with Trackpad call's WMVScroll and then WMHScroll, and sometimes (i think like every NodeHeight) it calls also CMMouseWheel.
When you use the Mouse Wheel of an external usb mouse it calls only CMMouseWheel.
First of all in WMXScroll, ScrollCode is allways SB_THUMBTRACK in which block tsThumbTracking is set, but SB_ENDSCROLL, in wich tsThumbTracking must be unset, is never called. This cause that when you Scroll by mouse wheel Scrollbars are never updated. To fix this i'v write at the end of DoSetOffsetXY DoStateChange([], [tsThumbTracking]);
But there is another problem... CMMouseWheel never invalidates VirtualStringTree's Rect, so when you scroll it's not updated until you click inside the Rect... So i'v putted an Invalidate at the end of CMMouseWheel XD and this works with CMMouseWheel as charm, but now when i scroll by Touchpad sometimes (look above, every NodeHeight) it calls Invalidate and whole scroll jumps for a sec to the top and then back...

Edit: Found the way to fix both of this, put it in CMMouseWheel:
Code: Pascal  [Select][+][-]
  1. procedure TBaseVirtualTree.CMMouseWheel(var Message: TLMMouseEvent);
  2. ...
  3.     with Message do
  4.     begin
  5. ...
  6. ...
  7. ...
  8.  
  9.       if (tsThumbTracking in FStates) then
  10.         DoStateChange([], [tsThumbTracking])
  11.       else
  12.         Invalidate;
  13.     end;
« Last Edit: July 06, 2011, 06:57:51 pm by Shebuka »

 

TinyPortal © 2005-2018