Le 14/09/2016 à 14:09, Oliver Walters a écrit :
> Hi all,
>
> First time submitting a patch, so here goes....
>
> The attached patch deals with a number of issues with regards to the
> footprint wizards manager. It
> started off as what I imagined was a fairly simple task to improve the UX of
> the FP wizards
> interface, but it evolved into something a bit more complex as I delved
> deeper into the source!
>
> Improvements are as follows:
>
> 1. I have done away with the use of a leading asterisk to designate the
> "units" of a wizard
> parameter. Multiple parameter types can now be defined (integer, float, mm,
> mils, bool, etc..)
>
> 2. Input validation. Each type of parameter is now validated properly within
> the wizards screen.
> Integer parameters can only be set to integers, dimensions can only be
> floating point, etc.
Unfortunately, it does not work in countries which use a comma as floating
point separator:
I cannot enter floating point values:
The validator expects a comma as floating point separator, and the python
script expects a point as
separator.
>
> 3. Boolean values are now treated properly. Simply click the cell to toggle,
> rather than awkwardly
> typing "True" or "False"
>
> 4. Multiple choice options available - If the python script specifies a list
> of options, then a
> drop-down box will be displayed for that parameter
>
> 5. Param designators. Instead of the row numbers being shown, each param can
> optionally be assigned
> a designator (such as 'e' for pitch) which will be show to the left of that
> row.
>
> 6. "Reset to default" - A new button in the top toolbar which resets all
> wizard parameters to their
> default values
>
> 7. More logical parameter checking within the python wizard helpers.
> Currently each parameter needs
> to be explicitly checked e.g. "CheckInt" to make sure the value is a valid
> integer. This patch
> defines a Parameter holder class that automatically checks values based on
> their specified type.
> Additionally, parameters can have other checks specified when they are added,
> e.g:
>
> AddParam("Pads","width",uMM, 2.5, min_value=0.1, max_value=5.5)
>
> 8. Fixed script import errors in the case of "bad" scripts. Currently if a
> wizard contains any
> errors, the LoadPlugins functions fail and no subsequent wizards are loaded.
> A simple try-except
> block has been added around the specific file loading so that one bad plugin
> file does not break the
> others
>
> 9. Auto-sizing of the parameter grid. Not a huge deal but the grid width now
> expands to fill the
> available space.
>
> General Notes:
>
> a) To provide the functionality for multiple unit types I have had to
> slightly break compatibility
> with the way that parameter types were defined in the current wizards.
> However, I have designed the
> new Parameter class (in kicadplugins.i) to be as close-to-compatible as it
> can be.
>
> I have updated each of the default plugins to be compatible with the new
> system. Only minor changes
> were required.
>
> b) I have also consolidated the helper classes (HelpfulFootprintWizardPlugin)
> into the simpler
> FootprintWizard base class.
>
> c) There is now a GitHub repository for FootprintWizards
> - https://github.com/KiCad/Footprint_Wizards - should this patch be accepted
> I propose that the
> default wizards be further improved, and removed from the source files.
> Instead, provide a link to
> the GitHub page or a download-helper for the scripts. This way the community
> can contribute quality
> wizards, and I shall endeavour to add some good documentation to the wiki
> page for wizard creation.
>
> .diff is attached - hopefully this is the right way of doing this?
>
> Please let me know what I can do to help this process along.
>
> Regards,
>
> Oliver
Thanks for your contribution.
--
Jean-Pierre CHARRAS
_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp