Wayne, Is the behaviour I have implemented acceptable?
Regards, Oliver On Wed, Apr 19, 2017 at 12:13 AM, Oliver Walters < [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]> > 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]>> 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:oliver.henry.walters@g >> mail.com> >> > > >> > > 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> >> > Post to : [email protected] >> > <mailto:[email protected]> >> > 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 Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

