← Back to team overview

kicad-developers team mailing list archive

Re: [FEATURE] Component table viewer

 

Hey Oliver,

I just need to find the time to test and review your changes.  I will
let you know as soon as I can.

Cheers,

Wayne

On 4/30/2017 5:41 PM, Oliver Walters wrote:
> Hi Wayne,
> 
> Anything else you need me to do here?
> 
> Cheers
> 
> On 25 Apr 2017 18:22, "Oliver Walters" <oliver.henry.walters@xxxxxxxxx
> <mailto:oliver.henry.walters@xxxxxxxxx>> wrote:
> 
>     Wayne,
> 
>     I have reattached all patches including a new one which does the
>     following:
> 
>     a) Removes BOM export
>     b) Removes Save/Cancel dialog as per JP's request
>     c) Fixes speed issue as per JP's request
>     d) Small bugfix
> 
>     These should apply directly to latest master branch.
> 
>     Cheers
> 
>     On Tue, Apr 25, 2017 at 12:43 AM, Wayne Stambaugh
>     <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>> wrote:
> 
>         Oliver,
> 
>         Thank you for your understanding on this issue.  Once you
>         include the
>         patch to remove the BOM code, I will merge this into the master
>         branch.
> 
>         Cheers,
> 
>         Wayne
> 
>         On 4/23/2017 5:41 PM, Oliver Walters wrote:
>         > Wayne,
>         >
>         > I tend to agree actually, as I have been developing this the less I
>         > think having a BoM export is appropriate:
>         >
>         > 1. Separation of tasks - it's simpler and cleaner just as an editing table
>         > 2. Python (etc) is way better at data manipulation
>         > 3. External scripts are by design much more flexible.
>         >
>         > I have some ideas for improving BOM output but I am now thinking they
>         > would be best served not integrated here.
>         >
>         > I will remove the buttons and leave those thoughts for another conversation.
>         >
>         > Oliver
>         >
>         > On 24 Apr 2017 01:47, "Wayne Stambaugh" <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
>         > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>
>         wrote:
>         >
>         >     Oliver,
>         >
>         >     I finally got a chance to test your patch set and was a
>         bit surprised
>         >     what I saw after following the conversation on the mailing
>         list.  I was
>         >     under the impression that this was a generic component
>         properties
>         >     editing grid not a BOM tool which is what it really is.  I
>         like the idea
>         >     of being able to edit component fields in table form.  I'm
>         less thrilled
>         >     about the BOM export options.  For those of you who
>         haven't been around
>         >     very long, Eeschema used to have a BOM dialog.  It didn't
>         allow for
>         >     editing field values but it contained options for various
>         BOM output
>         >     types.  Initially this dialog was simple and contained
>         only a few BOM
>         >     output types and options.  Of course everyone has their
>         own idea of how
>         >     a BOM should be formatted so gradually over time, the BOM
>         dialog and the
>         >     underlying BOM output code became a huge mess.  It was
>         finally decided
>         >     that the design was no longer maintainable and removed. 
>         It was replaced
>         >     by the current system along with samples that provided all
>         of the same
>         >     BOM output options from the old BOM dialog.  Except for
>         the field
>         >     editing grid, your dialog and BOM code looks a lot like
>         the original BOM
>         >     dialog.  I can see the same thing happening all over
>         again.  Why no use
>         >     the existing BOM generation code in your dialog rather
>         than re-implement
>         >     code that does the exact same thing?  I'm not opposed to
>         field editing
>         >     part of the dialog, but I see the BOM output part heading
>         the same
>         >     direction as the old BOM dialog.
>         >
>         >     On 4/20/2017 1:59 AM, Oliver Walters wrote:
>         >     > Wayne,
>         >     >
>         >     > Is the behaviour I have implemented acceptable?
>         >     >
>         >     > Regards,
>         >     > Oliver
>         >     >
>         >     > On Wed, Apr 19, 2017 at 12:13 AM, Oliver Walters
>         >     > <oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>
>         >     <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>>
>         >     <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>
>         >     <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>>>>
>         >     > wrote:
>         >     >
>         >     >     Wayne,
>         >     >
>         >     >     I have now fixed this such that UNDO actions are pushed to the
>         >     UNDO
>         >     >     stack for the associated sheet. All UNDO actions for a given sheet
>         >     >     are grouped so a single Ctrl-Z will undo all components changed in
>         >     >     the table (for the given sheet).
>         >     >
>         >     >     Please find patch _007 attached (must be appli ed atop all
>         >     previous
>         >     >     patches).
>         >     >
>         >     >     Let me know if you see any other pressing issues.
>         >     >
>         >     >     Regards,
>         >     >     Oliver
>         >     >
>         >     >     On Tue, Apr 18, 2017 at 6:30 AM, Wayne Stambaugh
>         >     >     <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
>         <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
>         >     <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
>         <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>> wrote:
>         >     >
>         >     >         On 4/17/2017 4:18 PM, Oliver Walters wrote:
>         >     >         > So how do we proceed here? Is there a 'global'
>         undo
>         >     stack? If not:
>         >     >
>         >     >         Unfortunately there is no global undo stack. 
>         Undo stacks are
>         >     >         maintained
>         >     >         for each unique SCH_SCREEN (schematic file) object.
>         >     >
>         >     >         >
>         >     >         > A) don't allow changes made in the component table
>         >     viewer to be undone
>         >     >         > B) Make an undo entry for each sheet that has
>         changed
>         >     symbols
>         >     >         >
>         >     >         > A) is easier but the user would need to
>         >     quit-without-save to undo changes
>         >     >
>         >     >         This is less than desirable
>         >     >
>         >     >         >
>         >     >         > B) is more difficult and doesn't solve the undo
>         >     operations getting out
>         >     >         > of order either, as the user could inject another
>         >     operation on a given
>         >     >         > sheet.
>         >     >
>         >     >         This would be my preference.  Out of order
>         operations are
>         >     already an
>         >     >         issue so this solution doesn't make that issue
>         any worse.
>         >     >         Undo/redo is
>         >     >         only available for the current sheet so the user
>         would have to
>         >     >         change
>         >     >         sheets in order to undo anything changed in the
>         component
>         >     >         properties table.
>         >     >
>         >     >         >
>         >     >         > Suggestions?
>         >     >         >
>         >     >         > On 18 Apr 2017 01:26, "Wayne Stambaugh"
>         >     <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
>         <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
>         >     <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
>         <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>
>         >     >         > <mailto:stambaughw@xxxxxxxxx
>         <mailto:stambaughw@xxxxxxxxx>
>         >     <mailto:stambaughw@xxxxxxxxx
>         <mailto:stambaughw@xxxxxxxxx>> <mailto:stambaughw@xxxxxxxxx
>         <mailto:stambaughw@xxxxxxxxx>
>         >     <mailto:stambaughw@xxxxxxxxx
>         <mailto:stambaughw@xxxxxxxxx>>>>> wrote:
>         >     >         >
>         >     >         >     On 4/17/2017 10:21 AM, jp charras wrote:
>         >     >         >     > Le 17/04/2017 à 04:11, Oliver Walters a
>         écrit :
>         >     >         >     >> JP, others,
>         >     >         >     >>
>         >     >         >     >> After further investigation, I have
>         worked out
>         >     why the components
>         >     >         >     with duplicated references were
>         >     >         >     >> displaying incorrectly.
>         >     >         >     >>
>         >     >         >     >> Patch_004 is attached, Thomas can you
>         confirm
>         >     that it fixes the
>         >     >         >     display for you?
>         >     >         >     >>
>         >     >         >     >> Kind Regards,
>         >     >         >     >> Oliver
>         >     >         >     >>
>         >     >         >     >> On Mon, Apr 17, 2017 at 7:53 AM, Oliver
>         Walters
>         >     >         >     <oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>
>         >     <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>>
>         >     >         <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>
>         >     <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>>>
>         >     >         <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>
>         >     <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>>
>         >     >         <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>
>         >     <mailto:oliver.henry.walters@xxxxxxxxx
>         <mailto:oliver.henry.walters@xxxxxxxxx>>>>
>         >     >         >     >
>         >     >         >     > Good work, Oliver!
>         >     >         >     >
>         >     >         >     > I found 2 issues (tested on W7)
>         >     >         >     >
>         >     >         >     > 1 - m_reloadTableButton is not correctly
>         >     enabled/disabled.
>         >     >         >     > This is due to the way events are
>         managed, and this is
>         >     >         OS dependent.
>         >     >         >     > To avoid this issue, enable/disable it
>         inside a
>         >     >         wxUpdateUIEvent
>         >     >         >     attached to this button.
>         >     >         >     >
>         >     >         >     > 2 - ESC key and ENTER keys do not
>         dismiss the dialog.
>         >     >         >     > This is due to the fact you do not have a
>         >     >         wxStdDialogButtonSizer,
>         >     >         >     and no OK and Cancel button.
>         >     >         >     > Please, add it and use the OK button (as
>         usual in a
>         >     >         dialog) to
>         >     >         >     transfer changes to schematic (do not
>         >     >         >     > use a wxCloseEvent to manage that), and
>         obviously
>         >     Cancel
>         >     >         just
>         >     >         >     closes the dialog.
>         >     >         >     > To do this transfer, just  override
>         >     >         TransferDataFromWindow(), that
>         >     >         >     is called by wxWidgets when
>         >     >         >     > closing a dialog by the OK button.
>         >     >         >     >
>         >     >         >     > About other things, undo/redo lists
>         should manage only
>         >     >         changes
>         >     >         >     made inside the corresponding sheet,
>         >     >         >     > not in other sheets, to avoid
>         inconsistencies and
>         >     >         therefore crashes.
>         >     >         >     >
>         >     >         >
>         >     >         >     This is one of the reasons I've been
>         reluctant to accept
>         >     >         code that
>         >     >         >     attempts to change the state of a
>         SCH_SCREEN object
>         >     other
>         >     >         than the
>         >     >         >     current SCH_SCREEN object.  It exposes a
>         known flaw
>         >     in our
>         >     >         schematic
>         >     >         >     undo/redo design and I have yet to see
>         anyone update the
>         >     >         undo/redo
>         >     >         >     SCH_SCREEN stacks correctly.  I see the
>         potential for
>         >     >         serious issues if
>         >     >         >     you do not keep the undo/redo stacks
>         properly synced.
>         >     >         Once you allow
>         >     >         >     the modification of information in the
>         SCH_SCREEN object
>         >     >         other than the
>         >     >         >     current one, you need to update the
>         undo/redo stack for
>         >     >         the appropriate
>         >     >         >     SCH_SCREEN object.  Otherwise, you wont be
>         able to undo
>         >     >         all of the
>         >     >         >     changes correctly.
>         >     >         >
>         >     >         >   
>          _______________________________________________
>         >     >         >     Mailing list:
>         >     https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>
>         >     <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>>
>         >     >         <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>
>         >     <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>>>
>         >     >         >     <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>
>         >     <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>>
>         >     >         <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>>>
>         >     >         >   
>          <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
>         <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>>
>         >     >         <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>
>         >     <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>>>
>         >     >         >     <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>
>         >     <https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>>
>         >     >         <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>>
>         >     >         <https://help.launchpad.net/ListHelp
>         <https://help.launchpad.net/ListHelp>
>         >     <https://help.launchpad.net/ListHelp
>         <https://help.launchpad.net/ListHelp>>>
>         >     >         >     <https://help.launchpad.net/ListHelp
>         <https://help.launchpad.net/ListHelp>
>         >     <https://help.launchpad.net/ListHelp
>         <https://help.launchpad.net/ListHelp>>
>         >     >         <https://help.launchpad.net/ListHelp
>         <https://help.launchpad.net/ListHelp>
>         >     <https://help.launchpad.net/ListHelp
>         <https://help.launchpad.net/ListHelp>>>>
>         >     >         >
>         >     >
>         >     >
>         >     >
>         >
>         >
> 
> 


Follow ups

References