Commit 06c570ba authored by Miguel Angel Ajo's avatar Miguel Angel Ajo
Browse files

* More cleanup (common wrappers moved to scripting, instead of pcbnew/scripting)

* Added a first test 'testLoadSave.py'
parent f4223506
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@ add_definitions(-DPCBNEW)

if (KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES)
   
  file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/scripting)

	FIND_PACKAGE(SWIG REQUIRED)
	INCLUDE(${SWIG_USE_FILE})
	
@@ -22,6 +24,7 @@ include_directories(
    ../polygon
    ../common/dialogs
    ./scripting
    ../scripting
    ${INC_AFTER}
    )

@@ -230,9 +233,9 @@ set(PCBNEW_COMMON_SRCS
if (KICAD_SCRIPTING)

	set(PCBNEW_SCRIPTING_PYTHON_HELPERS    
	   scripting/wx_python_helpers.cpp
	   ../scripting/wx_python_helpers.cpp
	   ../scripting/python_scripting.cpp
	   scripting/pcbnew_scripting_helpers.cpp
	   scripting/python_scripting.cpp
	   )

	set(PCBNEW_SCRIPTING_SRCS
@@ -247,7 +250,7 @@ endif()

if (KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES)

	set(SWIG_FLAGS -I${CMAKE_CURRENT_SOURCE_DIR}/../.. -I${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR}/../include -DDEBUG)
	set(SWIG_FLAGS -I${CMAKE_CURRENT_SOURCE_DIR}/../.. -I${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR}/../include -I${CMAKE_CURRENT_SOURCE_DIR}/../scripting -DDEBUG)
	
	# collect CFLAGS , and pass them to swig later 
	
+2 −2
Original line number Diff line number Diff line
@@ -48,8 +48,8 @@
#include <class_board.h>

#include <dialogs/dialog_scripting.h>
#include <scripting/python_scripting.h>
#include <scripting/pcbnew_scripting_helpers.h>
#include <python_scripting.h>
#include <pcbnew_scripting_helpers.h>

// Colors for layers and items
COLORS_DESIGN_SETTINGS g_ColorsSettings;
+30 −0
Original line number Diff line number Diff line
/*
 * 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 pcbnew.i
 * @brief Specific pcbnew wrappers
 */


%module pcbnew
%include "kicad.i"

+30 −0
Original line number Diff line number Diff line
/*
 * 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 pcbnew_scripting_helpers.cpp
 * @brief Scripting helper functions for pcbnew functionality
 */


#include <pcbnew_scripting_helpers.h>
#include <pcbnew.h>
#include <pcbnew_id.h>
+2 −2
Original line number Diff line number Diff line
pcb = pcbnew.GetBoard()

m = pcb.m_Modules.item()
m = pcb.m_Modules

while m:
	print m.GetPosition()
        p  = m.m_Pads.item()
        p  = m.m_Pads
	while p:
		print "p=>",p.GetPosition(),p.GetPadName()
		print p.GetPosition()
Loading