diff --git a/pcbnew/class_pad.cpp b/pcbnew/class_pad.cpp index 7e73a0f7ac..755cb6df45 100644 --- a/pcbnew/class_pad.cpp +++ b/pcbnew/class_pad.cpp @@ -204,6 +204,15 @@ int D_PAD::GetRoundRectCornerRadius( const wxSize& aSize ) const } +void D_PAD::SetRoundRectCornerRadius( double aRadius ) +{ + int min_r = std::min( m_Size.x, m_Size.y ); + + if( min_r > 0 ) + SetRoundRectRadiusRatio( aRadius / min_r ); +} + + const EDA_RECT D_PAD::GetBoundingBox() const { EDA_RECT area; diff --git a/pcbnew/class_pad.h b/pcbnew/class_pad.h index 7c93b45ff2..5b1e3260d1 100644 --- a/pcbnew/class_pad.h +++ b/pcbnew/class_pad.h @@ -541,6 +541,12 @@ public: */ int GetRoundRectCornerRadius( const wxSize& aSize ) const; + /** + * Set the rounded rectangle radius ratio based on a given radius + * @param aRadius = desired radius of curvature + */ + void SetRoundRectCornerRadius( double aRadius ); + /** * Function BuildPadShapePolygon * Build the Corner list of the polygonal shape, diff --git a/pcbnew/dialogs/dialog_pad_properties.cpp b/pcbnew/dialogs/dialog_pad_properties.cpp index f9ddb56bc6..088befee91 100644 --- a/pcbnew/dialogs/dialog_pad_properties.cpp +++ b/pcbnew/dialogs/dialog_pad_properties.cpp @@ -112,7 +112,7 @@ DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES( PCB_BASE_FRAME* aParent, D_PAD* aP m_offsetY( aParent, m_offsetYLabel, m_offsetYCtrl, m_offsetYUnits, true ), m_padToDie( aParent, m_padToDieLabel, m_padToDieCtrl, m_padToDieUnits, true ), m_trapDelta( aParent, m_trapDeltaLabel, m_trapDeltaCtrl, m_trapDeltaUnits, true ), - m_cornerRadius( aParent, m_cornerRadiusLabel, m_cornerRadiusValue, m_cornerRadiusUnits, true ), + m_cornerRadius( aParent, m_cornerRadiusLabel, m_tcCornerRadius, m_cornerRadiusUnits, true ), m_holeX( aParent, m_holeXLabel, m_holeXCtrl, m_holeXUnits, true, 0 ), m_holeY( aParent, m_holeYLabel, m_holeYCtrl, m_holeYUnits, true, 0 ), m_OrientValidator( 1, &m_OrientValue ), @@ -467,6 +467,32 @@ void DIALOG_PAD_PROPERTIES::updateRoundRectCornerValues() } +void DIALOG_PAD_PROPERTIES::onCornerRadiusChange( wxCommandEvent& event ) +{ + if( m_dummyPad->GetShape() != PAD_SHAPE_ROUNDRECT ) + return; + + wxString value = m_tcCornerRadius->GetValue(); + double rrRadius; + + if( value.ToDouble( &rrRadius ) ) + { + if( rrRadius < 0.0 ) + { + rrRadius = 0.0; + m_tcCornerRadius->ChangeValue( "0.0" ); + } + + transferDataToPad( m_dummyPad ); + m_dummyPad->SetRoundRectCornerRadius( Millimeter2iu( rrRadius ) ); + + auto ratio = wxString::Format( "%.1f", m_dummyPad->GetRoundRectRadiusRatio() * 100 ); + m_tcCornerSizeRatio->ChangeValue( ratio ); + redraw(); + } +} + + void DIALOG_PAD_PROPERTIES::onCornerSizePercentChange( wxCommandEvent& event ) { if( m_dummyPad->GetShape() != PAD_SHAPE_ROUNDRECT ) @@ -491,7 +517,7 @@ void DIALOG_PAD_PROPERTIES::onCornerSizePercentChange( wxCommandEvent& event ) } transferDataToPad( m_dummyPad ); - m_cornerRadius.SetValue( m_dummyPad->GetRoundRectCornerRadius() ); + m_cornerRadius.ChangeValue( m_dummyPad->GetRoundRectCornerRadius() ); redraw(); } } diff --git a/pcbnew/dialogs/dialog_pad_properties.h b/pcbnew/dialogs/dialog_pad_properties.h index 2ba5a81d28..15a6f3805c 100644 --- a/pcbnew/dialogs/dialog_pad_properties.h +++ b/pcbnew/dialogs/dialog_pad_properties.h @@ -138,6 +138,7 @@ private: // Called when corner setup value is changed for rounded rect pads void onCornerSizePercentChange( wxCommandEvent& event ) override; + void onCornerRadiusChange( wxCommandEvent& event ) override; /// Called when a dimension has changed. /// Update the graphical pad shown in the panel. diff --git a/pcbnew/dialogs/dialog_pad_properties_base.cpp b/pcbnew/dialogs/dialog_pad_properties_base.cpp index 90942a3d22..de05d4f03d 100644 --- a/pcbnew/dialogs/dialog_pad_properties_base.cpp +++ b/pcbnew/dialogs/dialog_pad_properties_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Apr 19 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -219,13 +219,12 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind m_cornerRadiusLabel->Wrap( -1 ); m_cornerRadiusLabel->SetToolTip( _("Corner radius.\nCan be no more than half pad width.\nThe width is the smaller value between size X and size Y.\nNote: IPC norm gives a max value = 0.25mm.") ); - fgSizerShapeType->Add( m_cornerRadiusLabel, 0, wxRIGHT|wxLEFT, 3 ); + fgSizerShapeType->Add( m_cornerRadiusLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 3 ); - m_cornerRadiusValue = new wxStaticText( m_panelGeneral, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 ); - m_cornerRadiusValue->Wrap( -1 ); - m_cornerRadiusValue->SetToolTip( _("Corner radius.\nCan be no more than half pad width.\nThe width is the smaller value between size X and size Y\nNote: IPC norm gives a max value = 0.25mm") ); + m_tcCornerRadius = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_tcCornerRadius->SetToolTip( _("Corner radius.\nCan be no more than half pad width.\nThe width is the smaller value between size X and size Y\nNote: IPC norm gives a max value = 0.25mm") ); - fgSizerShapeType->Add( m_cornerRadiusValue, 0, wxRIGHT|wxLEFT, 3 ); + fgSizerShapeType->Add( m_tcCornerRadius, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); m_cornerRadiusUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_cornerRadiusUnits->Wrap( -1 ); @@ -725,6 +724,7 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind m_trapDeltaCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this ); m_trapAxisCtrl->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this ); m_tcCornerSizeRatio->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this ); + m_tcCornerRadius->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerRadiusChange ), NULL, this ); m_holeShapeCtrl->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ), NULL, this ); m_holeXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this ); m_holeYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this ); @@ -772,6 +772,7 @@ DIALOG_PAD_PROPERTIES_BASE::~DIALOG_PAD_PROPERTIES_BASE() m_trapDeltaCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this ); m_trapAxisCtrl->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this ); m_tcCornerSizeRatio->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this ); + m_tcCornerRadius->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerRadiusChange ), NULL, this ); m_holeShapeCtrl->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ), NULL, this ); m_holeXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this ); m_holeYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this ); @@ -1114,7 +1115,7 @@ DIALOG_PAD_PRIMITIVE_POLY_PROPS_BASE::DIALOG_PAD_PRIMITIVE_POLY_PROPS_BASE( wxWi wxBoxSizer* bSizerRightButts; bSizerRightButts = new wxBoxSizer( wxHORIZONTAL ); - m_addButton = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); + m_addButton = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); m_addButton->SetMinSize( wxSize( 30,30 ) ); bSizerRightButts->Add( m_addButton, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); @@ -1122,7 +1123,7 @@ DIALOG_PAD_PRIMITIVE_POLY_PROPS_BASE::DIALOG_PAD_PRIMITIVE_POLY_PROPS_BASE( wxWi bSizerRightButts->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - m_deleteButton = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); + m_deleteButton = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); m_deleteButton->SetMinSize( wxSize( 30,30 ) ); bSizerRightButts->Add( m_deleteButton, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); diff --git a/pcbnew/dialogs/dialog_pad_properties_base.fbp b/pcbnew/dialogs/dialog_pad_properties_base.fbp index 311a3acd0e..d259443ce3 100644 --- a/pcbnew/dialogs/dialog_pad_properties_base.fbp +++ b/pcbnew/dialogs/dialog_pad_properties_base.fbp @@ -14,6 +14,7 @@ dialog_pad_properties_base 1000 none + 1 dialog_pad_properties_base @@ -54,13 +55,20 @@ - + + + + + + + + @@ -75,17 +83,23 @@ + + + + + + @@ -159,7 +173,14 @@ + + + + + + + @@ -239,7 +260,14 @@ wxTAB_TRAVERSAL + + + + + + + @@ -325,6 +353,7 @@ 0 wxID_ANY Pad number: + 0 0 @@ -350,7 +379,14 @@ -1 + + + + + + + @@ -437,7 +473,14 @@ + + + + + + + @@ -509,6 +552,7 @@ 0 wxID_ANY Net name: + 0 0 @@ -534,7 +578,14 @@ -1 + + + + + + + @@ -619,7 +670,14 @@ + + + + + + + @@ -687,6 +745,7 @@ 0 wxID_ANY Pad type: + 0 0 @@ -712,7 +771,14 @@ -1 + + + + + + + @@ -799,7 +865,14 @@ + + + + + + + PadTypeSelected @@ -868,6 +941,7 @@ 0 wxID_ANY Shape: + 0 0 @@ -893,7 +967,14 @@ -1 + + + + + + + @@ -980,7 +1061,14 @@ + + + + + + + OnPadShapeSelection @@ -1049,6 +1137,7 @@ 0 wxID_ANY Position X: + 0 0 @@ -1074,7 +1163,14 @@ -1 + + + + + + + @@ -1161,7 +1257,14 @@ + + + + + + + @@ -1223,6 +1326,7 @@ 0 wxID_ANY Inch + 0 0 @@ -1248,7 +1352,14 @@ -1 + + + + + + + @@ -1306,6 +1417,7 @@ 0 wxID_ANY Position Y: + 0 0 @@ -1331,7 +1443,14 @@ -1 + + + + + + + @@ -1418,7 +1537,14 @@ + + + + + + + @@ -1480,6 +1606,7 @@ 0 wxID_ANY Inch + 0 0 @@ -1505,7 +1632,14 @@ -1 + + + + + + + @@ -1563,6 +1697,7 @@ 0 wxID_ANY Size X: + 0 0 @@ -1588,7 +1723,14 @@ -1 + + + + + + + @@ -1675,7 +1817,14 @@ + + + + + + + @@ -1737,6 +1886,7 @@ 0 wxID_ANY Inch + 0 0 @@ -1762,7 +1912,14 @@ -1 + + + + + + + @@ -1820,6 +1977,7 @@ 0 wxID_ANY Size Y: + 0 0 @@ -1845,7 +2003,14 @@ -1 + + + + + + + @@ -1932,7 +2097,14 @@ + + + + + + + @@ -1994,6 +2166,7 @@ 0 wxID_ANY Inch + 0 0 @@ -2019,7 +2192,14 @@ -1 + + + + + + + @@ -2077,6 +2257,7 @@ 0 wxID_ANY Orientation: + 0 0 @@ -2102,7 +2283,14 @@ -1 + + + + + + + @@ -2190,7 +2378,14 @@ + + + + + + + PadOrientEvent @@ -2253,6 +2448,7 @@ 0 wxID_ANY deg + 0 0 @@ -2278,7 +2474,14 @@ -1 + + + + + + + @@ -2336,6 +2539,7 @@ 0 wxID_ANY Shape offset X: + 0 0 @@ -2361,7 +2565,14 @@ -1 + + + + + + + @@ -2448,7 +2659,14 @@ + + + + + + + @@ -2510,6 +2728,7 @@ 0 wxID_ANY Inch + 0 0 @@ -2535,7 +2754,14 @@ -1 + + + + + + + @@ -2593,6 +2819,7 @@ 0 wxID_ANY Shape offset Y: + 0 0 @@ -2618,7 +2845,14 @@ -1 + + + + + + + @@ -2705,7 +2939,14 @@ + + + + + + + @@ -2767,6 +3008,7 @@ 0 wxID_ANY Inch + 0 0 @@ -2792,7 +3034,14 @@ -1 + + + + + + + @@ -2850,6 +3099,7 @@ 0 wxID_ANY Pad to die length: + 0 0 @@ -2875,7 +3125,14 @@ -1 + + + + + + + @@ -2962,7 +3219,14 @@ + + + + + + + @@ -3024,6 +3288,7 @@ 0 wxID_ANY Inch + 0 0 @@ -3049,7 +3314,14 @@ -1 + + + + + + + @@ -3107,6 +3379,7 @@ 0 wxID_ANY Trapezoid delta: + 0 0 @@ -3132,7 +3405,14 @@ -1 + + + + + + + @@ -3219,7 +3499,14 @@ + + + + + + + @@ -3281,6 +3568,7 @@ 0 wxID_ANY Inch + 0 0 @@ -3306,7 +3594,14 @@ -1 + + + + + + + @@ -3364,6 +3659,7 @@ 0 wxID_ANY Trapezoid axis: + 0 0 @@ -3389,7 +3685,14 @@ -1 + + + + + + + @@ -3476,7 +3779,14 @@ + + + + + + + OnSetLayers @@ -3545,6 +3855,7 @@ 0 wxID_ANY Corner size: + 0 0 @@ -3570,7 +3881,14 @@ -1 + + + + + + + @@ -3657,7 +3975,14 @@ + + + + + + + @@ -3719,6 +4044,7 @@ 0 wxID_ANY % + 0 0 @@ -3744,7 +4070,14 @@ -1 + + + + + + + @@ -3771,7 +4104,7 @@ 3 - wxRIGHT|wxLEFT + wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 0 1 @@ -3802,6 +4135,7 @@ 0 wxID_ANY Corner radius: + 0 0 @@ -3827,7 +4161,14 @@ -1 + + + + + + + @@ -3852,11 +4193,11 @@ - + 3 - wxRIGHT|wxLEFT + wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND 0 - + 1 1 1 @@ -3884,15 +4225,15 @@ 0 0 wxID_ANY - dummy 0 + 0 0 1 - m_cornerRadiusValue + m_tcCornerRadius 1 @@ -3903,14 +4244,25 @@ 1 - + TEXT_CTRL_EVAL; widgets/text_ctrl_eval.h; forward_declare 0 Corner radius. Can be no more than half pad width. The width is the smaller value between size X and size Y Note: IPC norm gives a max value = 0.25mm + + wxFILTER_NONE + wxDefaultValidator + + - -1 + + + + + + + @@ -3932,6 +4284,10 @@ + onCornerRadiusChange + + + @@ -3968,6 +4324,7 @@ 0 wxID_ANY unit + 0 0 @@ -3993,7 +4350,14 @@ -1 + + + + + + + @@ -4080,6 +4444,7 @@ 0 wxID_ANY Hole shape: + 0 0 @@ -4105,7 +4470,14 @@ -1 + + + + + + + @@ -4192,7 +4564,14 @@ + + + + + + + OnDrillShapeSelected @@ -4251,6 +4630,7 @@ 0 wxID_ANY + 0 0 @@ -4276,7 +4656,14 @@ -1 + + + + + + + @@ -4334,6 +4721,7 @@ 0 wxID_ANY Hole size X: + 0 0 @@ -4359,7 +4747,14 @@ -1 + + + + + + + @@ -4446,7 +4841,14 @@ + + + + + + + @@ -4508,6 +4910,7 @@ 0 wxID_ANY Inch + 0 0 @@ -4533,7 +4936,14 @@ -1 + + + + + + + @@ -4591,6 +5001,7 @@ 0 wxID_ANY Hole size Y: + 0 0 @@ -4616,7 +5027,14 @@ -1 + + + + + + + @@ -4703,7 +5121,14 @@ + + + + + + + @@ -4765,6 +5190,7 @@ 0 wxID_ANY Inch + 0 0 @@ -4790,7 +5216,14 @@ -1 + + + + + + + @@ -4895,7 +5328,14 @@ + + + + + + + @@ -4953,6 +5393,7 @@ 0 wxID_ANY Parent footprint on board is flipped. Layers will be reversed. + 0 0 @@ -4978,7 +5419,14 @@ 150 + + + + + + + @@ -5047,6 +5495,7 @@ 0 wxID_ANY Copper: + 0 0 @@ -5072,7 +5521,14 @@ -1 + + + + + + + @@ -5159,7 +5615,14 @@ + + + + + + + OnSetLayers @@ -5220,6 +5683,7 @@ 0 wxID_ANY Technical layers: + 0 0 @@ -5245,7 +5709,14 @@ -1 + + + + + + + @@ -5332,7 +5803,14 @@ + + + + + + + OnSetLayers @@ -5420,7 +5898,14 @@ + + + + + + + OnSetLayers @@ -5508,7 +5993,14 @@ + + + + + + + OnSetLayers @@ -5596,7 +6088,14 @@ + + + + + + + OnSetLayers @@ -5684,7 +6183,14 @@ + + + + + + + OnSetLayers @@ -5772,7 +6278,14 @@ + + + + + + + OnSetLayers @@ -5860,7 +6373,14 @@ + + + + + + + OnSetLayers @@ -5948,7 +6468,14 @@ + + + + + + + OnSetLayers @@ -6036,7 +6563,14 @@ + + + + + + + OnSetLayers @@ -6124,7 +6658,14 @@ + + + + + + + OnSetLayers @@ -6212,7 +6753,14 @@ + + + + + + + OnSetLayers @@ -6300,7 +6848,14 @@ wxTAB_TRAVERSAL + + + + + + + @@ -6383,6 +6938,7 @@ 0 wxID_ANY Set values to 0 to use parent footprint or netclass values. + 0 0 @@ -6408,7 +6964,14 @@ -1 + + + + + + + @@ -6466,6 +7029,7 @@ 0 wxID_ANY Positive clearance means area bigger than the pad (usual for mask clearance). + 0 0 @@ -6491,7 +7055,14 @@ -1 + + + + + + + @@ -6549,6 +7120,7 @@ 0 wxID_ANY Negative clearance means area smaller than the pad (usual for paste clearance). + 0 0 @@ -6574,7 +7146,14 @@ -1 + + + + + + + @@ -6648,6 +7227,7 @@ 0 wxID_ANY Pad clearance: + 0 0 @@ -6673,7 +7253,14 @@ -1 + + + + + + + @@ -6760,7 +7347,14 @@ + + + + + + + @@ -6822,6 +7416,7 @@ 0 wxID_ANY Inch + 0 0 @@ -6847,7 +7442,14 @@ -1 + + + + + + + @@ -6905,6 +7507,7 @@ 0 wxID_ANY Solder mask clearance: + 0 0 @@ -6930,7 +7533,14 @@ -1 + + + + + + + @@ -7017,7 +7627,14 @@ + + + + + + + @@ -7079,6 +7696,7 @@ 0 wxID_ANY Inch + 0 0 @@ -7104,7 +7722,14 @@ -1 + + + + + + + @@ -7162,6 +7787,7 @@ 0 wxID_ANY Solder paste clearance: + 0 0 @@ -7187,7 +7813,14 @@ -1 + + + + + + + @@ -7274,7 +7907,14 @@ + + + + + + + @@ -7336,6 +7976,7 @@ 0 wxID_ANY Inch + 0 0 @@ -7361,7 +8002,14 @@ -1 + + + + + + + @@ -7419,6 +8067,7 @@ 0 wxID_ANY Solder paste ratio clearance: + 0 0 @@ -7444,7 +8093,14 @@ -1 + + + + + + + @@ -7531,7 +8187,14 @@ + + + + + + + @@ -7593,6 +8256,7 @@ 0 wxID_ANY % + 0 0 @@ -7618,7 +8282,14 @@ -1 + + + + + + + @@ -7700,7 +8371,14 @@ + + + + + + + @@ -7779,7 +8457,14 @@ wxTAB_TRAVERSAL + + + + + + + @@ -7840,6 +8525,7 @@ 0 wxID_ANY Note: solder mask and paste values are used only for pads on copper layers. + 0 0 @@ -7865,7 +8551,14 @@ -1 + + + + + + + @@ -7947,7 +8640,14 @@ wxTAB_TRAVERSAL + + + + + + + @@ -8031,7 +8731,14 @@ + + + + + + + @@ -8089,6 +8796,7 @@ 0 wxID_ANY Note: solder mask and paste values are used only for pads on copper layers. + 0 0 @@ -8114,7 +8822,14 @@ -1 + + + + + + + @@ -8208,6 +8923,7 @@ 0 wxID_ANY Pad connection: + 0 0 @@ -8233,7 +8949,14 @@ -1 + + + + + + + @@ -8320,7 +9043,14 @@ + + + + + + + @@ -8389,6 +9119,7 @@ 0 wxID_ANY Thermal relief spoke width: + 0 0 @@ -8414,7 +9145,14 @@ -1 + + + + + + + @@ -8501,7 +9239,14 @@ + + + + + + + @@ -8563,6 +9308,7 @@ 0 wxID_ANY Inch + 0 0 @@ -8588,7 +9334,14 @@ -1 + + + + + + + @@ -8646,6 +9399,7 @@ 0 wxID_ANY Thermal relief gap: + 0 0 @@ -8671,7 +9425,14 @@ -1 + + + + + + + @@ -8758,7 +9519,14 @@ + + + + + + + @@ -8820,6 +9588,7 @@ 0 wxID_ANY Inch + 0 0 @@ -8845,7 +9614,14 @@ -1 + + + + + + + @@ -8936,6 +9712,7 @@ 0 wxID_ANY Pad connection: + 0 0 @@ -8961,7 +9738,14 @@ -1 + + + + + + + @@ -9048,7 +9832,14 @@ + + + + + + + @@ -9107,6 +9898,7 @@ 0 wxID_ANY Custom pad shape in zone: + 0 0 @@ -9132,7 +9924,14 @@ -1 + + + + + + + @@ -9219,7 +10018,14 @@ + + + + + + + @@ -9309,7 +10115,14 @@ wxTAB_TRAVERSAL + + + + + + + @@ -9370,6 +10183,7 @@ 0 wxID_ANY Primitives list + 0 0 @@ -9395,7 +10209,14 @@ -1 + + + + + + + @@ -9453,6 +10274,7 @@ 0 wxID_ANY Coordinates are relative to anchor pad, orientation 0 + 0 0 @@ -9478,7 +10300,14 @@ -1 + + + + + + + @@ -9563,7 +10392,14 @@ + + + + + + + @@ -9641,25 +10477,31 @@ + 1 0 1 1 + 0 0 + Dock 0 Left 1 1 + 0 0 wxID_ANY Delete Primitive + + 0 0 @@ -9674,6 +10516,8 @@ protected 1 + + Resizable 1 @@ -9688,8 +10532,15 @@ + + + + + + onDeletePrimitive + @@ -9729,25 +10580,31 @@ + 1 0 1 1 + 0 0 + Dock 0 Left 1 1 + 0 0 wxID_ANY Edit Primitive + + 0 0 @@ -9762,6 +10619,8 @@ protected 1 + + Resizable 1 @@ -9776,8 +10635,15 @@ + + + + + + onEditPrimitive + @@ -9817,25 +10683,31 @@ + 1 0 1 1 + 0 0 + Dock 0 Left 1 1 + 0 0 wxID_ANY Add Primitive + + 0 0 @@ -9850,6 +10722,8 @@ protected 1 + + Resizable 1 @@ -9864,8 +10738,15 @@ + + + + + + onAddPrimitive + @@ -9905,25 +10786,31 @@ + 1 0 1 1 + 0 0 + Dock 0 Left 1 1 + 0 0 wxID_ANY Duplicate Primitive + + 0 0 @@ -9938,6 +10825,8 @@ protected 1 + + Resizable 1 @@ -9952,8 +10841,15 @@ + + + + + + onDuplicatePrimitive + @@ -9993,25 +10889,31 @@ + 1 0 1 1 + 0 0 + Dock 0 Left 1 1 + 0 0 wxID_ANY Transform Primitive + + 0 0 @@ -10026,6 +10928,8 @@ protected 1 + + Resizable 1 @@ -10040,8 +10944,15 @@ + + + + + + onGeometryTransform + @@ -10127,6 +11038,7 @@ 0 wxID_ANY Footprint name + 0 0 @@ -10152,7 +11064,14 @@ -1 + + + + + + + @@ -10210,6 +11129,7 @@ 0 wxID_ANY side and rotation + 0 0 @@ -10235,7 +11155,14 @@ -1 + + + + + + + @@ -10325,7 +11252,14 @@ wxFULL_REPAINT_ON_RESIZE|wxBORDER_SIMPLE + + + + + + + @@ -10410,7 +11344,14 @@ + + + + + + + @@ -10497,7 +11438,14 @@ + + + + + + + onChangePadMode @@ -10589,7 +11537,14 @@ + + + + + + + @@ -10674,13 +11629,20 @@ - + + + + + + + + @@ -10695,17 +11657,23 @@ + + + + + + @@ -10762,6 +11730,7 @@ 0 wxID_ANY Start point + 0 0 @@ -10787,7 +11756,14 @@ -1 + + + + + + + @@ -10845,6 +11821,7 @@ 0 wxID_ANY X: + 0 0 @@ -10870,7 +11847,14 @@ -1 + + + + + + + @@ -10957,7 +11941,14 @@ + + + + + + + @@ -11019,6 +12010,7 @@ 0 wxID_ANY unit + 0 0 @@ -11044,7 +12036,14 @@ -1 + + + + + + + @@ -11102,6 +12101,7 @@ 0 wxID_ANY Y: + 0 0 @@ -11127,7 +12127,14 @@ -1 + + + + + + + @@ -11214,7 +12221,14 @@ + + + + + + + @@ -11276,6 +12290,7 @@ 0 wxID_ANY unit + 0 0 @@ -11301,7 +12316,14 @@ -1 + + + + + + + @@ -11359,6 +12381,7 @@ 0 wxID_ANY End point + 0 0 @@ -11384,7 +12407,14 @@ -1 + + + + + + + @@ -11442,6 +12472,7 @@ 0 wxID_ANY X: + 0 0 @@ -11467,7 +12498,14 @@ -1 + + + + + + + @@ -11554,7 +12592,14 @@ + + + + + + + @@ -11616,6 +12661,7 @@ 0 wxID_ANY unit + 0 0 @@ -11641,7 +12687,14 @@ -1 + + + + + + + @@ -11699,6 +12752,7 @@ 0 wxID_ANY Y: + 0 0 @@ -11724,7 +12778,14 @@ -1 + + + + + + + @@ -11811,7 +12872,14 @@ + + + + + + + @@ -11873,6 +12941,7 @@ 0 wxID_ANY unit + 0 0 @@ -11898,7 +12967,14 @@ -1 + + + + + + + @@ -11956,6 +13032,7 @@ 0 wxID_ANY Radius: + 0 0 @@ -11981,7 +13058,14 @@ -1 + + + + + + + @@ -12078,7 +13162,14 @@ + + + + + + + @@ -12140,6 +13231,7 @@ 0 wxID_ANY unit + 0 0 @@ -12165,7 +13257,14 @@ -1 + + + + + + + @@ -12253,6 +13352,7 @@ 0 wxID_ANY Thickness: + 0 0 @@ -12278,7 +13378,14 @@ -1 + + + + + + + @@ -12375,7 +13482,14 @@ + + + + + + + @@ -12437,6 +13551,7 @@ 0 wxID_ANY unit + 0 0 @@ -12462,7 +13577,14 @@ -1 + + + + + + + @@ -12532,6 +13654,7 @@ 0 wxID_ANY Set thickness to 0 for a filled circle. + 0 0 @@ -12557,7 +13680,14 @@ -1 + + + + + + + @@ -12638,7 +13768,14 @@ + + + + + + + @@ -12719,13 +13856,20 @@ - + + + + + + + + @@ -12740,17 +13884,23 @@ + + + + + + @@ -12807,6 +13957,7 @@ 0 wxID_ANY Move vector + 0 0 @@ -12832,7 +13983,14 @@ -1 + + + + + + + @@ -12890,6 +14048,7 @@ 0 wxID_ANY X: + 0 0 @@ -12915,7 +14074,14 @@ -1 + + + + + + + @@ -13002,7 +14168,14 @@ + + + + + + + @@ -13064,6 +14237,7 @@ 0 wxID_ANY unit + 0 0 @@ -13089,7 +14263,14 @@ -1 + + + + + + + @@ -13147,6 +14328,7 @@ 0 wxID_ANY Y: + 0 0 @@ -13172,7 +14354,14 @@ -1 + + + + + + + @@ -13259,7 +14448,14 @@ + + + + + + + @@ -13321,6 +14517,7 @@ 0 wxID_ANY unit + 0 0 @@ -13346,7 +14543,14 @@ -1 + + + + + + + @@ -13404,6 +14608,7 @@ 0 wxID_ANY Rotation: + 0 0 @@ -13429,7 +14634,14 @@ -1 + + + + + + + @@ -13526,7 +14738,14 @@ + + + + + + + @@ -13588,6 +14807,7 @@ 0 wxID_ANY deg + 0 0 @@ -13613,7 +14833,14 @@ -1 + + + + + + + @@ -13701,6 +14928,7 @@ 0 wxID_ANY Scaling factor: + 0 0 @@ -13726,7 +14954,14 @@ -1 + + + + + + + @@ -13823,7 +15058,14 @@ + + + + + + + @@ -13925,6 +15167,7 @@ 0 wxID_ANY Duplicate: + 0 0 @@ -13950,7 +15193,14 @@ -1 + + + + + + + @@ -14045,7 +15295,14 @@ + + + + + + + @@ -14141,7 +15398,14 @@ + + + + + + + @@ -14222,13 +15486,20 @@ - + + + + + + + + @@ -14243,17 +15514,23 @@ + + + + + + @@ -14365,7 +15642,14 @@ wxBORDER_SIMPLE + + + + + + + @@ -14453,6 +15737,7 @@ 1 1 + 0 0 @@ -14466,9 +15751,10 @@ 0 0 - wxID_ANY Add Corner + + 0 0 @@ -14483,8 +15769,9 @@ protected 1 + + Resizable - 1 @@ -14498,8 +15785,15 @@ + + + + + + OnButtonAdd + @@ -14556,6 +15850,7 @@ 1 1 + 0 0 @@ -14569,9 +15864,10 @@ 0 0 - wxID_ANY Delete Corner + + 0 0 @@ -14586,8 +15882,9 @@ protected 1 + + Resizable - 1 @@ -14601,8 +15898,15 @@ + + + + + + OnButtonDelete + @@ -14678,6 +15982,7 @@ 0 wxID_ANY Outline thickness: + 0 0 @@ -14703,7 +16008,14 @@ -1 + + + + + + + @@ -14790,7 +16102,14 @@ + + + + + + + @@ -14852,6 +16171,7 @@ 0 wxID_ANY unit + 0 0 @@ -14877,7 +16197,14 @@ -1 + + + + + + + @@ -14970,7 +16297,14 @@ wxTAB_TRAVERSAL + + + + + + + @@ -15060,7 +16394,14 @@ + + + + + + + @@ -15118,6 +16459,7 @@ 0 wxID_ANY MyLabel + 0 0 @@ -15143,7 +16485,14 @@ -1 + + + + + + + @@ -15240,7 +16589,14 @@ + + + + + + + @@ -15326,6 +16682,7 @@ 0 wxID_ANY Coordinates are relative to anchor pad, rotated 0.0 deg. + 0 0 @@ -15351,7 +16708,14 @@ -1 + + + + + + + @@ -15409,6 +16773,7 @@ 0 wxID_ANY Set thickness to 0 for a filled polygon. + 0 0 @@ -15434,7 +16799,14 @@ -1 + + + + + + + diff --git a/pcbnew/dialogs/dialog_pad_properties_base.h b/pcbnew/dialogs/dialog_pad_properties_base.h index 7b8ffefe91..58e08d9c7c 100644 --- a/pcbnew/dialogs/dialog_pad_properties_base.h +++ b/pcbnew/dialogs/dialog_pad_properties_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Apr 19 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -104,7 +104,7 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM TEXT_CTRL_EVAL* m_tcCornerSizeRatio; wxStaticText* m_staticTextCornerSizeRatioUnit; wxStaticText* m_cornerRadiusLabel; - wxStaticText* m_cornerRadiusValue; + TEXT_CTRL_EVAL* m_tcCornerRadius; wxStaticText* m_cornerRadiusUnits; wxStaticText* m_holeShapeLabel; wxChoice* m_holeShapeCtrl; @@ -195,6 +195,7 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM virtual void PadOrientEvent( wxCommandEvent& event ) { event.Skip(); } virtual void OnSetLayers( wxCommandEvent& event ) { event.Skip(); } virtual void onCornerSizePercentChange( wxCommandEvent& event ) { event.Skip(); } + virtual void onCornerRadiusChange( wxCommandEvent& event ) { event.Skip(); } virtual void OnDrillShapeSelected( wxCommandEvent& event ) { event.Skip(); } virtual void OnUpdateUINonCopperWarning( wxUpdateUIEvent& event ) { event.Skip(); } virtual void onPrimitiveDClick( wxMouseEvent& event ) { event.Skip(); }