22#include <wx/filename.h>
26JOB::JOB(
const std::string& aType,
bool aOutputIsDirectory ) :
29 m_tempOutputDirectory(),
31 m_outputPathIsDirectory( aOutputIsDirectory ),
82 return _(
"Job Settings" );
94 wxFileName fn( aDirPath + wxFileName::GetPathSeparator() + aFileName.GetFullPath() );
102 std::function<bool( wxString* )> textResolver =
103 [&]( wxString* token ) ->
bool
122 wxFileName fn( outPath );
124 if( fn.IsAbsolute() || outPath.IsEmpty() )
129 return fn.GetFullPath();
133 wxFileName fn( outPath );
134 if( fn.IsAbsolute() )
145 return fn.GetFullPath();
172 m_jsonPath( aJsonPath )
JOB_PARAM_BASE(const std::string &aJsonPath)
An simple container class that lets us dispatch output jobs to kifaces.
void SetConfiguredOutputPath(const wxString &aPath)
Sets the configured output path for the job, this path is always saved to file.
virtual void FromJson(const nlohmann::json &j)
std::vector< JOB_PARAM_BASE * > m_params
JOB(const std::string &aType, bool aOutputIsDirectory)
wxString GetFullOutputPath(PROJECT *aProject) const
Returns the full output path for the job, taking into account the configured output path,...
virtual wxString GetDefaultDescription() const
wxString m_workingOutputPath
wxString m_tempOutputDirectory
virtual wxString GetSettingsDialogTitle() const
bool m_outputPathIsDirectory
virtual void ToJson(nlohmann::json &j) const
void SetTempOutputDirectory(const wxString &aBase)
Sets the temporary output directory for the job, this is used to prefix with a given output path when...
Container for project specific data.
virtual bool TextVarResolver(wxString *aToken) const
bool TextVarResolver(wxString *aToken, const PROJECT *aProject, int aFlags=0) const
wxString ExpandTextVars(const wxString &aSource, const PROJECT *aProject, int aFlags)
void PrependDirectoryToPath(wxFileName &aFileName, const wxString aDirPath)
KICOMMON_API void to_json(nlohmann::json &j, const JOB &f)
KICOMMON_API void from_json(const nlohmann::json &j, JOB &f)