* The resource setting for bitmap2component is too late in the CMakeLists.txt,
and is being ignored. Bitmap2component does not have an icon resource on
Windows. Moving the entire section resolves the issue.
* The other programs only have the mingw special case listed, not the generic
declaration for the resource file so added them.
Pcbnew: auxiliary axis shape: use the same look as GAL, to be consistent with GAL.
Minor change in dialog_env_var_config (use the wxStdDialogButtonSize for usual OK, Cancel and help buttons)
footprint wizard frame: now shows messages from footprints python scripts. Especially usefull when a parameter is incorrect. Fix also an other issue (IO error) with some scripts which were usint the print command to output messages (now they use the nes message window.
* Automatically update results on input change
* Allow user to specify trace width and calculate maximum current it can handle
* Allow the trace thickness to be set separately for external and internal layers
* Allow specification of the resistivity
* Change the non-editable text boxes (resistance, power loss etc) to labels
* Fix assertions in Eeschema when editing net labels, electronic rules check,
and plotting.
* Fix assertion when opening PCB calculator.
* Fix assertions in Pcbnew when changing footprints in footprint properties
dialog and adding or editing text.
* Make all files generated by make_lexer() dependencies of thier respective build targets.
* Make building Boost a dependency for all libraries.
* Remove duplicate make_lexer() call for Specctra lexer files.
* Fix creation of single app bundle with respect to scripting support.
* Cleanup scripting search paths for OSX.
* Fix some small CMake bugs from previous OSX build change.
* Optimize bundle file structure to be consistent with Apple specs.
* Add helper script for compiling wxWidgets and wxPython
* Update OSX build instructions.
* Compile all binaries into a single application bundle.
* Use CMake BundleUtilities to make application bundle relocatable.
* Restructure build output to directly create an image file.
* Fix default search paths.
* Set KIGITHUB environment variable.
* Added patch to fix wxWidgets so names for OSX.
* Create GetNewConfig() and GetKicadConfigPath() to unify configuration file
creation and location.
* Move Windows configuration out of the registry into configuration files.
* Move Linux configuration files from $HOME to $HOME/.config/kicad to eliminate
configuration file pollution in the users $HOME folder.
* Fix a bug in the configuration file where the Eeschema hot keys are saved.
*) Rework the set language support, simplify it by using KIWAY. Now any major
frame with a "change language" menu can change the language for all KIWAY_PLAYERs
in the whole KIWAY. Multiple KIWAYs are not supported yet.
*) Simplify "modal wxFrame" support, and add that support exclusively to
KIWAY_PLAYER where it is inherited by all derivatives. The function
KIWAY_PLAYER::ShowModal() is in the vtable and so is cross module capable.
*) Remove the requirements and assumptions that the wxFrame hierarchy always
had PCB_EDIT_FRAME and SCH_EDIT_FRAME as immediate parents of their viewers
and editors. This is no longer the case, nor required.
*) Use KIWAY::Player() everywhere to make KIWAY_PLAYERs, this registers the
KIWAY_PLAYER within the KIWAY and makes it very easy to find an open frame
quickly. It also gives control to the KIWAY as to frame hierarchical
relationships.
*) Change single_top to use the KIWAY for loading a KIFACE and instantiating
the single KIWAY_PLAYER, see bullet immediately above.
*) Add KIWAY::OnKiwayEnd() and call it from PGM_BASE at program termination, this
gives the KIFACEs a chance to save their final configuration dope to disk.
*) Add dedicated FRAME_T's for the modal frames, so m_Ident can be tested and
these modal frames are distinctly different than their non-modal equivalents.
KIWAY_PLAYER::IsModal() is !not! a valid test during the wxFrame's constructor,
so this is another important reason for having a dedicated FRAME_T for each
modal wxFrame.
On balance, more lines were deleted than were added to achieve all this.
if it is running under single_top.cpp or under a project manager.
*) Test Kiface().IsSingle() when adding menus, some operations are not permitted
when running under a project manager and the KIWAY_PLAYER is pegged to a
specific project.
*) Implemented KIWAY::KiFACE() so it loads *.kiface files. They still have to be
in the same directory as the main *.exe launcher, so this presents some difficulty
when the binaries are not yet installed but rather the *.kiface files are still
in their original build directories. For today, I simply copied _pcbnew.kiface
to build/kicad/.
*) Add a test case to kicad/mainframe.cpp just to get an early peek at loading
_pcbnew.kiface under the C++ project manager. Got that working for one
specific invocation just for proof of concept. Surprise, it works.