[Gambas-user] Combobox behavior with long lists

Benoît Minisini gambas at ...1...
Wed Oct 1 18:51:26 CEST 2014


Le 01/10/2014 14:33, Tobias Boege a écrit :
> On Wed, 01 Oct 2014, Jesus wrote:
>> El 01/10/14 a las #4, Alain Baudrez escribi?:
>>> Jesus,
>>>
>>> the funny thing is that I use gb.qt4 and I have this very long top to
>>> bottom list in Linux Mint 17 Mate.
>>>
>>> Maybe it is not 100% depending on the toolkit used.
>>
>> It is, at a degree. This is the theme used by the qt4 tk. Test with
>> another style (using the tool qtconfig-qt4). I've just tested it and
>> "Plastique" style behaves as you want.
>>
>
> Plastique is the best thing that has ever happened on computers (at least
> the version called "Plastik" that I am running), but in general I'd think
> that people aren't content with (massively!) changing how things look just
> to get a small thing to behave.
>
> But the only solution I see here is to write your own ComboBox. Since it's
> a native (non-compound) control you can't even reasonably extend the
> existing class to (ab)use some of its internals, like re-wiring event
> handlers from child controls. (You can always do this sort of hack with
> compound controls written in Gambas, i.e. non-native ones.)
>
> Another thing could be that Benoit adds a new event to the ComboBox. If
> there is an event handler for it, that would mean that the Gambas programmer
> wants to do their own popup[*] and if not, the standard popup is used. But
> I doubt that this would be implemented. It looks too weird/fragile.
>
> Regards,
> Tobi
>
> [*] If you write your own ComboBox, this is something you also need to think
>      of: "how do I implement a popup that attaches visually to my control but
>      _could_ be larger than my form?". We currently explore this question in
>      a quite related thread here[0].
>
> [0] http://gambas-club.de/viewtopic.php?f=3&t=4761
>

Look at the implentation of DateBox control. It uses a DateChooser as a 
true popup window.

The difficulty if the mouse press event, that starts on the main form, 
and must be handled by the popup.

Regards,

-- 
Benoît Minisini




More information about the User mailing list