← Back to team overview

kicad-developers team mailing list archive

Re: [FEATURE] Component table viewer

 

So how do we proceed here? Is there a 'global' undo stack? If not:

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

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.

Suggestions?

On 18 Apr 2017 01:26, "Wayne Stambaugh" <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
> >
> > 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
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References