26#include <magic_enum.hpp>
40 .default_value( std::string() )
41 .help(
UTF8STDSTR(
_(
"Comma separated list of untranslated layer names to include "
42 "such as F.Cu,B.Cu" ) ) )
43 .metavar(
"LAYER_LIST" );
50 .default_value( std::string() )
51 .help(
UTF8STDSTR(
_(
"Layers to include on each plot, comma separated list of "
52 "untranslated layer names to include such as F.Cu,B.Cu" ) ) )
53 .metavar(
"COMMON_LAYER_LIST" );
58 const std::string& aDataSetAlias )
61 .default_value( std::string() )
62 .help( std::string(
"Name of the part field to use for the Bill of Material "
63 "Manufacturer Part Number Column" ) )
64 .metavar(
"FIELD_NAME" );
67 .help( std::string(
"Precision" ) )
70 .metavar(
"PRECISION" );
73 .default_value( std::string(
"mm" ) )
74 .help( std::string(
"Units" ) )
75 .choices(
"mm",
"in" );
79 std::string dataSetHelp =
"Data set to export:";
90 dataSetArg.default_value( std::string(
"userdef" ) ).help( dataSetHelp ).metavar(
"DATA_SET" );
93 .default_value( std::string() )
94 .help( std::string(
"Override the optional sections of the chosen data set, as "
95 "IPC-2581 section key letters" ) )
96 .metavar(
"SECTION_KEY" );
99 .default_value( std::string(
"include" ) )
100 .help( std::string(
"Export net names as authored or as anonymous names that preserve "
102 .choices(
"include",
"anonymize" );
121 aJob.
m_sections = sections.IsEmpty() ? std::nullopt : std::optional<wxString>( sections );
argparse::ArgumentParser m_argParser
COMMAND(const std::string &aName)
Define a new COMMAND instance.
wxString m_argDrawingSheet
Value of the drawing sheet arg if configured.
void addCommonArgs(bool aInput, bool aOutput, IO_TYPE aInputType, IO_TYPE aOutputType)
Set up the most common of args used across cli.
wxString m_argInput
Value of the common input arg if configured.
std::vector< wxString > m_argVariantNames
The list of variant names to output.
DATA_SET
Columns of the IPC-2581C function mode table, Table 4 p 80.
static std::string DataSetToken(DATA_SET aDataSet)
Lower case token that the job file and the CLI use for aDataSet Empty when it has none.
std::optional< wxString > m_sections
Section key that replaces the optional sections of the data set Unset lets the data set select them a...
static DATA_SET DataSetFromToken(const wxString &aToken)
Read a data set token in upper case or in lower case An empty token is USERDEF.
virtual bool SupportsDataSet(DATA_SET aDataSet) const =0
std::vector< wxString > m_variantNames
bool m_checkZonesBeforeExport
#define ARG_CHECK_ZONES_DESC
#define ARG_COMMON_LAYERS
#define ARG_BOM_COL_MFG_PN
static wxString From_UTF8(const char *cstring)
Convert a UTF8 encoded C string to a wxString for all wxWidgets build modes.
PCB_EXPORT_BASE_COMMAND(const std::string &aName, IO_TYPE aInputType=IO_TYPE::FILE, IO_TYPE aOutputType=IO_TYPE::FILE)
void applyFabExportArgs(JOB_EXPORT_PCB_FAB &aJob)
void addFabExportArgs(const JOB_EXPORT_PCB_FAB &aJob, const std::string &aDataSetAlias={})
aJob says which data sets the format supports aDataSetAlias is a second name for the flag
void addCommonLayersArg()