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;
48class InteractiveHtmlBomOutputJob;
50class NetlistOutputJob;
51class OutputDirectoryWriter;
53class PickPlaceOutputJob;
55class ProjectJsonOutputJob;
95 void previewReady(
int index, const QSize& pageSize, const QRectF margins,
96 std::shared_ptr<QPicture> picture);
113 bool includeNullInAll) const;
117 bool includeNullInAll) const;
File archiving (e.g. to ZIP) output job.
Definition archiveoutputjob.h:45
The AssemblyVariant class.
Definition assemblyvariant.h:44
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:127
Gerber/Excellon output job.
Definition gerberexcellonoutputjob.h:46
Gerber X3 pick&place output job.
Definition gerberx3outputjob.h:45
Asynchronously exports graphics to a QPainter.
Definition graphicsexport.h:89
PDF/Image output job.
Definition graphicsoutputjob.h:49
Interactive HTML BOM output job.
Definition interactivehtmlbomoutputjob.h:46
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:64
~OutputJobRunner() noexcept
Definition outputjobrunner.cpp:81
QList< FilePath > findUnknownFiles(const QSet< Uuid > &knownJobs) const
Definition outputjobrunner.cpp:123
GraphicsExport::Pages buildPages(const GraphicsOutputJob &job)
Definition outputjobrunner.cpp:132
void run(const QVector< std::shared_ptr< OutputJob > > &jobs)
Definition outputjobrunner.cpp:113
void warning(const QString &msg)
void removeUnknownFiles(const QList< FilePath > &files)
Definition outputjobrunner.cpp:128
OutputJobRunner(const OutputJobRunner &other)=delete
QVector< std::shared_ptr< AssemblyVariant > > getAssemblyVariants(const OutputJob::ObjectSet< std::optional< Uuid > > &set, bool includeNullInAll) const
Definition outputjobrunner.cpp:804
QList< Board * > getBoards(const OutputJob::ObjectSet< std::optional< Uuid > > &set, bool includeNullInAll) const
Definition outputjobrunner.cpp:746
void jobStarted(std::shared_ptr< const OutputJob > job)
void aboutToWriteFile(const FilePath &fp)
void setOutputDirectory(const FilePath &fp) noexcept
Definition outputjobrunner.cpp:101
const QMultiHash< Uuid, FilePath > & getWrittenFiles() const noexcept
Definition outputjobrunner.cpp:92
void runImpl(const GraphicsOutputJob &job)
Definition outputjobrunner.cpp:264
Project & mProject
Definition outputjobrunner.h:122
const FilePath & getOutputDirectory() const noexcept
Definition outputjobrunner.cpp:88
void aboutToRemoveFile(const FilePath &fp)
QScopedPointer< OutputDirectoryWriter > mWriter
Definition outputjobrunner.h:123
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:56
Definition occmodel.cpp:77