KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pcbnew_jobs_handler.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) 2022 Mark Roszko <[email protected]>
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software: you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation, either version 3 of the License, or (at your
10 * option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef PCBNEW_JOBS_HANDLER_H
22#define PCBNEW_JOBS_HANDLER_H
23
24#include <jobs/job_dispatcher.h>
25#include <pcb_plot_params.h>
26
27class KIWAY;
28class BOARD;
30class FOOTPRINT;
34class TOOL_MANAGER;
35
37{
38public:
39 PCBNEW_JOBS_HANDLER( KIWAY* aKiway );
40 virtual ~PCBNEW_JOBS_HANDLER();
41
42 int JobExportStep( JOB* aJob );
43 int JobExportRender( JOB* aJob );
44 int JobExportSvg( JOB* aJob );
45 int JobExportDxf( JOB* aJob );
46 int JobExportPdf( JOB* aJob );
47 int JobExportPs( JOB* aJob );
48 int JobExportGerber( JOB* aJob );
49 int JobExportGerbers( JOB* aJob );
50 int JobExportGencad( JOB* aJob );
51 int JobExportDrill( JOB* aJob );
52 int JobExportPos( JOB* aJob );
53 int JobExportFpUpgrade( JOB* aJob );
54 int JobExportFpSvg( JOB* aJob );
55 int JobExportDrc( JOB* aJob );
56 int JobExportIpc2581( JOB* aJob );
57 int JobExportOdb( JOB* aJob );
58 int JobExportIpcD356( JOB* aJob );
59 int JobUpgrade( JOB* aJob );
60
61private:
62 BOARD* getBoard( const wxString& aPath = wxEmptyString );
63 LSEQ convertLayerArg( wxString& aLayerString, BOARD* aBoard ) const;
64
69 int doFpExportSvg( JOB_FP_EXPORT_SVG* aSvgJob, const FOOTPRINT* aFootprint );
70 void loadOverrideDrawingSheet( BOARD* brd, const wxString& aSheetPath );
71
73
75
77 std::unique_ptr<TOOL_MANAGER> m_toolManager;
78};
79
80#endif
Information pertinent to a Pcbnew printed circuit board.
Definition board.h:317
JOB_DISPATCHER(KIWAY *aKiway)
An simple container class that lets us dispatch output jobs to kifaces.
Definition job.h:183
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
Definition kiway.h:286
LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
Definition lseq.h:47
void populateGerberPlotOptionsFromJob(PCB_PLOT_PARAMS &aPlotOpts, JOB_EXPORT_PCB_GERBER *aJob)
DS_PROXY_VIEW_ITEM * getDrawingSheetProxyView(BOARD *aBrd)
void loadOverrideDrawingSheet(BOARD *brd, const wxString &aSheetPath)
PCBNEW_JOBS_HANDLER(KIWAY *aKiway)
TOOL_MANAGER * getToolManager(BOARD *aBrd)
void populateGerberPlotOptionsFromJob(PCB_PLOT_PARAMS &aPlotOpts, JOB_EXPORT_PCB_GERBERS *aJob)
BOARD * getBoard(const wxString &aPath=wxEmptyString)
std::unique_ptr< TOOL_MANAGER > m_toolManager
LSEQ convertLayerArg(wxString &aLayerString, BOARD *aBoard) const
int doFpExportSvg(JOB_FP_EXPORT_SVG *aSvgJob, const FOOTPRINT *aFootprint)
Parameters and options when plotting/printing a board.
Master controller class: