G'day,<br><br>Apologies if this is the wrong place to ask this question - the forum seems quiet on related questions I've asked there.<br><br>I've been playing with the GTK TListView code, and I'm happy I can solve most of the selection issues outstanding in Mantis, and a few more to boot.  Problem is the solution for the TListView in Icon Mode is potentially quite expensive - currently looping linearly over an unsorted TStringList (ItemCache) of selected nodes every selection event (and there's one or two existing scenarios where this happens as well).  Before I submit the patch I'd like to optimise this code using a sorted integer list or two (side by side with ItemCache).  Someone on the forums pointed me to a syntax I was previously unfamiliar with, that I'd like to use.<br>

<br><pre style="margin: 0pt; padding: 0pt;"><code class="bbc_code">uses<br>  fgl;<br><br>type<br>// for {$mode objfpc}<br>  TIntegerList = specialize TFPGList<Integer>;</code></pre><br>My problem is that when I go into fgl it states this is prototype code - and to me that means either the interface or implementation is likely to change in the future.  <br>

<br>My question is, are you guys happy if I go ahead and implement code inside gtk2wscustomlistview.inc that uses this functionality, or should I just stay on the safe side and implement a specific TIntegerList for this scenario?  <br>

<br>The more I play with the gtk2 TListView, the more I realise what a superb, but extremely difficult, job other people have done making the gtk2 widget conform to the win32 api structure.   I imagine similar difficulties were encountered in other widgetsets and my hat is off to all who have worked through this.  Felipes suggestion of a custom drawn ListView looks more and more attractive to me :-)<br>

<br>(this will be my first time playing with the LCL code, and I'm fully expecting my patch to be rejected, or at least marked with red pen "must try harder" :-) - just saying don't panic that you've got a newbie playing in the LCL :-) )<br>

<br>Cheers<br><br>Mike<br>