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 @@
+
+
+
+
+
+
-
+
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(); }