12PANEL_EDIT_OPTIONS_BASE::PANEL_EDIT_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 )
 
   14    wxBoxSizer* bPanelSizer;
 
   15    bPanelSizer = 
new wxBoxSizer( wxHORIZONTAL );
 
   18    bMargins = 
new wxBoxSizer( wxHORIZONTAL );
 
   20    wxBoxSizer* bMiddleLeftSizer;
 
   21    bMiddleLeftSizer = 
new wxBoxSizer( wxVERTICAL );
 
   23    m_staticText31 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Editing Options"), wxDefaultPosition, wxDefaultSize, 0 );
 
   25    bMiddleLeftSizer->Add( 
m_staticText31, 0, wxTOP|wxRIGHT|wxLEFT, 13 );
 
   27    m_staticline3 = 
new wxStaticLine( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
   28    bMiddleLeftSizer->Add( 
m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
   30    wxBoxSizer* bSizerUniversal;
 
   31    bSizerUniversal = 
new wxBoxSizer( wxVERTICAL );
 
   33    m_cbConstrainHV45Mode = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Constrain actions to H, V, 45 degrees"), wxDefaultPosition, wxDefaultSize, 0 );
 
   36    wxBoxSizer* bSizerRotationStep;
 
   37    bSizerRotationStep = 
new wxBoxSizer( wxHORIZONTAL );
 
   39    m_rotationAngleLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Step for &rotate commands:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   41    bSizerRotationStep->Add( 
m_rotationAngleLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
   43    m_rotationAngleCtrl = 
new wxTextCtrl( 
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 
   44    m_rotationAngleCtrl->SetToolTip( 
_(
"Set increment (in degrees) for context menu and hotkey rotation.") );
 
   47    bSizerRotationStep->Add( 
m_rotationAngleCtrl, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
   49    m_rotationAngleUnits = 
new wxStaticText( 
this, wxID_ANY, 
_(
"deg"), wxDefaultPosition, wxDefaultSize, 0 );
 
   54    bSizerUniversal->Add( bSizerRotationStep, 0, wxEXPAND, 5 );
 
   57    bSizerUniversal->Add( 0, 3, 0, 0, 5 );
 
   59    m_arcEditModeLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Arc editing mode:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   64    bSizerUniversal->Add( 0, 3, 0, wxEXPAND, 5 );
 
   66    wxString m_arcEditModeChoices[] = { 
_(
"Keep center, adjust radius"), 
_(
"Keep endpoints or direction of starting point"), 
_(
"Keep center and radius, adjust endpoints") };
 
   67    int m_arcEditModeNChoices = 
sizeof( m_arcEditModeChoices ) / 
sizeof( wxString );
 
   68    m_arcEditMode = 
new wxChoice( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_arcEditModeNChoices, m_arcEditModeChoices, 0 );
 
   70    bSizerUniversal->Add( 
m_arcEditMode, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
   73    bMiddleLeftSizer->Add( bSizerUniversal, 0, wxEXPAND|wxALL, 5 );
 
   80    m_trackMouseDragLabel = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Track mouse-drag mode:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   87    wxString m_trackMouseDragCtrlChoices[] = { 
_(
"Move"), 
_(
"Drag (45 degree mode)"), 
_(
"Drag (free angle)") };
 
   88    int m_trackMouseDragCtrlNChoices = 
sizeof( m_trackMouseDragCtrlChoices ) / 
sizeof( wxString );
 
   89    m_trackMouseDragCtrl = 
new wxChoice( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_trackMouseDragCtrlNChoices, m_trackMouseDragCtrlChoices, 0 );
 
   93    wxBoxSizer* bSizerFlip;
 
   94    bSizerFlip = 
new wxBoxSizer( wxHORIZONTAL );
 
   96    m_staticText33 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Flip board items:"), wxDefaultPosition, wxDefaultSize, 0 );
 
   98    bSizerFlip->Add( 
m_staticText33, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 
  100    m_rbFlipLeftRight = 
new wxRadioButton( 
this, wxID_ANY, 
_(
"Left/right"), wxDefaultPosition, wxDefaultSize, 0 );
 
  101    bSizerFlip->Add( 
m_rbFlipLeftRight, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 );
 
  103    m_rbFlipTopBottom = 
new wxRadioButton( 
this, wxID_ANY, 
_(
"Top/bottom"), wxDefaultPosition, wxDefaultSize, 0 );
 
  104    bSizerFlip->Add( 
m_rbFlipTopBottom, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 );
 
  109    m_allowFreePads = 
new wxCheckBox( 
this, wxID_ANY, 
_(
"Allow free pads"), wxDefaultPosition, wxDefaultSize, 0 );
 
  110    m_allowFreePads->SetToolTip( 
_(
"If checked, pads can be moved with respect to the rest of the footprint.") );
 
  115    bMiddleLeftSizer->Add( 
m_sizerBoardEdit, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  117    m_staticText32 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Left Click Mouse Commands"), wxDefaultPosition, wxDefaultSize, 0 );
 
  119    bMiddleLeftSizer->Add( 
m_staticText32, 0, wxTOP|wxRIGHT|wxLEFT, 13 );
 
  121    m_staticline4 = 
new wxStaticLine( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  122    bMiddleLeftSizer->Add( 
m_staticline4, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
  126    m_stHint1 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Left click (and drag) actions depend on 2 modifier keys:\nShift and Ctrl"), wxDefaultPosition, wxDefaultSize, 0 );
 
  130    wxFlexGridSizer* fgSizerCmdsWinLin;
 
  131    fgSizerCmdsWinLin = 
new wxFlexGridSizer( 0, 2, 8, 0 );
 
  132    fgSizerCmdsWinLin->SetFlexibleDirection( wxBOTH );
 
  133    fgSizerCmdsWinLin->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  135    wxStaticText* staticText61;
 
  136    staticText61 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Click:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  137    staticText61->Wrap( -1 );
 
  138    fgSizerCmdsWinLin->Add( staticText61, 0, wxRIGHT|wxLEFT, 5 );
 
  140    wxStaticText* staticText71;
 
  141    staticText71 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Select item(s)"), wxDefaultPosition, wxDefaultSize, 0 );
 
  142    staticText71->Wrap( -1 );
 
  143    fgSizerCmdsWinLin->Add( staticText71, 0, wxRIGHT|wxLEFT, 5 );
 
  145    wxStaticText* staticText611;
 
  146    staticText611 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Long Click:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  147    staticText611->Wrap( -1 );
 
  148    fgSizerCmdsWinLin->Add( staticText611, 0, wxRIGHT|wxLEFT, 5 );
 
  150    wxStaticText* staticText711;
 
  151    staticText711 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Clarify selection from menu"), wxDefaultPosition, wxDefaultSize, 0 );
 
  152    staticText711->Wrap( -1 );
 
  153    fgSizerCmdsWinLin->Add( staticText711, 0, wxRIGHT|wxLEFT, 5 );
 
  155    wxStaticText* staticText81;
 
  156    staticText81 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Shift:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  157    staticText81->Wrap( -1 );
 
  158    fgSizerCmdsWinLin->Add( staticText81, 0, wxRIGHT|wxLEFT, 5 );
 
  160    wxStaticText* staticText91;
 
  161    staticText91 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Add item(s) to selection"), wxDefaultPosition, wxDefaultSize, 0 );
 
  162    staticText91->Wrap( -1 );
 
  163    fgSizerCmdsWinLin->Add( staticText91, 0, wxRIGHT|wxLEFT, 5 );
 
  165    wxStaticText* staticText121;
 
  166    staticText121 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Ctrl+Shift:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  167    staticText121->Wrap( -1 );
 
  168    fgSizerCmdsWinLin->Add( staticText121, 0, wxRIGHT|wxLEFT, 5 );
 
  170    wxStaticText* staticText131;
 
  171    staticText131 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Remove item(s) from selection"), wxDefaultPosition, wxDefaultSize, 0 );
 
  172    staticText131->Wrap( -1 );
 
  173    fgSizerCmdsWinLin->Add( staticText131, 0, wxRIGHT|wxLEFT, 5 );
 
  175    wxStaticText* staticText161;
 
  176    staticText161 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Ctrl:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  177    staticText161->Wrap( -1 );
 
  178    fgSizerCmdsWinLin->Add( staticText161, 0, wxRIGHT|wxLEFT, 5 );
 
  180    wxBoxSizer* bSizer16;
 
  181    bSizer16 = 
new wxBoxSizer( wxVERTICAL );
 
  183    m_rbToggleSel = 
new wxRadioButton( 
this, wxID_ANY, 
_(
"Toggle selection"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
 
  186    m_rbHighlightNet = 
new wxRadioButton( 
this, wxID_ANY, 
_(
"Highlight net (for pads/tracks)"), wxDefaultPosition, wxDefaultSize, 0 );
 
  190    fgSizerCmdsWinLin->Add( bSizer16, 1, wxEXPAND|wxLEFT, 5 );
 
  200    m_stHint2 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Left click (and drag) actions depend on 3 modifier keys:\nOption, Shift and Cmd"), wxDefaultPosition, wxDefaultSize, 0 );
 
  204    wxFlexGridSizer* fgSizerCmdsOSX;
 
  205    fgSizerCmdsOSX = 
new wxFlexGridSizer( 0, 2, 8, 0 );
 
  206    fgSizerCmdsOSX->SetFlexibleDirection( wxBOTH );
 
  207    fgSizerCmdsOSX->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  209    wxStaticText* staticText62;
 
  210    staticText62 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Click:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  211    staticText62->Wrap( -1 );
 
  212    fgSizerCmdsOSX->Add( staticText62, 0, wxRIGHT|wxLEFT, 5 );
 
  214    wxStaticText* staticText72;
 
  215    staticText72 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Select item(s)"), wxDefaultPosition, wxDefaultSize, 0 );
 
  216    staticText72->Wrap( -1 );
 
  217    fgSizerCmdsOSX->Add( staticText72, 0, wxRIGHT|wxLEFT, 5 );
 
  219    wxStaticText* staticText162;
 
  220    staticText162 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Long Click:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  221    staticText162->Wrap( -1 );
 
  222    fgSizerCmdsOSX->Add( staticText162, 0, wxRIGHT|wxLEFT, 5 );
 
  224    wxStaticText* staticText172;
 
  225    staticText172 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Clarify selection from menu"), wxDefaultPosition, wxDefaultSize, 0 );
 
  226    staticText172->Wrap( -1 );
 
  227    fgSizerCmdsOSX->Add( staticText172, 0, wxRIGHT|wxLEFT, 5 );
 
  229    wxStaticText* staticText82;
 
  230    staticText82 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Shift:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  231    staticText82->Wrap( -1 );
 
  232    fgSizerCmdsOSX->Add( staticText82, 0, wxRIGHT|wxLEFT, 5 );
 
  234    wxStaticText* staticText92;
 
  235    staticText92 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Add item(s) to selection"), wxDefaultPosition, wxDefaultSize, 0 );
 
  236    staticText92->Wrap( -1 );
 
  237    fgSizerCmdsOSX->Add( staticText92, 0, wxRIGHT|wxLEFT, 5 );
 
  239    wxStaticText* staticText122;
 
  240    staticText122 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Shift+Cmd:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  241    staticText122->Wrap( -1 );
 
  242    fgSizerCmdsOSX->Add( staticText122, 0, wxRIGHT|wxLEFT, 5 );
 
  244    wxStaticText* staticText132;
 
  245    staticText132 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Remove item(s) from selection"), wxDefaultPosition, wxDefaultSize, 0 );
 
  246    staticText132->Wrap( -1 );
 
  247    fgSizerCmdsOSX->Add( staticText132, 0, wxRIGHT|wxLEFT, 5 );
 
  249    wxStaticText* staticText142;
 
  250    staticText142 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Cmd:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  251    staticText142->Wrap( -1 );
 
  252    fgSizerCmdsOSX->Add( staticText142, 0, wxRIGHT|wxLEFT, 5 );
 
  254    wxBoxSizer* bSizer161;
 
  255    bSizer161 = 
new wxBoxSizer( wxVERTICAL );
 
  257    m_rbToggleSelMac = 
new wxRadioButton( 
this, wxID_ANY, 
_(
"Toggle selection"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
 
  260    m_rbHighlightNetMac = 
new wxRadioButton( 
this, wxID_ANY, 
_(
"Highlight net (for pads/tracks)"), wxDefaultPosition, wxDefaultSize, 0 );
 
  264    fgSizerCmdsOSX->Add( bSizer161, 1, wxEXPAND|wxLEFT, 5 );
 
  266    wxStaticText* staticText102;
 
  267    staticText102 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Option:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  268    staticText102->Wrap( -1 );
 
  269    fgSizerCmdsOSX->Add( staticText102, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
 
  271    wxStaticText* staticText112;
 
  272    staticText112 = 
new wxStaticText( 
this, wxID_ANY, 
_(
"Clarify selection from menu"), wxDefaultPosition, wxDefaultSize, 0 );
 
  273    staticText112->Wrap( -1 );
 
  274    fgSizerCmdsOSX->Add( staticText112, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
 
  283    bMargins->Add( bMiddleLeftSizer, 0, wxEXPAND|wxRIGHT, 10 );
 
  286    bMargins->Add( 20, 0, 0, wxEXPAND, 5 );
 
  288    m_optionsBook = 
new wxSimplebook( 
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
 
  290    fpPage = 
new wxPanel( 
m_optionsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 
  291    wxBoxSizer* fpOptionsSizer;
 
  292    fpOptionsSizer = 
new wxBoxSizer( wxVERTICAL );
 
  294    m_staticText34 = 
new wxStaticText( fpPage, wxID_ANY, 
_(
"Magnetic Points"), wxDefaultPosition, wxDefaultSize, 0 );
 
  296    fpOptionsSizer->Add( 
m_staticText34, 0, wxTOP|wxRIGHT|wxLEFT, 13 );
 
  298    m_staticline5 = 
new wxStaticLine( fpPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  299    fpOptionsSizer->Add( 
m_staticline5, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
  301    wxBoxSizer* bSizer13;
 
  302    bSizer13 = 
new wxBoxSizer( wxVERTICAL );
 
  304    m_magneticPads = 
new wxCheckBox( fpPage, wxID_ANY, 
_(
"Magnetic pads"), wxDefaultPosition, wxDefaultSize, 0 );
 
  308    m_magneticGraphics = 
new wxCheckBox( fpPage, wxID_ANY, 
_(
"Magnetic graphics"), wxDefaultPosition, wxDefaultSize, 0 );
 
  312    fpOptionsSizer->Add( bSizer13, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
 
  315    fpPage->SetSizer( fpOptionsSizer );
 
  317    fpOptionsSizer->Fit( fpPage );
 
  320    pcbPage = 
new wxPanel( 
m_optionsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 
  321    wxBoxSizer* pcbOptionsSizer;
 
  322    pcbOptionsSizer = 
new wxBoxSizer( wxVERTICAL );
 
  324    stMagneticPtsLabel1 = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Magnetic Points"), wxDefaultPosition, wxDefaultSize, 0 );
 
  328    m_staticline6 = 
new wxStaticLine( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  329    pcbOptionsSizer->Add( 
m_staticline6, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
  331    wxFlexGridSizer* fgMagneticPoints;
 
  332    fgMagneticPoints = 
new wxFlexGridSizer( 0, 2, 5, 0 );
 
  333    fgMagneticPoints->SetFlexibleDirection( wxVERTICAL );
 
  334    fgMagneticPoints->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 
  336    m_staticText2 = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Snap to pads:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  338    m_staticText2->SetToolTip( 
_(
"Capture cursor when the mouse enters a pad area") );
 
  340    fgMagneticPoints->Add( 
m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
 
  342    wxString m_magneticPadChoiceChoices[] = { 
_(
"Never"), 
_(
"When routing tracks"), 
_(
"Always") };
 
  343    int m_magneticPadChoiceNChoices = 
sizeof( m_magneticPadChoiceChoices ) / 
sizeof( wxString );
 
  344    m_magneticPadChoice = 
new wxChoice( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_magneticPadChoiceNChoices, m_magneticPadChoiceChoices, 0 );
 
  348    fgMagneticPoints->Add( 
m_magneticPadChoice, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
 
  350    m_staticText21 = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Snap to tracks and vias:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  352    m_staticText21->SetToolTip( 
_(
"Capture cursor when the mouse approaches a track") );
 
  354    fgMagneticPoints->Add( 
m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
 
  356    wxString m_magneticTrackChoiceChoices[] = { 
_(
"Never"), 
_(
"When routing tracks"), 
_(
"Always") };
 
  357    int m_magneticTrackChoiceNChoices = 
sizeof( m_magneticTrackChoiceChoices ) / 
sizeof( wxString );
 
  358    m_magneticTrackChoice = 
new wxChoice( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_magneticTrackChoiceNChoices, m_magneticTrackChoiceChoices, 0 );
 
  362    fgMagneticPoints->Add( 
m_magneticTrackChoice, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT, 5 );
 
  364    m_staticText211 = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Snap to graphics:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  366    m_staticText211->SetToolTip( 
_(
"Capture cursor when the mouse approaches graphical control points") );
 
  368    fgMagneticPoints->Add( 
m_staticText211, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  370    wxString m_magneticGraphicsChoiceChoices[] = { 
_(
"Always"), 
_(
"Never") };
 
  371    int m_magneticGraphicsChoiceNChoices = 
sizeof( m_magneticGraphicsChoiceChoices ) / 
sizeof( wxString );
 
  372    m_magneticGraphicsChoice = 
new wxChoice( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_magneticGraphicsChoiceNChoices, m_magneticGraphicsChoiceChoices, 0 );
 
  379    pcbOptionsSizer->Add( fgMagneticPoints, 0, wxEXPAND|wxALL, 5 );
 
  382    pcbOptionsSizer->Add( 0, 5, 0, wxEXPAND, 5 );
 
  384    stRatsnestLabel = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Ratsnest"), wxDefaultPosition, wxDefaultSize, 0 );
 
  388    m_staticline7 = 
new wxStaticLine( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  389    pcbOptionsSizer->Add( 
m_staticline7, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
  391    wxBoxSizer* bRatsnest;
 
  392    bRatsnest = 
new wxBoxSizer( wxVERTICAL );
 
  394    m_showSelectedRatsnest = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Always show selected ratsnest"), wxDefaultPosition, wxDefaultSize, 0 );
 
  400    wxBoxSizer* bRatsnestLineThickness;
 
  401    bRatsnestLineThickness = 
new wxBoxSizer( wxHORIZONTAL );
 
  403    m_ratsnestThicknessLabel = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Ratsnest line thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
 
  407    m_ratsnestThickness = 
new wxSpinCtrlDouble( pcbPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0.5, 10, 0.5, 0.5 );
 
  409    bRatsnestLineThickness->Add( 
m_ratsnestThickness, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  412    bRatsnest->Add( bRatsnestLineThickness, 1, wxEXPAND|wxBOTTOM, 5 );
 
  415    pcbOptionsSizer->Add( bRatsnest, 0, wxEXPAND|wxALL, 5 );
 
  417    stMiscellaneousLabel = 
new wxStaticText( pcbPage, wxID_ANY, 
_(
"Miscellaneous"), wxDefaultPosition, wxDefaultSize, 0 );
 
  421    m_staticline8 = 
new wxStaticLine( pcbPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
  422    pcbOptionsSizer->Add( 
m_staticline8, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
 
  424    wxBoxSizer* bMiscellaneous;
 
  425    bMiscellaneous = 
new wxBoxSizer( wxVERTICAL );
 
  427    m_escClearsNetHighlight = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"<ESC> clears net highlighting"), wxDefaultPosition, wxDefaultSize, 0 );
 
  431    m_showPageLimits = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Show page limits"), wxDefaultPosition, wxDefaultSize, 0 );
 
  437    m_cbCourtyardCollisions = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Show courtyard collisions when moving/dragging"), wxDefaultPosition, wxDefaultSize, 0 );
 
  441    m_autoRefillZones = 
new wxCheckBox( pcbPage, wxID_ANY, 
_(
"Automatically refill zones"), wxDefaultPosition, wxDefaultSize, 0 );
 
  443    m_autoRefillZones->SetToolTip( 
_(
"If checked, zones will be re-filled after each edit operation") );
 
  448    pcbOptionsSizer->Add( bMiscellaneous, 1, wxEXPAND|wxALL, 5 );
 
  451    pcbPage->SetSizer( pcbOptionsSizer );
 
  453    pcbOptionsSizer->Fit( pcbPage );
 
  456    bMargins->Add( 
m_optionsBook, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 
  459    bPanelSizer->Add( bMargins, 1, wxRIGHT, 5 );
 
  462    this->SetSizer( bPanelSizer );
 
  464    bPanelSizer->Fit( 
this );