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 );