Oliver, This is looking pretty good so I merged your patches into the master branch. I do have a few minor changes that I would like you to make at some point:
* Move the OK and Cancel buttons to the bottom of the dialog using a wxStdDialogButtonSizer. * Use dialog style wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER. This will remove the stay on top option from the dialog style and add the close button decorator to the title bar. * Set the initial column widths based on their contents rather than using a fixed width. This is a good start but hopefully over time this tool will be extended to become a component properties editor rather than just a component field editor. This would be a lot more convenient than opening the component properties dialog for every component to edit component properties. Thank you for your contribution to KiCad. Cheers, Wayne On 4/25/2017 4:22 AM, Oliver Walters 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 <[email protected] > <mailto:[email protected]>> 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" <[email protected] > <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>>> 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 > > > <[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>> > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>>>> > > > 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 > > > <[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>> > > <mailto:[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>>>> 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" > > <[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>> > > <mailto:[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>>> > > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>> > <mailto:[email protected] <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>>>>> > 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 > > > > <[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>> > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>>> > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>> > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>>>> > > > > > > > > > > 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 : > [email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>> > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>>> > > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>> > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>>>> > > > > 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>>>> > > > > > > > > > > > > > > > > > > > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

