From c16af6f2ff149c3139a33c97b99e0d24ee363049 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Wed, 14 Feb 2018 17:46:35 +0100 Subject: [PATCH] Pad properties dialogs: allow positive values for solder paste mask layer (unusual but existing case) Footprint properties dialogs: add test for negative net clearance, similar to the Pad properties dialog test. Add also a info message in dialogs, to avoid mistakes when setting the local clearances. --- .../dialog_edit_module_for_BoardEditor.cpp | 11 +- ...ialog_edit_module_for_BoardEditor_base.cpp | 18 +- ...ialog_edit_module_for_BoardEditor_base.fbp | 172 +++++++++++++++++- .../dialog_edit_module_for_BoardEditor_base.h | 7 +- .../dialog_edit_module_for_Modedit.cpp | 11 +- .../dialog_edit_module_for_Modedit_base.cpp | 20 +- .../dialog_edit_module_for_Modedit_base.fbp | 170 ++++++++++++++++- .../dialog_edit_module_for_Modedit_base.h | 7 +- pcbnew/dialogs/dialog_pad_properties.cpp | 13 +- pcbnew/dialogs/dialog_pad_properties_base.cpp | 16 +- pcbnew/dialogs/dialog_pad_properties_base.fbp | 167 ++++++++++++++++- pcbnew/dialogs/dialog_pad_properties_base.h | 8 +- 12 files changed, 596 insertions(+), 24 deletions(-) diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp index 3dd05665e4..06fd7b86f9 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp +++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp @@ -639,6 +639,15 @@ bool DIALOG_MODULE_BOARD_EDITOR::TransferDataFromWindow() return false; } + // Check if footprint local clerance is acceptable (i.e. >= 0 ) + int localNetClearance = ValueFromTextCtrl( *m_NetClearanceValueCtrl ); + + if( localNetClearance < 0 ) + { + wxMessageBox( _( "Error: footprint local net clearance is < 0" ) ); + return false; + } + if( m_DC ) { m_Parent->GetCanvas()->CrossHairOff( m_DC ); @@ -655,7 +664,7 @@ bool DIALOG_MODULE_BOARD_EDITOR::TransferDataFromWindow() value = *m_ValueCopy; // Initialize masks clearances - m_CurrentModule->SetLocalClearance( ValueFromTextCtrl( *m_NetClearanceValueCtrl ) ); + m_CurrentModule->SetLocalClearance( localNetClearance ); m_CurrentModule->SetLocalSolderMaskMargin( ValueFromTextCtrl( *m_SolderMaskMarginCtrl ) ); m_CurrentModule->SetLocalSolderPasteMargin( ValueFromTextCtrl( *m_SolderPasteMarginCtrl ) ); diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.cpp b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.cpp index 17b5c22953..f14be6eab2 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.cpp +++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.cpp @@ -1,8 +1,8 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Jul 2 2017) // http://www.wxformbuilder.org/ // -// PLEASE DO *NOT* EDIT THIS FILE! +// PLEASE DO "NOT" EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #include "widgets/text_ctrl_eval.h" @@ -216,7 +216,19 @@ DIALOG_MODULE_BOARD_EDITOR_BASE::DIALOG_MODULE_BOARD_EDITOR_BASE( wxWindow* pare m_staticTextInfo->Wrap( -1 ); m_staticTextInfo->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) ); - bSizer11->Add( m_staticTextInfo, 0, wxALL, 5 ); + bSizer11->Add( m_staticTextInfo, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); + + m_staticTextInfoValPos = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Positive clearance means area bigger than the pad."), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfoValPos->Wrap( -1 ); + m_staticTextInfoValPos->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + bSizer11->Add( m_staticTextInfoValPos, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); + + m_staticTextInfoValNeg = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Negative clearance means area smaller than the pad."), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfoValNeg->Wrap( -1 ); + m_staticTextInfoValNeg->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + bSizer11->Add( m_staticTextInfoValNeg, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); sbSizerLocalProperties->Add( bSizer11, 0, wxEXPAND, 5 ); diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.fbp b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.fbp index a0e1778bc3..adbd66f50b 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.fbp +++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.fbp @@ -3058,7 +3058,7 @@ 5 - wxALL + wxTOP|wxRIGHT|wxLEFT 0 1 @@ -3139,13 +3139,179 @@ + + 5 + wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,93,90,-1,70,0 + 0 + 0 + wxID_ANY + Positive clearance means area bigger than the pad. + + 0 + + + 0 + + 1 + m_staticTextInfoValPos + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,93,90,-1,70,0 + 0 + 0 + wxID_ANY + Negative clearance means area smaller than the pad. + + 0 + + + 0 + + 1 + m_staticTextInfoValNeg + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + - + 5 wxEXPAND 1 - + 3 wxBOTH 1 diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.h b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.h index 8e3063c7a7..5680d791a3 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.h +++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor_base.h @@ -1,8 +1,8 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Jul 2 2017) // http://www.wxformbuilder.org/ // -// PLEASE DO *NOT* EDIT THIS FILE! +// PLEASE DO "NOT" EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #ifndef __DIALOG_EDIT_MODULE_FOR_BOARDEDITOR_BASE_H__ @@ -11,6 +11,7 @@ #include #include #include +class DIALOG_SHIM; class TEXT_CTRL_EVAL; #include "dialog_shim.h" @@ -89,6 +90,8 @@ class DIALOG_MODULE_BOARD_EDITOR_BASE : public DIALOG_SHIM wxStaticText* m_staticText16; wxChoice* m_ZoneConnectionChoice; wxStaticText* m_staticTextInfo; + wxStaticText* m_staticTextInfoValPos; + wxStaticText* m_staticTextInfoValNeg; wxStaticText* m_staticTextNetClearance; TEXT_CTRL_EVAL* m_NetClearanceValueCtrl; wxStaticText* m_NetClearanceUnits; diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp b/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp index 62b27a6110..05f2daee02 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp +++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp @@ -470,6 +470,15 @@ bool DIALOG_MODULE_MODULE_EDITOR::TransferDataFromWindow() } } + // Check if footprint local clerance is acceptable (i.e. >= 0 ) + int localNetClearance = ValueFromTextCtrl( *m_NetClearanceValueCtrl ); + + if( localNetClearance < 0 ) + { + wxMessageBox( _( "Error: footprint local net clearance is < 0" ) ); + return false; + } + if( !m_PreviewPane->ValidateWithMessage( msg ) ) { DisplayError( NULL, msg ); @@ -515,7 +524,7 @@ bool DIALOG_MODULE_MODULE_EDITOR::TransferDataFromWindow() value = *m_valueCopy; // Initialize masks clearances - m_currentModule->SetLocalClearance( ValueFromTextCtrl( *m_NetClearanceValueCtrl ) ); + m_currentModule->SetLocalClearance( localNetClearance ); m_currentModule->SetLocalSolderMaskMargin( ValueFromTextCtrl( *m_SolderMaskMarginCtrl ) ); m_currentModule->SetLocalSolderPasteMargin( ValueFromTextCtrl( *m_SolderPasteMarginCtrl ) ); double dtmp; diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.cpp b/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.cpp index 4af11970b3..dfc11d4eb4 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.cpp +++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.cpp @@ -1,8 +1,8 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Nov 22 2017) +// C++ code generated with wxFormBuilder (version Jul 2 2017) // http://www.wxformbuilder.org/ // -// PLEASE DO *NOT* EDIT THIS FILE! +// PLEASE DO "NOT" EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #include "widgets/text_ctrl_eval.h" @@ -155,6 +155,18 @@ DIALOG_MODULE_MODULE_EDITOR_BASE::DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* pa sbSizer8->Add( m_staticTextInfo, 0, wxALL, 5 ); + m_staticTextInfoValPos = new wxStaticText( sbSizer8->GetStaticBox(), wxID_ANY, _("Positive clearance means area bigger than the pad."), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfoValPos->Wrap( -1 ); + m_staticTextInfoValPos->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + sbSizer8->Add( m_staticTextInfoValPos, 0, wxRIGHT|wxLEFT, 5 ); + + m_staticTextInfoValNeg = new wxStaticText( sbSizer8->GetStaticBox(), wxID_ANY, _("Negative clearance means area smaller than the pad."), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfoValNeg->Wrap( -1 ); + m_staticTextInfoValNeg->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + sbSizer8->Add( m_staticTextInfoValNeg, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + wxFlexGridSizer* fgSizer1; fgSizer1 = new wxFlexGridSizer( 5, 3, 0, 0 ); fgSizer1->AddGrowableCol( 1 ); @@ -233,7 +245,7 @@ DIALOG_MODULE_MODULE_EDITOR_BASE::DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* pa m_PanelProperties->SetSizer( m_PanelPropertiesBoxSizer ); m_PanelProperties->Layout(); m_PanelPropertiesBoxSizer->Fit( m_PanelProperties ); - m_NoteBook->AddPage( m_PanelProperties, _("Properties"), false ); + m_NoteBook->AddPage( m_PanelProperties, _("Properties"), true ); m_Panel3D = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizerMain3D; bSizerMain3D = new wxBoxSizer( wxVERTICAL ); @@ -289,7 +301,7 @@ DIALOG_MODULE_MODULE_EDITOR_BASE::DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* pa m_Panel3D->SetSizer( bSizerMain3D ); m_Panel3D->Layout(); bSizerMain3D->Fit( m_Panel3D ); - m_NoteBook->AddPage( m_Panel3D, _("3D Settings"), true ); + m_NoteBook->AddPage( m_Panel3D, _("3D Settings"), false ); m_GeneralBoxSizer->Add( m_NoteBook, 1, wxEXPAND | wxALL, 5 ); diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.fbp b/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.fbp index 67c3ba24b3..84e7b58bcf 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.fbp +++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.fbp @@ -178,7 +178,7 @@ Properties - 0 + 1 1 1 @@ -2250,6 +2250,172 @@ + + 5 + wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,93,90,-1,70,0 + 0 + 0 + wxID_ANY + Positive clearance means area bigger than the pad. + + 0 + + + 0 + + 1 + m_staticTextInfoValPos + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,93,90,-1,70,0 + 0 + 0 + wxID_ANY + Negative clearance means area smaller than the pad. + + 0 + + + 0 + + 1 + m_staticTextInfoValNeg + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + 5 wxEXPAND @@ -3549,7 +3715,7 @@ 3D Settings - 1 + 0 1 1 diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.h b/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.h index 13c1d1422f..9c49fc4dcf 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.h +++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit_base.h @@ -1,8 +1,8 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Nov 22 2017) +// C++ code generated with wxFormBuilder (version Jul 2 2017) // http://www.wxformbuilder.org/ // -// PLEASE DO *NOT* EDIT THIS FILE! +// PLEASE DO "NOT" EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #ifndef __DIALOG_EDIT_MODULE_FOR_MODEDIT_BASE_H__ @@ -11,6 +11,7 @@ #include #include #include +class DIALOG_SHIM; class TEXT_CTRL_EVAL; #include "dialog_shim.h" @@ -74,6 +75,8 @@ class DIALOG_MODULE_MODULE_EDITOR_BASE : public DIALOG_SHIM wxStaticText* m_staticText12; wxSlider* m_CostRot180Ctrl; wxStaticText* m_staticTextInfo; + wxStaticText* m_staticTextInfoValPos; + wxStaticText* m_staticTextInfoValNeg; wxStaticText* m_staticTextNetClearance; TEXT_CTRL_EVAL* m_NetClearanceValueCtrl; wxStaticText* m_NetClearanceUnits; diff --git a/pcbnew/dialogs/dialog_pad_properties.cpp b/pcbnew/dialogs/dialog_pad_properties.cpp index 483cb97f06..c765c8961e 100644 --- a/pcbnew/dialogs/dialog_pad_properties.cpp +++ b/pcbnew/dialogs/dialog_pad_properties.cpp @@ -1129,10 +1129,21 @@ bool DIALOG_PAD_PROPERTIES::padValuesOK() } } + // Some pads need a positive solder paste clearance (mainly for BGA with small pads) + // Hovewer, a positive value can create issues if the resulting shape is too big. + // (like a solder paste creating a solder paste area on a neighbour pad or on the solder mask) + // So we could ask for user to confirm the choice + // However this option is not enabled + #if 0 if( m_dummyPad->GetLocalSolderPasteMargin() > 0 ) { - error_msgs.Add( _( "Pad local solder paste clearance must be zero or less than zero" ) ); + //error_msgs.Add( _( "Pad local solder paste clearance must be zero or less than zero" ) ); + if( !IsOK( this, _( "Pad local solder paste clearance is greater than 0\n" + "The solder paste area will be bigger than the pad area.\n" + "This is unusual. Are you sure?)" ) ) ) + return false; } + #endif LSET padlayers_mask = m_dummyPad->GetLayerSet(); diff --git a/pcbnew/dialogs/dialog_pad_properties_base.cpp b/pcbnew/dialogs/dialog_pad_properties_base.cpp index 62c66a53b2..36bd153425 100644 --- a/pcbnew/dialogs/dialog_pad_properties_base.cpp +++ b/pcbnew/dialogs/dialog_pad_properties_base.cpp @@ -1,8 +1,8 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Feb 9 2018) +// C++ code generated with wxFormBuilder (version Jul 2 2017) // http://www.wxformbuilder.org/ // -// PLEASE DO *NOT* EDIT THIS FILE! +// PLEASE DO "NOT" EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #include "widgets/text_ctrl_eval.h" @@ -406,6 +406,18 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind bSizerClearance->Add( m_staticTextWarning, 0, wxALL, 5 ); + m_staticTextInfoPosValue = new wxStaticText( m_localSettingsPanel, wxID_ANY, _("Positive clearance means area bigger than the pad (usual for mask clearance)."), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfoPosValue->Wrap( -1 ); + m_staticTextInfoPosValue->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + bSizerClearance->Add( m_staticTextInfoPosValue, 0, wxALL, 5 ); + + m_staticTextInfoNegVal = new wxStaticText( m_localSettingsPanel, wxID_ANY, _("Negative clearance means area smaller than the pad (usual for paste clearance)."), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfoNegVal->Wrap( -1 ); + m_staticTextInfoNegVal->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + bSizerClearance->Add( m_staticTextInfoNegVal, 0, wxALL, 5 ); + wxStaticBoxSizer* sbClearancesSizer; sbClearancesSizer = new wxStaticBoxSizer( new wxStaticBox( m_localSettingsPanel, wxID_ANY, _("Clearances") ), wxVERTICAL ); diff --git a/pcbnew/dialogs/dialog_pad_properties_base.fbp b/pcbnew/dialogs/dialog_pad_properties_base.fbp index 7591cb83df..17b503ef25 100644 --- a/pcbnew/dialogs/dialog_pad_properties_base.fbp +++ b/pcbnew/dialogs/dialog_pad_properties_base.fbp @@ -14,7 +14,6 @@ dialog_pad_properties_base 1000 none - 1 dialog_pad_properties_base @@ -7092,6 +7091,172 @@ + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,93,90,-1,70,0 + 0 + 0 + wxID_ANY + Positive clearance means area bigger than the pad (usual for mask clearance). + + 0 + + + 0 + + 1 + m_staticTextInfoPosValue + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,93,90,-1,70,0 + 0 + 0 + wxID_ANY + Negative clearance means area smaller than the pad (usual for paste clearance). + + 0 + + + 0 + + 1 + m_staticTextInfoNegVal + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + 5 wxALL|wxEXPAND diff --git a/pcbnew/dialogs/dialog_pad_properties_base.h b/pcbnew/dialogs/dialog_pad_properties_base.h index 7b5d5703d7..0000448b35 100644 --- a/pcbnew/dialogs/dialog_pad_properties_base.h +++ b/pcbnew/dialogs/dialog_pad_properties_base.h @@ -1,8 +1,8 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Feb 9 2018) +// C++ code generated with wxFormBuilder (version Jul 2 2017) // http://www.wxformbuilder.org/ // -// PLEASE DO *NOT* EDIT THIS FILE! +// PLEASE DO "NOT" EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #ifndef __DIALOG_PAD_PROPERTIES_BASE_H__ @@ -11,7 +11,9 @@ #include #include #include +class DIALOG_SHIM; class TEXT_CTRL_EVAL; +class wxListView; #include "dialog_shim.h" #include @@ -137,6 +139,8 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM wxCheckBox* m_PadLayerECO2; wxPanel* m_localSettingsPanel; wxStaticText* m_staticTextWarning; + wxStaticText* m_staticTextInfoPosValue; + wxStaticText* m_staticTextInfoNegVal; wxStaticText* m_staticTextNetClearance; TEXT_CTRL_EVAL* m_NetClearanceValueCtrl; wxStaticText* m_NetClearanceUnits;