← Back to team overview

kicad-developers team mailing list archive

Re: wxGrid boolean changes

 

Does the footprint wizard use GRID_TRICKS? In either case, we should roll these changes into GRID_TRICKS so it can be used everywhere we us boolean checkboxes in wxGrid.

On 03/21/2018 05:38 PM, Jon Evans wrote:
It's already committed, if you use the footprint wizard, any of the boolean values in the parameters table use the new behavior

On Wed, Mar 21, 2018 at 5:31 PM, Wayne Stambaugh <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>> wrote:

    Jeff,

    I don't remember the outcome testing Jon's patch.  That was a few
    weeks ago so my old man memory is at work here.  I don't have that
    patch any longer so if Jon reposts it, I will test it on windows.

    Cheers,

    Wayne

    On 03/21/2018 05:07 PM, Jeff Young 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>
            <mailto: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>>
                    <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>>
                        <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>>
                        <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>>
                                <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>>
                                <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>>
                                        <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>>
                                        <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>><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>>
                                                        <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>>
                                                            <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>>
                                                            <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>>
                                                                   <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>>
                                                                   <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>>
                                                        <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>>
                                                    <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>>
                                                <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>>
                                            <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>>
                    <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>




Follow ups

References