← Back to team overview

kicad-developers team mailing list archive

Eeschema annotate block / specific component types proposal


Hi all,

Firstly thanks Wayne for adding me to the list - long time KiCad user for
hobby stuff, but I've got a background (partially) in fast real-time
mixed-signal electronics.

Working on a fairly large personal project recently, with many nested and
shared schematics, I would really have liked the ability to only
automatically annotate either a selected block of components, and/or only a
subset of the component types. I haven't done an KiCad UI-facing dev work
(or, frankly, much at all bar poking around in the code a little bit) but
I'd be happy to have a bash at implementing it - but would welcome others'
thoughts. I can't find any mention of it in roadmaps etc.

*Proposal*: Add the ability to annotate only a selected block and / or only
specific component types
*UI Flow: *Two changes required, as detailed below. As described, they do
not change the current default UI flow, but offer up more options for users
should they wish to use them:

   1. Add a new menu item to the block selection context menu, with text
'Annotate block...'. On clicking, takes the user to the current 'Annotate
Schematic' dialog.
   2. Modify the 'Annotate Schematic' dialog to include:
       a. Within the 'Scope' radio button selection list, add 'Use the
current selected block' (not enabled if the dialog is entered the existing
way through the Tools menu) - autoselected if dialog entered through the
block context menu
       b. Add a checklist containing the prefixes of component types
available for annotation (i.e. 'R', 'C', 'U', whatever...). Default to all
being selected.

I'd welcome thoughts on this proposal, and also, if people think it's worth
looking at, any pointers to a quick guide to KiCad dev wrt branch handling.
I.e., do developers work to the head of the repository or the last stable
release, etc etc? I couldn't find anything on this hiding in the dev docs.
I can figure the rest out (internationalisation, code structures, etc etc).


Follow ups