*) Extend SWIG support deeper into the BOARD class.
*) Move swig *.i files into a directory identified for SWIG, in preparation
for a parallel universe involving Phoenix's SIP.
*) Move swig files which will be common to both eeschema and pcbnew into
common/swig.
*) Sketch out a "common" python module, and plan on dovetailing that into a
libkicad_shared.{dll,so}
*) Add common/swig/ki_exceptions.i and define a macro HANDLE_EXCEPTIONS()
which is to be applied to any function which needs C++ to python
exception translation.
*) Move the test for SWIG tool into top level CMakeLists.txt file for use
in all python modules beyond pcbnew, i.e. eeschema and common.
*) Add SWIG_MODULE_pcbnew_EXTRA_DEPS which generates a better Makefile, one
which rebuilds the swig generated *.cxx file when one of its dependencies
change.
*) Re-architect the board.i file so that it can be split into multiple *.i
files easily.
*) Make some KIWAY from python progress, in preparation for Modular KiCad
phase III.
This option is not yet activated because the net attributes are not yet fully fixed by Ucamco, in Gerber file format specifications.
(To activate it, see dialog_plot.cpp, line 43)
Fix build error when KICAD_USE_SCH_IO_MANAGER=OFF due to const issues with
LIB_PART ctor.
Fix unused variable build warning in legacy schematic plugin.
Make LIB_PART copy constructor take a const LIB_PART reference.
Add SaveSymbol to legacy symbol library plugin.
Add removeAlias to legacy symbol library cache.
Add AddSymbol to legacy symbol library cache.
OSX Sierra has removed QuickTime entirely (because Apple needs to break
at least one thing every major OS revision). This prevents wxWidgets
from compiling at all, and as of right now, there is only a workaround,
but a true upstream fix will require rewriting portions of wx to use
AVKit, which is more or less the replacement for QuickTime, instead.
KiCad doesn't use any parts of wx involved, so the work around seems to
be fine for us. I am using the latest commit of KiCad on 10.12 as I write
this, with this patch applied, and I'm not having any problems (at least
new ones anyway).
The workaround is this patch (which is not a direct copy of the upstream
fix, which simply removes the include entirely. I made it where if this
patch gets applied, it won't effect anything except when being built
against the 10.12 SDK). Additionally, wxWidgets configure must be given
the --disable-mediactrl flag. This is a temporary workaround, but as far
as I know, KiCad doesn't use that control?
The pagelayout_default.kicad_wks template differs slightly from
common/page_layout/page_layout_default_description.cpp:defaultPageLayout
Not sure if this is intentional or a bug. In any case, here is a
patch that changes pagelayout_default.kicad_wks to match
defaultPageLayout.
This patch is based on the previous one that added missing
parentheses.
The default and logo page layout templates are missing some opening
parentheses. Eeschema's parser accepts them anyway, but it tripped
my s-expr parser.
The gost templates and the built-in default in
common/page_layout/page_layout_default_description.cpp
are both correct.
* Remove support for building the Bitmap lib standalone,
which has been broken since the switch from svn.
Signed-off-by: Niki Guldbrand <niki.guldbrand@gmail.com>
netlist generation: remove option "replace IC and U ref by X" (broken option).
All component refs are now prefixed by the Spice_Primitive field value.
Therefore the netlist used by Kicad ngsipce simulator and the spice netlist generated from dialog are the same.
(note: like previously, forbidden chars like ( and ) are replaced by _ in netnames)
* Using CMAKE_INSTALL_PREFIX in KICAD_* install paths is redundant,
because they are allready relative to CMAKE_INSTALL_PREFIX when no
absolute path is given.
Using an absolute path makes it harder to change the install
path on the fly, without either rebuilding, or manually editing
CMakeCache.txt
Signed-off-by: Niki Guldbrand <niki.guldbrand@gmail.com>
- BOARD_COMMIT class.
Wrapper around undo buffer to simplify storing changes. Also performs
all the necessary updates (ratsnest, view) once anything changes. A good
entry point to introduce an observer interface.
- Removed BOARD_ITEM::Copy(), switched to C++ copy constructors and
operator=.
- BOARD_ITEM_CONTAINER interface.
A generic interface for adding & removing items, base class for MODULE
and BOARD.
- Removed UR_MODEDIT.
Module editor now uses the same UR_* flags as the layout editor. Now,
together with BOARD_COMMIT is the way to unify undo handling code in
tools (no more ugly 'if(m_editModules) {...} else {...}').
- Common code for handling undo buffer in the layout & module editor.
board_undo_redo.cpp and modedit_undo_redo.cpp are merged to
undo_redo.cpp. A lot of redundant code removed.