mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-13 17:53:11 +02:00
The Include "Exclude from BOM" setting is for editing, not exporting.
There's no reason to put items marked "Exclude from BOM" into the BOM.
This commit is contained in:
parent
330361d0cb
commit
dedc10a163
@ -40,8 +40,7 @@ JOB_EXPORT_SCH_BOM::JOB_EXPORT_SCH_BOM() :
|
||||
m_sortField(),
|
||||
m_sortAsc( true ),
|
||||
m_filterString(),
|
||||
m_excludeDNP( false ),
|
||||
m_includeExcludedFromBOM( false )
|
||||
m_excludeDNP( false )
|
||||
{
|
||||
m_params.emplace_back( new JOB_PARAM<wxString>( "field_delimiter",
|
||||
&m_fieldDelimiter,
|
||||
@ -70,13 +69,8 @@ JOB_EXPORT_SCH_BOM::JOB_EXPORT_SCH_BOM() :
|
||||
m_fieldsGroupBy ) );
|
||||
m_params.emplace_back( new JOB_PARAM<wxString>( "sort_field", &m_sortField, m_sortField ) );
|
||||
m_params.emplace_back( new JOB_PARAM<bool>( "sort_asc", &m_sortAsc, m_sortAsc ) );
|
||||
m_params.emplace_back( new JOB_PARAM<wxString>( "filter_string",
|
||||
&m_filterString,
|
||||
m_filterString ) );
|
||||
m_params.emplace_back( new JOB_PARAM<wxString>( "filter_string", &m_filterString, m_filterString ) );
|
||||
m_params.emplace_back( new JOB_PARAM<bool>( "exclude_dnp", &m_excludeDNP, m_excludeDNP ) );
|
||||
m_params.emplace_back( new JOB_PARAM<bool>( "include_excluded_from_bom",
|
||||
&m_includeExcludedFromBOM,
|
||||
m_includeExcludedFromBOM ) );
|
||||
|
||||
m_params.emplace_back( new JOB_PARAM<wxString>( "bom_preset_name",
|
||||
&m_bomPresetName,
|
||||
|
@ -55,7 +55,6 @@ public:
|
||||
bool m_sortAsc;
|
||||
wxString m_filterString;
|
||||
bool m_excludeDNP;
|
||||
bool m_includeExcludedFromBOM;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -269,7 +269,6 @@ DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE( SCH_EDIT_FRAME* parent,
|
||||
|
||||
preset.name = m_job->m_bomPresetName;
|
||||
preset.excludeDNP = m_job->m_excludeDNP;
|
||||
preset.includeExcludedFromBOM = m_job->m_includeExcludedFromBOM;
|
||||
preset.filterString = m_job->m_filterString;
|
||||
preset.sortAsc = m_job->m_sortAsc;
|
||||
preset.sortField = m_job->m_sortField;
|
||||
@ -947,7 +946,7 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnMenu( wxCommandEvent& event )
|
||||
}
|
||||
else if( menu_id == 1 || menu_id == 4205 )
|
||||
{
|
||||
m_dataModel->SetExcludeDNP( m_dataModel->GetIncludeExcludedFromBOM() );
|
||||
m_dataModel->SetIncludeExcludedFromBOM( !m_dataModel->GetIncludeExcludedFromBOM() );
|
||||
m_dataModel->RebuildRows();
|
||||
m_grid->ForceRefresh();
|
||||
|
||||
@ -1300,8 +1299,18 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnPreviewRefresh( wxCommandEvent& event )
|
||||
|
||||
void DIALOG_SYMBOL_FIELDS_TABLE::PreviewRefresh()
|
||||
{
|
||||
bool saveIncludeExcudedFromBOM = m_dataModel->GetIncludeExcludedFromBOM();
|
||||
|
||||
m_dataModel->SetIncludeExcludedFromBOM( false );
|
||||
m_dataModel->RebuildRows();
|
||||
|
||||
m_textOutput->SetValue( m_dataModel->Export( GetCurrentBomFmtSettings() ) );
|
||||
|
||||
if( saveIncludeExcudedFromBOM )
|
||||
{
|
||||
m_dataModel->SetIncludeExcludedFromBOM( true );
|
||||
m_dataModel->RebuildRows();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1499,7 +1508,6 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnOk( wxCommandEvent& aEvent )
|
||||
BOM_PRESET presetFields = m_dataModel->GetBomSettings();
|
||||
m_job->m_sortAsc = presetFields.sortAsc;
|
||||
m_job->m_excludeDNP = presetFields.excludeDNP;
|
||||
m_job->m_includeExcludedFromBOM = presetFields.includeExcludedFromBOM;
|
||||
m_job->m_filterString = presetFields.filterString;
|
||||
m_job->m_sortField = presetFields.sortField;
|
||||
|
||||
|
@ -169,7 +169,7 @@ DIALOG_SYMBOL_FIELDS_TABLE_BASE::DIALOG_SYMBOL_FIELDS_TABLE_BASE( wxWindow* pare
|
||||
m_bMenu = new STD_BITMAP_BUTTON( m_panelEdit, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
|
||||
m_bMenu->SetMinSize( wxSize( 30,30 ) );
|
||||
|
||||
bControls->Add( m_bMenu, 0, wxRIGHT, 5 );
|
||||
bControls->Add( m_bMenu, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
|
||||
bEditSizer->Add( bControls, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
|
||||
|
@ -1384,7 +1384,7 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxRIGHT</property>
|
||||
<property name="flag">wxRIGHT|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBitmapButton" expanded="false">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -668,7 +668,6 @@ int EESCHEMA_JOBS_HANDLER::JobExportBom( JOB* aJob )
|
||||
preset.filterString = aBomJob->m_filterString;
|
||||
preset.groupSymbols = ( aBomJob->m_fieldsGroupBy.size() > 0 );
|
||||
preset.excludeDNP = aBomJob->m_excludeDNP;
|
||||
preset.includeExcludedFromBOM = aBomJob->m_includeExcludedFromBOM;
|
||||
}
|
||||
|
||||
dataModel.ApplyBomPreset( preset );
|
||||
|
@ -82,8 +82,8 @@ CLI::SCH_EXPORT_BOM_COMMAND::SCH_EXPORT_BOM_COMMAND() : COMMAND( "bom" )
|
||||
.help( UTF8STDSTR( _( ARG_EXCLUDE_DNP_DESC ) ) )
|
||||
.flag();
|
||||
|
||||
m_argParser.add_argument( ARG_INCLUDE_EXCLUDED_FROM_BOM )
|
||||
.help( UTF8STDSTR( _( ARG_INCLUDE_EXCLUDED_FROM_BOM_DESC ) ) )
|
||||
m_argParser.add_argument( DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM )
|
||||
.help( UTF8STDSTR( _( DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM_DESC ) ) )
|
||||
.flag();
|
||||
|
||||
// Output formatting options
|
||||
@ -141,25 +141,19 @@ int CLI::SCH_EXPORT_BOM_COMMAND::doPerform( KIWAY& aKiway )
|
||||
bomJob->SetConfiguredOutputPath( m_argOutput );
|
||||
|
||||
bomJob->m_bomPresetName = From_UTF8( m_argParser.get<std::string>( ARG_PRESET ).c_str() );
|
||||
bomJob->m_bomFmtPresetName =
|
||||
From_UTF8( m_argParser.get<std::string>( ARG_FMT_PRESET ).c_str() );
|
||||
bomJob->m_bomFmtPresetName = From_UTF8( m_argParser.get<std::string>( ARG_FMT_PRESET ).c_str() );
|
||||
|
||||
// Format options
|
||||
bomJob->m_fieldDelimiter =
|
||||
From_UTF8( m_argParser.get<std::string>( ARG_FIELD_DELIMITER ).c_str() );
|
||||
bomJob->m_stringDelimiter =
|
||||
From_UTF8( m_argParser.get<std::string>( ARG_STRING_DELIMITER ).c_str() );
|
||||
bomJob->m_fieldDelimiter = From_UTF8( m_argParser.get<std::string>( ARG_FIELD_DELIMITER ).c_str() );
|
||||
bomJob->m_stringDelimiter = From_UTF8( m_argParser.get<std::string>( ARG_STRING_DELIMITER ).c_str() );
|
||||
bomJob->m_refDelimiter = From_UTF8( m_argParser.get<std::string>( ARG_REF_DELIMITER ).c_str() );
|
||||
bomJob->m_refRangeDelimiter =
|
||||
From_UTF8( m_argParser.get<std::string>( ARG_REF_RANGE_DELIMITER ).c_str() );
|
||||
bomJob->m_refRangeDelimiter = From_UTF8( m_argParser.get<std::string>( ARG_REF_RANGE_DELIMITER ).c_str() );
|
||||
bomJob->m_keepTabs = m_argParser.get<bool>( ARG_KEEP_TABS );
|
||||
bomJob->m_keepLineBreaks = m_argParser.get<bool>( ARG_KEEP_LINE_BREAKS );
|
||||
|
||||
// Output fields options
|
||||
bomJob->m_fieldsOrdered =
|
||||
convertStringList( From_UTF8( m_argParser.get<std::string>( ARG_FIELDS ).c_str() ) );
|
||||
bomJob->m_fieldsLabels =
|
||||
convertStringList( From_UTF8( m_argParser.get<std::string>( ARG_LABELS ).c_str() ) );
|
||||
bomJob->m_fieldsOrdered = convertStringList( From_UTF8( m_argParser.get<std::string>( ARG_FIELDS ).c_str() ) );
|
||||
bomJob->m_fieldsLabels = convertStringList( From_UTF8( m_argParser.get<std::string>( ARG_LABELS ).c_str() ) );
|
||||
|
||||
// We only apply the default labels if the default fields are used
|
||||
if( m_argParser.is_used( ARG_FIELDS ) && !m_argParser.is_used( ARG_LABELS ) )
|
||||
@ -167,13 +161,14 @@ int CLI::SCH_EXPORT_BOM_COMMAND::doPerform( KIWAY& aKiway )
|
||||
bomJob->m_fieldsLabels.clear();
|
||||
}
|
||||
|
||||
bomJob->m_fieldsGroupBy =
|
||||
convertStringList( From_UTF8( m_argParser.get<std::string>( ARG_GROUP_BY ).c_str() ) );
|
||||
bomJob->m_fieldsGroupBy = convertStringList( From_UTF8( m_argParser.get<std::string>( ARG_GROUP_BY ).c_str() ) );
|
||||
bomJob->m_sortField = From_UTF8( m_argParser.get<std::string>( ARG_SORT_FIELD ).c_str() );
|
||||
bomJob->m_sortAsc = m_argParser.get<bool>( ARG_SORT_ASC );
|
||||
bomJob->m_filterString = From_UTF8( m_argParser.get<std::string>( ARG_FILTER ).c_str() );
|
||||
bomJob->m_excludeDNP = m_argParser.get<bool>( ARG_EXCLUDE_DNP );
|
||||
bomJob->m_includeExcludedFromBOM = m_argParser.get<bool>( ARG_INCLUDE_EXCLUDED_FROM_BOM );
|
||||
|
||||
if( m_argParser.get<bool>( DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM ) )
|
||||
wxFprintf( stdout, DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM_WARNING );
|
||||
|
||||
if( !wxFile::Exists( bomJob->m_filename ) )
|
||||
{
|
||||
|
@ -27,8 +27,7 @@ namespace CLI
|
||||
{
|
||||
// Options for selecting presets of the export, e.g. GroupedByValue and CSV
|
||||
#define ARG_PRESET "--preset"
|
||||
#define ARG_PRESET_DESC "Use a named BOM preset setting from the schematic, e.g. " \
|
||||
"\"Grouped By Value\"."
|
||||
#define ARG_PRESET_DESC "Use a named BOM preset setting from the schematic, e.g. \"Grouped By Value\"."
|
||||
|
||||
#define ARG_FMT_PRESET "--format-preset"
|
||||
#define ARG_FMT_PRESET_DESC "Use a named BOM format preset setting from the schematic, e.g. CSV."
|
||||
@ -44,20 +43,17 @@ namespace CLI
|
||||
#define ARG_REF_DELIMITER_DESC "Character to place between individual references."
|
||||
|
||||
#define ARG_REF_RANGE_DELIMITER "--ref-range-delimiter"
|
||||
#define ARG_REF_RANGE_DELIMITER_DESC "Character to place in ranges of references. Leave " \
|
||||
"blank for no ranges."
|
||||
#define ARG_REF_RANGE_DELIMITER_DESC "Character to place in ranges of references. Leave blank for no ranges."
|
||||
|
||||
#define ARG_KEEP_TABS "--keep-tabs"
|
||||
#define ARG_KEEP_TABS_DESC "Keep tab characters from input fields. Stripped by default."
|
||||
|
||||
#define ARG_KEEP_LINE_BREAKS "--keep-line-breaks"
|
||||
#define ARG_KEEP_LINE_BREAKS_DESC "Keep line break characters from input fields. Stripped " \
|
||||
"by default."
|
||||
#define ARG_KEEP_LINE_BREAKS_DESC "Keep line break characters from input fields. Stripped by default."
|
||||
|
||||
//Options for controlling the fields and the grouping
|
||||
#define ARG_FIELDS "--fields"
|
||||
#define ARG_FIELDS_DESC \
|
||||
"An ordered list of fields to export. See documentation for special substitutions."
|
||||
#define ARG_FIELDS_DESC "An ordered list of fields to export. See documentation for special substitutions."
|
||||
|
||||
#define ARG_LABELS "--labels"
|
||||
#define ARG_LABELS_DESC "An ordered list of labels to apply the exported fields."
|
||||
@ -77,8 +73,10 @@ namespace CLI
|
||||
#define ARG_EXCLUDE_DNP "--exclude-dnp"
|
||||
#define ARG_EXCLUDE_DNP_DESC "Exclude symbols marked Do-Not-Populate."
|
||||
|
||||
#define ARG_INCLUDE_EXCLUDED_FROM_BOM "--include-excluded-from-bom"
|
||||
#define ARG_INCLUDE_EXCLUDED_FROM_BOM_DESC "Include symbols marked 'Exclude from BOM'."
|
||||
#define DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM "--include-excluded-from-bom"
|
||||
#define DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM_DESC "Deprecated. Has no effect."
|
||||
#define DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM_WARNING "--include-excluded-from-bom has been deprecated as of " \
|
||||
"KiCad 10.0.0. It will have no effect."
|
||||
|
||||
class SCH_EXPORT_BOM_COMMAND : public COMMAND
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user