pcbnew_footprint_wizards.h 2.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
/*
 * This program source code file is part of KiCad, a free EDA CAD application.
 *
 * Copyright (C) 2013 NBEE Embedded Systems SL, Miguel Angel Ajo <miguelangel@ajo.es>
 * Copyright (C) 2013 KiCad Developers, see CHANGELOG.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
 */

25 26 27 28 29 30
/**
 * @file  pcbnew_footprint_wizards.h
 * @brief Class PCBNEW_FOOTPRINT_WIZARDS
 */

#ifndef PCBNEW_FOOTPRINT_WIZARDS_H
31
#define PCBNEW_FOOTPRINT_WIZARDS_H
32 33
#include <Python.h>
#include <vector>
34
#include <class_footprint_wizard.h>
35

36

37
class PYTHON_FOOTPRINT_WIZARD : public FOOTPRINT_WIZARD
38
{
39 40 41 42 43
    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 );
44

45
public:
46
    PYTHON_FOOTPRINT_WIZARD( PyObject* wizard );
47
    ~PYTHON_FOOTPRINT_WIZARD();
48 49 50 51 52 53 54 55 56 57 58
    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();
59
    void*           GetObject();
60 61 62
};


63
class PYTHON_FOOTPRINT_WIZARDS
64 65
{
public:
66
    static void register_wizard( PyObject* aPyWizard );
67
    static void deregister_wizard( PyObject* aPyWizard );
68 69
};

70
#endif /* PCBNEW_FOOTPRINT_WIZARDS_H */