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 );
84 sbFields->Add(
m_fieldsGrid, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
86 wxBoxSizer* bButtonSize;
87 bButtonSize =
new wxBoxSizer( wxHORIZONTAL );
89 m_bpAdd =
new STD_BITMAP_BUTTON( sbFields->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
90 m_bpAdd->SetToolTip(
_(
"Add field") );
92 bButtonSize->Add(
m_bpAdd, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
94 m_bpMoveUp =
new STD_BITMAP_BUTTON( sbFields->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
97 bButtonSize->Add(
m_bpMoveUp, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
102 bButtonSize->Add(
m_bpMoveDown, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
105 bButtonSize->Add( 20, 0, 0, wxEXPAND, 10 );
107 m_bpDelete =
new STD_BITMAP_BUTTON( sbFields->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
110 bButtonSize->Add(
m_bpDelete, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
113 bButtonSize->Add( 0, 0, 1, wxEXPAND, 5 );
116 sbFields->Add( bButtonSize, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
119 generalPageSizer->Add( sbFields, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
121 wxBoxSizer* bLowerSizer;
122 bLowerSizer =
new wxBoxSizer( wxHORIZONTAL );
124 wxStaticBoxSizer* sbGeneralProps;
125 sbGeneralProps =
new wxStaticBoxSizer(
new wxStaticBox(
generalPage, wxID_ANY,
_(
"General") ), wxVERTICAL );
127 wxGridBagSizer* gbSizer1;
128 gbSizer1 =
new wxGridBagSizer( 3, 3 );
129 gbSizer1->SetFlexibleDirection( wxBOTH );
130 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
131 gbSizer1->SetEmptyCellSize( wxSize( -1,12 ) );
133 m_unitLabel =
new wxStaticText( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Unit:"), wxDefaultPosition, wxDefaultSize, 0 );
135 gbSizer1->Add(
m_unitLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
137 wxArrayString m_unitChoiceChoices;
138 m_unitChoice =
new wxChoice( sbGeneralProps->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_unitChoiceChoices, 0 );
142 gbSizer1->Add(
m_unitChoice, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxRIGHT, 5 );
144 m_bodyStyle =
new wxStaticText( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Body style:"), wxDefaultPosition, wxDefaultSize, 0 );
146 gbSizer1->Add(
m_bodyStyle, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
148 wxArrayString m_bodyStyleChoiceChoices;
149 m_bodyStyleChoice =
new wxChoice( sbGeneralProps->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_bodyStyleChoiceChoices, 0 );
151 gbSizer1->Add(
m_bodyStyleChoice, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
153 m_orientationLabel =
new wxStaticText( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Angle:"), wxDefaultPosition, wxDefaultSize, 0 );
155 gbSizer1->Add(
m_orientationLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
157 wxString m_orientationCtrlChoices[] = {
_(
"0"),
_(
"+90"),
_(
"-90"),
_(
"180") };
158 int m_orientationCtrlNChoices =
sizeof( m_orientationCtrlChoices ) /
sizeof( wxString );
159 m_orientationCtrl =
new wxChoice( sbGeneralProps->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_orientationCtrlNChoices, m_orientationCtrlChoices, 0 );
161 gbSizer1->Add(
m_orientationCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
163 m_mirrorLabel =
new wxStaticText( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Mirror:"), wxDefaultPosition, wxDefaultSize, 0 );
165 gbSizer1->Add(
m_mirrorLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
167 wxString m_mirrorCtrlChoices[] = {
_(
"Not mirrored"),
_(
"Around X axis"),
_(
"Around Y axis") };
168 int m_mirrorCtrlNChoices =
sizeof( m_mirrorCtrlChoices ) /
sizeof( wxString );
169 m_mirrorCtrl =
new wxChoice( sbGeneralProps->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_mirrorCtrlNChoices, m_mirrorCtrlChoices, 0 );
171 gbSizer1->Add(
m_mirrorCtrl, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxRIGHT, 5 );
174 gbSizer1->AddGrowableCol( 1 );
176 sbGeneralProps->Add( gbSizer1, 1, wxEXPAND, 5 );
178 wxBoxSizer* bSizer11;
179 bSizer11 =
new wxBoxSizer( wxHORIZONTAL );
181 m_ShowPinNumButt =
new wxCheckBox( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Show pin numbers"), wxDefaultPosition, wxDefaultSize, 0 );
187 m_ShowPinNameButt =
new wxCheckBox( sbGeneralProps->GetStaticBox(), wxID_ANY,
_(
"Show pin names"), wxDefaultPosition, wxDefaultSize, 0 );
194 sbGeneralProps->Add( bSizer11, 0, wxEXPAND|wxTOP, 13 );
197 bLowerSizer->Add( sbGeneralProps, 4, wxEXPAND|wxRIGHT|wxLEFT, 5 );
199 wxBoxSizer* bMiddleCol;
200 bMiddleCol =
new wxBoxSizer( wxVERTICAL );
202 wxStaticBoxSizer* sbAttributes;
203 sbAttributes =
new wxStaticBoxSizer(
new wxStaticBox(
generalPage, wxID_ANY,
_(
"Attributes") ), wxVERTICAL );
205 m_cbExcludeFromSim =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Exclude from simulation"), wxDefaultPosition, wxDefaultSize, 0 );
209 sbAttributes->Add( 0, 10, 0, wxEXPAND, 5 );
211 m_cbExcludeFromBom =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Exclude from bill of materials"), wxDefaultPosition, wxDefaultSize, 0 );
212 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") );
216 m_cbExcludeFromBoard =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Exclude from board"), wxDefaultPosition, wxDefaultSize, 0 );
217 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") );
221 m_cbDNP =
new wxCheckBox( sbAttributes->GetStaticBox(), wxID_ANY,
_(
"Do not populate"), wxDefaultPosition, wxDefaultSize, 0 );
222 sbAttributes->Add(
m_cbDNP, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
225 bMiddleCol->Add( sbAttributes, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
228 bLowerSizer->Add( bMiddleCol, 3, wxEXPAND|wxRIGHT|wxLEFT, 5 );
230 wxBoxSizer* buttonsSizer;
231 buttonsSizer =
new wxBoxSizer( wxVERTICAL );
243 buttonsSizer->Add( 0, 20, 0, wxEXPAND, 5 );
249 bLowerSizer->Add( buttonsSizer, 3, wxEXPAND|wxALL, 5 );
252 generalPageSizer->Add( bLowerSizer, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
260 wxBoxSizer* pinTableSizer;
261 pinTableSizer =
new wxBoxSizer( wxVERTICAL );
263 wxBoxSizer* bMargins;
264 bMargins =
new wxBoxSizer( wxVERTICAL );
283 m_pinGrid->SetColLabelValue( 0,
_(
"Pin Number") );
284 m_pinGrid->SetColLabelValue( 1,
_(
"Base Pin Name") );
285 m_pinGrid->SetColLabelValue( 2,
_(
"Alternate Assignment") );
286 m_pinGrid->SetColLabelValue( 3,
_(
"Electrical Type") );
287 m_pinGrid->SetColLabelValue( 4,
_(
"Graphic Style") );
289 m_pinGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
294 m_pinGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
299 m_pinGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
300 bMargins->Add(
m_pinGrid, 1, wxEXPAND|wxALL|wxFIXED_MINSIZE, 5 );
303 pinTableSizer->Add( bMargins, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
311 mainSizer->Add(
m_notebook1, 1, wxEXPAND|wxALL, 10 );
313 wxBoxSizer* bSizerBottom;
314 bSizerBottom =
new wxBoxSizer( wxHORIZONTAL );
316 m_libraryIDLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Library link:"), wxDefaultPosition, wxDefaultSize, 0 );
318 bSizerBottom->Add(
m_libraryIDLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxTOP, 2 );
320 m_tcLibraryID =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxBORDER_NONE );
321 bSizerBottom->Add(
m_tcLibraryID, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
324 bSizerBottom->Add( 10, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
326 m_spiceFieldsButton =
new wxButton(
this, wxID_ANY,
_(
"Simulation Model..."), wxDefaultPosition, wxDefaultSize, 0 );
339 mainSizer->Add( bSizerBottom, 0, wxEXPAND|wxLEFT, 12 );
342 this->SetSizer( mainSizer );
344 mainSizer->Fit(
this );