15DIALOG_SYMBOL_PROPERTIES_BASE::DIALOG_SYMBOL_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( wxDefaultSize, wxDefaultSize );
19 wxBoxSizer* mainSizer;
20 mainSizer =
new wxBoxSizer( wxVERTICAL );
22 m_notebook1 =
new wxNotebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
24 wxBoxSizer* generalPageSizer;
25 generalPageSizer =
new wxBoxSizer( wxVERTICAL );
27 wxStaticBoxSizer* sbFields;
28 sbFields =
new wxStaticBoxSizer(
new wxStaticBox(
generalPage, wxID_ANY,
_(
"Fields") ), wxVERTICAL );
30 m_fieldsGrid =
new WX_GRID( sbFields->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
71 m_fieldsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
76 m_fieldsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
81 m_fieldsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
82 sbFields->Add(
m_fieldsGrid, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
84 wxBoxSizer* bButtonSize;
85 bButtonSize =
new wxBoxSizer( wxHORIZONTAL );
87 m_bpAdd =
new STD_BITMAP_BUTTON( sbFields->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
88 m_bpAdd->SetToolTip(
_(
"Add field") );
90 bButtonSize->Add(
m_bpAdd, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
92 m_bpMoveUp =
new STD_BITMAP_BUTTON( sbFields->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
95 bButtonSize->Add(
m_bpMoveUp, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
100 bButtonSize->Add(
m_bpMoveDown, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
103 bButtonSize->Add( 20, 0, 0, wxEXPAND, 10 );
105 m_bpDelete =
new STD_BITMAP_BUTTON( sbFields->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
108 bButtonSize->Add(
m_bpDelete, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
111 bButtonSize->Add( 0, 0, 1, wxEXPAND, 5 );
114 sbFields->Add( bButtonSize, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
117 generalPageSizer->Add( sbFields, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
119 wxBoxSizer* bLowerSizer;
120 bLowerSizer =
new wxBoxSizer( wxHORIZONTAL );
122 wxStaticBoxSizer* sbGeneralProps;
123 sbGeneralProps =
new wxStaticBoxSizer(
new wxStaticBox(
generalPage, wxID_ANY,
_(
"General") ), wxVERTICAL );
125 wxGridBagSizer* gbSizer1;
126 gbSizer1 =
new wxGridBagSizer( 3, 3 );
127 gbSizer1->SetFlexibleDirection( wxBOTH );
128 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
129 gbSizer1->SetEmptyCellSize( wxSize( -1,12 ) );
131 m_unitLabel =
new wxStaticText( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Unit:"), wxDefaultPosition, wxDefaultSize, 0 );
133 gbSizer1->Add(
m_unitLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
135 wxArrayString m_unitChoiceChoices;
136 m_unitChoice =
new wxChoice( sbGeneralProps->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_unitChoiceChoices, 0 );
140 gbSizer1->Add(
m_unitChoice, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxRIGHT, 5 );
142 m_bodyStyle =
new wxStaticText( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Body style:"), wxDefaultPosition, wxDefaultSize, 0 );
144 gbSizer1->Add(
m_bodyStyle, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
146 wxArrayString m_bodyStyleChoiceChoices;
147 m_bodyStyleChoice =
new wxChoice( sbGeneralProps->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_bodyStyleChoiceChoices, 0 );
149 gbSizer1->Add(
m_bodyStyleChoice, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
151 m_orientationLabel =
new wxStaticText( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Angle:"), wxDefaultPosition, wxDefaultSize, 0 );
153 gbSizer1->Add(
m_orientationLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
155 wxString m_orientationCtrlChoices[] = {
_(
"0"),
_(
"+90"),
_(
"-90"),
_(
"180") };
156 int m_orientationCtrlNChoices =
sizeof( m_orientationCtrlChoices ) /
sizeof( wxString );
157 m_orientationCtrl =
new wxChoice( sbGeneralProps->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_orientationCtrlNChoices, m_orientationCtrlChoices, 0 );
159 gbSizer1->Add(
m_orientationCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
161 m_mirrorLabel =
new wxStaticText( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Mirror:"), wxDefaultPosition, wxDefaultSize, 0 );
163 gbSizer1->Add(
m_mirrorLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
165 wxString m_mirrorCtrlChoices[] = {
_(
"Not mirrored"),
_(
"Around X axis"),
_(
"Around Y axis") };
166 int m_mirrorCtrlNChoices =
sizeof( m_mirrorCtrlChoices ) /
sizeof( wxString );
167 m_mirrorCtrl =
new wxChoice( sbGeneralProps->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_mirrorCtrlNChoices, m_mirrorCtrlChoices, 0 );
169 gbSizer1->Add(
m_mirrorCtrl, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxRIGHT, 5 );
172 gbSizer1->AddGrowableCol( 1 );
174 sbGeneralProps->Add( gbSizer1, 1, wxEXPAND, 5 );
176 wxBoxSizer* bSizer11;
177 bSizer11 =
new wxBoxSizer( wxHORIZONTAL );
179 m_ShowPinNumButt =
new wxCheckBox( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Show pin numbers"), wxDefaultPosition, wxDefaultSize, 0 );
185 m_ShowPinNameButt =
new wxCheckBox( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Show pin names"), wxDefaultPosition, wxDefaultSize, 0 );
192 sbGeneralProps->Add( bSizer11, 0, wxEXPAND|wxTOP, 13 );
195 bLowerSizer->Add( sbGeneralProps, 4, wxEXPAND|wxRIGHT|wxLEFT, 5 );
197 wxBoxSizer* bMiddleCol;
198 bMiddleCol =
new wxBoxSizer( wxVERTICAL );
200 wxStaticBoxSizer* sbAttributes;
201 sbAttributes =
new wxStaticBoxSizer(
new wxStaticBox(
generalPage, wxID_ANY,
_(
"Attributes") ), wxVERTICAL );
203 m_cbExcludeFromSim =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Exclude from simulation"), wxDefaultPosition, wxDefaultSize, 0 );
207 sbAttributes->Add( 0, 10, 0, wxEXPAND, 5 );
209 m_cbExcludeFromBom =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Exclude from bill of materials"), wxDefaultPosition, wxDefaultSize, 0 );
210 m_cbExcludeFromBom->SetToolTip(
_(
"This is useful for adding symbols for board footprints such as fiducials\nand logos that you do not want to appear in the bill of materials export") );
214 m_cbExcludeFromBoard =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Exclude from board"), wxDefaultPosition, wxDefaultSize, 0 );
215 m_cbExcludeFromBoard->SetToolTip(
_(
"This is useful for adding symbols that only get exported to the bill of materials but\nnot required to layout the board such as mechanical fasteners and enclosures") );
219 m_cbExcludeFromPosFiles =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Exclude from position files"), wxDefaultPosition, wxDefaultSize, 0 );
220 m_cbExcludeFromPosFiles->SetToolTip(
_(
"This is useful for adding symbols that should not be included in the \nexported position files used for pick and place machines") );
224 m_cbDNP =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Do not populate"), wxDefaultPosition, wxDefaultSize, 0 );
225 sbAttributes->Add(
m_cbDNP, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
228 bMiddleCol->Add( sbAttributes, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
231 bLowerSizer->Add( bMiddleCol, 3, wxEXPAND|wxRIGHT|wxLEFT, 5 );
233 wxBoxSizer* buttonsSizer;
234 buttonsSizer =
new wxBoxSizer( wxVERTICAL );
246 buttonsSizer->Add( 0, 20, 0, wxEXPAND, 5 );
252 bLowerSizer->Add( buttonsSizer, 3, wxEXPAND|wxALL, 5 );
255 generalPageSizer->Add( bLowerSizer, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
263 wxBoxSizer* pinTableSizer;
264 pinTableSizer =
new wxBoxSizer( wxVERTICAL );
266 wxBoxSizer* bMargins;
267 bMargins =
new wxBoxSizer( wxVERTICAL );
286 m_pinGrid->SetColLabelValue( 0,
_(
"Pin Number") );
287 m_pinGrid->SetColLabelValue( 1,
_(
"Base Pin Name") );
288 m_pinGrid->SetColLabelValue( 2,
_(
"Alternate Assignment") );
289 m_pinGrid->SetColLabelValue( 3,
_(
"Electrical Type") );
290 m_pinGrid->SetColLabelValue( 4,
_(
"Graphic Style") );
292 m_pinGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
297 m_pinGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
302 m_pinGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
303 bMargins->Add(
m_pinGrid, 1, wxEXPAND|wxALL|wxFIXED_MINSIZE, 5 );
306 pinTableSizer->Add( bMargins, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
314 mainSizer->Add(
m_notebook1, 1, wxEXPAND|wxALL, 10 );
316 wxBoxSizer* bSizerBottom;
317 bSizerBottom =
new wxBoxSizer( wxHORIZONTAL );
319 m_libraryIDLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Library link:"), wxDefaultPosition, wxDefaultSize, 0 );
321 bSizerBottom->Add(
m_libraryIDLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxTOP, 2 );
323 m_tcLibraryID =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxBORDER_NONE );
324 bSizerBottom->Add(
m_tcLibraryID, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
327 bSizerBottom->Add( 10, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
329 m_spiceFieldsButton =
new wxButton(
this, wxID_ANY,
_(
"Simulation Model..."), wxDefaultPosition, wxDefaultSize, 0 );
342 mainSizer->Add( bSizerBottom, 0, wxEXPAND|wxLEFT, 12 );
345 this->SetSizer( mainSizer );
347 mainSizer->Fit(
this );