15PANEL_DISPLAY_OPTIONS_BASE::PANEL_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID 
id, 
const wxPoint& pos, 
const wxSize& size, 
long style, 
const wxString& 
name ) : 
RESETTABLE_PANEL( parent, id, pos, size, style, 
name )
 
   17    wxBoxSizer* bMainSizer;
 
   18    bMainSizer = 
new wxBoxSizer( wxVERTICAL );
 
   20    wxBoxSizer* bupperSizer;
 
   21    bupperSizer = 
new wxBoxSizer( wxHORIZONTAL );
 
   24    bSizer11 = 
new wxBoxSizer( wxVERTICAL );
 
   32    bSizer11->Add( 0, 8, 0, 0, 5 );
 
   34    wxBoxSizer* bSizerPads;
 
   35    bSizerPads = 
new wxBoxSizer( wxVERTICAL );
 
   37    m_padsLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Pads"), wxDefaultPosition, wxDefaultSize, 0 );
 
   39    bSizerPads->Add( 
m_padsLabel, 0, wxTOP|wxRIGHT|wxLEFT, 13 );
 
   41    m_staticlinePads = 
new wxStaticLine( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
   48    bSizerPads->Add( 0, 8, 0, wxEXPAND, 5 );
 
   50    m_clearanceLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Clearance Outlines"), wxDefaultPosition, wxDefaultSize, 0 );
 
   54    m_staticline2 = 
new wxStaticLine( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
   55    bSizerPads->Add( 
m_staticline2, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
   57    wxGridBagSizer* gbSizer2;
 
   58    gbSizer2 = 
new wxGridBagSizer( 2, 0 );
 
   59    gbSizer2->SetFlexibleDirection( wxBOTH );
 
   60    gbSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
   64    gbSizer2->Add( 
m_trackClearancesLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
 
   66    wxString m_OptDisplayTracksClearanceChoices[] = { 
_(
"Do not show clearances"), 
_(
"Show when routing"), 
_(
"Show when routing w/ via clearance at end"), 
_(
"Show when routing and editing"), 
_(
"Show always") };
 
   67    int m_OptDisplayTracksClearanceNChoices = 
sizeof( m_OptDisplayTracksClearanceChoices ) / 
sizeof( wxString );
 
   68    m_OptDisplayTracksClearance = 
new wxChoice( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_OptDisplayTracksClearanceNChoices, m_OptDisplayTracksClearanceChoices, 0 );
 
   70    gbSizer2->Add( 
m_OptDisplayTracksClearance, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
 
   72    m_OptDisplayPadClearence = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Show pad clearance"), wxDefaultPosition, wxDefaultSize, 0 );
 
   76    bSizerPads->Add( gbSizer2, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
 
   79    bSizerPads->Add( 0, 0, 1, wxEXPAND, 5 );
 
   82    bSizer11->Add( bSizerPads, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
 
   85    bupperSizer->Add( bSizer11, 1, wxEXPAND, 5 );
 
   88    bupperSizer->Add( 15, 0, 0, 0, 5 );
 
   90    m_optionsBook = 
new wxSimplebook( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
 
   91    wxPanel* fpEditorPage;
 
   92    fpEditorPage = 
new wxPanel( 
m_optionsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 
   93    wxBoxSizer* fpEditorOptionsSizer;
 
   94    fpEditorOptionsSizer = 
new wxBoxSizer( wxVERTICAL );
 
   96    m_layerNamesLabel = 
new wxStaticText( fpEditorPage, wxID_ANY, 
_(
"Layer Names"), wxDefaultPosition, wxDefaultSize, 0 );
 
  101    fpEditorOptionsSizer->Add( 0, 3, 0, 0, 5 );
 
  135    wxBoxSizer* bButtonSize1;
 
  136    bButtonSize1 = 
new wxBoxSizer( wxHORIZONTAL );
 
  139    bButtonSize1->Add( 
m_bpAddLayer, 0, wxBOTTOM|wxLEFT|wxTOP, 5 );
 
  142    bButtonSize1->Add( 20, 0, 0, 0, 5 );
 
  145    bButtonSize1->Add( 
m_bpDeleteLayer, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
 
  148    fpEditorOptionsSizer->Add( bButtonSize1, 0, wxLEFT, 5 );
 
  151    fpEditorPage->SetSizer( fpEditorOptionsSizer );
 
  152    fpEditorPage->Layout();
 
  153    fpEditorOptionsSizer->Fit( fpEditorPage );
 
  154    m_optionsBook->AddPage( fpEditorPage, 
_(
"Footprint Editor"), 
false );
 
  156    pcbPage = 
new wxPanel( 
m_optionsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 
  157    wxBoxSizer* pcbOptionsSizer;
 
  158    pcbOptionsSizer = 
new wxBoxSizer( wxVERTICAL );
 
  160    wxBoxSizer* bMargins;
 
  161    bMargins = 
new wxBoxSizer( wxVERTICAL );
 
  163    m_annotationsLabel = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Annotations"), wxDefaultPosition, wxDefaultSize, 0 );
 
  167    m_staticline1 = 
new wxStaticLine( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  168    bMargins->Add( 
m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
  170    wxGridBagSizer* gbSizer1;
 
  171    gbSizer1 = 
new wxGridBagSizer( 2, 0 );
 
  172    gbSizer1->SetFlexibleDirection( wxBOTH );
 
  173    gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  175    m_netNamesLabel = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Net names:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  177    gbSizer1->Add( 
m_netNamesLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
 
  179    wxString m_ShowNetNamesOptionChoices[] = { 
_(
"Do not show"), 
_(
"Show on pads"), 
_(
"Show on tracks"), 
_(
"Show on pads & tracks") };
 
  180    int m_ShowNetNamesOptionNChoices = 
sizeof( m_ShowNetNamesOptionChoices ) / 
sizeof( wxString );
 
  181    m_ShowNetNamesOption = 
new wxChoice( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ShowNetNamesOptionNChoices, m_ShowNetNamesOptionChoices, 0 );
 
  183    gbSizer1->Add( 
m_ShowNetNamesOption, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
 
  185    m_OptDisplayPadNumber = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Show pad numbers"), wxDefaultPosition, wxDefaultSize, 0 );
 
  190    bMargins->Add( gbSizer1, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
 
  193    bMargins->Add( 0, 8, 0, 0, 5 );
 
  195    m_staticText4 = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Selection && Highlighting"), wxDefaultPosition, wxDefaultSize, 0 );
 
  199    m_staticline4 = 
new wxStaticLine( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  200    bMargins->Add( 
m_staticline4, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
  203    bSizer9 = 
new wxBoxSizer( wxVERTICAL );
 
  210    bMargins->Add( bSizer9, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
 
  213    bMargins->Add( 0, 8, 0, 0, 5 );
 
  215    m_crossProbingLabel = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Cross-probing"), wxDefaultPosition, wxDefaultSize, 0 );
 
  219    m_staticline3 = 
new wxStaticLine( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  220    bMargins->Add( 
m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
  223    bSizer8 = 
new wxBoxSizer( wxVERTICAL );
 
  225    m_checkCrossProbeOnSelection = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Select/highlight objects corresponding to schematic selection"), wxDefaultPosition, wxDefaultSize, 0 );
 
  231    m_checkCrossProbeCenter = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Center view on cross-probed items"), wxDefaultPosition, wxDefaultSize, 0 );
 
  237    m_checkCrossProbeZoom = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Zoom to fit cross-probed items"), wxDefaultPosition, wxDefaultSize, 0 );
 
  247    m_checkCrossProbeFlash = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Flash cross-probed selection"), wxDefaultPosition, wxDefaultSize, 0 );
 
  251    m_live3Drefresh = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Refresh 3D view automatically"), wxDefaultPosition, wxDefaultSize, 0 );
 
  252    m_live3Drefresh->SetToolTip( 
_(
"When enabled, edits to the board will cause the 3D view to refresh (may be slow with larger boards)") );
 
  257    bMargins->Add( bSizer8, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
 
  260    bMargins->Add( 0, 8, 1, wxEXPAND, 5 );
 
  263    pcbOptionsSizer->Add( bMargins, 0, wxEXPAND, 5 );
 
  266    pcbPage->SetSizer( pcbOptionsSizer );
 
  268    pcbOptionsSizer->Fit( pcbPage );
 
  271    bupperSizer->Add( 
m_optionsBook, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
 
  274    bMainSizer->Add( bupperSizer, 0, wxEXPAND, 5 );
 
  277    this->SetSizer( bMainSizer );
 
  279    bMainSizer->Fit( 
this );