20#ifndef LIBREPCB_CORE_OUTPUTJOBRUNNER_H
21#define LIBREPCB_CORE_OUTPUTJOBRUNNER_H
26#include "../export/graphicsexport.h"
27#include "../fileio/filepath.h"
28#include "../job/outputjob.h"
39class ArchiveOutputJob;
41class Board3DOutputJob;
45class GerberExcellonOutputJob;
46class GerberX3OutputJob;
47class GraphicsOutputJob;
49class NetlistOutputJob;
50class OutputDirectoryWriter;
52class PickPlaceOutputJob;
54class ProjectJsonOutputJob;
81 void run(const QVector<std::shared_ptr<
OutputJob>>& jobs);
94 void previewReady(
int index, const QSize& pageSize, const QRectF margins,
95 std::shared_ptr<QPicture> picture);
111 bool includeNullInAll) const;
115 bool includeNullInAll) const;
File archiving (e.g. to ZIP) output job.
Definition: archiveoutputjob.h:45
The AssemblyVariant class.
Definition: assemblyvariant.h:45
3D board model output job
Definition: board3doutputjob.h:43
The Board class represents a PCB of a project and is always part of a circuit.
Definition: board.h:73
BOM output job.
Definition: bomoutputjob.h:45
File copy output job.
Definition: copyoutputjob.h:45
This class represents absolute, well-formatted paths to files or directories.
Definition: filepath.h:129
Gerber/Excellon output job.
Definition: gerberexcellonoutputjob.h:47
Gerber X3 pick&place output job.
Definition: gerberx3outputjob.h:45
Asynchronously exports graphics to a QPainter.
Definition: graphicsexport.h:90
PDF/Image output job.
Definition: graphicsoutputjob.h:50
Zipped project (*.lppz) output job.
Definition: lppzoutputjob.h:45
Netlist output job.
Definition: netlistoutputjob.h:43
The OutputDirectoryWriter class.
Definition: outputdirectorywriter.h:44
Base class for all output job types.
Definition: outputjob.h:50
The OutputJobRunner class.
Definition: outputjobrunner.h:63
~OutputJobRunner() noexcept
Definition: outputjobrunner.cpp:78
QList< FilePath > findUnknownFiles(const QSet< Uuid > &knownJobs) const
Definition: outputjobrunner.cpp:120
GraphicsExport::Pages buildPages(const GraphicsOutputJob &job)
Definition: outputjobrunner.cpp:129
void run(const QVector< std::shared_ptr< OutputJob > > &jobs)
Definition: outputjobrunner.cpp:110
void warning(const QString &msg)
void removeUnknownFiles(const QList< FilePath > &files)
Definition: outputjobrunner.cpp:125
OutputJobRunner(const OutputJobRunner &other)=delete
void jobStarted(std::shared_ptr< const OutputJob > job)
void aboutToWriteFile(const FilePath &fp)
void setOutputDirectory(const FilePath &fp) noexcept
Definition: outputjobrunner.cpp:98
const QMultiHash< Uuid, FilePath > & getWrittenFiles() const noexcept
Definition: outputjobrunner.cpp:89
void runImpl(const GraphicsOutputJob &job)
Definition: outputjobrunner.cpp:258
Project & mProject
Definition: outputjobrunner.h:120
const FilePath & getOutputDirectory() const noexcept
Definition: outputjobrunner.cpp:85
QList< Board * > getBoards(const OutputJob::ObjectSet< tl::optional< Uuid > > &set, bool includeNullInAll) const
Definition: outputjobrunner.cpp:695
void aboutToRemoveFile(const FilePath &fp)
QVector< std::shared_ptr< AssemblyVariant > > getAssemblyVariants(const OutputJob::ObjectSet< tl::optional< Uuid > > &set, bool includeNullInAll) const
Definition: outputjobrunner.cpp:753
QScopedPointer< OutputDirectoryWriter > mWriter
Definition: outputjobrunner.h:121
void previewReady(int index, const QSize &pageSize, const QRectF margins, std::shared_ptr< QPicture > picture)
Pick&Place output job.
Definition: pickplaceoutputjob.h:45
The Project class represents a whole (opened) project with all its content.
Definition: project.h:71
JSON project data output job.
Definition: projectjsonoutputjob.h:43
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition: uuid.h:58
Definition: occmodel.cpp:77