← Back to team overview

kicad-developers team mailing list archive

Re: wxGrid boolean changes

 

Hi Wayne,

That sounds pretty similar to the bad behaviour I was trying to fix on Linux, so I’m guessing it’ll be the same.

The native control on Mac does a fade-in when checked or unchecked, which I was trying to retain.  But it looks like we’ll have to go with something more like Jon’s idea (which only uses the native controls for rendering).

I think you mentioned that Jon’s patch also had issues on Windows.  Do you remember what they were?

Cheers,
Jeff.


> On 21 Mar 2018, at 16:29, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
> 
> Jeff,
> 
> This doesn't work on windows.  The first click works as expected where
> is selects the row and checks the checkbox.  The subsequent click
> selects the row and the next click behaves like two consecutive clicks
> which leave the checkbox in it's original state.  I will try to test
> this on linux tonight when I get home.
> 
> Cheers,
> 
> Wayne
> 
> On 3/21/2018 10:15 AM, Jeff Young wrote:
>> Oops, scratch that last one (it doesn’t even compile).
>> 
>> Let’s try again:
>> 
>> 
>> 
>> 
>> 
>>> On 21 Mar 2018, at 10:59, Jeff Young <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>
>>> <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>> wrote:
>>> 
>>> Hi Jon,
>>> 
>>> Could you try this one out on Linux?  (It should be active for the
>>> library tables, but not the footprint wizard.)
>>> 
>>> Thanks,
>>> Jeff.
>>> 
>>> <0003-Don-t-make-users-click-twice-to-toggle-a-wxGrid-chec.patch>
>>> 
>>> 
>>>> On 20 Mar 2018, at 13:49, Jon Evans <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
>>>> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>> wrote:
>>>> 
>>>> I haven't started on it yet, feel free to do so if you want and have
>>>> time.
>>>> 
>>>> 
>>>> 
>>>> On Tue, Mar 20, 2018, 09:48 Jeff Young <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>
>>>> <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>> wrote:
>>>> 
>>>>    Hi Jon,
>>>> 
>>>>    Do you want me to take this up, or are you working on it?
>>>> 
>>>>    Cheers,
>>>>    Jeff.
>>>> 
>>>> 
>>>>>    On 15 Mar 2018, at 12:20, Jon Evans <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
>>>>>    <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>> wrote:
>>>>> 
>>>>>    Yes, you'd need python scripting turned on.
>>>>> 
>>>>>    I will try to make a version that applies to the library tables
>>>>>    for testing.
>>>>> 
>>>>>    -Jon 
>>>>> 
>>>>>    On Thu, Mar 15, 2018, 07:32 Jeff Young <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>
>>>>>    <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>> wrote:
>>>>> 
>>>>>        I tried to test out your version, Jon, but I don’t have a
>>>>>        Footprint Wizard.  (Is that because I have scripting turned
>>>>>        off?)
>>>>> 
>>>>>>        On 15 Mar 2018, at 01:16, Jon Evans <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
>>>>>>        <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>> wrote:
>>>>>> 
>>>>>>        I gave it a try and there is some strange behavior on Linux :-(
>>>>>>        Clicks on the checkboxes seem to sometimes get handled
>>>>>>        twice so the box quickly toggles between states.
>>>>>>        So, I don't think it should be merged as-is.
>>>>>> 
>>>>>>        Can you guys confirm that the behavior is good from my
>>>>>>        version (as implemented in the footprint wizard parameters
>>>>>>        table) on Mac/Windows?
>>>>>>        If so, I will work on a general solution based on that
>>>>>>        which can be used with the GRID_TRICKS mixin.
>>>>>> 
>>>>>>        -Jon
>>>>>> 
>>>>>>        On Wed, Mar 14, 2018 at 4:20 PM, Jeff Young <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>
>>>>>>        <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>> wrote:
>>>>>> 
>>>>>>            Yep, only tested on OSX.
>>>>>> 
>>>>>>            Patch attached.
>>>>>> 
>>>>>>            Cheers,
>>>>>>            Jeff.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>>            On 14 Mar 2018, at 19:56, Wayne Stambaugh
>>>>>>>            <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>
>>>>>>>            wrote:
>>>>>>> 
>>>>>>>            I'm assuming you only tested this on macos correct? 
>>>>>>>            If so, please
>>>>>>>            submit a patch so we can test in on windows and
>>>>>>>            linux.  I think the risk
>>>>>>>            is low but it shouldn't take long to test it.  If
>>>>>>>            there aren't any
>>>>>>>            issues, then it can be merged so Jon can use and we
>>>>>>>            wont have to rework
>>>>>>>            any code in v6.
>>>>>>> 
>>>>>>>            On 3/14/2018 3:52 PM, Jeff Young wrote:
>>>>>>>>            @Wayne, any opinion on this one?  Should I merge it
>>>>>>>>            or play it safe and
>>>>>>>>            leave it in 6.0?
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>>            On 14 Mar 2018, at 14:12, Jeff Young <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>
>>>>>>>>>            <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>
>>>>>>>>>            <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>> wrote:
>>>>>>>>> 
>>>>>>>>>            IIRC, it was tricky to get right because you can’t
>>>>>>>>>            fire it when the
>>>>>>>>>            cell *does* have focus or wxWidgets gets itself tied
>>>>>>>>>            in knots.  (It
>>>>>>>>>            turns out that’s OK because when it does have focus
>>>>>>>>>            wxWidgets toggles
>>>>>>>>>            it with a single-click anyway.)
>>>>>>>>> 
>>>>>>>>>            It was also a bit tricky around reference counting.
>>>>>>>>> 
>>>>>>>>>            The current version has had a decent amount of
>>>>>>>>>            testing in my 6.0
>>>>>>>>>            branch, so it’s good-to-go on Mac.  But after the
>>>>>>>>>            teething troubles I
>>>>>>>>>            was hesitant to merge it given possible issues on
>>>>>>>>>            other platforms.
>>>>>>>>> 
>>>>>>>>>            I do think we should add (2).  I'm happy for you to
>>>>>>>>>            tackle it, Jon.
>>>>>>>>> 
>>>>>>>>>            (I’m also happy to merge my version to 5.0 first if
>>>>>>>>>            others think it’s
>>>>>>>>>            worth the risk.)
>>>>>>>>> 
>>>>>>>>>            Cheers,
>>>>>>>>>            Jeff
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>>            On 14 Mar 2018, at 14:03, Jon Evans
>>>>>>>>>>            <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
>>>>>>>>>>            <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>            Thanks Jeff, it doesn't look like that big a change
>>>>>>>>>>            but if you think
>>>>>>>>>>            it should wait I don't feel strongly, except that
>>>>>>>>>>            it might make
>>>>>>>>>>            maintenance more annoying if we have one
>>>>>>>>>>            implementation in 5.0 and
>>>>>>>>>>            one in 6.0.
>>>>>>>>>> 
>>>>>>>>>>            Anyone else have opinions on this?
>>>>>>>>>>            I think (2) should be added to Jeff's
>>>>>>>>>>            implementation and I can
>>>>>>>>>>            probably handle that unless you want to, Jeff
>>>>>>>>>> 
>>>>>>>>>>            -Jon
>>>>>>>>>> 
>>>>>>>>>>            On Wed, Mar 14, 2018 at 9:58 AM, Jeff Young
>>>>>>>>>>            <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx> <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>
>>>>>>>>>>            <mailto:jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>               Hi Jon,
>>>>>>>>>> 
>>>>>>>>>>               I implemented (1), (3) and (4) in 6.0.  It was
>>>>>>>>>>            tweaky enough that
>>>>>>>>>>               I don’t recommend it for 5.0 (but I don’t fee
>>>>>>>>>>            strongly). 
>>>>>>>>>> 
>>>>>>>>>>               You can see my implementation here:
>>>>>>>>>>                https://git.launchpad.net/~jeyjey/kicad/commit/?h=6.0&id=7dda85fdae21f162bd7413fdceb16e49698f31bf <https://git.launchpad.net/~jeyjey/kicad/commit/?h=6.0&id=7dda85fdae21f162bd7413fdceb16e49698f31bf>
>>>>>>>>>>               <https://git.launchpad.net/~jeyjey/kicad/commit/?h=6.0&id=7dda85fdae21f162bd7413fdceb16e49698f31bf <https://git.launchpad.net/~jeyjey/kicad/commit/?h=6.0&id=7dda85fdae21f162bd7413fdceb16e49698f31bf>>.
>>>>>>>>>> 
>>>>>>>>>>               Cheers,
>>>>>>>>>>               Jeff.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>>               On 14 Mar 2018, at 13:50, Jon Evans
>>>>>>>>>>>            <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
>>>>>>>>>>>               <mailto:jon@xxxxxxxxxxxxx>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>               Hi all,
>>>>>>>>>>> 
>>>>>>>>>>>               I recently (2f86b497) changed the behavior of
>>>>>>>>>>>            the wxGrid in the
>>>>>>>>>>>               footprint wizard dialog to fix some issues with
>>>>>>>>>>>            boolean
>>>>>>>>>>>               (checkbox) parameters.
>>>>>>>>>>> 
>>>>>>>>>>>               The default behavior from wxWidgets (at least
>>>>>>>>>>>            in 3.0) is buggy
>>>>>>>>>>>               in that the update events don't get sent out
>>>>>>>>>>>            when you'd expect
>>>>>>>>>>>               from the wxGridCellBoolEditor.
>>>>>>>>>>> 
>>>>>>>>>>>               I have found that I can get behavior that makes
>>>>>>>>>>>            sense to me by
>>>>>>>>>>>               overriding event handlers for the grid itself,
>>>>>>>>>>>            but I'd like to
>>>>>>>>>>>               make a more generic fix that can be easily
>>>>>>>>>>>            portable to other
>>>>>>>>>>>               grids, since we will likely have more places to
>>>>>>>>>>>            use checkboxes
>>>>>>>>>>>               in grids in the future.
>>>>>>>>>>> 
>>>>>>>>>>>               Before I go too far down that path, I wanted to
>>>>>>>>>>>            check that the
>>>>>>>>>>>               new footprint wizard grid behavior matches with
>>>>>>>>>>>            everyone's
>>>>>>>>>>>               expectations for how it should work:
>>>>>>>>>>> 
>>>>>>>>>>>               1) you can toggle the checkbox on/off with a
>>>>>>>>>>>            single left click
>>>>>>>>>>>               2) you can also toggle with the spacebar if the
>>>>>>>>>>>            cell is highlighted
>>>>>>>>>>>               3) nothing happens for double click / right
>>>>>>>>>>>            click / etc.
>>>>>>>>>>>               4) if you click inside the cell (but outside
>>>>>>>>>>>            the checkbox) the
>>>>>>>>>>>               checkbox is also toggled for convenience
>>>>>>>>>>> 
>>>>>>>>>>>               Thanks,
>>>>>>>>>>>               Jon
>>>>>>>>>>>               _______________________________________________
>>>>>>>>>>>               Mailing
>>>>>>>>>>>            list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>>>>               <https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>>
>>>>>>>>>>>               Post to
>>>>>>>>>>>                : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>>>>>            <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>>>>               <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>>>>               Unsubscribe
>>>>>>>>>>>            : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>>>>               <https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>>
>>>>>>>>>>>               More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>>>>>>>>               <https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>            _______________________________________________
>>>>>>>>>            Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>>            Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>>>            <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>>            <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>>            Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>>            More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>            _______________________________________________
>>>>>>>>            Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>            Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>>            <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>>            Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>>            More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>>>>> 
>>>>>>> 
>>>>>>>            _______________________________________________
>>>>>>>            Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>            Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>            <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>>            Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>>            More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>>> 
>>>>>> 
>>>>>>            _______________________________________________
>>>>>>            Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>            Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>            <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>>            Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>>>>>            More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> 
>> 
>> 
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>

Follow ups

References