KiCad PCB EDA Suite
pcbnew_scripting_helpers.h
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2013 NBEE Embedded Systems SL, Miguel Angel Ajo <miguelangel@ajo.es>
5  * Copyright (C) 2013-2017 KiCad Developers, see AUTHORS.txt for contributors.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, you may find one here:
19  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20  * or you may search the http://www.gnu.org website for the version 2 license,
21  * or you may write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23  */
24 
25 #ifndef __PCBNEW_SCRIPTING_HELPERS_H
26 #define __PCBNEW_SCRIPTING_HELPERS_H
27 
28 #include <pcb_edit_frame.h>
29 #include <io_mgr.h>
30 
31 /* we could be including all these methods as static in a class, but
32  * we want plain pcbnew.<method_name> access from python
33  */
34 
35 #ifndef SWIG
36 void ScriptingSetPcbEditFrame( PCB_EDIT_FRAME* aPCBEdaFrame );
37 
38 #endif
39 
40 // For Python scripts: return the current board.
41 BOARD* GetBoard();
42 
43 BOARD* LoadBoard( wxString& aFileName, IO_MGR::PCB_FILE_T aFormat );
44 
45 // Default LoadBoard() to load .kicad_pcb files:.
46 BOARD* LoadBoard( wxString& aFileName );
47 
48 // Boards can be saved only as .kicad_pcb file format,
49 // so no option to choose the file format.
50 bool SaveBoard( wxString& aFileName, BOARD* aBoard );
51 
60 void Refresh();
61 
62 void WindowZoom( int xl, int yl, int width, int height );
63 
70 void UpdateUserInterface();
71 
76 int GetUserUnits();
77 
81 bool IsActionRunning();
82 
83 #endif // __PCBNEW_SCRIPTING_HELPERS_H
bool IsActionRunning()
Are we currently in an action plugin?
bool SaveBoard(wxString &aFileName, BOARD *aBoard)
void ScriptingSetPcbEditFrame(PCB_EDIT_FRAME *aPCBEdaFrame)
BOARD * LoadBoard(wxString &aFileName, IO_MGR::PCB_FILE_T aFormat)
int GetUserUnits()
Returns the currently selected user unit value for the interface.
void WindowZoom(int xl, int yl, int width, int height)
BOARD * GetBoard()
Class BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:171
Class PCB_EDIT_FRAME is the main frame for Pcbnew.
void UpdateUserInterface()
Update the layer manager and other widgets from the board setup (layer and items visibility,...
void Refresh()
Update the board display after modifying it by a python script (note: it is automatically called by a...
PCB_FILE_T
Enum PCB_FILE_T is a set of file types that the IO_MGR knows about, and for which there has been a pl...
Definition: io_mgr.h:54