← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] eeschema new tool/feature: Component spreadsheet tool

 

Hello Dino,

Afaik the undo/redo system of Eeschema does not support "batching" of changes natively. Generally speaking the undo/redo system of Eeschema could need some attention but I do not know how worthwhile it is considering the announced refac. There is a way to archive it iirc (PICKED_ITEMS_LIST) but a general "changes batching" approach would be very helpful as it would help to keep the undo/redo more consistent and maybe even avoid the annoying "undo/redo list wipes". I was thinking of something like the PICKED_ITEMS_LIST approach. Maybe one could add a facultative "commit" parameter to every undo/redo related function so one would be abled to provide a container for batching operations. I would give it a try and work on it if this approach would be in principle approved. But I did not dig to deep into Eeschema to really be sure about my claims.

best regards,

Nox


Am 22.12.2016 um 09:20 schrieb Dino Ghilardi:
Il 20/12/2016 09:59, jp charras ha scritto:
Le 08/11/2016 à 01:29, Dino Ghilardi a écrit :
Hello everyone,

Thanks for the comments on this tool and the video.

...
Hi Dino,

Have you a more recent version of your tool, including a few enhancements you have listed? This tool is very interesting (although there are some issues to fix in code, especially wxFrames
are used instead wxDialogs).

Orson, have you looked into this patch?
Even if you are working on something like a parametric editor, this specialized tool could be an
interesting feature.

Hi, jp.

I have that version and I'll send a new patch soon (I'll have some spare time next week). I've also choosen not to send patches for a while since the team was working on the 4.0.5 release and I would not like to add too many things to do at a time.

I've sent also a "preview" of the newer version to Oliver some days ago (I'm still beautifying the code) with new features added: it evolved a lot from the one shown in the video: In the new version there are:

-a 'copy spreadsheet data' that puts the table data in the clipboard and can be used to paste the grid into a spreadsheet program like excel or libreoffice calc or gnumeric (tested on gnumeric and libreoffice) -Field parameters like font, visibility, horizontal and vertical justify can be now edited for selected cells. -It is possible to select a whole column (ctrl+space) or row or a block of fields and modify them in a single operation, -It is possible to filter components on a 'by sheet' basis showing only the components in the current sheet. Changing current sheet updates the grid data. -It is possible to select the content of a cell as column filter from the right-click pop-up menu, -It is possible to filter-out/in the 'commented' components (the one with reference starting with '#' as the power symbols or ground symbols)
    -The 'common' filter options are now better organized
-If a field has a text style as bold or italic it is also shown in bold or italic in the grid -Right-clicking on a component the component footprint browser can be launched to set the footprint -live selection (if a component is selected in the spreadsheet is centered on the schematic page, If a component is selected in the schematic it is selected and centered in the spreadsheet) -Correct field deletion (empty field for default fields and field remove field if the field is optional) -If a field does not exist for a particular component the cell has a different background color -If something is changed in the grid the schematic view is updated realtime. -New status bar at the bottom of the tool to see what the last operation was or if there was some error in that operation.


The annoyance/bug is the undo: Since in kicad it seems there is a different undo-list for every sheet that composes the whole schematic a ctrl-Z on the grid undoes the operations on the current sheet only. Another annoyance (always on the undo function) is that I'm able to undo only an operation at a time, so if you change 500 fields at once, to undo this operation you need to undo 500 times.
To fix this may be a change of the undo system should be needed.
Is there is some 'kicad undo guru' to find a solution, since may be i just did not go to deep into the undo system implementation to see a solution.

The missing part on this patch is also the user documentation, but I think it is better to write that when the tool is stabilized.


Since I'm mostly a C/asm programmer, may be the programming style is not very 'C++', but it is evolving...

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



Follow ups

References