15 DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
17 this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
21 wxBoxSizer* bSizerUpper;
22 bSizerUpper =
new wxBoxSizer( wxHORIZONTAL );
24 m_notebook =
new wxNotebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
26 wxBoxSizer* bGeneralSizer;
27 bGeneralSizer =
new wxBoxSizer( wxHORIZONTAL );
31 wxGridBagSizer* gbSizerCommon;
32 gbSizerCommon =
new wxGridBagSizer( 4, 0 );
33 gbSizerCommon->SetFlexibleDirection( wxBOTH );
34 gbSizerCommon->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
38 gbSizerCommon->Add(
m_padTypeLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
40 wxString m_padTypeChoices[] = {
_(
"Through-hole"),
_(
"SMD"),
_(
"Edge Connector"),
_(
"NPTH, Mechanical"),
_(
"SMD Aperture") };
41 int m_padTypeNChoices =
sizeof( m_padTypeChoices ) /
sizeof( wxString );
42 m_padType =
new wxChoice(
m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_padTypeNChoices, m_padTypeChoices, 0 );
44 gbSizerCommon->Add(
m_padType, wxGBPosition( 0, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
48 gbSizerCommon->Add(
m_padNumLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
51 gbSizerCommon->Add(
m_padNumCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
55 gbSizerCommon->Add(
m_padNetLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
58 gbSizerCommon->Add(
m_padNetSelector, wxGBPosition( 2, 1 ), wxGBSpan( 1, 5 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
62 gbSizerCommon->Add(
m_posXLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
65 gbSizerCommon->Add(
m_posXCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
69 gbSizerCommon->Add(
m_posXUnits, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
73 gbSizerCommon->Add(
m_posYLabel, wxGBPosition( 3, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
76 gbSizerCommon->Add(
m_posYCtrl, wxGBPosition( 3, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
80 gbSizerCommon->Add(
m_posYUnits, wxGBPosition( 3, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
83 m_locked->SetToolTip(
_(
"Do not allow position of pad relative to parent footprint to be changed") );
85 gbSizerCommon->Add(
m_locked, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
88 gbSizerCommon->AddGrowableCol( 1 );
89 gbSizerCommon->AddGrowableCol( 4 );
102 wxBoxSizer* bSizerShape;
103 bSizerShape =
new wxBoxSizer( wxHORIZONTAL );
107 bSizerShape->Add(
m_shapeLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
109 wxString m_PadShapeSelectorChoices[] = {
_(
"Circular"),
_(
"Oval"),
_(
"Rectangular"),
_(
"Trapezoidal"),
_(
"Rounded rectangle"),
_(
"Chamfered rectangle"),
_(
"Chamfered with other corners rounded"),
_(
"Custom (circular base)"),
_(
"Custom (rectangular base)") };
110 int m_PadShapeSelectorNChoices =
sizeof( m_PadShapeSelectorChoices ) /
sizeof( wxString );
142 wxString m_trapAxisCtrlChoices[] = {
_(
"Horizontal"),
_(
"Vertical") };
143 int m_trapAxisCtrlNChoices =
sizeof( m_trapAxisCtrlChoices ) /
sizeof( wxString );
144 m_trapAxisCtrl =
new wxChoice(
m_trapProps, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_trapAxisCtrlNChoices, m_trapAxisCtrlChoices, 0 );
161 m_cornerRatioLabel->SetToolTip(
_(
"Corner radius in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
174 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.") );
191 wxFlexGridSizer* fgSizerChamferProps;
192 fgSizerChamferProps =
new wxFlexGridSizer( 0, 3, 4, 0 );
193 fgSizerChamferProps->AddGrowableCol( 1 );
194 fgSizerChamferProps->SetFlexibleDirection( wxBOTH );
195 fgSizerChamferProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
199 m_chamferRatioLabel->SetToolTip(
_(
"Chamfer size in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
204 fgSizerChamferProps->Add(
m_chamferRatioCtrl, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
208 fgSizerChamferProps->Add(
m_chamferRatioUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
216 wxGridSizer* gCornersSizer;
217 gCornersSizer =
new wxGridSizer( 0, 2, 2, 6 );
233 fgSizerChamferProps->Add( gCornersSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
241 wxFlexGridSizer* fgMixedProps;
242 fgMixedProps =
new wxFlexGridSizer( 0, 3, 4, 0 );
243 fgMixedProps->AddGrowableCol( 1 );
244 fgMixedProps->SetFlexibleDirection( wxBOTH );
245 fgMixedProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
249 m_mixedChamferRatioLabel->SetToolTip(
_(
"Chamfer size in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
266 wxGridSizer* gMixedCornersSizer;
267 gMixedCornersSizer =
new wxGridSizer( 0, 2, 2, 6 );
283 fgMixedProps->Add( gMixedCornersSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
286 fgMixedProps->Add( 0, 0, 1, wxEXPAND, 5 );
290 m_mixedCornerRatioLabel->SetToolTip(
_(
"Corner radius in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
309 wxGridBagSizer* gbSizerPadOrientation;
310 gbSizerPadOrientation =
new wxGridBagSizer( 3, 0 );
311 gbSizerPadOrientation->SetFlexibleDirection( wxBOTH );
312 gbSizerPadOrientation->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
316 gbSizerPadOrientation->Add(
m_sizeXLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
319 gbSizerPadOrientation->Add(
m_sizeXCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
323 gbSizerPadOrientation->Add(
m_sizeXUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
327 gbSizerPadOrientation->Add(
m_sizeYLabel, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
330 gbSizerPadOrientation->Add(
m_sizeYCtrl, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
334 gbSizerPadOrientation->Add(
m_sizeYUnits, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
338 gbSizerPadOrientation->Add(
m_PadOrientText, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
346 gbSizerPadOrientation->Add(
m_cb_padrotation, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
350 gbSizerPadOrientation->Add(
m_orientationUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
353 m_LeftBoxSizer->Add( gbSizerPadOrientation, 0, wxEXPAND|wxTOP, 5 );
361 wxGridBagSizer* gbSizerHole;
362 gbSizerHole =
new wxGridBagSizer( 4, 0 );
363 gbSizerHole->SetFlexibleDirection( wxBOTH );
364 gbSizerHole->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
368 gbSizerHole->Add(
m_holeShapeLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
370 wxString m_holeShapeCtrlChoices[] = {
_(
"Circular"),
_(
"Oval") };
371 int m_holeShapeCtrlNChoices =
sizeof( m_holeShapeCtrlChoices ) /
sizeof( wxString );
372 m_holeShapeCtrl =
new wxChoice(
m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_holeShapeCtrlNChoices, m_holeShapeCtrlChoices, 0 );
374 gbSizerHole->Add(
m_holeShapeCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxRIGHT, 5 );
378 gbSizerHole->Add(
m_holeXLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
381 gbSizerHole->Add(
m_holeXCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
385 gbSizerHole->Add(
m_holeXUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
389 gbSizerHole->Add(
m_holeYLabel, wxGBPosition( 1, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
392 gbSizerHole->Add(
m_holeYCtrl, wxGBPosition( 1, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
396 gbSizerHole->Add(
m_holeYUnits, wxGBPosition( 1, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
399 m_LeftBoxSizer->Add( gbSizerHole, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
407 wxBoxSizer* bSizer35;
408 bSizer35 =
new wxBoxSizer( wxHORIZONTAL );
424 m_offsetCtrls->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
451 wxFlexGridSizer* fgSizerPadToDie;
452 fgSizerPadToDie =
new wxFlexGridSizer( 14, 3, 0, 0 );
453 fgSizerPadToDie->AddGrowableCol( 1 );
454 fgSizerPadToDie->SetFlexibleDirection( wxBOTH );
455 fgSizerPadToDie->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
457 wxBoxSizer* bSizer34;
458 bSizer34 =
new wxBoxSizer( wxHORIZONTAL );
461 bSizer34->Add(
m_padToDieOpt, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
465 bSizer34->Add(
m_padToDieLabel, 0, wxALIGN_CENTER_VERTICAL|wxRESERVE_SPACE_EVEN_IF_HIDDEN|wxRIGHT|wxTOP, 5 );
468 fgSizerPadToDie->Add( bSizer34, 0, wxEXPAND|wxRIGHT, 5 );
471 fgSizerPadToDie->Add(
m_padToDieCtrl, 0, wxEXPAND|wxLEFT|wxRESERVE_SPACE_EVEN_IF_HIDDEN, 5 );
475 fgSizerPadToDie->Add(
m_padToDieUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRESERVE_SPACE_EVEN_IF_HIDDEN|wxRIGHT, 5 );
485 wxStaticBoxSizer* m_LayersSizer;
486 m_LayersSizer =
new wxStaticBoxSizer(
new wxStaticBox(
m_panelGeneral, wxID_ANY, wxEmptyString ), wxVERTICAL );
490 m_FlippedWarningIcon =
new wxStaticBitmap( m_LayersSizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 48,48 ), 0 );
495 m_staticText86 =
new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Parent footprint on board is flipped.\nLayers will be reversed."), wxDefaultPosition, wxDefaultSize, 0 );
502 m_copperLayersLabel =
new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Copper layers:"), wxDefaultPosition, wxDefaultSize, 0 );
506 wxArrayString m_rbCopperLayersSelChoices;
507 m_rbCopperLayersSel =
new wxChoice( m_LayersSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_rbCopperLayersSelChoices, 0 );
511 m_techLayersLabel =
new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Technical layers:"), wxDefaultPosition, wxDefaultSize, 0 );
515 m_PadLayerAdhCmp =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Front adhesive"), wxDefaultPosition, wxDefaultSize, 0 );
518 m_PadLayerAdhCu =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Back adhesive"), wxDefaultPosition, wxDefaultSize, 0 );
521 m_PadLayerPateCmp =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Front solder paste"), wxDefaultPosition, wxDefaultSize, 0 );
524 m_PadLayerPateCu =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Back solder paste"), wxDefaultPosition, wxDefaultSize, 0 );
527 m_PadLayerSilkCmp =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Front silk screen"), wxDefaultPosition, wxDefaultSize, 0 );
530 m_PadLayerSilkCu =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Back silk screen"), wxDefaultPosition, wxDefaultSize, 0 );
533 m_PadLayerMaskCmp =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Front solder mask"), wxDefaultPosition, wxDefaultSize, 0 );
536 m_PadLayerMaskCu =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Back solder mask"), wxDefaultPosition, wxDefaultSize, 0 );
539 m_PadLayerDraft =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"Drafting notes"), wxDefaultPosition, wxDefaultSize, 0 );
542 m_PadLayerECO1 =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"E.C.O.1"), wxDefaultPosition, wxDefaultSize, 0 );
545 m_PadLayerECO2 =
new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY,
_(
"E.C.O.2"), wxDefaultPosition, wxDefaultSize, 0 );
549 m_middleBoxSizer->Add( m_LayersSizer, 0, wxLEFT|wxRIGHT|wxTOP|wxEXPAND, 5 );
553 m_staticTextFabProperty->SetToolTip(
_(
"Optional property to specify a special purpose or constraint in fabrication files:\nBGA attribute is for pads in BGA footprints\nFiducial local is a fiducial for the parent footprint\nFiducial global is a fiducial for the whole board\nTest Point pad is useful to specify test points in Gerber files\nHeatsink pad specify a thermal pad\nCastellated specify castellated through hole pads on a board edge\nThese properties are specified in Gerber X2 files.") );
560 wxString m_choiceFabPropertyChoices[] = {
_(
"None"),
_(
"BGA pad"),
_(
"Fiducial, local to footprint"),
_(
"Fiducial, global to board"),
_(
"Test point pad"),
_(
"Heatsink pad"),
_(
"Castellated pad (through hole only)") };
561 int m_choiceFabPropertyNChoices =
sizeof( m_choiceFabPropertyChoices ) /
sizeof( wxString );
575 wxBoxSizer* bSizerPanelClearance;
576 bSizerPanelClearance =
new wxBoxSizer( wxVERTICAL );
578 wxBoxSizer* bSizerClearance;
579 bSizerClearance =
new wxBoxSizer( wxVERTICAL );
581 wxStaticBoxSizer* sbClearancesSizer;
582 sbClearancesSizer =
new wxStaticBoxSizer(
new wxStaticBox(
m_localSettingsPanel, wxID_ANY,
_(
"Clearances") ), wxVERTICAL );
584 wxStaticText* m_staticTextHint;
585 m_staticTextHint =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Set values to 0 to use parent footprint or netclass values."), wxDefaultPosition, wxDefaultSize, 0 );
586 m_staticTextHint->Wrap( -1 );
587 sbClearancesSizer->Add( m_staticTextHint, 0, wxLEFT|wxRIGHT, 5 );
589 m_staticTextInfoPosValue =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Positive clearance means area bigger than the pad (usual for mask clearance)."), wxDefaultPosition, wxDefaultSize, 0 );
593 m_staticTextInfoNegVal =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Negative clearance means area smaller than the pad (usual for paste clearance)."), wxDefaultPosition, wxDefaultSize, 0 );
597 wxFlexGridSizer* fgClearancesGridSizer;
598 fgClearancesGridSizer =
new wxFlexGridSizer( 4, 3, 0, 0 );
599 fgClearancesGridSizer->AddGrowableCol( 1 );
600 fgClearancesGridSizer->SetFlexibleDirection( wxBOTH );
601 fgClearancesGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
603 m_clearanceLabel =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Pad clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
605 m_clearanceLabel->SetToolTip(
_(
"This is the local net clearance for this pad.\nIf 0, the footprint local value or the Netclass value is used.") );
607 fgClearancesGridSizer->Add(
m_clearanceLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
609 m_clearanceCtrl =
new wxTextCtrl( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
610 fgClearancesGridSizer->Add(
m_clearanceCtrl, 0, wxEXPAND|wxTOP|wxLEFT, 5 );
612 m_clearanceUnits =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Inch"), wxDefaultPosition, wxDefaultSize, 0 );
614 fgClearancesGridSizer->Add(
m_clearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
616 m_maskMarginLabel =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
618 m_maskMarginLabel->SetToolTip(
_(
"This is the local clearance between this pad and the solder mask.\nIf 0, the footprint local value or the global value is used.") );
620 fgClearancesGridSizer->Add(
m_maskMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
622 m_maskMarginCtrl =
new wxTextCtrl( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
623 fgClearancesGridSizer->Add(
m_maskMarginCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
625 m_maskMarginUnits =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Inch"), wxDefaultPosition, wxDefaultSize, 0 );
627 fgClearancesGridSizer->Add(
m_maskMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
629 m_pasteMarginLabel =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Solder paste absolute clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
631 m_pasteMarginLabel->SetToolTip(
_(
"This is the local clearance between this pad and the solder paste.\nIf 0, the footprint value or the global value is used.\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.") );
633 fgClearancesGridSizer->Add(
m_pasteMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
635 m_pasteMarginCtrl =
new wxTextCtrl( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
638 m_pasteMarginUnits =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Inch"), wxDefaultPosition, wxDefaultSize, 0 );
640 fgClearancesGridSizer->Add(
m_pasteMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
642 m_pasteMarginRatioLabel =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"Solder paste relative clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
644 m_pasteMarginRatioLabel->SetToolTip(
_(
"This is the local clearance ratio in percent between this pad and the solder paste.\nA value of 10 means the clearance value is 10 percent of the pad size.\nIf 0, the footprint value or the global value is used.\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.") );
651 m_pasteMarginRatioUnits =
new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY,
_(
"%"), wxDefaultPosition, wxDefaultSize, 0 );
656 sbClearancesSizer->Add( fgClearancesGridSizer, 0, wxEXPAND, 5 );
658 m_nonCopperWarningBook =
new wxSimplebook( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
660 notePanel =
new wxPanel(
m_nonCopperWarningBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
661 wxBoxSizer* bNoteSizer;
662 bNoteSizer =
new wxBoxSizer( wxVERTICAL );
664 m_nonCopperNote =
new wxStaticText( notePanel, wxID_ANY,
_(
"Note: solder mask and paste values are used only for pads on copper layers."), wxDefaultPosition, wxDefaultSize, 0 );
668 m_staticTextInfoPaste =
new wxStaticText( notePanel, wxID_ANY,
_(
"Note: solder paste clearances (absolute and relative) are added to determine the final clearance."), wxDefaultPosition, wxDefaultSize, 0 );
673 notePanel->SetSizer( bNoteSizer );
675 bNoteSizer->Fit( notePanel );
677 wxPanel* warningPanel;
678 warningPanel =
new wxPanel(
m_nonCopperWarningBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
679 wxBoxSizer* bWarningSizer;
680 bWarningSizer =
new wxBoxSizer( wxHORIZONTAL );
682 bWarningSizer->SetMinSize( wxSize( -1,50 ) );
683 m_nonCopperWarningIcon =
new wxStaticBitmap( warningPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 48,48 ), 0 );
688 m_nonCopperWarningText =
new wxStaticText( warningPanel, wxID_ANY,
_(
"Note: solder mask and paste values are used only for pads on copper layers."), wxDefaultPosition, wxDefaultSize, 0 );
693 warningPanel->SetSizer( bWarningSizer );
694 warningPanel->Layout();
695 bWarningSizer->Fit( warningPanel );
701 bSizerClearance->Add( sbClearancesSizer, 0, wxALL|wxEXPAND, 5 );
705 wxFlexGridSizer* fgSizerCopperZonesOpts;
706 fgSizerCopperZonesOpts =
new wxFlexGridSizer( 0, 3, 0, 0 );
707 fgSizerCopperZonesOpts->AddGrowableCol( 1 );
708 fgSizerCopperZonesOpts->SetFlexibleDirection( wxBOTH );
709 fgSizerCopperZonesOpts->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
713 fgSizerCopperZonesOpts->Add(
m_staticText40, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
715 wxString m_ZoneConnectionChoiceChoices[] = {
_(
"From parent footprint"),
_(
"Solid"),
_(
"Thermal relief"),
_(
"None") };
716 int m_ZoneConnectionChoiceNChoices =
sizeof( m_ZoneConnectionChoiceChoices ) /
sizeof( wxString );
722 fgSizerCopperZonesOpts->Add( 0, 0, 1, wxEXPAND, 5 );
726 fgSizerCopperZonesOpts->Add(
m_spokeWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
729 fgSizerCopperZonesOpts->Add(
m_spokeWidthCtrl, 0, wxEXPAND|wxLEFT|wxTOP|wxALIGN_CENTER_VERTICAL, 5 );
733 fgSizerCopperZonesOpts->Add(
m_spokeWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
737 fgSizerCopperZonesOpts->Add(
m_thermalGapLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
740 fgSizerCopperZonesOpts->Add(
m_thermalGapCtrl, 0, wxEXPAND|wxTOP|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
744 fgSizerCopperZonesOpts->Add(
m_thermalGapUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
748 fgSizerCopperZonesOpts->Add(
m_staticTextcps, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
750 wxString m_ZoneCustomPadShapeChoices[] = {
_(
"Use pad shape"),
_(
"Use pad convex hull") };
751 int m_ZoneCustomPadShapeNChoices =
sizeof( m_ZoneCustomPadShapeChoices ) /
sizeof( wxString );
754 fgSizerCopperZonesOpts->Add(
m_ZoneCustomPadShape, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
763 bSizerPanelClearance->Add( bSizerClearance, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
773 wxBoxSizer* bSizerAboveList;
774 bSizerAboveList =
new wxBoxSizer( wxHORIZONTAL );
790 wxBoxSizer* bSizerButtons;
791 bSizerButtons =
new wxBoxSizer( wxVERTICAL );
793 wxBoxSizer* bSizerButtonsUpper;
794 bSizerButtonsUpper =
new wxBoxSizer( wxHORIZONTAL );
803 bSizerButtonsUpper->Add(
m_buttonDup, 0, wxALL, 5 );
809 bSizerButtonsUpper->Add( 0, 0, 1, wxEXPAND, 5 );
812 bSizerButtonsUpper->Add(
m_buttonDel, 0, wxALL, 5 );
815 bSizerButtons->Add( bSizerButtonsUpper, 0, wxEXPAND, 5 );
826 bSizerUpper->Add(
m_notebook, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
828 wxBoxSizer* bSizerDisplayPad;
829 bSizerDisplayPad =
new wxBoxSizer( wxVERTICAL );
831 bSizerDisplayPad->SetMinSize( wxSize( 290,-1 ) );
833 bSizerDisplayPad->Add( 0, 0, 0, wxBOTTOM|wxEXPAND|wxTOP, 3 );
836 bSizerDisplayPad->Add( 0, 10, 0, wxEXPAND, 5 );
838 m_stackupImagesBook =
new wxSimplebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE );
840 wxBoxSizer* page0Sizer;
841 page0Sizer =
new wxBoxSizer( wxVERTICAL );
843 m_stackupImage0 =
new wxStaticBitmap(
page0, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
844 page0Sizer->Add(
m_stackupImage0, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
847 page0->SetSizer( page0Sizer );
849 page0Sizer->Fit(
page0 );
852 wxBoxSizer* page1Sizer;
853 page1Sizer =
new wxBoxSizer( wxVERTICAL );
855 m_stackupImage1 =
new wxStaticBitmap(
page1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
856 page1Sizer->Add(
m_stackupImage1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
859 page1->SetSizer( page1Sizer );
861 page1Sizer->Fit(
page1 );
864 wxBoxSizer* page2Sizer;
865 page2Sizer =
new wxBoxSizer( wxVERTICAL );
867 m_stackupImage2 =
new wxStaticBitmap(
page2, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
868 page2Sizer->Add(
m_stackupImage2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
871 page2->SetSizer( page2Sizer );
873 page2Sizer->Fit(
page2 );
876 wxBoxSizer* page3Sizer;
877 page3Sizer =
new wxBoxSizer( wxVERTICAL );
880 page3->SetSizer( page3Sizer );
882 page3Sizer->Fit(
page3 );
885 wxBoxSizer* page4Sizer;
886 page4Sizer =
new wxBoxSizer( wxVERTICAL );
888 m_stackupImage4 =
new wxStaticBitmap(
page4, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
889 page4Sizer->Add(
m_stackupImage4, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
892 page4->SetSizer( page4Sizer );
894 page4Sizer->Fit(
page4 );
897 wxBoxSizer* page5Sizer;
898 page5Sizer =
new wxBoxSizer( wxVERTICAL );
900 m_stackupImage5 =
new wxStaticBitmap(
page5, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
901 page5Sizer->Add(
m_stackupImage5, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
904 page5->SetSizer( page5Sizer );
906 page5Sizer->Fit(
page5 );
909 wxBoxSizer* page6Sizer;
910 page6Sizer =
new wxBoxSizer( wxVERTICAL );
912 m_stackupImage6 =
new wxStaticBitmap(
page6, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
913 page6Sizer->Add(
m_stackupImage6, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
916 page6->SetSizer( page6Sizer );
918 page6Sizer->Fit(
page6 );
921 wxBoxSizer* page7Sizer;
922 page7Sizer =
new wxBoxSizer( wxVERTICAL );
924 m_stackupImage7 =
new wxStaticBitmap(
page7, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
925 page7Sizer->Add(
m_stackupImage7, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
928 page7->SetSizer( page7Sizer );
930 page7Sizer->Fit(
page7 );
935 m_boardViewPanel =
new wxPanel(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
946 bSizerUpper->Add( bSizerDisplayPad, 1, wxEXPAND|wxTOP|wxRIGHT, 10 );
951 wxBoxSizer* bottomSizer;
952 bottomSizer =
new wxBoxSizer( wxHORIZONTAL );
954 m_parentInfo =
new wxStaticText(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
956 bottomSizer->Add(
m_parentInfo, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 8 );
959 bottomSizer->Add( 20, 0, 1, wxEXPAND, 5 );
961 m_cbShowPadOutline =
new wxCheckBox(
this, wxID_ANY,
_(
"Preview pad in sketch mode"), wxDefaultPosition, wxDefaultSize, 0 );
962 bottomSizer->Add(
m_cbShowPadOutline, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
965 bottomSizer->Add( 40, 0, 0, wxEXPAND, 5 );
974 bottomSizer->Add(
m_sdbSizer, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
977 m_MainSizer->Add( bottomSizer, 0, wxEXPAND|wxLEFT, 5 );
984 this->Centre( wxBOTH );
1105 DIALOG_PAD_PRIMITIVES_PROPERTIES_BASE::DIALOG_PAD_PRIMITIVES_PROPERTIES_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
1107 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
1109 wxBoxSizer* bSizermain;
1110 bSizermain =
new wxBoxSizer( wxVERTICAL );
1112 wxFlexGridSizer* fgSizerShapeProperties;
1113 fgSizerShapeProperties =
new wxFlexGridSizer( 0, 7, 5, 0 );
1114 fgSizerShapeProperties->AddGrowableCol( 2 );
1115 fgSizerShapeProperties->AddGrowableCol( 4 );
1116 fgSizerShapeProperties->SetFlexibleDirection( wxBOTH );
1117 fgSizerShapeProperties->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1119 m_staticTextPosStart =
new wxStaticText(
this, wxID_ANY,
_(
"Start point"), wxDefaultPosition, wxDefaultSize, 0 );
1123 m_startXLabel =
new wxStaticText(
this, wxID_ANY,
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
1125 fgSizerShapeProperties->Add(
m_startXLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
1128 fgSizerShapeProperties->Add(
m_startXCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
1130 m_startXUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1132 fgSizerShapeProperties->Add(
m_startXUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 10 );
1134 m_startYLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
1136 fgSizerShapeProperties->Add(
m_startYLabel, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
1139 fgSizerShapeProperties->Add(
m_startYCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
1141 m_startYUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1143 fgSizerShapeProperties->Add(
m_startYUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1145 m_staticTextPosCtrl1 =
new wxStaticText(
this, wxID_ANY,
_(
"Control point 1"), wxDefaultPosition, wxDefaultSize, 0 );
1149 m_ctrl1XLabel =
new wxStaticText(
this, wxID_ANY,
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
1151 fgSizerShapeProperties->Add(
m_ctrl1XLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
1154 fgSizerShapeProperties->Add(
m_ctrl1XCtrl, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
1156 m_ctrl1XUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1158 fgSizerShapeProperties->Add(
m_ctrl1XUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1160 m_ctrl1YLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
1162 fgSizerShapeProperties->Add(
m_ctrl1YLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
1165 fgSizerShapeProperties->Add(
m_ctrl1YCtrl, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
1167 m_ctrl1YUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1169 fgSizerShapeProperties->Add(
m_ctrl1YUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1171 m_staticTextPosCtrl2 =
new wxStaticText(
this, wxID_ANY,
_(
"Control point 2"), wxDefaultPosition, wxDefaultSize, 0 );
1175 m_ctrl2XLabel =
new wxStaticText(
this, wxID_ANY,
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
1177 fgSizerShapeProperties->Add(
m_ctrl2XLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
1180 fgSizerShapeProperties->Add(
m_ctrl2XCtrl, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
1182 m_ctrl2XUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1184 fgSizerShapeProperties->Add(
m_ctrl2XUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1186 m_ctrl2YLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
1188 fgSizerShapeProperties->Add(
m_ctrl2YLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
1191 fgSizerShapeProperties->Add(
m_ctrl2YCtrl, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
1193 m_ctrl2YUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1195 fgSizerShapeProperties->Add(
m_ctrl2YUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1197 m_staticTextPosEnd =
new wxStaticText(
this, wxID_ANY,
_(
"End point"), wxDefaultPosition, wxDefaultSize, 0 );
1199 fgSizerShapeProperties->Add(
m_staticTextPosEnd, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
1201 m_endXLabel =
new wxStaticText(
this, wxID_ANY,
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
1203 fgSizerShapeProperties->Add(
m_endXLabel, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
1206 fgSizerShapeProperties->Add(
m_endXCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
1208 m_endXUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1210 fgSizerShapeProperties->Add(
m_endXUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1212 m_endYLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
1214 fgSizerShapeProperties->Add(
m_endYLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
1217 fgSizerShapeProperties->Add(
m_endYCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
1219 m_endYUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1221 fgSizerShapeProperties->Add(
m_endYUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1223 m_radiusLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Radius:"), wxDefaultPosition, wxDefaultSize, 0 );
1225 fgSizerShapeProperties->Add(
m_radiusLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
1228 fgSizerShapeProperties->Add( 0, 0, 1, wxEXPAND, 5 );
1231 fgSizerShapeProperties->Add(
m_radiusCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
1233 m_radiusUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1235 fgSizerShapeProperties->Add(
m_radiusUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1238 fgSizerShapeProperties->Add( 0, 0, 1, wxEXPAND, 5 );
1241 fgSizerShapeProperties->Add( 0, 0, 1, wxEXPAND, 5 );
1244 fgSizerShapeProperties->Add( 0, 0, 1, wxEXPAND, 5 );
1246 m_thicknessLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Line width:"), wxDefaultPosition, wxDefaultSize, 0 );
1248 fgSizerShapeProperties->Add(
m_thicknessLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
1251 fgSizerShapeProperties->Add( 0, 0, 1, wxEXPAND, 5 );
1253 m_thicknessCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
1254 fgSizerShapeProperties->Add(
m_thicknessCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
1256 m_thicknessUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1258 fgSizerShapeProperties->Add(
m_thicknessUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
1261 fgSizerShapeProperties->Add( 0, 0, 1, wxEXPAND, 5 );
1263 m_filledCtrl =
new wxCheckBox(
this, wxID_ANY,
_(
"Filled shape"), wxDefaultPosition, wxDefaultSize, 0 );
1264 fgSizerShapeProperties->Add(
m_filledCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
1267 bSizermain->Add( fgSizerShapeProperties, 1, wxEXPAND|wxALL, 10 );
1269 m_staticline1 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
1270 bSizermain->Add(
m_staticline1, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
1279 bSizermain->Add(
m_sdbSizer, 0, wxALL|wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
1282 this->SetSizer( bSizermain );
1284 bSizermain->Fit(
this );
1286 this->Centre( wxBOTH );
1293 DIALOG_PAD_PRIMITIVES_TRANSFORM_BASE::DIALOG_PAD_PRIMITIVES_TRANSFORM_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
1295 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
1297 wxBoxSizer* bSizermain;
1298 bSizermain =
new wxBoxSizer( wxVERTICAL );
1300 wxFlexGridSizer* fgSizerShapeProperties1;
1301 fgSizerShapeProperties1 =
new wxFlexGridSizer( 0, 7, 3, 0 );
1302 fgSizerShapeProperties1->AddGrowableCol( 2 );
1303 fgSizerShapeProperties1->AddGrowableCol( 4 );
1304 fgSizerShapeProperties1->SetFlexibleDirection( wxBOTH );
1305 fgSizerShapeProperties1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1307 m_staticTextMove =
new wxStaticText(
this, wxID_ANY,
_(
"Move vector"), wxDefaultPosition, wxDefaultSize, 0 );
1309 fgSizerShapeProperties1->Add(
m_staticTextMove, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
1311 m_xLabel =
new wxStaticText(
this, wxID_ANY,
_(
"X:"), wxDefaultPosition, wxDefaultSize, 0 );
1313 fgSizerShapeProperties1->Add(
m_xLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
1316 fgSizerShapeProperties1->Add(
m_xCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
1318 m_xUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1320 fgSizerShapeProperties1->Add(
m_xUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 10 );
1322 m_yLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Y:"), wxDefaultPosition, wxDefaultSize, 0 );
1324 fgSizerShapeProperties1->Add(
m_yLabel, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
1327 fgSizerShapeProperties1->Add(
m_yCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
1329 m_yUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1331 fgSizerShapeProperties1->Add(
m_yUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1333 m_rotationLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Rotation:"), wxDefaultPosition, wxDefaultSize, 0 );
1335 fgSizerShapeProperties1->Add(
m_rotationLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
1338 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1341 fgSizerShapeProperties1->Add(
m_rotationCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
1343 m_rotationUnits =
new wxStaticText(
this, wxID_ANY,
_(
"deg"), wxDefaultPosition, wxDefaultSize, 0 );
1345 fgSizerShapeProperties1->Add(
m_rotationUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
1348 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1351 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1354 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1356 m_scaleLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Scaling factor:"), wxDefaultPosition, wxDefaultSize, 0 );
1358 fgSizerShapeProperties1->Add(
m_scaleLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
1361 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1364 fgSizerShapeProperties1->Add(
m_scaleCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
1367 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1370 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1373 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1376 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1378 m_staticTextDupCnt =
new wxStaticText(
this, wxID_ANY,
_(
"Duplicate:"), wxDefaultPosition, wxDefaultSize, 0 );
1380 fgSizerShapeProperties1->Add(
m_staticTextDupCnt, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
1383 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1385 m_spinCtrlDuplicateCount =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 100, 1 );
1389 fgSizerShapeProperties1->Add( 0, 0, 1, wxEXPAND, 5 );
1392 bSizermain->Add( fgSizerShapeProperties1, 1, wxALL|wxEXPAND, 10 );
1394 m_staticline1 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
1395 bSizermain->Add(
m_staticline1, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
1404 bSizermain->Add(
m_sdbSizer, 0, wxALL|wxEXPAND, 5 );
1407 this->SetSizer( bSizermain );
1409 bSizermain->Fit(
this );
1411 this->Centre( wxBOTH );
1418 DIALOG_PAD_PRIMITIVE_POLY_PROPS_BASE::DIALOG_PAD_PRIMITIVE_POLY_PROPS_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
1420 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
1422 wxBoxSizer* bSizerMain;
1423 bSizerMain =
new wxBoxSizer( wxVERTICAL );
1425 wxBoxSizer* bSizerUpper;
1426 bSizerUpper =
new wxBoxSizer( wxHORIZONTAL );
1428 wxBoxSizer* bLeftSizer;
1429 bLeftSizer =
new wxBoxSizer( wxVERTICAL );
1462 wxBoxSizer* bSizerRightButts;
1463 bSizerRightButts =
new wxBoxSizer( wxHORIZONTAL );
1465 m_addButton =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
1468 bSizerRightButts->Add(
m_addButton, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
1471 bSizerRightButts->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
1473 m_deleteButton =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
1476 bSizerRightButts->Add(
m_deleteButton, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
1479 bLeftSizer->Add( bSizerRightButts, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
1481 wxFlexGridSizer* fgSizerThickness;
1482 fgSizerThickness =
new wxFlexGridSizer( 0, 4, 0, 0 );
1483 fgSizerThickness->AddGrowableCol( 1 );
1484 fgSizerThickness->SetFlexibleDirection( wxBOTH );
1485 fgSizerThickness->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
1487 m_thicknessLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Line width:"), wxDefaultPosition, wxDefaultSize, 0 );
1489 fgSizerThickness->Add(
m_thicknessLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
1492 fgSizerThickness->Add(
m_thicknessCtrl, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
1494 m_thicknessUnits =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
1496 fgSizerThickness->Add(
m_thicknessUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
1498 m_filledCtrl =
new wxCheckBox(
this, wxID_ANY,
_(
"Filled shape"), wxDefaultPosition, wxDefaultSize, 0 );
1499 fgSizerThickness->Add(
m_filledCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 20 );
1502 bLeftSizer->Add( fgSizerThickness, 0, wxALL|wxEXPAND, 10 );
1505 bSizerUpper->Add( bLeftSizer, 1, wxEXPAND, 5 );
1507 wxBoxSizer* bRightSizer;
1508 bRightSizer =
new wxBoxSizer( wxVERTICAL );
1510 m_panelPoly =
new wxPanel(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
1511 m_panelPoly->SetBackgroundColour( wxColour( 0, 0, 0 ) );
1514 bRightSizer->Add(
m_panelPoly, 1, wxEXPAND|wxTOP|wxRIGHT, 10 );
1516 wxBoxSizer* m_warningSizer;
1517 m_warningSizer =
new wxBoxSizer( wxHORIZONTAL );
1519 m_warningIcon =
new wxStaticBitmap(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1522 m_warningSizer->Add(
m_warningIcon, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
1524 m_warningText =
new wxStaticText(
this, wxID_ANY,
_(
"MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );
1526 m_warningSizer->Add(
m_warningText, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
1529 m_warningSizer->Add( 5, 88, 0, 0, 5 );
1532 bRightSizer->Add( m_warningSizer, 0, wxEXPAND|wxRIGHT, 10 );
1535 bSizerUpper->Add( bRightSizer, 1, wxEXPAND, 5 );
1538 bSizerMain->Add( bSizerUpper, 1, wxEXPAND, 5 );
1540 m_staticline3 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
1541 bSizerMain->Add(
m_staticline3, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
1543 wxBoxSizer* bSizer24;
1544 bSizer24 =
new wxBoxSizer( wxHORIZONTAL );
1546 m_statusLine1 =
new wxStaticText(
this, wxID_ANY,
_(
"Coordinates are relative to anchor pad, rotated 0.0 deg."), wxDefaultPosition, wxDefaultSize, 0 );
1548 bSizer24->Add(
m_statusLine1, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 );
1557 bSizer24->Add(
m_sdbSizer, 0, wxEXPAND|wxALL, 5 );
1560 bSizerMain->Add( bSizer24, 0, wxEXPAND, 5 );
1563 this->SetSizer( bSizerMain );
1565 bSizerMain->Fit(
this );
1567 this->Centre( wxBOTH );
virtual void onPrimitiveDClick(wxMouseEvent &event)
TEXT_CTRL_EVAL * m_ctrl2XCtrl
wxStaticText * m_cornerRatioLabel
wxStaticText * m_offsetShapeOptLabel
wxStaticBitmap * m_warningIcon
wxStaticText * m_padNumLabel
wxStaticText * m_staticTextPrimitiveListWarning
wxStaticText * m_holeYLabel
wxStaticBitmap * m_stackupImage5
wxChoice * m_choiceFabProperty
wxChoice * m_ZoneConnectionChoice
wxStaticBitmap * m_stackupImage1
wxCheckBox * m_PadLayerMaskCu
wxStaticText * m_posXUnits
wxStaticText * m_holeYUnits
wxChoice * m_ZoneCustomPadShape
wxStaticLine * m_staticline3
wxStaticText * m_radiusUnits
wxStaticText * m_ctrl2YLabel
wxStaticText * m_statusLine1
wxTextCtrl * m_thermalGapCtrl
wxStaticText * m_staticTextPosCtrl2
virtual void onAddPrimitive(wxCommandEvent &event)
wxFlexGridSizer * fgSizerRoundingProps
wxStaticBoxSizer * m_sbSizerZonesSettings
wxStaticLine * m_staticline6
TEXT_CTRL_EVAL * m_ctrl2YCtrl
virtual void OnButtonDelete(wxCommandEvent &event)
wxStaticText * m_ctrl2XLabel
TEXT_CTRL_EVAL * m_radiusCtrl
wxCheckBox * m_PadLayerDraft
wxStaticText * m_trapDeltaUnits
wxStaticText * m_endXLabel
wxStaticText * m_pasteMarginRatioUnits
virtual void onPolyPanelResize(wxSizeEvent &event)
wxChoice * m_trapAxisCtrl
WX_GRID * m_gridCornersList
wxCheckBox * m_cbBottomRight1
wxStdDialogButtonSizer * m_sdbSizer
wxStaticText * m_ctrl1XLabel
wxStaticText * m_warningText
wxPanel * m_panelCustomShapePrimitives
TEXT_CTRL_EVAL * m_mixedChamferRatioCtrl
wxBoxSizer * m_middleBoxSizer
wxStaticText * m_cornerRatioUnits
wxStaticText * m_maskMarginUnits
wxCheckBox * m_padToDieOpt
wxStaticLine * m_staticline7
wxStaticText * m_techLayersLabel
virtual void onGridSelect(wxGridRangeSelectEvent &event)
wxStaticText * m_padToDieLabel
virtual void onCellSelect(wxGridEvent &event)
wxTextCtrl * m_padNumCtrl
wxStaticText * m_thicknessUnits
wxTextCtrl * m_offsetXCtrl
wxPanel * m_boardViewPanel
wxStaticBitmap * m_FlippedWarningIcon
wxStaticText * m_cornerRadiusLabel
wxStaticText * m_staticTextPosEnd
TEXT_CTRL_EVAL * m_startXCtrl
virtual void OnOffsetCheckbox(wxCommandEvent &event)
wxStaticBitmap * m_stackupImage4
wxStaticText * m_staticText86
wxStaticText * m_nonCopperNote
TEXT_CTRL_EVAL * m_endYCtrl
wxStaticText * m_posXLabel
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
wxStaticText * m_staticTextcps
wxStaticText * m_thicknessLabel
wxButton * m_buttonGeometry
wxStaticText * m_mixedChamferRatioLabel
TEXT_CTRL_EVAL * m_mixedCornerRatioCtrl
TEXT_CTRL_EVAL * m_ctrl1XCtrl
wxCheckBox * m_PadLayerECO1
virtual void OnValuesChanged(wxCommandEvent &event)
wxStaticText * m_endYUnits
wxBoxSizer * m_bSizerPanelPrimitives
wxTextCtrl * m_spokeWidthCtrl
wxStaticText * m_staticTextChamferCorner1
wxStaticLine * m_staticline5
wxStaticText * m_thermalGapLabel
wxButton * m_buttonAddShape
virtual void OnPrimitiveSelection(wxListEvent &event)
wxStaticText * m_staticText40
virtual void OnInitDialog(wxInitDialogEvent &event)
wxTextCtrl * m_cornerRadiusCtrl
TEXT_CTRL_EVAL * m_chamferRatioCtrl
wxStaticText * m_chamferRatioLabel
wxFlexGridSizer * fgSizerTrapProps
wxStaticText * m_startXUnits
wxChoice * m_rbCopperLayersSel
wxStaticText * m_offsetYLabel
wxCheckBox * m_PadLayerSilkCu
wxStaticText * m_endYLabel
TEXT_CTRL_EVAL * m_thicknessCtrl
wxStdDialogButtonSizer * m_sdbSizer
wxStaticText * m_clearanceUnits
virtual void OnDrillShapeSelected(wxCommandEvent &event)
wxSimplebook * m_stackupImagesBook
virtual void PadTypeSelected(wxCommandEvent &event)
wxBoxSizer * m_FlippedWarningSizer
wxTextCtrl * m_trapDeltaCtrl
wxStaticText * m_spokeWidthLabel
wxStaticText * m_staticTextFabProperty
wxStaticText * m_maskMarginLabel
virtual void onCornerRadiusChange(wxCommandEvent &event)
wxChoice * m_holeShapeCtrl
wxCheckBox * m_cbBottomRight
virtual void onDeletePrimitive(wxCommandEvent &event)
wxStaticText * m_ctrl2YUnits
wxChoice * m_PadShapeSelector
wxStaticText * m_offsetXLabel
virtual void onCornerSizePercentChange(wxCommandEvent &event)
wxStaticText * m_sizeXLabel
wxStaticText * m_holeXLabel
TEXT_CTRL_EVAL * m_cornerRatioCtrl
wxCheckBox * m_cbShowPadOutline
wxBitmapButton * m_addButton
wxStaticText * m_staticTextPosCtrl1
virtual void OnPadShapeSelection(wxCommandEvent &event)
wxStaticText * m_staticTextPosStart
wxStaticText * m_sizeXUnits
wxCheckBox * m_cbBottomLeft1
wxFlexGridSizer * m_offsetCtrls
virtual void onPaintPolyPanel(wxPaintEvent &event)
NET_SELECTOR * m_padNetSelector
wxStaticText * m_staticTextPrimitivesList
virtual void PadOrientEvent(wxCommandEvent &event)
wxStdDialogButtonSizer * m_sdbSizer
wxStaticText * m_thermalGapUnits
wxStaticText * m_offsetYUnits
~DIALOG_PAD_PRIMITIVE_POLY_PROPS_BASE()
virtual void OnUpdateUI(wxUpdateUIEvent &event)
wxStaticText * m_parentInfo
virtual void onDuplicatePrimitive(wxCommandEvent &event)
wxStaticText * m_staticTextInfoPosValue
wxStaticText * m_nonCopperWarningText
wxSimplebook * m_nonCopperWarningBook
wxSimplebook * m_shapePropsBook
wxCheckBox * m_PadLayerSilkCmp
wxCheckBox * m_PadLayerECO2
wxCheckBox * m_PadLayerMaskCmp
DIALOG_PAD_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_DIALOG_EDIT_PAD, const wxString &title=_("Pad Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxCheckBox * m_cbTopLeft1
wxStaticText * m_posYUnits
TEXT_CTRL_EVAL * m_startYCtrl
wxStaticText * m_PadOrientText
wxCheckBox * m_filledCtrl
wxStaticBitmap * m_stackupImage2
wxPanel * m_localSettingsPanel
virtual void OnPadToDieCheckbox(wxCommandEvent &event)
~DIALOG_PAD_PROPERTIES_BASE()
wxStaticLine * m_staticline1
wxStaticText * m_staticTextInfoPaste
wxTextCtrl * m_offsetYCtrl
wxStaticText * m_radiusLabel
wxStaticBitmap * m_stackupImage6
wxCheckBox * m_filledCtrl
wxStaticText * m_posYLabel
wxStaticText * m_spokeWidthUnits
DIALOG_PAD_PRIMITIVES_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxTextCtrl * m_thicknessCtrl
wxStaticText * m_mixedChamferRatioUnits
wxStaticText * m_shapeLabel
wxTextCtrl * m_padToDieCtrl
wxCheckBox * m_PadLayerPateCu
wxStaticText * m_padToDieUnits
wxStaticText * m_cornerRadiusUnits
TEXT_CTRL_EVAL * m_ctrl1YCtrl
wxStaticText * m_startYUnits
wxStaticText * m_padTypeLabel
wxStaticText * m_holeXUnits
wxTextCtrl wrapper to handle math expression evaluation.
virtual void OnUpdateUINonCopperWarning(wxUpdateUIEvent &event)
wxBoxSizer * m_padPreviewSizer
virtual void OnSetLayers(wxCommandEvent &event)
wxStaticText * m_pasteMarginUnits
virtual void onEditPrimitive(wxCommandEvent &event)
wxStaticText * m_mixedCornerRatioLabel
wxTextCtrl * m_maskMarginCtrl
wxStaticText * m_offsetXUnits
wxStaticText * m_ctrl2XUnits
wxStaticText * m_sizeYUnits
virtual void onGeometryTransform(wxCommandEvent &event)
wxButton * m_sdbSizerCancel
wxBitmapButton * m_deleteButton
wxStaticBitmap * m_nonCopperWarningIcon
DIALOG_PAD_PRIMITIVE_POLY_PROPS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Basic Shape Polygon"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxStaticText * m_clearanceLabel
wxTextCtrl * m_pasteMarginCtrl
wxStaticText * m_startYLabel
virtual void OnSetCopperLayers(wxCommandEvent &event)
wxStaticText * m_trapAxisLabel
TEXT_CTRL_EVAL * m_endXCtrl
wxTextCtrl * m_clearanceCtrl
wxCheckBox * m_PadLayerAdhCmp
wxListView * m_listCtrlPrimitives
wxStaticText * m_copperLayersLabel
wxCheckBox * m_cbBottomLeft
virtual void onChangePadMode(wxCommandEvent &event)
wxStaticText * m_padNetLabel
wxButton * m_sdbSizerCancel
wxStaticText * m_staticTextChamferCorner
virtual void OnButtonAdd(wxCommandEvent &event)
wxButton * m_sdbSizerCancel
wxStaticText * m_ctrl1YUnits
wxStaticBitmap * m_stackupImage7
wxStaticText * m_thicknessUnits
wxButton * m_buttonEditShape
wxStaticText * m_mixedCornerRatioUnits
wxStaticText * m_chamferRatioUnits
wxStaticText * m_staticTextInfoNegVal
wxStaticText * m_sizeYLabel
wxStaticText * m_ctrl1YLabel
TEXT_CTRL_EVAL * m_pasteMarginRatioCtrl
wxComboBox * m_cb_padrotation
wxCheckBox * m_PadLayerPateCmp
wxStaticText * m_pasteMarginRatioLabel
wxStaticText * m_ctrl1XUnits
wxCheckBox * m_cbTopRight
wxStaticText * m_orientationUnits
wxStaticText * m_trapDeltaLabel
wxStaticText * m_holeShapeLabel
wxStaticBitmap * m_stackupImage0
void SetColLabelSize(int aHeight)
Hide wxGrid's SetColLabelSize() method with one which makes sure the size is tall enough for the syst...
wxStaticText * m_startXLabel
wxStaticText * m_endXUnits
wxCheckBox * m_PadLayerAdhCu
virtual void OnCancel(wxCommandEvent &event)
wxStaticText * m_thicknessLabel
~DIALOG_PAD_PRIMITIVES_PROPERTIES_BASE()
wxStaticText * m_pasteMarginLabel
wxCheckBox * m_offsetShapeOpt
wxBoxSizer * m_LeftBoxSizer
wxCheckBox * m_cbTopRight1