12PANEL_SETUP_MASK_AND_PASTE_BASE::PANEL_SETUP_MASK_AND_PASTE_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) : wxPanel( parent, id, pos, size, style,
name )
14 wxBoxSizer* bMainSizer;
15 bMainSizer =
new wxBoxSizer( wxVERTICAL );
18 bSizer3 =
new wxBoxSizer( wxVERTICAL );
21 bSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
23 wxBoxSizer* bMessages;
24 bMessages =
new wxBoxSizer( wxHORIZONTAL );
27 bMessages->Add(
m_bitmapWarning, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
30 bSizer4 =
new wxBoxSizer( wxVERTICAL );
32 m_staticTextInfoMaskMinWidth =
new wxStaticText(
this, wxID_ANY,
_(
"Use your board manufacturer's recommendations for solder mask expansion and minimum web width."), wxDefaultPosition, wxDefaultSize, 0 );
36 m_staticTextInfoMaskMinWidth1 =
new wxStaticText(
this, wxID_ANY,
_(
"If none are provided, setting the values to zero is suggested."), wxDefaultPosition, wxDefaultSize, 0 );
41 bMessages->Add( bSizer4, 1, wxEXPAND|wxLEFT, 5 );
44 bSizer3->Add( bMessages, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
47 bSizer3->Add( 0, 0, 2, wxEXPAND, 5 );
49 m_stSolderMaskSettings =
new wxStaticText(
this, wxID_ANY,
_(
"Solder Mask Settings"), wxDefaultPosition, wxDefaultSize, 0 );
51 m_stSolderMaskSettings->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD,
false, wxEmptyString ) );
55 wxGridBagSizer* gbSizer1;
56 gbSizer1 =
new wxGridBagSizer( 5, 5 );
57 gbSizer1->SetFlexibleDirection( wxBOTH );
58 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
60 m_maskMarginLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Solder mask expansion:"), wxDefaultPosition, wxDefaultSize, 0 );
62 m_maskMarginLabel->SetToolTip(
_(
"Global clearance between pads and the solder mask.\nThis value can be superseded by local values for a footprint or a pad.\nPositive clearance means a solder mask opening bigger than the pad (typical for solder mask clearance).") );
64 gbSizer1->Add(
m_maskMarginLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
66 m_maskMarginCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
67 m_maskMarginCtrl->SetToolTip(
_(
"Global clearance between pads and the solder mask.\nThis value can be superseded by local values for a footprint or a pad.\nPositive clearance means a solder mask opening bigger than the pad (typical for solder mask clearance).") );
69 gbSizer1->Add(
m_maskMarginCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
71 m_maskMarginUnits =
new wxStaticText(
this, wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
73 gbSizer1->Add(
m_maskMarginUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
75 m_maskMinWidthLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Solder mask minimum web width:"), wxDefaultPosition, wxDefaultSize, 0 );
77 m_maskMinWidthLabel->SetToolTip(
_(
"Minimum distance between openings in the solder mask.\nPad openings closer than this distance will be plotted as a single opening.") );
79 gbSizer1->Add(
m_maskMinWidthLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
81 m_maskMinWidthCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
82 m_maskMinWidthCtrl->SetToolTip(
_(
"Minimum distance between openings in the solder mask.\nPad openings closer than this distance will be plotted as a single opening.") );
84 gbSizer1->Add(
m_maskMinWidthCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
86 m_maskMinWidthUnits =
new wxStaticText(
this, wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
88 gbSizer1->Add(
m_maskMinWidthUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
90 m_maskToCopperClearanceLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Solder mask to copper clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
92 m_maskToCopperClearanceLabel->SetToolTip(
_(
"Minimum distance between a solder mask opening and a copper item with a different net than the solder mask opening's parent.\nDistances smaller than this minimum will create a DRC error.") );
97 m_maskToCopperClearanceCtrl->SetToolTip(
_(
"Minimum distance between a solder mask opening and a copper item with a different net than the solder mask opening's parent.\nDistances smaller than this minimum will create a DRC error.") );
105 m_allowBridges =
new wxCheckBox(
this, wxID_ANY,
_(
"Allow bridged solder mask apertures between pads within footprints"), wxDefaultPosition, wxDefaultSize, 0 );
106 m_allowBridges->SetToolTip(
_(
"Disable DRC error checking for solder mask aperture bridging between pads in the same footprint.") );
108 gbSizer1->Add(
m_allowBridges, wxGBPosition( 3, 0 ), wxGBSpan( 1, 3 ), 0, 5 );
111 bSizer6 =
new wxBoxSizer( wxHORIZONTAL );
113 m_stTenting =
new wxStaticText(
this, wxID_ANY,
_(
"Tent vias:"), wxDefaultPosition, wxDefaultSize, 0 );
115 bSizer6->Add(
m_stTenting, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
117 m_tentViasFront =
new wxCheckBox(
this, wxID_ANY,
_(
"Front"), wxDefaultPosition, wxDefaultSize, 0 );
118 m_tentViasFront->SetToolTip(
_(
"Tented: vias are covered with solder mask.\nNot tented: vias are not covered with solder mask.") );
120 bSizer6->Add(
m_tentViasFront, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
122 m_tentViasBack =
new wxCheckBox(
this, wxID_ANY,
_(
"Back"), wxDefaultPosition, wxDefaultSize, 0 );
123 m_tentViasBack->SetToolTip(
_(
"Tented: vias are covered with solder mask.\nNot tented: vias are not covered with solder mask.") );
125 bSizer6->Add(
m_tentViasBack, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
128 gbSizer1->Add( bSizer6, wxGBPosition( 4, 0 ), wxGBSpan( 1, 3 ), wxEXPAND, 5 );
131 bSizer3->Add( gbSizer1, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
134 bSizer3->Add( 0, 0, 2, wxEXPAND, 5 );
136 m_stSolderPasteSettings =
new wxStaticText(
this, wxID_ANY,
_(
"Solder Paste Settings"), wxDefaultPosition, wxDefaultSize, 0 );
138 m_stSolderPasteSettings->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD,
false, wxEmptyString ) );
142 wxGridBagSizer* gbSizer2;
143 gbSizer2 =
new wxGridBagSizer( 5, 5 );
144 gbSizer2->SetFlexibleDirection( wxBOTH );
145 gbSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
147 m_pasteMarginLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Solder paste absolute clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
149 m_pasteMarginLabel->SetToolTip(
_(
"Global absolute clearance between pads and the solder paste.\nNegative clearance means solder paste area smaller than the pad (typical for solder paste clearance).\nThis value can be superseded by local values for a footprint or a pad.\nFinal clearance value is the sum of this value and the relative clearance value.") );
151 gbSizer2->Add(
m_pasteMarginLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
153 m_pasteMarginCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
154 m_pasteMarginCtrl->SetToolTip(
_(
"Global absolute clearance between pads and the solder paste.\nNegative clearance means solder paste area smaller than the pad (typical for solder paste clearance).\nThis value can be superseded by local values for a footprint or a pad.\nFinal clearance value is the sum of this value and the relative clearance value.") );
156 gbSizer2->Add(
m_pasteMarginCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
158 m_pasteMarginUnits =
new wxStaticText(
this, wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
160 gbSizer2->Add(
m_pasteMarginUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
162 m_pasteMarginRatioLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Solder paste relative clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
164 m_pasteMarginRatioLabel->SetToolTip(
_(
"Global clearance ratio between pads and the solder paste as a percentage of the pad size.\nA value of 10 means the clearance value is 10 percent of the pad size.\nThis value can be superseded by local values for a footprint or a pad.\nFinal clearance value is the sum of this value and the absolute clearance value.") );
166 gbSizer2->Add(
m_pasteMarginRatioLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
168 m_pasteMarginRatioCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
169 m_pasteMarginRatioCtrl->SetToolTip(
_(
"Global clearance ratio between pads and the solder paste as a percentage of the pad size.\nA value of 10 means the clearance value is 10 percent of the pad size.\nThis value can be superseded by local values for a footprint or a pad.\nFinal clearance value is the sum of this value and the absolute clearance value.") );
171 gbSizer2->Add(
m_pasteMarginRatioCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
178 bSizer3->Add( gbSizer2, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
181 bSizer3->Add( 0, 0, 2, wxEXPAND, 5 );
183 m_staticTextInfoPaste =
new wxStaticText(
this, wxID_ANY,
_(
"Note: Solder paste clearances (absolute and relative) are added to determine the final clearance."), wxDefaultPosition, wxDefaultSize, 0 );
188 bSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
191 bMainSizer->Add( bSizer3, 1, wxRIGHT|wxLEFT|wxEXPAND, 5 );
194 this->SetSizer( bMainSizer );
196 bMainSizer->Fit(
this );
wxStaticText * m_staticTextInfoMaskMinWidth
wxTextCtrl * m_maskToCopperClearanceCtrl
~PANEL_SETUP_MASK_AND_PASTE_BASE()
wxStaticText * m_maskMarginLabel
wxStaticText * m_stSolderPasteSettings
wxTextCtrl * m_maskMarginCtrl
wxCheckBox * m_allowBridges
wxCheckBox * m_tentViasFront
wxStaticText * m_maskToCopperClearanceLabel
PANEL_SETUP_MASK_AND_PASTE_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxStaticText * m_stSolderMaskSettings
wxTextCtrl * m_pasteMarginRatioCtrl
wxStaticText * m_pasteMarginUnits
wxStaticBitmap * m_bitmapWarning
wxStaticText * m_maskToCopperClearanceUnits
wxStaticText * m_maskMarginUnits
wxStaticText * m_maskMinWidthUnits
wxTextCtrl * m_pasteMarginCtrl
wxStaticText * m_maskMinWidthLabel
wxStaticText * m_stTenting
wxStaticText * m_pasteMarginRatioUnits
wxStaticText * m_pasteMarginRatioLabel
wxStaticText * m_pasteMarginLabel
wxCheckBox * m_tentViasBack
wxTextCtrl * m_maskMinWidthCtrl
wxStaticText * m_staticTextInfoPaste
wxStaticText * m_staticTextInfoMaskMinWidth1