12PANEL_PTH_SIZE_BASE::PANEL_PTH_SIZE_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) :
CALCULATOR_PANEL( parent, id, pos, size, style,
name )
14 wxBoxSizer* bSizerMain;
15 bSizerMain =
new wxBoxSizer( wxVERTICAL );
18 bSizer9 =
new wxBoxSizer( wxVERTICAL );
21 bSizer4 =
new wxBoxSizer( wxHORIZONTAL );
24 bSizer6 =
new wxBoxSizer( wxVERTICAL );
26 wxStaticBoxSizer* sbSizerLeft;
27 sbSizerLeft =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Properties") ), wxVERTICAL );
29 wxFlexGridSizer* fgSizerLeft;
30 fgSizerLeft =
new wxFlexGridSizer( 0, 4, 0, 0 );
31 fgSizerLeft->SetFlexibleDirection( wxBOTH );
32 fgSizerLeft->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
34 m_staticTextLeadShape =
new wxStaticText( sbSizerLeft->GetStaticBox(), wxID_ANY,
_(
"Lead shape:"), wxDefaultPosition, wxDefaultSize, 0 );
38 wxString m_shapeChoiceChoices[] = {
_(
"Round"),
_(
"Square"),
_(
"Rectangular") };
39 int m_shapeChoiceNChoices =
sizeof( m_shapeChoiceChoices ) /
sizeof( wxString );
40 m_shapeChoice =
new wxChoice( sbSizerLeft->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_shapeChoiceNChoices, m_shapeChoiceChoices, 0 );
42 fgSizerLeft->Add(
m_shapeChoice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
45 fgSizerLeft->Add( 0, 0, 1, wxEXPAND, 5 );
48 fgSizerLeft->Add( 0, 0, 1, wxEXPAND, 5 );
51 fgSizerLeft->Add( 0, 0, 1, wxEXPAND, 5 );
53 m_staticTextMin =
new wxStaticText( sbSizerLeft->GetStaticBox(), wxID_ANY,
_(
"Min"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL );
57 m_staticTextMax =
new wxStaticText( sbSizerLeft->GetStaticBox(), wxID_ANY,
_(
"Max"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL );
62 fgSizerLeft->Add( 0, 0, 1, wxEXPAND, 5 );
64 m_staticTextSizeX =
new wxStaticText( sbSizerLeft->GetStaticBox(), wxID_ANY,
_(
"Size X:"), wxDefaultPosition, wxDefaultSize, 0 );
68 m_sizeXMinCtrl =
new wxTextCtrl( sbSizerLeft->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
69 fgSizerLeft->Add(
m_sizeXMinCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
71 m_sizeXMaxCtrl =
new wxTextCtrl( sbSizerLeft->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
72 fgSizerLeft->Add(
m_sizeXMaxCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
74 m_staticTextSizeXUnit =
new wxStaticText( sbSizerLeft->GetStaticBox(), wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
78 m_staticTextSizeY =
new wxStaticText( sbSizerLeft->GetStaticBox(), wxID_ANY,
_(
"Size Y:"), wxDefaultPosition, wxDefaultSize, 0 );
82 m_sizeYMinCtrl =
new wxTextCtrl( sbSizerLeft->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
83 fgSizerLeft->Add(
m_sizeYMinCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
85 m_sizeYMaxCtrl =
new wxTextCtrl( sbSizerLeft->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
86 fgSizerLeft->Add(
m_sizeYMaxCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
88 m_staticTextSizeYUnit =
new wxStaticText( sbSizerLeft->GetStaticBox(), wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
93 fgSizerLeft->Add( 0, 0, 1, wxEXPAND, 5 );
96 sbSizerLeft->Add( fgSizerLeft, 0, wxALL|wxEXPAND, 5 );
99 bSizer6->Add( sbSizerLeft, 0, wxBOTTOM|wxEXPAND, 5 );
101 wxStaticBoxSizer* sbSizerLeft1;
102 sbSizerLeft1 =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Hole size standard") ), wxVERTICAL );
104 wxFlexGridSizer* fgSizerLeft1;
105 fgSizerLeft1 =
new wxFlexGridSizer( 0, 3, 0, 0 );
106 fgSizerLeft1->AddGrowableCol( 1 );
107 fgSizerLeft1->SetFlexibleDirection( wxBOTH );
108 fgSizerLeft1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
110 m_staticTextStandard =
new wxStaticText( sbSizerLeft1->GetStaticBox(), wxID_ANY,
_(
"Standard:"), wxDefaultPosition, wxDefaultSize, 0 );
114 wxArrayString m_standardChoiceChoices;
115 m_standardChoice =
new wxChoice( sbSizerLeft1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_standardChoiceChoices, 0 );
120 fgSizerLeft1->Add( 0, 0, 1, wxEXPAND, 5 );
122 m_staticTextDensity =
new wxStaticText( sbSizerLeft1->GetStaticBox(), wxID_ANY,
_(
"Level:"), wxDefaultPosition, wxDefaultSize, 0 );
126 wxArrayString m_levelChoiceChoices;
127 m_levelChoice =
new wxChoice( sbSizerLeft1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_levelChoiceChoices, 0 );
132 fgSizerLeft1->Add( 0, 0, 1, wxEXPAND, 5 );
134 m_staticTextRoundTo =
new wxStaticText( sbSizerLeft1->GetStaticBox(), wxID_ANY,
_(
"Round to:"), wxDefaultPosition, wxDefaultSize, 0 );
138 m_sizeRoundingCtrl =
new wxTextCtrl( sbSizerLeft1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
141 m_staticTextRoundingUnit =
new wxStaticText( sbSizerLeft1->GetStaticBox(), wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
145 m_staticTextRoundType =
new wxStaticText( sbSizerLeft1->GetStaticBox(), wxID_ANY,
_(
"Rounding:"), wxDefaultPosition, wxDefaultSize, 0 );
149 wxString m_choiceRoundingChoices[] = {
_(
"Up"),
_(
"Nearest") };
150 int m_choiceRoundingNChoices =
sizeof( m_choiceRoundingChoices ) /
sizeof( wxString );
151 m_choiceRounding =
new wxChoice( sbSizerLeft1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceRoundingNChoices, m_choiceRoundingChoices, 0 );
156 fgSizerLeft1->Add( 0, 0, 1, wxEXPAND, 5 );
159 sbSizerLeft1->Add( fgSizerLeft1, 0, wxALL|wxEXPAND, 5 );
162 bSizer6->Add( sbSizerLeft1, 0, wxEXPAND, 5 );
164 wxStaticBoxSizer* sbSizerLeft11;
165 sbSizerLeft11 =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Annular ring") ), wxVERTICAL );
167 wxFlexGridSizer* fgSizerLeft11;
168 fgSizerLeft11 =
new wxFlexGridSizer( 0, 3, 0, 0 );
169 fgSizerLeft11->AddGrowableCol( 1 );
170 fgSizerLeft11->SetFlexibleDirection( wxBOTH );
171 fgSizerLeft11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
173 m_staticTextAnnular =
new wxStaticText( sbSizerLeft11->GetStaticBox(), wxID_ANY,
_(
"Annular ring:"), wxDefaultPosition, wxDefaultSize, 0 );
177 m_annularCtrl =
new wxTextCtrl( sbSizerLeft11->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
180 m_staticTextAnnularUnit =
new wxStaticText( sbSizerLeft11->GetStaticBox(), wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
185 sbSizerLeft11->Add( fgSizerLeft11, 0, wxALL|wxEXPAND, 5 );
188 bSizer6->Add( sbSizerLeft11, 0, wxEXPAND, 5 );
191 bSizer4->Add( bSizer6, 0, wxALL|wxEXPAND, 5 );
193 wxStaticBoxSizer* sbSizerRight;
194 sbSizerRight =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Result") ), wxVERTICAL );
196 sbSizerRight->SetMinSize( wxSize( 500,-1 ) );
198 bSizer5 =
new wxBoxSizer( wxHORIZONTAL );
201 bSizer5->Add( 0, 0, 1, wxEXPAND, 5 );
203 m_bitmapPreview =
new wxStaticBitmap( sbSizerRight->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
206 wxFlexGridSizer* fgSizer5;
207 fgSizer5 =
new wxFlexGridSizer( 0, 1, 0, 0 );
208 fgSizer5->SetFlexibleDirection( wxBOTH );
209 fgSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
211 m_cbShowMinLeadSize =
new wxCheckBox( sbSizerRight->GetStaticBox(), wxID_ANY,
_(
"Show minimum lead size"), wxDefaultPosition, wxDefaultSize, 0 );
214 m_cbShowMinHoleSize =
new wxCheckBox( sbSizerRight->GetStaticBox(), wxID_ANY,
_(
"Show minimum hole size"), wxDefaultPosition, wxDefaultSize, 0 );
217 m_cbShowMaxHoleSize =
new wxCheckBox( sbSizerRight->GetStaticBox(), wxID_ANY,
_(
"Show maximum hole size"), wxDefaultPosition, wxDefaultSize, 0 );
221 bSizer5->Add( fgSizer5, 0, wxEXPAND, 5 );
224 bSizer5->Add( 0, 0, 1, wxEXPAND, 5 );
227 sbSizerRight->Add( bSizer5, 0, wxEXPAND, 5 );
230 bSizer8 =
new wxBoxSizer( wxVERTICAL );
232 wxFlexGridSizer* fgSizer51;
233 fgSizer51 =
new wxFlexGridSizer( 0, 3, 0, 0 );
234 fgSizer51->SetFlexibleDirection( wxBOTH );
235 fgSizer51->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
237 m_staticTextHoleSizeResultTitle =
new wxStaticText( sbSizerRight->GetStaticBox(), wxID_ANY,
_(
"Recommended hole size:"), wxDefaultPosition, wxDefaultSize, 0 );
241 m_holeSizeCtrl =
new wxTextCtrl( sbSizerRight->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
242 fgSizer51->Add(
m_holeSizeCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
248 m_staticTextPadSizeResultTitle =
new wxStaticText( sbSizerRight->GetStaticBox(), wxID_ANY,
_(
"Recommended pad size:"), wxDefaultPosition, wxDefaultSize, 0 );
252 m_padSizeCtrl =
new wxTextCtrl( sbSizerRight->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
253 fgSizer51->Add(
m_padSizeCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
260 bSizer8->Add( fgSizer51, 0, wxALL|wxEXPAND, 5 );
262 wxBoxSizer* bSizer10;
263 bSizer10 =
new wxBoxSizer( wxHORIZONTAL );
265 m_ResultReport =
new wxTextCtrl( sbSizerRight->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY );
270 m_bpCopyAll =
new wxBitmapButton( sbSizerRight->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
274 bSizer8->Add( bSizer10, 1, wxEXPAND, 5 );
277 sbSizerRight->Add( bSizer8, 1, wxEXPAND, 5 );
280 bSizer4->Add( sbSizerRight, 1, wxALL|wxEXPAND, 5 );
283 bSizer9->Add( bSizer4, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
285 wxBoxSizer* bSizer61;
286 bSizer61 =
new wxBoxSizer( wxVERTICAL );
288 m_staticTextSummaryTitle =
new wxStaticText(
this, wxID_ANY,
_(
"IPC-2222B Summary"), wxDefaultPosition, wxDefaultSize, 0 );
292 m_ipc2222Summary =
new wxGrid(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
322 m_ipc2222Summary->SetDefaultCellAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
326 bSizer9->Add( bSizer61, 1, wxEXPAND, 5 );
329 bSizerMain->Add( bSizer9, 0, wxEXPAND, 5 );
332 this->SetSizer( bSizerMain );
334 bSizerMain->Fit(
this );