Loading pcbnew/scripting/pcbnew.i +70 −0 Original line number Original line Diff line number Diff line Loading @@ -36,6 +36,7 @@ %{ %{ #include <wx_python_helpers.h> #include <wx_python_helpers.h> #include <class_board_item.h> #include <class_board_item.h> #include <class_board_connected_item.h> #include <class_board.h> #include <class_board.h> #include <class_module.h> #include <class_module.h> #include <class_track.h> #include <class_track.h> Loading @@ -43,6 +44,10 @@ #include <class_netinfo.h> #include <class_netinfo.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_marker_pcb.h> #include <class_text_mod.h> #include <class_edge_mod.h> #include <dlist.h> #include <dlist.h> #include <class_zone_settings.h> #include <class_zone_settings.h> #include <class_netclass.h> #include <class_netclass.h> Loading @@ -50,6 +55,7 @@ #include <layers_id_colors_and_visibility.h> #include <layers_id_colors_and_visibility.h> #include <pcbnew_scripting_helpers.h> #include <pcbnew_scripting_helpers.h> BOARD *GetBoard(); /* get current editor board */ BOARD *GetBoard(); /* get current editor board */ %} %} Loading @@ -61,6 +67,7 @@ #endif #endif %include <class_board_item.h> %include <class_board_item.h> %include <class_board_connected_item.h> %include <class_board.h> %include <class_board.h> %include <class_module.h> %include <class_module.h> %include <class_track.h> %include <class_track.h> Loading @@ -68,12 +75,17 @@ %include <class_netinfo.h> %include <class_netinfo.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_marker_pcb.h> %include <class_text_mod.h> %include <class_edge_mod.h> %include <dlist.h> %include <dlist.h> %include <class_zone_settings.h> %include <class_zone_settings.h> %include <class_netclass.h> %include <class_netclass.h> %include <class_netinfo.h> %include <class_netinfo.h> %include <layers_id_colors_and_visibility.h> %include <layers_id_colors_and_visibility.h> /* the IO_ERROR exception handler, not working yet... */ /* the IO_ERROR exception handler, not working yet... */ %exception %exception { { Loading @@ -86,6 +98,64 @@ } } } } /* Cast downs from EDA_ITEM/BOARD_ITEM to childs */ %inline { BOARD_ITEM* Cast_to_BOARD_ITEM(EDA_ITEM* base) { return dynamic_cast<BOARD_ITEM*>(base); } } %extend BOARD_ITEM { TEXTE_PCB* Cast_to_TEXTE_PCB() { return dynamic_cast<TEXTE_PCB*>(self); } DIMENSION* Cast_to_DIMENSION() { return dynamic_cast<DIMENSION*>(self); } MODULE* Cast_to_MODULE() { return dynamic_cast<MODULE*>(self); } TEXTE_MODULE* Cast_to_TEXTE_MODULE(){ return dynamic_cast<TEXTE_MODULE*>(self); } DRAWSEGMENT* Cast_to_DRAWSEGMENT() { return dynamic_cast<DRAWSEGMENT*>(self); } MARKER_PCB* Cast_to_MARKER_PCB() { return dynamic_cast<MARKER_PCB*>(self); } BOARD* Cast_to_BOARD() { return dynamic_cast<BOARD*>(self); } EDGE_MODULE* Cast_to_EDGE_MODULE() { return dynamic_cast<EDGE_MODULE*>(self); } D_PAD* Cast_to_D_PAD() { return dynamic_cast<D_PAD*>(self); } TRACK* Cast_to_TRACK() { return dynamic_cast<TRACK*>(self); } SEGZONE* Cast_to_SEGZONE() { return dynamic_cast<SEGZONE*>(self); } SEGVIA* Cast_to_SEGVIA() { return dynamic_cast<SEGVIA*>(self); } %pythoncode { def Cast(self): ct = self.GetClass() if ct=="PTEXT": return self.Cast_to_TEXTE_PCB() elif ct=="BOARD": return self.Cast_to_BOARD() elif ct=="DIMENSION": return self.Cast_to_DIMENSION() elif ct=="DRAWSEGMENT": return self.Cast_to_DRAWSEGMENT() elif ct=="MGRAPHIC": return self.Cast_to_EDGE_MODULE() elif ct=="MODULE": return self.Cast_to_MODULE() elif ct=="PAD": return self.Cast_to_D_PAD() elif ct=="MTEXT": return self.Cast_to_TEXTE_MODULE() elif ct=="ZONE": return self.Cast_to_SEGZONE() elif ct=="VIA": return self.Cast_to_SEGVIA() elif ct=="TRACK": return self.Cast_to_TRACK() else: return None } } %include <pcbnew_scripting_helpers.h> %include <pcbnew_scripting_helpers.h> #ifdef BUILD_WITH_PLUGIN #ifdef BUILD_WITH_PLUGIN Loading Loading
pcbnew/scripting/pcbnew.i +70 −0 Original line number Original line Diff line number Diff line Loading @@ -36,6 +36,7 @@ %{ %{ #include <wx_python_helpers.h> #include <wx_python_helpers.h> #include <class_board_item.h> #include <class_board_item.h> #include <class_board_connected_item.h> #include <class_board.h> #include <class_board.h> #include <class_module.h> #include <class_module.h> #include <class_track.h> #include <class_track.h> Loading @@ -43,6 +44,10 @@ #include <class_netinfo.h> #include <class_netinfo.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_marker_pcb.h> #include <class_text_mod.h> #include <class_edge_mod.h> #include <dlist.h> #include <dlist.h> #include <class_zone_settings.h> #include <class_zone_settings.h> #include <class_netclass.h> #include <class_netclass.h> Loading @@ -50,6 +55,7 @@ #include <layers_id_colors_and_visibility.h> #include <layers_id_colors_and_visibility.h> #include <pcbnew_scripting_helpers.h> #include <pcbnew_scripting_helpers.h> BOARD *GetBoard(); /* get current editor board */ BOARD *GetBoard(); /* get current editor board */ %} %} Loading @@ -61,6 +67,7 @@ #endif #endif %include <class_board_item.h> %include <class_board_item.h> %include <class_board_connected_item.h> %include <class_board.h> %include <class_board.h> %include <class_module.h> %include <class_module.h> %include <class_track.h> %include <class_track.h> Loading @@ -68,12 +75,17 @@ %include <class_netinfo.h> %include <class_netinfo.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_marker_pcb.h> %include <class_text_mod.h> %include <class_edge_mod.h> %include <dlist.h> %include <dlist.h> %include <class_zone_settings.h> %include <class_zone_settings.h> %include <class_netclass.h> %include <class_netclass.h> %include <class_netinfo.h> %include <class_netinfo.h> %include <layers_id_colors_and_visibility.h> %include <layers_id_colors_and_visibility.h> /* the IO_ERROR exception handler, not working yet... */ /* the IO_ERROR exception handler, not working yet... */ %exception %exception { { Loading @@ -86,6 +98,64 @@ } } } } /* Cast downs from EDA_ITEM/BOARD_ITEM to childs */ %inline { BOARD_ITEM* Cast_to_BOARD_ITEM(EDA_ITEM* base) { return dynamic_cast<BOARD_ITEM*>(base); } } %extend BOARD_ITEM { TEXTE_PCB* Cast_to_TEXTE_PCB() { return dynamic_cast<TEXTE_PCB*>(self); } DIMENSION* Cast_to_DIMENSION() { return dynamic_cast<DIMENSION*>(self); } MODULE* Cast_to_MODULE() { return dynamic_cast<MODULE*>(self); } TEXTE_MODULE* Cast_to_TEXTE_MODULE(){ return dynamic_cast<TEXTE_MODULE*>(self); } DRAWSEGMENT* Cast_to_DRAWSEGMENT() { return dynamic_cast<DRAWSEGMENT*>(self); } MARKER_PCB* Cast_to_MARKER_PCB() { return dynamic_cast<MARKER_PCB*>(self); } BOARD* Cast_to_BOARD() { return dynamic_cast<BOARD*>(self); } EDGE_MODULE* Cast_to_EDGE_MODULE() { return dynamic_cast<EDGE_MODULE*>(self); } D_PAD* Cast_to_D_PAD() { return dynamic_cast<D_PAD*>(self); } TRACK* Cast_to_TRACK() { return dynamic_cast<TRACK*>(self); } SEGZONE* Cast_to_SEGZONE() { return dynamic_cast<SEGZONE*>(self); } SEGVIA* Cast_to_SEGVIA() { return dynamic_cast<SEGVIA*>(self); } %pythoncode { def Cast(self): ct = self.GetClass() if ct=="PTEXT": return self.Cast_to_TEXTE_PCB() elif ct=="BOARD": return self.Cast_to_BOARD() elif ct=="DIMENSION": return self.Cast_to_DIMENSION() elif ct=="DRAWSEGMENT": return self.Cast_to_DRAWSEGMENT() elif ct=="MGRAPHIC": return self.Cast_to_EDGE_MODULE() elif ct=="MODULE": return self.Cast_to_MODULE() elif ct=="PAD": return self.Cast_to_D_PAD() elif ct=="MTEXT": return self.Cast_to_TEXTE_MODULE() elif ct=="ZONE": return self.Cast_to_SEGZONE() elif ct=="VIA": return self.Cast_to_SEGVIA() elif ct=="TRACK": return self.Cast_to_TRACK() else: return None } } %include <pcbnew_scripting_helpers.h> %include <pcbnew_scripting_helpers.h> #ifdef BUILD_WITH_PLUGIN #ifdef BUILD_WITH_PLUGIN Loading