Hello JP,
'interleaved' to the original text my comments.
Il 23/12/2016 08:56, jp charras ha scritto:
Le 23/12/2016 à 00:30, Dino Ghilardi a écrit :
...
Yes, the undo/redo on multiple sheets is very tricky, mainly because
usually you are not expecting
this command made in a given sheet changes something in an other sheet.
Your remark about synchronizing the undo/redo between all sheets
shows very well the problem.
This is the reason the clearing annotation command is not undo-able,
and some changes when
generating a netlist clears the undo/redo stack..
I am not sure this is only a matter of code (it could be fixed), but
this is a matter of usability:
Is it really possible to safely undo a "global" command from a sheet,
after a lot of other edition
commands made in other sheets.
I agree, this is the point. Also it is very useful having the undo on
operations that can be done on a lot of components (as an example you
can set the font
for all the fields at once in the component spreadsheet and a single
'undo' on this is very useful)
How to remember or accept all commands to undo/redo in other sheets?
A possible solution should be:
Push on the undo stack of every sheet a 'multiple sheet undo'
marker with an 'unique-id' for the operation.
When undoing something and this command is reached check if it is
present on top of the undo stack of every sheet
If yes, undo the operation on all the sheets (maybe adding a
dialog warning for the multiple sheet operation)
If no issue a warning and ask some user interaction to choose what
to do (skip undo, undo automatically all the operation done after the
current for other sheets, go on the sheets that have operations done
after this marker, list the things that will be undone etc...).
Remark:
From my point of view, the value of the reference field should be
*not modifiable* because:
1) changing this values usually breaks the board.
2) in complex hierarchies, this is not the value of the reference,
only the value currently
displayed on screen.
3) the ref and the unit number and closely associated in multiple
units per package components.
In the newer version of the tool I let the value of the reference
field be modified using the same code of the "edit" dialog, so the
complex hierarchy problem should be solved.
The reference ii "not deletable", but can be modified in the same way
you can change it in the 'edit' dialog.
Moreover the multiple edit of reference has a sense if you want to
un-annotate a group of components (as revert "Rxx" to "R?").
(A better solution should be having an 'unannotate selected
components' option and an 'annotate selected components', but I think
I'll leave this into my 'personal wish list' for a very long time).
Cheers,
Dino.
_______________________________________________
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