I tried to merge some constants used both in legacy mode and gal mode (which were, before this patch, separate constants).
There is still a serious work to avoid different calculation code for the same text in draw and plot functions.
Work in progress to merge these calculation functions.
* No initial copied object changed (this was a serious bug to modify these objects. Previous version modified references and other texts using a very stupid algorithm).
It also fixes bug 1549231
* only new pads are numbered (therefore renumbering is used only in footprint editor)
* remove not working and useless feature in circular array: now only use number for pads (others options using alphabetical letters are removed: did not work corectly, and were useless)
* a more clear option is used to choose if the pads are numbered from a choosen value, or from the first avaible value
* Adding a warning messsage if a parameter is incorrect.
* Derive SCH_SHEET_LIST from std::vector rather than using internal array
management. Change all internal code to use iterators or array operator
in loops.
* Allow creation of empty SCH_SHEET_LIST for external population for plotting
and printing.
* Clean up print an plot code to take advantage of new SCH_SHEET_LIST behavior.
* Make BuildSheetList() public so list can be populated after creation.
* Update all instances of SCH_SHEET_LIST with the appropriate SCH_SHEET
object on initialization.
* Create const and non-const version of SCH_SHEET_PATH::GetSheet().
* Move add_directory()s in main CMakeList.txt after all find_package()
macros are run so all flags in the main CMakeList.txt are propagated
to the sub-folder CMakeList.txt files.
* Remove commented out include of config.h
* Make the link maps only build on linux as -${TO_LINKER},-cref
-${TO_LINKER},-Map=blah just gives warnings on osx w/ clang
* Make the link maps only build with flag -DKICAD_MAKE_LINK_MAPS is
defined during CMake configuration as they are highly specific.
* Moved the code for setting link maps into the main CMakeList.txt
file to avoid duplication.
* Removed -D__ASSERTMACRO__ from osx as its no longer needed
* Removed a couple of other OSX only things that wouldn't work anyway
* Moved set (BU_CHMOD_BUNDLE_ITEMS) to the main CMakeList.txt as
otherwise it would only work for the KiCad build not the other
applications
* Made KICAD_SCRIPTING_MODULES enable KICAD_SCRIPTING as currently if
you have modules enabled without the scripting base it will on build.
This could be changed to a fatal error saying you need to also enable
scripting but it seems unnecessary.
* Removed duplication of pcbnew.py install code under modules and
scripting since you can't have modules without scripting now
* Derive SCH_SHEET_PATH from std::vector< SCH_SHEET* > and remove unnecessary
assignment operator and list management functions.
* Remove function BuildSheetPathInfoFromSheetPathValue() since it was
effectively an assignment operation.
* Replace all calls to BuildSheetPathInfoFromSheetPathValue() with assignment
operator.
* Replace list management functions with vector management functions.
* Fix a error message that wasn't translatable.