From 26c92eaf0f0d75cbcca9d8d2bd81e1775c0bb4d7 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Tue, 2 Jul 2019 17:00:00 +0100 Subject: [PATCH] Give up on KillFocus validation. wxWidgets sends the KillFocus event before the Cancel button event, and it sets the receiving-focus window pointer to NULL (so you can't even check for it being the Cancel button. Last time around (with the UNIT_BINDER) I also tried a bunch of hacks for whether the window pointer is NULL, etc., but they aren't discriminatory either. Fixes: lp:1834975 * https://bugs.launchpad.net/kicad/+bug/1834975 Fixes: lp:1834966 * https://bugs.launchpad.net/kicad/+bug/1834966 (cherry picked from commit 1c30f3d9a97d2058ec4c88ee75ffc3b8d85a7afa) --- .../dialog_edit_footprint_for_fp_editor.cpp | 34 +- .../dialog_edit_footprint_for_fp_editor.h | 1 - ...alog_edit_footprint_for_fp_editor_base.cpp | 264 ++-- ...alog_edit_footprint_for_fp_editor_base.fbp | 1211 ++++++++++++++++- ...dialog_edit_footprint_for_fp_editor_base.h | 23 +- 5 files changed, 1308 insertions(+), 225 deletions(-) diff --git a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor.cpp b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor.cpp index 66d1019a39..0911b2626d 100644 --- a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor.cpp +++ b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor.cpp @@ -498,14 +498,15 @@ void DIALOG_FOOTPRINT_FP_EDITOR::OnAdd3DRow( wxCommandEvent& ) bool DIALOG_FOOTPRINT_FP_EDITOR::checkFootprintName( const wxString& aFootprintName ) { - if( aFootprintName.IsEmpty() || !MODULE::IsLibNameValid( aFootprintName ) ) + if( aFootprintName.IsEmpty() ) { - if( aFootprintName.IsEmpty() ) - m_delayedErrorMessage = _( "Footprint must have a name." ); - else - m_delayedErrorMessage.Printf( _( "Footprint name may not contain \"%s\"." ), - MODULE::StringLibNameInvalidChars( true ) ); - + m_delayedErrorMessage = _( "Footprint must have a name." ); + return false; + } + else if( !MODULE::IsLibNameValid( aFootprintName ) ) + { + m_delayedErrorMessage.Printf( _( "Footprint name may not contain \"%s\"." ), + MODULE::StringLibNameInvalidChars( true ) ); return false; } @@ -707,25 +708,6 @@ void DIALOG_FOOTPRINT_FP_EDITOR::OnFootprintNameText( wxCommandEvent& event ) } -void DIALOG_FOOTPRINT_FP_EDITOR::OnFootprintNameKillFocus( wxFocusEvent& event ) -{ - // Only warn once on KillFocus for each error value; after that it just gets annoying. - // This also fixes a bug where we endlessly cycle in some edge cases. - static wxString lastValue = wxEmptyString; - wxString valueNow = m_FootprintNameCtrl->GetValue(); - - if( !m_delayedFocusCtrl && valueNow != lastValue && !checkFootprintName( valueNow ) ) - { - m_delayedFocusCtrl = m_FootprintNameCtrl; - m_delayedFocusPage = 0; - } - - lastValue = valueNow; - - event.Skip(); -} - - void DIALOG_FOOTPRINT_FP_EDITOR::OnAddField( wxCommandEvent& event ) { if( !m_itemsGrid->CommitPendingChanges() ) diff --git a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor.h b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor.h index 8cf0207094..b7a33d5b3a 100644 --- a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor.h +++ b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor.h @@ -83,7 +83,6 @@ private: void OnAdd3DRow( wxCommandEvent& event ) override; void Cfg3DPath( wxCommandEvent& event ) override; void OnGridSize( wxSizeEvent& event ) override; - void OnFootprintNameKillFocus( wxFocusEvent& event ) override; void OnFootprintNameText( wxCommandEvent& event ) override; void OnGridCellChanging( wxGridEvent& event ); void OnAddField( wxCommandEvent& event ) override; diff --git a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.cpp b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.cpp index 16ea9e6b6a..9652346062 100644 --- a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.cpp +++ b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 1 2018) +// C++ code generated with wxFormBuilder (version Dec 30 2017) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -15,26 +15,26 @@ DIALOG_FOOTPRINT_FP_EDITOR_BASE::DIALOG_FOOTPRINT_FP_EDITOR_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - + m_GeneralBoxSizer = new wxBoxSizer( wxVERTICAL ); - + m_NoteBook = new wxNotebook( this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize, 0 ); m_PanelGeneral = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* m_PanelPropertiesBoxSizer; m_PanelPropertiesBoxSizer = new wxBoxSizer( wxVERTICAL ); - + wxStaticBoxSizer* sbSizerTexts; sbSizerTexts = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, wxEmptyString ), wxVERTICAL ); - + m_itemsGrid = new WX_GRID( sbSizerTexts->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 ); - + // Grid m_itemsGrid->CreateGrid( 2, 11 ); m_itemsGrid->EnableEditing( true ); m_itemsGrid->EnableGridLines( true ); m_itemsGrid->EnableDragGridSize( false ); m_itemsGrid->SetMargins( 0, 0 ); - + // Columns m_itemsGrid->SetColSize( 0, 124 ); m_itemsGrid->SetColSize( 1, 60 ); @@ -62,132 +62,132 @@ DIALOG_FOOTPRINT_FP_EDITOR_BASE::DIALOG_FOOTPRINT_FP_EDITOR_BASE( wxWindow* pare m_itemsGrid->SetColLabelValue( 9, _("X Offset") ); m_itemsGrid->SetColLabelValue( 10, _("Y Offset") ); m_itemsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER ); - + // Rows m_itemsGrid->EnableDragRowSize( false ); m_itemsGrid->SetRowLabelSize( 100 ); m_itemsGrid->SetRowLabelValue( 0, _("Reference") ); m_itemsGrid->SetRowLabelValue( 1, _("Value") ); m_itemsGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER ); - + // Label Appearance m_itemsGrid->SetLabelFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) ); - + // Cell Defaults m_itemsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP ); m_itemsGrid->SetMinSize( wxSize( 800,140 ) ); sbSizerTexts->Add( m_itemsGrid, 1, wxEXPAND|wxBOTTOM, 5 ); - + wxBoxSizer* bButtonSize; bButtonSize = new wxBoxSizer( wxHORIZONTAL ); - - m_bpAdd = new wxBitmapButton( sbSizerTexts->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); + + m_bpAdd = new wxBitmapButton( sbSizerTexts->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); m_bpAdd->SetMinSize( wxSize( 30,29 ) ); - + bButtonSize->Add( m_bpAdd, 0, wxRIGHT, 5 ); - - + + bButtonSize->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - m_bpDelete = new wxBitmapButton( sbSizerTexts->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); + + m_bpDelete = new wxBitmapButton( sbSizerTexts->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); m_bpDelete->SetMinSize( wxSize( 30,29 ) ); - + bButtonSize->Add( m_bpDelete, 0, wxRIGHT|wxLEFT, 5 ); - - + + sbSizerTexts->Add( bButtonSize, 0, wxEXPAND, 5 ); - - + + m_PanelPropertiesBoxSizer->Add( sbSizerTexts, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - + wxFlexGridSizer* fgSizerFPID; fgSizerFPID = new wxFlexGridSizer( 4, 2, 3, 0 ); fgSizerFPID->AddGrowableCol( 1 ); fgSizerFPID->SetFlexibleDirection( wxBOTH ); fgSizerFPID->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - + wxStaticText* staticFPNameLabel; staticFPNameLabel = new wxStaticText( m_PanelGeneral, wxID_ANY, _("Footprint name:"), wxDefaultPosition, wxDefaultSize, 0 ); staticFPNameLabel->Wrap( -1 ); fgSizerFPID->Add( staticFPNameLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 ); - + m_FootprintNameCtrl = new wxTextCtrl( m_PanelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizerFPID->Add( m_FootprintNameCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - + wxStaticText* staticDescriptionLabel; staticDescriptionLabel = new wxStaticText( m_PanelGeneral, wxID_ANY, _("Description:"), wxDefaultPosition, wxDefaultSize, 0 ); staticDescriptionLabel->Wrap( -1 ); fgSizerFPID->Add( staticDescriptionLabel, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); - + m_DocCtrl = new wxTextCtrl( m_PanelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizerFPID->Add( m_DocCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - + staticKeywordsLabel = new wxStaticText( m_PanelGeneral, wxID_ANY, _("Keywords:"), wxDefaultPosition, wxDefaultSize, 0 ); staticKeywordsLabel->Wrap( -1 ); fgSizerFPID->Add( staticKeywordsLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); - + m_KeywordCtrl = new wxTextCtrl( m_PanelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizerFPID->Add( m_KeywordCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - + + m_PanelPropertiesBoxSizer->Add( fgSizerFPID, 0, wxEXPAND|wxALL, 5 ); - + wxBoxSizer* bSizerProperties; bSizerProperties = new wxBoxSizer( wxHORIZONTAL ); - + wxString m_AutoPlaceCtrlChoices[] = { _("Free"), _("Lock footprint") }; int m_AutoPlaceCtrlNChoices = sizeof( m_AutoPlaceCtrlChoices ) / sizeof( wxString ); m_AutoPlaceCtrl = new wxRadioBox( m_PanelGeneral, wxID_ANY, _("Move and Place"), wxDefaultPosition, wxDefaultSize, m_AutoPlaceCtrlNChoices, m_AutoPlaceCtrlChoices, 1, wxRA_SPECIFY_COLS ); m_AutoPlaceCtrl->SetSelection( 0 ); bSizerProperties->Add( m_AutoPlaceCtrl, 1, wxTOP|wxRIGHT|wxLEFT, 5 ); - + m_sizerAP = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, _("Auto-placement Rules") ), wxVERTICAL ); - + m_sizerAllow90 = new wxBoxSizer( wxVERTICAL ); - + m_allow90Label = new wxStaticText( m_sizerAP->GetStaticBox(), wxID_ANY, _("Allow 90 degree rotated placement:"), wxDefaultPosition, wxDefaultSize, 0 ); m_allow90Label->Wrap( -1 ); m_allow90Label->SetFont( wxFont( 11, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - + m_sizerAllow90->Add( m_allow90Label, 0, 0, 5 ); - + m_CostRot90Ctrl = new wxSlider( m_sizerAP->GetStaticBox(), wxID_ANY, 0, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS ); m_sizerAllow90->Add( m_CostRot90Ctrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - + + m_sizerAP->Add( m_sizerAllow90, 0, wxEXPAND, 5 ); - - + + m_sizerAP->Add( 0, 8, 1, wxEXPAND, 5 ); - + m_sizerAllow180 = new wxBoxSizer( wxVERTICAL ); - + m_allow180Label = new wxStaticText( m_sizerAP->GetStaticBox(), wxID_ANY, _("Allow 180 degree rotated placement:"), wxDefaultPosition, wxDefaultSize, 0 ); m_allow180Label->Wrap( -1 ); m_allow180Label->SetFont( wxFont( 11, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - + m_sizerAllow180->Add( m_allow180Label, 0, 0, 5 ); - + m_CostRot180Ctrl = new wxSlider( m_sizerAP->GetStaticBox(), wxID_ANY, 0, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS ); m_sizerAllow180->Add( m_CostRot180Ctrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - + + m_sizerAP->Add( m_sizerAllow180, 0, wxEXPAND, 5 ); - - + + bSizerProperties->Add( m_sizerAP, 1, wxEXPAND|wxTOP, 5 ); - + wxString m_AttributsCtrlChoices[] = { _("Through hole"), _("Surface mount"), _("Virtual") }; int m_AttributsCtrlNChoices = sizeof( m_AttributsCtrlChoices ) / sizeof( wxString ); m_AttributsCtrl = new wxRadioBox( m_PanelGeneral, wxID_ANY, _("Fabrication Attributes"), wxDefaultPosition, wxDefaultSize, m_AttributsCtrlNChoices, m_AttributsCtrlChoices, 1, wxRA_SPECIFY_COLS ); m_AttributsCtrl->SetSelection( 1 ); bSizerProperties->Add( m_AttributsCtrl, 1, wxTOP|wxRIGHT|wxLEFT, 5 ); - - + + m_PanelPropertiesBoxSizer->Add( bSizerProperties, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); - - + + m_PanelGeneral->SetSizer( m_PanelPropertiesBoxSizer ); m_PanelGeneral->Layout(); m_PanelPropertiesBoxSizer->Fit( m_PanelGeneral ); @@ -195,134 +195,134 @@ DIALOG_FOOTPRINT_FP_EDITOR_BASE::DIALOG_FOOTPRINT_FP_EDITOR_BASE( wxWindow* pare m_PanelClearances = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizerPanelClearances; bSizerPanelClearances = new wxBoxSizer( wxVERTICAL ); - + wxStaticBoxSizer* sbSizerLocalProperties; sbSizerLocalProperties = new wxStaticBoxSizer( new wxStaticBox( m_PanelClearances, wxID_ANY, _("Clearances") ), wxVERTICAL ); - + m_staticTextInfo = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Set values to 0 to use netclass values."), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextInfo->Wrap( -1 ); m_staticTextInfo->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - + sbSizerLocalProperties->Add( m_staticTextInfo, 0, wxRIGHT, 10 ); - + m_staticTextInfoValPos = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Positive clearance means area bigger than the pad (usual for mask clearance)."), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextInfoValPos->Wrap( -1 ); m_staticTextInfoValPos->SetFont( wxFont( 12, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - + sbSizerLocalProperties->Add( m_staticTextInfoValPos, 0, wxTOP|wxRIGHT, 10 ); - + m_staticTextInfoValNeg = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Negative clearance means area smaller than the pad (usual for paste clearance)."), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextInfoValNeg->Wrap( -1 ); m_staticTextInfoValNeg->SetFont( wxFont( 12, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - + sbSizerLocalProperties->Add( m_staticTextInfoValNeg, 0, wxBOTTOM|wxRIGHT, 10 ); - + wxFlexGridSizer* fgSizerClearances; fgSizerClearances = new wxFlexGridSizer( 5, 3, 0, 0 ); fgSizerClearances->AddGrowableCol( 1 ); fgSizerClearances->SetFlexibleDirection( wxBOTH ); fgSizerClearances->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - + m_NetClearanceLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Pad clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); m_NetClearanceLabel->Wrap( -1 ); m_NetClearanceLabel->SetToolTip( _("This is the local net clearance for all pads of this footprint.\nIf 0, the Netclass values are used.\nThis value can be overridden on a pad-by-pad basis in the Local\nClearance and Settings tab of Pad Properties.") ); - + fgSizerClearances->Add( m_NetClearanceLabel, 0, wxALIGN_CENTER_VERTICAL, 5 ); - + m_NetClearanceCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizerClearances->Add( m_NetClearanceCtrl, 1, wxEXPAND|wxALL, 5 ); - + m_NetClearanceUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_NetClearanceUnits->Wrap( -1 ); fgSizerClearances->Add( m_NetClearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 ); - + m_SolderMaskMarginLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); m_SolderMaskMarginLabel->Wrap( -1 ); m_SolderMaskMarginLabel->SetToolTip( _("This is the local clearance between pads and the solder mask for \nthis footprint.\nIf 0, the global value is used.\nThis value can be overridden on a pad-by-pad basis in the Local\nClearance and Settings tab of Pad Properties.") ); - + fgSizerClearances->Add( m_SolderMaskMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 ); - + m_SolderMaskMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizerClearances->Add( m_SolderMaskMarginCtrl, 1, wxALL|wxEXPAND, 5 ); - + m_SolderMaskMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_SolderMaskMarginUnits->Wrap( -1 ); fgSizerClearances->Add( m_SolderMaskMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 ); - + m_SolderPasteMarginLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); m_SolderPasteMarginLabel->Wrap( -1 ); m_SolderPasteMarginLabel->SetToolTip( _("This is the local clearance between pads and the solder paste for\nthis footprint.\nThe final clearance value is the sum of this value and the clearance value ratio.\nA negative value means a smaller mask size than pad size.\nThis value can be overridden on a pad-by-pad basis in the Local\nClearance and Settings tab of Pad Properties.") ); - + fgSizerClearances->Add( m_SolderPasteMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - + m_SolderPasteMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizerClearances->Add( m_SolderPasteMarginCtrl, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 ); - + m_SolderPasteMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_SolderPasteMarginUnits->Wrap( -1 ); fgSizerClearances->Add( m_SolderPasteMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - + m_staticTextRatio = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste ratio clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextRatio->Wrap( -1 ); m_staticTextRatio->SetToolTip( _("This is the local clearance ratio in percent between pads and the\nsolder paste for this footprint.\nA value of 10 means the clearance value is 10 percent of the pad size.\nThe final clearance value is the sum of this value and the clearance value.\nA negative value means a smaller mask size than pad size.\nThis value can be overridden on a pad-by-pad basis in the Local\nClearance and Settings tab of Pad Properties.") ); - + fgSizerClearances->Add( m_staticTextRatio, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 ); - + m_SolderPasteMarginRatioCtrl = new TEXT_CTRL_EVAL( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizerClearances->Add( m_SolderPasteMarginRatioCtrl, 1, wxALL|wxEXPAND, 5 ); - + m_SolderPasteRatioMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 ); m_SolderPasteRatioMarginUnits->Wrap( -1 ); fgSizerClearances->Add( m_SolderPasteRatioMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 ); - - + + sbSizerLocalProperties->Add( fgSizerClearances, 1, wxEXPAND, 5 ); - + m_staticTextInfoCopper = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Note: solder mask and paste values are used only for pads on copper layers."), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextInfoCopper->Wrap( -1 ); m_staticTextInfoCopper->SetFont( wxFont( 12, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - + sbSizerLocalProperties->Add( m_staticTextInfoCopper, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 10 ); - - + + bSizerPanelClearances->Add( sbSizerLocalProperties, 0, wxEXPAND|wxALL, 10 ); - + wxStaticBoxSizer* sbSizer5; sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( m_PanelClearances, wxID_ANY, _("Connection to Copper Zones") ), wxHORIZONTAL ); - + m_staticText16 = new wxStaticText( sbSizer5->GetStaticBox(), wxID_ANY, _("Pad connection to zones:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText16->Wrap( -1 ); sbSizer5->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); - + wxString m_ZoneConnectionChoiceChoices[] = { _("Use zone setting"), _("Solid"), _("Thermal relief"), _("None") }; int m_ZoneConnectionChoiceNChoices = sizeof( m_ZoneConnectionChoiceChoices ) / sizeof( wxString ); m_ZoneConnectionChoice = new wxChoice( sbSizer5->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneConnectionChoiceNChoices, m_ZoneConnectionChoiceChoices, 0 ); m_ZoneConnectionChoice->SetSelection( 0 ); sbSizer5->Add( m_ZoneConnectionChoice, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - + + bSizerPanelClearances->Add( sbSizer5, 0, wxALL|wxEXPAND, 10 ); - - + + m_PanelClearances->SetSizer( bSizerPanelClearances ); m_PanelClearances->Layout(); bSizerPanelClearances->Fit( m_PanelClearances ); m_NoteBook->AddPage( m_PanelClearances, _("Local Clearance and Settings"), false ); m_Panel3D = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); bSizerMain3D = new wxBoxSizer( wxVERTICAL ); - + wxStaticBoxSizer* sbSizer3; sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_Panel3D, wxID_ANY, wxEmptyString ), wxVERTICAL ); - + m_modelsGrid = new WX_GRID( sbSizer3->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE ); - + // Grid m_modelsGrid->CreateGrid( 3, 2 ); m_modelsGrid->EnableEditing( true ); m_modelsGrid->EnableGridLines( false ); m_modelsGrid->EnableDragGridSize( false ); m_modelsGrid->SetMargins( 0, 0 ); - + // Columns m_modelsGrid->SetColSize( 0, 650 ); m_modelsGrid->SetColSize( 1, 65 ); @@ -332,85 +332,84 @@ DIALOG_FOOTPRINT_FP_EDITOR_BASE::DIALOG_FOOTPRINT_FP_EDITOR_BASE( wxWindow* pare m_modelsGrid->SetColLabelValue( 0, _("3D Model(s)") ); m_modelsGrid->SetColLabelValue( 1, _("Preview") ); m_modelsGrid->SetColLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER ); - + // Rows m_modelsGrid->EnableDragRowSize( false ); m_modelsGrid->SetRowLabelSize( 0 ); m_modelsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER ); - + // Label Appearance - + // Cell Defaults m_modelsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP ); sbSizer3->Add( m_modelsGrid, 1, wxEXPAND|wxRIGHT, 5 ); - + wxBoxSizer* bSizer3DButtons; bSizer3DButtons = new wxBoxSizer( wxHORIZONTAL ); - - m_button3DShapeAdd = new wxBitmapButton( sbSizer3->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,29 ), wxBU_AUTODRAW|0 ); + + m_button3DShapeAdd = new wxBitmapButton( sbSizer3->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,29 ), 0 ); bSizer3DButtons->Add( m_button3DShapeAdd, 0, wxTOP|wxBOTTOM, 5 ); - - m_button3DShapeBrowse = new wxBitmapButton( sbSizer3->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,29 ), wxBU_AUTODRAW|0 ); + + m_button3DShapeBrowse = new wxBitmapButton( sbSizer3->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,29 ), 0 ); bSizer3DButtons->Add( m_button3DShapeBrowse, 0, wxALL, 5 ); - - + + bSizer3DButtons->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - m_button3DShapeRemove = new wxBitmapButton( sbSizer3->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,29 ), wxBU_AUTODRAW|0 ); + + m_button3DShapeRemove = new wxBitmapButton( sbSizer3->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,29 ), 0 ); bSizer3DButtons->Add( m_button3DShapeRemove, 0, wxTOP|wxBOTTOM, 5 ); - - + + bSizer3DButtons->Add( 0, 0, 1, wxEXPAND, 5 ); - + m_buttonConfig3DPaths = new wxButton( sbSizer3->GetStaticBox(), wxID_ANY, _("Configure Paths..."), wxDefaultPosition, wxDefaultSize, 0 ); bSizer3DButtons->Add( m_buttonConfig3DPaths, 0, wxALL, 5 ); - - + + sbSizer3->Add( bSizer3DButtons, 0, wxEXPAND, 5 ); - - + + bSizerMain3D->Add( sbSizer3, 5, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - + bLowerSizer3D = new wxBoxSizer( wxHORIZONTAL ); - - + + bSizerMain3D->Add( bLowerSizer3D, 10, wxEXPAND, 5 ); - - + + m_Panel3D->SetSizer( bSizerMain3D ); m_Panel3D->Layout(); bSizerMain3D->Fit( m_Panel3D ); m_NoteBook->AddPage( m_Panel3D, _("3D Settings"), false ); - + m_GeneralBoxSizer->Add( m_NoteBook, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - + wxBoxSizer* bSizer16; bSizer16 = new wxBoxSizer( wxHORIZONTAL ); - + m_sdbSizerStdButtons = new wxStdDialogButtonSizer(); m_sdbSizerStdButtonsOK = new wxButton( this, wxID_OK ); m_sdbSizerStdButtons->AddButton( m_sdbSizerStdButtonsOK ); m_sdbSizerStdButtonsCancel = new wxButton( this, wxID_CANCEL ); m_sdbSizerStdButtons->AddButton( m_sdbSizerStdButtonsCancel ); m_sdbSizerStdButtons->Realize(); - + bSizer16->Add( m_sdbSizerStdButtons, 1, wxEXPAND|wxALL, 5 ); - - + + m_GeneralBoxSizer->Add( bSizer16, 0, wxEXPAND, 5 ); - - + + this->SetSizer( m_GeneralBoxSizer ); this->Layout(); m_GeneralBoxSizer->Fit( this ); - + // Connect Events this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnInitDlg ) ); this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnUpdateUI ) ); m_itemsGrid->Connect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnGridSize ), NULL, this ); m_bpAdd->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnAddField ), NULL, this ); m_bpDelete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnDeleteField ), NULL, this ); - m_FootprintNameCtrl->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnFootprintNameKillFocus ), NULL, this ); m_FootprintNameCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnFootprintNameText ), NULL, this ); m_modelsGrid->Connect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::On3DModelCellChanged ), NULL, this ); m_modelsGrid->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::On3DModelSelected ), NULL, this ); @@ -428,7 +427,6 @@ DIALOG_FOOTPRINT_FP_EDITOR_BASE::~DIALOG_FOOTPRINT_FP_EDITOR_BASE() m_itemsGrid->Disconnect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnGridSize ), NULL, this ); m_bpAdd->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnAddField ), NULL, this ); m_bpDelete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnDeleteField ), NULL, this ); - m_FootprintNameCtrl->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnFootprintNameKillFocus ), NULL, this ); m_FootprintNameCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnFootprintNameText ), NULL, this ); m_modelsGrid->Disconnect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::On3DModelCellChanged ), NULL, this ); m_modelsGrid->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::On3DModelSelected ), NULL, this ); @@ -436,5 +434,5 @@ DIALOG_FOOTPRINT_FP_EDITOR_BASE::~DIALOG_FOOTPRINT_FP_EDITOR_BASE() m_button3DShapeBrowse->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnAdd3DModel ), NULL, this ); m_button3DShapeRemove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::OnRemove3DModel ), NULL, this ); m_buttonConfig3DPaths->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_FP_EDITOR_BASE::Cfg3DPath ), NULL, this ); - + } diff --git a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.fbp b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.fbp index 16e4a16749..c526f54b9c 100644 --- a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.fbp +++ b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.fbp @@ -1,6 +1,6 @@ - + C++ @@ -14,7 +14,6 @@ dialog_edit_footprint_for_fp_editor_base 1000 none - 1 dialog_edit_footprint_for_fp_editor_base @@ -53,7 +52,41 @@ + + + + + + + + + + + + + + + OnInitDlg + + + + + + + + + + + + + + + + + + + OnUpdateUI @@ -117,6 +150,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + General @@ -172,6 +230,29 @@ wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + m_PanelPropertiesBoxSizer @@ -189,6 +270,7 @@ wxVERTICAL 1 none + 5 wxEXPAND|wxBOTTOM @@ -275,7 +357,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OnGridSize + @@ -309,7 +445,6 @@ 1 1 - 0 0 @@ -323,10 +458,9 @@ 0 0 + wxID_ANY Add Field - - 0 0 @@ -341,9 +475,8 @@ protected 1 - - Resizable + 1 @@ -358,6 +491,29 @@ OnAddField + + + + + + + + + + + + + + + + + + + + + + + @@ -392,7 +548,6 @@ 1 1 - 0 0 @@ -406,10 +561,9 @@ 0 0 + wxID_ANY Delete Field - - 0 0 @@ -424,9 +578,8 @@ protected 1 - - Resizable + 1 @@ -441,6 +594,29 @@ OnDeleteField + + + + + + + + + + + + + + + + + + + + + + + @@ -496,7 +672,6 @@ 0 wxID_ANY Footprint name: - 0 0 @@ -522,6 +697,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -586,8 +784,33 @@ - OnFootprintNameKillFocus + + + + + + + + + + + + + + + + + + + + + + OnFootprintNameText + + + + @@ -623,7 +846,6 @@ 0 wxID_ANY Description: - 0 0 @@ -649,6 +871,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -713,6 +958,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -748,7 +1020,6 @@ 0 wxID_ANY Keywords: - 0 0 @@ -774,6 +1045,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -838,6 +1132,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -915,6 +1236,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -929,6 +1274,7 @@ wxVERTICAL 1 protected + 5 wxEXPAND @@ -971,7 +1317,6 @@ 0 wxID_ANY Allow 90 degree rotated placement: - 0 0 @@ -997,6 +1342,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1062,6 +1430,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1118,7 +1529,6 @@ 0 wxID_ANY Allow 180 degree rotated placement: - 0 0 @@ -1144,6 +1554,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1209,6 +1642,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1279,6 +1755,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -1341,6 +1841,29 @@ wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + bSizerPanelClearances @@ -1358,6 +1881,7 @@ wxVERTICAL 1 none + 10 wxRIGHT @@ -1391,7 +1915,6 @@ 0 wxID_ANY Set values to 0 to use netclass values. - 0 0 @@ -1417,6 +1940,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1452,7 +1998,6 @@ 0 wxID_ANY Positive clearance means area bigger than the pad (usual for mask clearance). - 0 0 @@ -1478,6 +2023,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1513,7 +2081,6 @@ 0 wxID_ANY Negative clearance means area smaller than the pad (usual for paste clearance). - 0 0 @@ -1539,6 +2106,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1590,7 +2180,6 @@ 0 wxID_ANY Pad clearance: - 0 0 @@ -1616,6 +2205,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1680,6 +2292,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1715,7 +2354,6 @@ 0 wxID_ANY unit - 0 0 @@ -1741,6 +2379,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1776,7 +2437,6 @@ 0 wxID_ANY Solder mask clearance: - 0 0 @@ -1802,6 +2462,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1866,6 +2549,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1901,7 +2611,6 @@ 0 wxID_ANY unit - 0 0 @@ -1927,6 +2636,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -1962,7 +2694,6 @@ 0 wxID_ANY Solder paste clearance: - 0 0 @@ -1988,6 +2719,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -2052,6 +2806,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2087,7 +2868,6 @@ 0 wxID_ANY unit - 0 0 @@ -2113,6 +2893,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -2148,7 +2951,6 @@ 0 wxID_ANY Solder paste ratio clearance: - 0 0 @@ -2174,6 +2976,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -2238,6 +3063,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2273,7 +3125,6 @@ 0 wxID_ANY % - 0 0 @@ -2299,6 +3150,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -2336,7 +3210,6 @@ 0 wxID_ANY Note: solder mask and paste values are used only for pads on copper layers. - 0 0 @@ -2362,6 +3235,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -2378,6 +3274,7 @@ wxHORIZONTAL 1 none + 5 wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT @@ -2411,7 +3308,6 @@ 0 wxID_ANY Pad connection to zones: - 0 0 @@ -2437,6 +3333,29 @@ -1 + + + + + + + + + + + + + + + + + + + + + + + @@ -2501,6 +3420,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -2563,6 +3506,29 @@ wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + bSizerMain3D @@ -2580,6 +3546,7 @@ wxVERTICAL 1 none + 5 wxEXPAND|wxRIGHT @@ -2666,8 +3633,61 @@ wxBORDER_SIMPLE + + + On3DModelCellChanged + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + On3DModelSelected + + + + + + + + + + + + + + + + + + + + @@ -2701,7 +3721,6 @@ 1 1 - 0 0 @@ -2715,10 +3734,9 @@ 0 0 + wxID_ANY Add 3D Model - - 0 0 @@ -2733,9 +3751,8 @@ protected 1 - - Resizable + 1 30,29 @@ -2750,6 +3767,29 @@ OnAdd3DRow + + + + + + + + + + + + + + + + + + + + + + + @@ -2774,7 +3814,6 @@ 1 1 - 0 0 @@ -2788,10 +3827,9 @@ 0 0 + wxID_ANY Browse - - 0 0 @@ -2806,9 +3844,8 @@ protected 1 - - Resizable + 1 30,29 @@ -2823,6 +3860,29 @@ OnAdd3DModel + + + + + + + + + + + + + + + + + + + + + + + @@ -2857,7 +3917,6 @@ 1 1 - 0 0 @@ -2871,10 +3930,9 @@ 0 0 + wxID_ANY Remove 3D Model - - 0 0 @@ -2889,9 +3947,8 @@ protected 1 - - Resizable + 1 30,29 @@ -2906,6 +3963,29 @@ OnRemove3DModel + + + + + + + + + + + + + + + + + + + + + + + @@ -2933,31 +4013,25 @@ - 1 0 1 1 - 0 0 - Dock 0 Left 1 1 - 0 0 wxID_ANY Configure Paths... - - 0 0 @@ -2972,8 +4046,6 @@ protected 1 - - Resizable 1 @@ -2989,6 +4061,29 @@ Cfg3DPath + + + + + + + + + + + + + + + + + + + + + + + @@ -3036,6 +4131,14 @@ m_sdbSizerStdButtons protected + + + + + + + + diff --git a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.h b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.h index 7f27974d06..7ae077b445 100644 --- a/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.h +++ b/pcbnew/dialogs/dialog_edit_footprint_for_fp_editor_base.h @@ -1,11 +1,12 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 1 2018) +// C++ code generated with wxFormBuilder (version Dec 30 2017) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// -#pragma once +#ifndef __DIALOG_EDIT_FOOTPRINT_FOR_FP_EDITOR_BASE_H__ +#define __DIALOG_EDIT_FOOTPRINT_FOR_FP_EDITOR_BASE_H__ #include #include @@ -20,10 +21,10 @@ class WX_GRID; #include #include #include -#include #include #include #include +#include #include #include #include @@ -47,7 +48,7 @@ class DIALOG_FOOTPRINT_FP_EDITOR_BASE : public DIALOG_SHIM { private: wxBoxSizer* m_GeneralBoxSizer; - + protected: wxNotebook* m_NoteBook; wxPanel* m_PanelGeneral; @@ -97,14 +98,13 @@ class DIALOG_FOOTPRINT_FP_EDITOR_BASE : public DIALOG_SHIM wxStdDialogButtonSizer* m_sdbSizerStdButtons; wxButton* m_sdbSizerStdButtonsOK; wxButton* m_sdbSizerStdButtonsCancel; - + // Virtual event handlers, overide them in your derived class virtual void OnInitDlg( wxInitDialogEvent& event ) { event.Skip(); } virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } virtual void OnGridSize( wxSizeEvent& event ) { event.Skip(); } virtual void OnAddField( wxCommandEvent& event ) { event.Skip(); } virtual void OnDeleteField( wxCommandEvent& event ) { event.Skip(); } - virtual void OnFootprintNameKillFocus( wxFocusEvent& event ) { event.Skip(); } virtual void OnFootprintNameText( wxCommandEvent& event ) { event.Skip(); } virtual void On3DModelCellChanged( wxGridEvent& event ) { event.Skip(); } virtual void On3DModelSelected( wxGridEvent& event ) { event.Skip(); } @@ -112,12 +112,13 @@ class DIALOG_FOOTPRINT_FP_EDITOR_BASE : public DIALOG_SHIM virtual void OnAdd3DModel( wxCommandEvent& event ) { event.Skip(); } virtual void OnRemove3DModel( wxCommandEvent& event ) { event.Skip(); } virtual void Cfg3DPath( wxCommandEvent& event ) { event.Skip(); } - - + + public: - - DIALOG_FOOTPRINT_FP_EDITOR_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Footprint Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); + + DIALOG_FOOTPRINT_FP_EDITOR_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Footprint Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); ~DIALOG_FOOTPRINT_FP_EDITOR_BASE(); - + }; +#endif //__DIALOG_EDIT_FOOTPRINT_FOR_FP_EDITOR_BASE_H__