HGui Status Report, ListView and Scrollbar fixes and improvements

Hello all! This is another  HGui status report.

Lately I’ve worked on HFinder, as said in my previous post, this work have hilighted some missing features and a couple of bugs in the ListView class (and some minor things).

The first huge missing feature was the mouse wheel support in the ListView class, I’ve forgot to implement it! So now it’s available and behave as following:

  • Mouse wheel ⇒ Scroll one line
  • Mouse wheel + left shift  ⇒ Scroll one page
  • Mouse wheel + left control ⇒ Scroll to the top/bottom of the list

Qualifier keys (left shift and left control) can be changed using the ListView tags <WheelPageQualifier> and <WheelSEQualifier>

The second problem was that when many items are showed in the ListView the vertical scroller’s cursor was so tiny that was very difficult (if not impossible) to click, ofcourse this problem was related to the Scrollbar class which it’s used for the ListView vertical scroller, so I’ve implemented a minimum cursor size in pixels that can be changed with the global variable <HGui.MinSBCursorSize>, the default value is 8 pixels and it’s valid for both vertical and horizontal scrollbar.

The last fix for today was a glitch caused by the minimum cursor size that was causing a render of the cursor outside its container, but after a few hours I’ve figured out how to handle it.

Here is a brief summary:

  • ListView : Added mouse wheel support to scroll the items.
  • ListView : Added tag <WheelPageQualifier> to specify the qualifier key for scrolling one page with the mouse wheel (default = Left Shift)
  • ListView : Added tag <WheelSEQualifier> to specify a qualifier key for scrolling to the toop or to the end of the list with the mouse wheel (default = Left Control)
  • Scrollbar : Introduced minimum cursor size so that the cursor is always clickable and always inside the container, minimum size can be adjusted setting the size in <HGui.MinSBCursorSize> (in pixels, default = 8).
  • ListView : Added the method :RemoveSelected() to remove from the list the currently selected entries.
  • ListView : <VScrollerOFF> tag wasn’t handled correctly: fixed.


Before saying goodbye here is a shot of the upcoming reworked  HFinder :

HFinder : Main window
HFinder : Main window


Stay tuned!

Leave a Reply

Your email address will not be published.Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: