Browse Source
Cleanup SWIG's board.i, remove scrap *.{ref,orig} files, and add .pyc to .gitignore
pull/3/merge
Cleanup SWIG's board.i, remove scrap *.{ref,orig} files, and add .pyc to .gitignore
pull/3/merge
committed by
Wayne Stambaugh
11 changed files with 44 additions and 381 deletions
-
1.gitignore
-
160common/swig/kicad.i.orig
-
71pcbnew/swig/board.i
-
0pcbnew/swig/board.i.orig
-
147pcbnew/swig/board.i.rej
-
7pcbnew/swig/board_connected_item.i
-
4pcbnew/swig/board_design_settings.i
-
2pcbnew/swig/module.i
-
0pcbnew/swig/pcbnew.i.orig
-
29pcbnew/swig/pcbnew.i.rej
-
4pcbnew/swig/zone_settings.i
@ -1,160 +0,0 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2012 NBEE Embedded Systems, Miguel Angel Ajo <miguelangel@nbee.es> |
|||
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html |
|||
* or you may search the http://www.gnu.org website for the version 2 license, |
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
/** |
|||
* @file kicad.i |
|||
* @brief General wrappers for kicad / wx structures and classes |
|||
*/ |
|||
|
|||
%include <std_vector.i> |
|||
%include <std_basic_string.i> |
|||
%include <std_string.i> |
|||
%include <std_map.i> |
|||
%include <std_shared_ptr.i> |
|||
%include <std_set.i> |
|||
|
|||
/* |
|||
http://www.swig.org/Doc3.0/CPlusPlus11.html |
|||
7.3.3 Hash tables |
|||
|
|||
The new hash tables in the STL are unordered_set, unordered_multiset, |
|||
unordered_map, unordered_multimap. These are not available in SWIG, but in |
|||
principle should be easily implemented by adapting the current STL containers. |
|||
|
|||
%include <std_unordered_map.i> |
|||
*/ |
|||
|
|||
// ignore some constructors of EDA_ITEM that will make the build fail |
|||
|
|||
%nodefaultctor EDA_ITEM; |
|||
%ignore EDA_ITEM::EDA_ITEM( EDA_ITEM* parent, KICAD_T idType ); |
|||
%ignore EDA_ITEM::EDA_ITEM( KICAD_T idType ); |
|||
%ignore EDA_ITEM::EDA_ITEM( const EDA_ITEM& base ); |
|||
|
|||
|
|||
%warnfilter(401) EDA_ITEM; |
|||
%warnfilter(509) UTF8; |
|||
|
|||
/* swig tries to wrap SetBack/SetNext on derived classes, but this method is |
|||
private for most childs, so if we don't ignore it won't compile */ |
|||
|
|||
%ignore EDA_ITEM::SetBack; |
|||
%ignore EDA_ITEM::SetNext; |
|||
|
|||
// ignore other functions that cause trouble |
|||
|
|||
%ignore InitKiCadAbout; |
|||
%ignore GetCommandOptions; |
|||
|
|||
%rename(getWxRect) operator wxRect; |
|||
%ignore operator <<; |
|||
%ignore operator=; |
|||
|
|||
|
|||
// headers/imports that must be included in the _wrapper.cpp at top |
|||
|
|||
%{ |
|||
#include <macros.h> |
|||
#include <cstddef> |
|||
#include <dlist.h> |
|||
#include <base_struct.h> |
|||
#include <class_eda_rect.h> |
|||
#include <common.h> |
|||
#include <wx_python_helpers.h> |
|||
#include <cstddef> |
|||
#include <vector> |
|||
#include <bitset> |
|||
|
|||
#include <class_title_block.h> |
|||
#include <class_colors_design_settings.h> |
|||
#include <class_marker_base.h> |
|||
#include <eda_text.h> |
|||
#include <convert_to_biu.h> |
|||
%} |
|||
|
|||
// all the wx wrappers for wxString, wxPoint, wxRect, wxChar .. |
|||
%include <wx.i> |
|||
|
|||
// header files that must be wrapped |
|||
|
|||
%include <macros.h> |
|||
%include <core/typeinfo.h> |
|||
%include <dlist.h> |
|||
%include <base_struct.h> |
|||
%include <class_eda_rect.h> |
|||
%include <common.h> |
|||
%include <class_title_block.h> |
|||
%include <class_colors_design_settings.h> |
|||
%include <class_marker_base.h> |
|||
%include <eda_text.h> |
|||
|
|||
// special iteration wrapper for DLIST objects |
|||
%include "dlist.i" |
|||
|
|||
// std template mappings |
|||
%template(intVector) std::vector<int>; |
|||
%template(str_utf8_Map) std::map< std::string,UTF8 >; |
|||
|
|||
// wrapper of BASE_SEQ (see typedef std::vector<LAYER_ID> BASE_SEQ;) |
|||
%template(base_seqVect) std::vector<enum LAYER_ID>; |
|||
|
|||
// TODO: wrapper of BASE_SET (see std::bitset<LAYER_ID_COUNT> BASE_SET;) |
|||
|
|||
|
|||
// KiCad plugin handling |
|||
%include "kicadplugins.i" |
|||
|
|||
// map CPolyLine and classes used in CPolyLine: |
|||
#include <../polygon/PolyLine.h> |
|||
%include <../polygon/PolyLine.h> |
|||
|
|||
// ignore warning relative to operator = and operator ++: |
|||
#pragma SWIG nowarn=362,383 |
|||
|
|||
// Rename operators defined in utf8.h |
|||
%rename(utf8_to_charptr) operator char* () const; |
|||
%rename(utf8_to_wxstring) operator wxString () const; |
|||
|
|||
#include <utf8.h> |
|||
%include <utf8.h> |
|||
|
|||
%extend UTF8 |
|||
{ |
|||
const char* Cast_to_CChar() { return (self->c_str()); } |
|||
|
|||
%pythoncode |
|||
%{ |
|||
|
|||
# Get the char buffer of the UTF8 string |
|||
def GetChars(self): |
|||
return self.Cast_to_CChar() |
|||
|
|||
# Convert the UTF8 string to a python string |
|||
# Same as GetChars(), but more easy to use in print command |
|||
def __str__(self): |
|||
return self.GetChars() |
|||
|
|||
%} |
|||
} |
|||
|
@ -1,147 +0,0 @@ |
|||
--- pcbnew/scripting/board.i |
|||
+++ pcbnew/swig/board.i |
|||
@@ -28,38 +28,123 @@ |
|||
*/ |
|||
|
|||
|
|||
-%extend BOARD |
|||
-{ |
|||
- %pythoncode |
|||
- %{ |
|||
- def GetModules(self): return self.m_Modules |
|||
- def GetDrawings(self): return self.m_Drawings |
|||
- def GetTracks(self): return self.m_Track |
|||
- def GetFullRatsnest(self): return self.m_FullRatsnest |
|||
+/* |
|||
|
|||
- def Save(self,filename): |
|||
- return SaveBoard(filename,self,IO_MGR.KICAD) |
|||
+By default we do not translate exceptions for EVERY C++ function since not every |
|||
+C++ function throws, and that would be unused and very bulky mapping code. |
|||
+Therefore please help gather the subset of C++ functions for this class that do |
|||
+throw and add them here, before the class declarations. |
|||
|
|||
- # |
|||
- # add function, clears the thisown to avoid python from deleting |
|||
- # the object in the garbage collector |
|||
- # |
|||
+*/ |
|||
+HANDLE_EXCEPTIONS(BOARD::TracksInNetBetweenPoints) |
|||
|
|||
- def Add(self,item): |
|||
- item.thisown=0 |
|||
- self.AddNative(item) |
|||
- %} |
|||
|
|||
-} |
|||
+%{ |
|||
+#include <class_board.h> |
|||
|
|||
-// this is to help python with the * accessor of DLIST templates |
|||
+#include <class_board_design_settings.h> |
|||
+#include <layers_id_colors_and_visibility.h> |
|||
+ |
|||
+%} |
|||
+ |
|||
+ |
|||
+%import dlist.h |
|||
+ |
|||
+// Organize the two forms of include side by side so that it is easier to |
|||
+// migrate each grouping into a separate *.i file later. |
|||
+ |
|||
+ |
|||
+%include class_board_item.h |
|||
+%{ |
|||
+#include <class_board_item.h> |
|||
+%} |
|||
+ |
|||
+%include class_board_connected_item.h |
|||
+%{ |
|||
+#include <class_board_connected_item.h> |
|||
+%} |
|||
+ |
|||
+%include pad_shapes.h |
|||
+ |
|||
+%include class_pad.h |
|||
+%{ |
|||
+#include <class_pad.h> |
|||
+%} |
|||
+ |
|||
+%include class_module.h |
|||
+%{ |
|||
+#include <class_module.h> |
|||
+%} |
|||
+ |
|||
+%include class_track.h |
|||
+%{ |
|||
+#include <class_track.h> |
|||
+%} |
|||
+ |
|||
+%include class_zone.h |
|||
+%include zones.h |
|||
+%{ |
|||
+#include <class_zone.h> |
|||
+#include <zones.h> |
|||
+%} |
|||
+ |
|||
+ |
|||
+%include layers_id_colors_and_visibility.h |
|||
+ |
|||
+%include class_pcb_text.h |
|||
+%{ |
|||
+#include <class_pcb_text.h> |
|||
+%} |
|||
+ |
|||
+%include class_dimension.h |
|||
+%{ |
|||
+#include <class_dimension.h> |
|||
+%} |
|||
|
|||
+ |
|||
+%include class_drawsegment.h |
|||
+%{ |
|||
+#include <class_drawsegment.h> |
|||
+%} |
|||
+ |
|||
+%include class_marker_pcb.h |
|||
+%{ |
|||
+#include <class_marker_pcb.h> |
|||
+%} |
|||
+ |
|||
+ |
|||
+%include class_mire.h |
|||
+%{ |
|||
+#include <class_mire.h> |
|||
+%} |
|||
+ |
|||
+ |
|||
+%include class_text_mod.h |
|||
+%{ |
|||
+#include <class_text_mod.h> |
|||
+%} |
|||
+ |
|||
+%include class_edge_mod.h |
|||
+%{ |
|||
+#include <class_edge_mod.h> |
|||
+%} |
|||
+ |
|||
+%include class_zone_settings.h |
|||
+ |
|||
+%include class_netinfo.h |
|||
+%include class_netclass.h |
|||
+%{ |
|||
+#include <class_netinfo.h> |
|||
+#include <class_netclass.h> |
|||
+%} |
|||
+ |
|||
+ |
|||
+// this is to help python with the * accessor of DLIST templates |
|||
%rename(Get) operator BOARD_ITEM*; |
|||
%rename(Get) operator TRACK*; |
|||
%rename(Get) operator D_PAD*; |
|||
%rename(Get) operator MODULE*; |
|||
|
|||
- |
|||
// we must translate C++ templates to scripting languages |
|||
|
|||
%template(BOARD_ITEM_List) DLIST<BOARD_ITEM>; |
@ -0,0 +1,7 @@ |
|||
|
|||
%include class_board_connected_item.h |
|||
|
|||
%{ |
|||
#include <class_board_connected_item.h> |
|||
%} |
|||
|
@ -0,0 +1,4 @@ |
|||
%include <class_board_design_settings.h> |
|||
%{ |
|||
#include <class_board_design_settings.h> |
|||
%} |
@ -1,29 +0,0 @@ |
|||
--- pcbnew/scripting/pcbnew.i |
|||
+++ pcbnew/swig/pcbnew.i |
|||
@@ -87,26 +46,6 @@ class BASE_SET {}; |
|||
#include <kicad_plugin.h> |
|||
%} |
|||
|
|||
-%include <class_board_item.h> |
|||
-%include <class_board_connected_item.h> |
|||
-%include <pad_shapes.h> |
|||
-%include <class_pad.h> |
|||
-%include <class_netinfo.h> |
|||
-%include <class_module.h> |
|||
-%include <class_track.h> |
|||
-%include <class_zone.h> |
|||
-%include <zones.h> |
|||
-%include <layers_id_colors_and_visibility.h> |
|||
-%include <class_pcb_text.h> |
|||
-%include <class_dimension.h> |
|||
-%include <class_drawsegment.h> |
|||
-%include <class_marker_pcb.h> |
|||
-%include <class_mire.h> |
|||
-%include <class_text_mod.h> |
|||
-%include <class_edge_mod.h> |
|||
-%include <dlist.h> |
|||
-%include <class_zone_settings.h> |
|||
-%include <class_netclass.h> |
|||
|
|||
%include <class_board_design_settings.h> |
|||
%include <plotcontroller.h> |
@ -0,0 +1,4 @@ |
|||
%include class_zone_settings.h |
|||
%{ |
|||
#include <class_zone_settings.h> |
|||
%} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue