kicad/pcbnew/scripting/pcbnew_footprint_wizards.h

49 lines
1.4 KiB
C++

/**
* @file pcbnew_footprint_wizards.h
* @brief Class PCBNEW_FOOTPRINT_WIZARDS
*/
#ifndef PCBNEW_FOOTPRINT_WIZARDS_H
#define PCBNEW_FOOTPRINT_WIZARDS_H
#include <Python.h>
#include <vector>
#include <class_footprint_wizard.h>
class PYTHON_FOOTPRINT_WIZARD: public FOOTPRINT_WIZARD
{
PyObject *m_PyWizard;
PyObject *CallMethod( const char *aMethod, PyObject *aArglist=NULL );
wxString CallRetStrMethod( const char *aMethod, PyObject *aArglist=NULL );
wxArrayString CallRetArrayStrMethod( const char *aMethod,
PyObject *aArglist=NULL );
public:
PYTHON_FOOTPRINT_WIZARD( PyObject *wizard );
~PYTHON_FOOTPRINT_WIZARD();
wxString GetName();
wxString GetImage();
wxString GetDescription();
int GetNumParameterPages();
wxString GetParameterPageName( int aPage );
wxArrayString GetParameterNames( int aPage );
wxArrayString GetParameterTypes( int aPage );
wxArrayString GetParameterValues( int aPage );
wxArrayString GetParameterErrors( int aPage );
wxString SetParameterValues( int aPage, wxArrayString& aValues ); //< must return "OK" or error description
MODULE *GetModule();
};
class PYTHON_FOOTPRINT_WIZARDS
{
public:
static void register_wizard( PyObject *aPyWizard );
};
#endif /* PCBNEW_FOOTPRINT_WIZARDS_H */