Commit 4d2def35 authored by Miguel Angel Ajo's avatar Miguel Angel Ajo
Browse files

scripting + pcbnew: Merged with scripting branch, now it supports...

scripting + pcbnew: Merged with scripting branch, now it supports -DKICAD_SCRIPTING_WXPYTHON for full wx integration with python
parents ef39c5f3 89dd0748
Loading
Loading
Loading
Loading
+23 −2
Original line number Diff line number Diff line
@@ -56,6 +56,9 @@ option(KICAD_SCRIPTING_MODULES
       "set this option ON to build kicad modules that can be used from scripting languages"
       )
       
option(KICAD_SCRIPTING_WXPYTHON
       "set this option ON to build wxpython implementation for wx interface building in python and py.shell"
       )
        

#Set version option (stable or testing)
@@ -137,6 +140,11 @@ if(KICAD_SCRIPTING_MODULES)
    add_definitions(-DKICAD_SCRIPTING_MODULES)
endif(KICAD_SCRIPTING_MODULES)

if(KICAD_SCRIPTING_WXPYTHON)
    add_definitions(-DKICAD_SCRIPTING_WXPYTHON)


endif(KICAD_SCRIPTING_WXPYTHON)

if(USE_WX_GRAPHICS_CONTEXT)
    add_definitions(-DUSE_WX_GRAPHICS_CONTEXT)
@@ -248,6 +256,19 @@ if(WIN32 AND USE_WX_GRAPHICS_CONTEXT)
    check_find_package_result(GDI_PLUS_FOUND "GDI+")
endif(WIN32 AND USE_WX_GRAPHICS_CONTEXT)

# Find Python and other scripting resources
if (KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES)

  execute_process(COMMAND python2 -c "import sys;print\"%s.%s\"%sys.version_info[0:2]" OUTPUT_VARIABLE PYTHON_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
  set(PYTHON_DEST "lib/python${PYTHON_VERSION}/dist-packages" )
  find_package(PythonLibs)
  include_directories(${PYTHON_INCLUDE_PATH}
                      ./scripting)

endif(KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES)



# Automagically create version header file.
include(CreateBzrVersionHeader)
create_bzr_version_header()
+4 −2
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ class wxHtmlHelpController;
 */
class EDA_APP : public wxApp
{

protected:
    /// Used mainly to handle default paths libs m_Id = APP_EESCHEMA_T, APP_PCBNEW_T ...
    EDA_APP_T m_Id;
@@ -115,7 +116,7 @@ public:
     * this is the first executed function (like main() )
     * @return true if the application can be started.
     */
    bool OnInit();
    bool OnInit(); // should this be virtual
        
    wxHtmlHelpController* GetHtmlHelpController() { return m_HtmlCtrl; }

@@ -408,6 +409,7 @@ public:
     * @param aIndex = insertion point
     */
    void InsertLibraryPath( const wxString& aPaths, size_t aIndex );

};

/*
+5 −0
Original line number Diff line number Diff line
@@ -86,6 +86,11 @@ class PCB_EDIT_FRAME : public PCB_BASE_FRAME

protected:

#ifdef KICAD_SCRIPTING_WXPYTHON
    // Panel used to let user talk with internal scripting
    wxWindow* m_pythonPanel;
#endif

    PCB_LAYER_WIDGET* m_Layers;

    DRC* m_drc;                              ///< the DRC controller, see drc.cpp
+14 −1
Original line number Diff line number Diff line
@@ -1072,6 +1072,19 @@ public:
        return *this;
    }

    /**
     * Function ScriptingToolbarPane
     * Change *this to a scripting toolbar for KiCad.
     */
    EDA_PANEINFO& ScriptingToolbarPane()
    {
        CloseButton( false );
        Floatable( true );
        Resizable( true );
        return *this;
    }


};

#endif  // WXSTRUCT_H_
+0 −6
Original line number Diff line number Diff line
add_definitions(-DPCBNEW)

if (KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES)
  EXECUTE_PROCESS(COMMAND python2 -c "import sys;print\"%s.%s\"%sys.version_info[0:2]" OUTPUT_VARIABLE PYTHON_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
  SET(PYTHON_DEST "lib/python${PYTHON_VERSION}/dist-packages" )
  file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/scripting)
  FIND_PACKAGE(SWIG REQUIRED)
  INCLUDE(${SWIG_USE_FILE})
  FIND_PACKAGE(PythonLibs)
  INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DKICAD_SCRIPTING -DKICAD_SCRIPTING_MODULES")
endif(KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES)


@@ -25,7 +20,6 @@ include_directories(
    ../polygon
    ../common/dialogs
    ./scripting
    ../scripting
    ${INC_AFTER}
    )

Loading