pcbnew_footprint_wizards.h 1.35 KB
Newer Older
1 2 3 4 5 6 7 8 9
/**
 * @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>
10
#include <class_footprint_wizard.h>
11

12 13


14
class PYTHON_FOOTPRINT_WIZARD: public FOOTPRINT_WIZARD
15 16
{

17
    PyObject *m_PyWizard;
18 19 20 21
    PyObject *CallMethod( const char *aMethod, PyObject *aArglist=NULL );
    wxString CallRetStrMethod( const char *aMethod, PyObject *aArglist=NULL );
    wxArrayString CallRetArrayStrMethod( const char *aMethod, 
                                          PyObject *aArglist=NULL );
22

23
public:
24
    PYTHON_FOOTPRINT_WIZARD( PyObject *wizard );
25
    ~PYTHON_FOOTPRINT_WIZARD();
26 27 28 29
    wxString      GetName();
    wxString      GetImage();  
    wxString      GetDescription();
    int           GetNumParameterPages();
30 31 32 33 34 35
    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
36 37 38 39
    MODULE       *GetModule();
};


40
class PYTHON_FOOTPRINT_WIZARDS 
41 42
{
public:
43
    static void register_wizard( PyObject *aPyWizard );
44 45 46 47 48

};

#endif	/* PCBNEW_FOOTPRINT_WIZARDS_H */