From c254b331f339ad246be292e188e68ac2be4c2990 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Thu, 23 Jul 2020 14:33:24 +0200 Subject: [PATCH] Pcbnew: Activate pad fabrication property in pad properties dialog. It was previously an option of advanced config since 6 months. It is now not optional. --- common/advanced_config.cpp | 4 ---- include/advanced_config.h | 5 ----- pcbnew/dialogs/dialog_pad_properties.cpp | 7 ------- pcbnew/dialogs/dialog_pad_properties_base.cpp | 2 +- pcbnew/dialogs/dialog_pad_properties_base.fbp | 2 +- pcbnew/kicad_plugin.cpp | 10 +++------- pcbnew/pcb_parser.cpp | 4 ++++ 7 files changed, 9 insertions(+), 25 deletions(-) diff --git a/common/advanced_config.cpp b/common/advanced_config.cpp index e510d3a816..d904875142 100644 --- a/common/advanced_config.cpp +++ b/common/advanced_config.cpp @@ -162,7 +162,6 @@ ADVANCED_CFG::ADVANCED_CFG() // Init defaults - this is done in case the config doesn't exist, // then the values will remain as set here. - m_EnableUsePadProperty = false; m_realTimeConnectivity = true; m_coroutineStackSize = AC_STACK::default_stack; m_ShowRouterDebugGraphics = false; @@ -199,9 +198,6 @@ void ADVANCED_CFG::loadSettings( wxConfigBase& aCfg ) { std::vector configParams; - configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::UsePadProperty, - &m_EnableUsePadProperty, false ) ); - configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::RealtimeConnectivity, &m_realTimeConnectivity, false ) ); diff --git a/include/advanced_config.h b/include/advanced_config.h index 426a022f57..93cddaaf74 100644 --- a/include/advanced_config.h +++ b/include/advanced_config.h @@ -68,11 +68,6 @@ public: */ static const ADVANCED_CFG& GetCfg(); - /** - * Enable pad property handling in pcbnew. - */ - bool m_EnableUsePadProperty; - /** * Do real-time connectivity */ diff --git a/pcbnew/dialogs/dialog_pad_properties.cpp b/pcbnew/dialogs/dialog_pad_properties.cpp index 4aee378704..40938d7bc8 100644 --- a/pcbnew/dialogs/dialog_pad_properties.cpp +++ b/pcbnew/dialogs/dialog_pad_properties.cpp @@ -142,13 +142,6 @@ DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES( PCB_BASE_FRAME* aParent, D_PAD* aP m_board = m_parent->GetBoard(); - // Disable the pad property if not allowed in advanced config - if( !ADVANCED_CFG::GetCfg().m_EnableUsePadProperty ) - { - m_staticTextFabProperty->Show( false ); - m_choiceFabProperty->Show( false ); - } - m_PadNetSelector->SetBoard( m_board ); m_PadNetSelector->SetNetInfo( &m_board->GetNetInfo() ); diff --git a/pcbnew/dialogs/dialog_pad_properties_base.cpp b/pcbnew/dialogs/dialog_pad_properties_base.cpp index eeb9f34d52..70a06f51a8 100644 --- a/pcbnew/dialogs/dialog_pad_properties_base.cpp +++ b/pcbnew/dialogs/dialog_pad_properties_base.cpp @@ -556,7 +556,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind m_staticTextFabProperty = new wxStaticText( m_panelGeneral, wxID_ANY, _("Fabrication Property:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextFabProperty->Wrap( -1 ); - m_staticTextFabProperty->SetToolTip( _("Optional property to specify a special purpose or constraint in fabrication files:\nBGA attribute is for pads in BGA footprints\nFiducial local is a fiducial for the parent footprint\nFiducial global is a fiducial for the whole board\nTest pad is useful to specify test points in Gerber files\nHeatsink pad specify a thermal pad\nCastellated specify castellated through hole pads on a board edge\nThis property is specified in Gerber X2 files.") ); + m_staticTextFabProperty->SetToolTip( _("Optional property to specify a special purpose or constraint in fabrication files:\nBGA attribute is for pads in BGA footprints\nFiducial local is a fiducial for the parent footprint\nFiducial global is a fiducial for the whole board\nTest Point pad is useful to specify test points in Gerber files\nHeatsink pad specify a thermal pad\nCastellated specify castellated through hole pads on a board edge\nThese properties are specified in Gerber X2 files.") ); m_middleBoxSizer->Add( m_staticTextFabProperty, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); diff --git a/pcbnew/dialogs/dialog_pad_properties_base.fbp b/pcbnew/dialogs/dialog_pad_properties_base.fbp index 4be439920f..15dbe87798 100644 --- a/pcbnew/dialogs/dialog_pad_properties_base.fbp +++ b/pcbnew/dialogs/dialog_pad_properties_base.fbp @@ -6754,7 +6754,7 @@ ; ; forward_declare 0 - Optional property to specify a special purpose or constraint in fabrication files: BGA attribute is for pads in BGA footprints Fiducial local is a fiducial for the parent footprint Fiducial global is a fiducial for the whole board Test pad is useful to specify test points in Gerber files Heatsink pad specify a thermal pad Castellated specify castellated through hole pads on a board edge This property is specified in Gerber X2 files. + Optional property to specify a special purpose or constraint in fabrication files: BGA attribute is for pads in BGA footprints Fiducial local is a fiducial for the parent footprint Fiducial global is a fiducial for the whole board Test Point pad is useful to specify test points in Gerber files Heatsink pad specify a thermal pad Castellated specify castellated through hole pads on a board edge These properties are specified in Gerber X2 files. diff --git a/pcbnew/kicad_plugin.cpp b/pcbnew/kicad_plugin.cpp index 0c58a5f62a..6dacd9af6f 100644 --- a/pcbnew/kicad_plugin.cpp +++ b/pcbnew/kicad_plugin.cpp @@ -51,8 +51,6 @@ #include // for enum RECT_CHAMFER_POSITIONS definition #include -#include // for pad pin function and pad property feature management - using namespace PCB_KEYS_T; @@ -1181,7 +1179,7 @@ void PCB_IO::format( D_PAD* aPad, int aNestLevel ) const switch( aPad->GetProperty() ) { - case PAD_PROP_NONE: break; + case PAD_PROP_NONE: break; // could be also "none" case PAD_PROP_BGA: property = "pad_prop_bga"; break; case PAD_PROP_FIDUCIAL_GLBL: property = "pad_prop_fiducial_glob"; break; case PAD_PROP_FIDUCIAL_LOCAL: property = "pad_prop_fiducial_loc"; break; @@ -1230,11 +1228,9 @@ void PCB_IO::format( D_PAD* aPad, int aNestLevel ) const m_out->Print( 0, ")" ); } - if( property && ADVANCED_CFG::GetCfg().m_EnableUsePadProperty ) - { - // Add pad property, if exists. + // Add pad property, if exists. + if( property ) m_out->Print( 0, " (property %s)", property ); - } formatLayers( aPad->GetLayerSet() ); diff --git a/pcbnew/pcb_parser.cpp b/pcbnew/pcb_parser.cpp index f940e2f92c..80e86f5c94 100644 --- a/pcbnew/pcb_parser.cpp +++ b/pcbnew/pcb_parser.cpp @@ -3370,6 +3370,10 @@ D_PAD* PCB_PARSER::parseD_PAD( MODULE* aParent ) pad->SetProperty( PAD_PROP_HEATSINK ); break; + case T_none: + pad->SetProperty( PAD_PROP_NONE ); + break; + case T_RIGHT: break;