← Back to team overview

kicad-developers team mailing list archive

Re: wxGrid boolean changes

 

Cool; I’ll stick it into GRID_TRICKS and test it on Mac.

> On 21 Mar 2018, at 21:15, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
> 
> I tested my change (to the footprint wizard parameters table) on Windows and didn't see any bad behavior.
> 
> On Wed, Mar 21, 2018 at 5:07 PM, Jeff Young <jeff@xxxxxxxxx <mailto:jeff@xxxxxxxxx>> wrote:
> 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 <mailto: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 <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>
> 
> _______________________________________________
> 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>
> 
> 


References