Loading pcbnew/scripting/pcbnew.i +5 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ %ignore BOARD_ITEM::ZeroOffset; %ignore D_PAD::m_PadSketchModePenSize; // rename the Add method of classes to Add native, so we will handle // the Add method in python %rename(AddNative) *::Add; // this is what it must be included in the wrapper .cxx code to compile Loading Loading @@ -102,6 +105,8 @@ %include <pcbnew_scripting_helpers.h> #ifdef BUILD_WITH_PLUGIN // ignore RELEASER as nested classes are still unsupported by swig %ignore IO_MGR::RELEASER; %include <io_mgr.h> %include <kicad_plugin.h> #endif Loading pcbnew/scripting/pcbnew_scripting_helpers.cpp +14 −5 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ * @brief Scripting helper functions for pcbnew functionality */ #include <Python.h> #include <pcbnew_scripting_helpers.h> #include <pcbnew.h> Loading @@ -35,6 +36,8 @@ #include <class_board.h> #include <kicad_string.h> #include <io_mgr.h> #include <macros.h> #include <stdlib.h> static PCB_EDIT_FRAME *PcbEditFrame=NULL; Loading @@ -56,11 +59,14 @@ BOARD* LoadBoard(wxString& aFileName) BOARD* LoadBoard(wxString& aFileName,IO_MGR::PCB_FILE_T aFormat) { static char ExceptionError[256]; #ifdef USE_NEW_PCBNEW_LOAD try{ return IO_MGR::Load(aFormat,aFileName); } catch (IO_ERROR) } catch (IO_ERROR e) { sprintf(ExceptionError, "%s\n", TO_UTF8(e.errorText) ); PyErr_SetString(PyExc_IOError,ExceptionError); return NULL; } #else Loading @@ -77,7 +83,7 @@ bool SaveBoard(wxString& aFilename, BOARD* aBoard) bool SaveBoard(wxString& aFileName, BOARD* aBoard, IO_MGR::PCB_FILE_T aFormat) { static char ExceptionError[256]; #ifdef USE_NEW_PCBNEW_LOAD aBoard->m_Status_Pcb &= ~CONNEXION_OK; aBoard->SynchronizeNetsAndNetClasses(); Loading @@ -101,8 +107,11 @@ bool SaveBoard(wxString& aFileName, BOARD* aBoard, IO_MGR::Save( aFormat, aFileName, aBoard, &props ); return true; } catch (IO_ERROR) catch (IO_ERROR e) { sprintf(ExceptionError, "%s\n", TO_UTF8(e.errorText) ); PyErr_SetString(PyExc_IOError,ExceptionError); return false; } Loading scripting/kicad.i +2 −1 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ /* exception handling */ /* the IO_ERROR exception handler, not working yet... */ /* %exception { try { Loading @@ -92,7 +93,7 @@ return NULL; } } */ %include <dlist.h> Loading Loading
pcbnew/scripting/pcbnew.i +5 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ %ignore BOARD_ITEM::ZeroOffset; %ignore D_PAD::m_PadSketchModePenSize; // rename the Add method of classes to Add native, so we will handle // the Add method in python %rename(AddNative) *::Add; // this is what it must be included in the wrapper .cxx code to compile Loading Loading @@ -102,6 +105,8 @@ %include <pcbnew_scripting_helpers.h> #ifdef BUILD_WITH_PLUGIN // ignore RELEASER as nested classes are still unsupported by swig %ignore IO_MGR::RELEASER; %include <io_mgr.h> %include <kicad_plugin.h> #endif Loading
pcbnew/scripting/pcbnew_scripting_helpers.cpp +14 −5 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ * @brief Scripting helper functions for pcbnew functionality */ #include <Python.h> #include <pcbnew_scripting_helpers.h> #include <pcbnew.h> Loading @@ -35,6 +36,8 @@ #include <class_board.h> #include <kicad_string.h> #include <io_mgr.h> #include <macros.h> #include <stdlib.h> static PCB_EDIT_FRAME *PcbEditFrame=NULL; Loading @@ -56,11 +59,14 @@ BOARD* LoadBoard(wxString& aFileName) BOARD* LoadBoard(wxString& aFileName,IO_MGR::PCB_FILE_T aFormat) { static char ExceptionError[256]; #ifdef USE_NEW_PCBNEW_LOAD try{ return IO_MGR::Load(aFormat,aFileName); } catch (IO_ERROR) } catch (IO_ERROR e) { sprintf(ExceptionError, "%s\n", TO_UTF8(e.errorText) ); PyErr_SetString(PyExc_IOError,ExceptionError); return NULL; } #else Loading @@ -77,7 +83,7 @@ bool SaveBoard(wxString& aFilename, BOARD* aBoard) bool SaveBoard(wxString& aFileName, BOARD* aBoard, IO_MGR::PCB_FILE_T aFormat) { static char ExceptionError[256]; #ifdef USE_NEW_PCBNEW_LOAD aBoard->m_Status_Pcb &= ~CONNEXION_OK; aBoard->SynchronizeNetsAndNetClasses(); Loading @@ -101,8 +107,11 @@ bool SaveBoard(wxString& aFileName, BOARD* aBoard, IO_MGR::Save( aFormat, aFileName, aBoard, &props ); return true; } catch (IO_ERROR) catch (IO_ERROR e) { sprintf(ExceptionError, "%s\n", TO_UTF8(e.errorText) ); PyErr_SetString(PyExc_IOError,ExceptionError); return false; } Loading
scripting/kicad.i +2 −1 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ /* exception handling */ /* the IO_ERROR exception handler, not working yet... */ /* %exception { try { Loading @@ -92,7 +93,7 @@ return NULL; } } */ %include <dlist.h> Loading