diff --git a/common/jobs/job_export_sch_bom.cpp b/common/jobs/job_export_sch_bom.cpp index a5db9da5c2..fc471539ba 100644 --- a/common/jobs/job_export_sch_bom.cpp +++ b/common/jobs/job_export_sch_bom.cpp @@ -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( "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( "sort_field", &m_sortField, m_sortField ) ); m_params.emplace_back( new JOB_PARAM( "sort_asc", &m_sortAsc, m_sortAsc ) ); - m_params.emplace_back( new JOB_PARAM( "filter_string", - &m_filterString, - m_filterString ) ); + m_params.emplace_back( new JOB_PARAM( "filter_string", &m_filterString, m_filterString ) ); m_params.emplace_back( new JOB_PARAM( "exclude_dnp", &m_excludeDNP, m_excludeDNP ) ); - m_params.emplace_back( new JOB_PARAM( "include_excluded_from_bom", - &m_includeExcludedFromBOM, - m_includeExcludedFromBOM ) ); m_params.emplace_back( new JOB_PARAM( "bom_preset_name", &m_bomPresetName, diff --git a/common/jobs/job_export_sch_bom.h b/common/jobs/job_export_sch_bom.h index 0d31814019..fa85541d29 100644 --- a/common/jobs/job_export_sch_bom.h +++ b/common/jobs/job_export_sch_bom.h @@ -55,7 +55,6 @@ public: bool m_sortAsc; wxString m_filterString; bool m_excludeDNP; - bool m_includeExcludedFromBOM; }; #endif diff --git a/eeschema/dialogs/dialog_symbol_fields_table.cpp b/eeschema/dialogs/dialog_symbol_fields_table.cpp index e171a949fa..89f082a78d 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table.cpp +++ b/eeschema/dialogs/dialog_symbol_fields_table.cpp @@ -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; diff --git a/eeschema/dialogs/dialog_symbol_fields_table_base.cpp b/eeschema/dialogs/dialog_symbol_fields_table_base.cpp index e97c1f58ea..48d4dc718f 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table_base.cpp +++ b/eeschema/dialogs/dialog_symbol_fields_table_base.cpp @@ -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 ); diff --git a/eeschema/dialogs/dialog_symbol_fields_table_base.fbp b/eeschema/dialogs/dialog_symbol_fields_table_base.fbp index 80cb1a5ea0..72f29afda4 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table_base.fbp +++ b/eeschema/dialogs/dialog_symbol_fields_table_base.fbp @@ -1384,7 +1384,7 @@ 5 - wxRIGHT + wxRIGHT|wxALIGN_CENTER_VERTICAL 0 1 diff --git a/eeschema/eeschema_jobs_handler.cpp b/eeschema/eeschema_jobs_handler.cpp index c929c7b884..befb3766a8 100644 --- a/eeschema/eeschema_jobs_handler.cpp +++ b/eeschema/eeschema_jobs_handler.cpp @@ -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 ); diff --git a/kicad/cli/command_sch_export_bom.cpp b/kicad/cli/command_sch_export_bom.cpp index 4469c8ef3e..2bd05e7a33 100644 --- a/kicad/cli/command_sch_export_bom.cpp +++ b/kicad/cli/command_sch_export_bom.cpp @@ -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( ARG_PRESET ).c_str() ); - bomJob->m_bomFmtPresetName = - From_UTF8( m_argParser.get( ARG_FMT_PRESET ).c_str() ); + bomJob->m_bomFmtPresetName = From_UTF8( m_argParser.get( ARG_FMT_PRESET ).c_str() ); // Format options - bomJob->m_fieldDelimiter = - From_UTF8( m_argParser.get( ARG_FIELD_DELIMITER ).c_str() ); - bomJob->m_stringDelimiter = - From_UTF8( m_argParser.get( ARG_STRING_DELIMITER ).c_str() ); + bomJob->m_fieldDelimiter = From_UTF8( m_argParser.get( ARG_FIELD_DELIMITER ).c_str() ); + bomJob->m_stringDelimiter = From_UTF8( m_argParser.get( ARG_STRING_DELIMITER ).c_str() ); bomJob->m_refDelimiter = From_UTF8( m_argParser.get( ARG_REF_DELIMITER ).c_str() ); - bomJob->m_refRangeDelimiter = - From_UTF8( m_argParser.get( ARG_REF_RANGE_DELIMITER ).c_str() ); + bomJob->m_refRangeDelimiter = From_UTF8( m_argParser.get( ARG_REF_RANGE_DELIMITER ).c_str() ); bomJob->m_keepTabs = m_argParser.get( ARG_KEEP_TABS ); bomJob->m_keepLineBreaks = m_argParser.get( ARG_KEEP_LINE_BREAKS ); // Output fields options - bomJob->m_fieldsOrdered = - convertStringList( From_UTF8( m_argParser.get( ARG_FIELDS ).c_str() ) ); - bomJob->m_fieldsLabels = - convertStringList( From_UTF8( m_argParser.get( ARG_LABELS ).c_str() ) ); + bomJob->m_fieldsOrdered = convertStringList( From_UTF8( m_argParser.get( ARG_FIELDS ).c_str() ) ); + bomJob->m_fieldsLabels = convertStringList( From_UTF8( m_argParser.get( 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( ARG_GROUP_BY ).c_str() ) ); + bomJob->m_fieldsGroupBy = convertStringList( From_UTF8( m_argParser.get( ARG_GROUP_BY ).c_str() ) ); bomJob->m_sortField = From_UTF8( m_argParser.get( ARG_SORT_FIELD ).c_str() ); bomJob->m_sortAsc = m_argParser.get( ARG_SORT_ASC ); bomJob->m_filterString = From_UTF8( m_argParser.get( ARG_FILTER ).c_str() ); bomJob->m_excludeDNP = m_argParser.get( ARG_EXCLUDE_DNP ); - bomJob->m_includeExcludedFromBOM = m_argParser.get( ARG_INCLUDE_EXCLUDED_FROM_BOM ); + + if( m_argParser.get( DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM ) ) + wxFprintf( stdout, DEPRECATED_ARG_INCLUDE_EXCLUDED_FROM_BOM_WARNING ); if( !wxFile::Exists( bomJob->m_filename ) ) { diff --git a/kicad/cli/command_sch_export_bom.h b/kicad/cli/command_sch_export_bom.h index 717f416278..d55de147d0 100644 --- a/kicad/cli/command_sch_export_bom.h +++ b/kicad/cli/command_sch_export_bom.h @@ -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 {