diff --git a/common/dialogs/panel_common_settings.cpp b/common/dialogs/panel_common_settings.cpp index 41bab0e854..1804cb662c 100644 --- a/common/dialogs/panel_common_settings.cpp +++ b/common/dialogs/panel_common_settings.cpp @@ -190,6 +190,8 @@ bool PANEL_COMMON_SETTINGS::TransferDataFromWindow() commonSettings->m_Appearance.show_scrollbars = m_showScrollbars->GetValue(); + commonSettings->m_Appearance.grid_striping = m_gridStriping->GetValue(); + double dimmingPercent = 80; m_highContrastCtrl->GetValue().ToDouble( &dimmingPercent ); commonSettings->m_Appearance.hicontrast_dimming_factor = dimmingPercent / 100.0f; @@ -276,6 +278,8 @@ void PANEL_COMMON_SETTINGS::applySettingsToPanel( COMMON_SETTINGS& aSettings ) m_checkBoxIconsInMenus->SetValue( aSettings.m_Appearance.use_icons_in_menus ); m_scaleFonts->SetValue( aSettings.m_Appearance.apply_icon_scale_to_fonts ); + m_gridStriping->SetValue( aSettings.m_Appearance.grid_striping ); + double dimmingPercent = aSettings.m_Appearance.hicontrast_dimming_factor * 100.0f; m_highContrastCtrl->SetValue( wxString::Format( "%.0f", dimmingPercent ) ); diff --git a/common/dialogs/panel_common_settings_base.cpp b/common/dialogs/panel_common_settings_base.cpp index 1696e70491..16d0525dfd 100644 --- a/common/dialogs/panel_common_settings_base.cpp +++ b/common/dialogs/panel_common_settings_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3) +// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf-dirty) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -159,6 +159,11 @@ PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWind bSizer14->Add( m_hotkeyFeedback, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); + m_gridStriping = new wxCheckBox( this, wxID_ANY, _("Use alternating row colors in tables"), wxDefaultPosition, wxDefaultSize, 0 ); + m_gridStriping->SetToolTip( _("When enabled, use a different color for every other table row") ); + + bSizer14->Add( m_gridStriping, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); + bUserInterfaceSizer->Add( bSizer14, 0, wxEXPAND, 5 ); diff --git a/common/dialogs/panel_common_settings_base.fbp b/common/dialogs/panel_common_settings_base.fbp index 0ac075ada3..81fd4c4764 100644 --- a/common/dialogs/panel_common_settings_base.fbp +++ b/common/dialogs/panel_common_settings_base.fbp @@ -1,4566 +1,4698 @@ - + - - - - C++ - 1 - source_name - 0 - 0 - res - UTF-8 - connect - panel_common_settings_base - 1000 - none - - - 1 - PanelCommonSettings - - . - - 1 - 1 - 1 - 1 - UI - 0 - 1 - 0 - - 0 - wxAUI_MGR_DEFAULT - - - 1 - 1 - impl_virtual - - - 0 - wxID_ANY - + + + + C++ + 1 + source_name + 0 + 0 + res + UTF-8 + connect + panel_common_settings_base + 1000 + none + + + 1 + PanelCommonSettings + + . + + 1 + 1 + 1 + 1 + UI + 0 + 1 + 0 + + 0 + wxAUI_MGR_DEFAULT + + + 1 + 0 + 1 + impl_virtual + + + 0 + wxID_ANY + + + PANEL_COMMON_SETTINGS_BASE + + -1,-1 + RESETTABLE_PANEL; widgets/resettable_panel.h; Not forward_declare + + 0 + + + wxTAB_TRAVERSAL + + + bPanelSizer + wxHORIZONTAL + none + + 20 + wxRIGHT + 0 + - PANEL_COMMON_SETTINGS_BASE - - -1,-1 - RESETTABLE_PANEL; widgets/resettable_panel.h; Not forward_declare - - 0 - - - wxTAB_TRAVERSAL - + bLeftSizer + wxVERTICAL + none + + 13 + wxTOP|wxRIGHT|wxLEFT|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Antialiasing + 0 + + 0 + + + 0 - bPanelSizer - wxHORIZONTAL - none - - 20 - wxRIGHT - 0 - - - bLeftSizer - wxVERTICAL - none - - 13 - wxTOP|wxRIGHT|wxLEFT|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Antialiasing - 0 - - 0 - - - 0 - - 1 - m_staticText20 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticline3 - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_HORIZONTAL - ; ; forward_declare - 0 - - - - - - - - 5 - wxTOP|wxLEFT|wxEXPAND - 0 - - - bAntialiasingSizer - wxVERTICAL - none - - 5 - wxTOP|wxBOTTOM - 0 - - -1,2 - wxBOTH - 1 - - 4 - - gbSizer11 - wxFLEX_GROWMODE_SPECIFIED - none - 6 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Accelerated graphics: - 0 - - 0 - - - 0 - - 1 - antialiasingLabel - 1 - - - none - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "No Antialiasing" "Fast Antialiasing" "High Quality Antialiasing" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_antialiasing - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Fallback graphics: - 0 - - 0 - - - 0 - - 1 - m_antialiasingFallbackLabel - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "No Antialiasing" "Fast Antialiasing" "High Quality Antialiasing" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_antialiasingFallback - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - 5 - - 0 - - 15 - protected - 0 - - - - 13 - wxTOP|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Helper Applications - 0 - - 0 - - - 0 - - 1 - m_staticText21 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticline2 - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_HORIZONTAL - ; ; forward_declare - 0 - - - - - - - - 5 - wxTOP|wxLEFT|wxEXPAND - 0 - - - bHelperAppsSizer - wxVERTICAL - none - - 5 - wxTOP|wxRIGHT|wxEXPAND - 0 - - - bSizer61 - wxHORIZONTAL - none - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Text editor: - 0 - - 0 - - - 0 - - 1 - textEditorLabel - 1 - - - none - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - wxALIGN_CENTER_VERTICAL - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - - 0 - -1,-1 - 1 - m_textEditorPath - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - Browse - - 0 - - 0 - - - 0 - -1,-1 - 1 - m_textEditorBtn - 1 - - - protected - 1 - - - - Resizable - 1 - - - STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnTextEditorClick - - - - - - 5 - wxEXPAND - 0 - - 12 - protected - 0 - - - - 3 - wxBOTTOM|wxEXPAND - 0 - - - bSizer8 - wxVERTICAL - none - - 5 - wxTOP|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - System default PDF viewer - - 0 - - - 0 - - 1 - m_defaultPDFViewer - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - OnRadioButtonPdfViewer - - - - - - 5 - wxBOTTOM|wxRIGHT|wxEXPAND - 0 - - - bSizer7 - wxHORIZONTAL - none - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Other: - - 0 - - - 0 - - 1 - m_otherPDFViewer - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - OnRadioButtonPdfViewer - - - - 5 - wxLEFT|wxALIGN_CENTER_VERTICAL - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - - 0 - -1,-1 - 1 - m_PDFViewerPath - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - 0 - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - Browse - - 0 - - 0 - - - 0 - -1,-1 - 1 - m_pdfViewerBtn - 1 - - - protected - 1 - - - - Resizable - 1 - - - STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnPDFViewerClick - - - - - - - - 5 - - 0 - - 15 - protected - 0 - - - - 13 - wxTOP|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - User Interface - 0 - - 0 - - - 0 - - 1 - m_staticText22 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticline1 - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_HORIZONTAL - ; ; forward_declare - 0 - - - - - - - - 5 - wxTOP|wxLEFT|wxEXPAND - 0 - - - bUserInterfaceSizer - wxVERTICAL - none - - 5 - wxEXPAND - 0 - - - bSizer14 - wxVERTICAL - none - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show icons in menus - - 0 - - - 0 - - 1 - m_checkBoxIconsInMenus - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxBOTTOM|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show scrollbars in editors - - 0 - - - 0 - - 1 - m_showScrollbars - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - This change takes effect when relaunching the editor. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxBOTTOM|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Focus follows mouse between schematic and PCB editors - - 0 - - - 0 - - 1 - m_focusFollowSchPcb - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - If the mouse cursor is moved over the canvas of a schematic or PCB editor window, that window is raised. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxBOTTOM|wxLEFT|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show popup indicator when toggling settings with hotkeys - - 0 - - - 0 - - 1 - m_hotkeyFeedback - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - When enabled, certain hotkeys that cycle between settings will show a popup indicator briefly to indicate the change in settings. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - 5 - wxEXPAND - 0 - - - bSizerIconsTheme - wxHORIZONTAL - none - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Icon theme: - 0 - - 0 - - - 0 - - 1 - m_stIconTheme - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Light - - 0 - - - 0 - -1,-1 - 1 - m_rbIconThemeLight - 1 - - - protected - 1 - - Resizable - 1 - - wxRB_GROUP - ; ; forward_declare - 0 - Use icons designed for light window backgrounds - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Dark - - 0 - - - 0 - -1,-1 - 1 - m_rbIconThemeDark - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Use icons designed for dark window backgrounds - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Automatic - - 0 - - - 0 - -1,-1 - 1 - m_rbIconThemeAuto - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Automatically choose light or dark icons based on the system color theme - - wxFILTER_NONE - wxDefaultValidator - - 1 - - - - - - - - - 5 - wxEXPAND - 0 - - - bSizerToolbarSize - wxHORIZONTAL - none - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Toolbar icon size: - 0 - - 0 - - - 0 - - 1 - m_stToolbarIconSize - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Small - - 0 - - - 0 - - 1 - m_rbIconSizeSmall - 1 - - - protected - 1 - - Resizable - 1 - - wxRB_GROUP - ; ; forward_declare - 0 - Use compact icons in the toolbars - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Normal - - 0 - - - 0 - - 1 - m_rbIconSizeNormal - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Use the default KiCad icon size in the toolbars - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Large - - 0 - - - 0 - - 1 - m_rbIconSizeLarge - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Use larger icons in the toolbars - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - - - - - - 5 - wxTOP|wxBOTTOM|wxLEFT|wxEXPAND - 0 - - -1,-1 - wxVERTICAL - - - 0 - - m_gbUserInterface - wxFLEX_GROWMODE_ALL - protected - 5 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Canvas scale: - 0 - - 0 - - - 0 - - 1 - m_staticTextCanvasScale - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 1 - 0 - 100 - - 0 - - 0 - - 0 - - 1 - m_canvasScaleCtrl - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 15 - 1 - 2 - wxALIGN_CENTER_VERTICAL|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Automatic - - 0 - - - 0 - - 1 - m_canvasScaleAuto - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnCanvasScaleAuto - - - - - - 5 - wxEXPAND - 0 - - 10 - protected - 0 - - - - 5 - wxLEFT|wxRIGHT|wxTOP - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Apply icon scaling to fonts - - 0 - - - 0 - - 1 - m_scaleFonts - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 8 - wxBOTTOM|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - (This workaround will improve some GTK HiDPI font scaling issues.) - 0 - - 0 - - - 0 - - 1 - m_fontScalingHelp - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxBOTTOM|wxEXPAND - 0 - - - bSizerHighContrast - wxHORIZONTAL - none - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - High-contrast mode dimming factor: - 0 - - 0 - - - 0 - - 1 - m_highContrastLabel - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - - 0 - - 1 - m_highContrastCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - % - 0 - - 0 - - - 0 - - 1 - m_highContrastUnits - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - - - - - - - 5 - wxLEFT - 0 - - - rightSizer - wxVERTICAL - none - - 13 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Editing - 0 - - 0 - - - 0 - - 1 - m_staticText23 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticline6 - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_HORIZONTAL - ; ; forward_declare - 0 - - - - - - - - 5 - wxEXPAND|wxTOP|wxLEFT - 0 - - - bEditingSizer - wxVERTICAL - none - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Warp mouse to origin of moved object - - 0 - - - 0 - - 1 - m_warpMouseOnMove - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - wxBOTTOM|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - First hotkey selects tool - - 0 - - - 0 - - 1 - m_NonImmediateActions - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - If not checked, hotkeys will immediately perform an action even if the relevant tool was not previously selected. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - 5 - wxEXPAND - 0 - - 15 - protected - 0 - - - - 13 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Session - 0 - - 0 - - - 0 - - 1 - m_staticText24 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticline5 - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_HORIZONTAL - ; ; forward_declare - 0 - - - - - - - - 5 - wxTOP|wxLEFT|wxEXPAND - 0 - - - bSessionSizer - wxVERTICAL - none - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Remember open files for next project launch - - 0 - - - 0 - - 1 - m_cbRememberOpenFiles - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - If checked, launching a project will also launch tools such as the schematic and board editors with previously open files - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - - 0 - - 5 - protected - 0 - - - - 5 - wxALL - 0 - - -1,2 - wxBOTH - 1 - - 5 - - gbSizer1 - wxFLEX_GROWMODE_SPECIFIED - none - 4 - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - &Auto save: - 0 - - 0 - - - 0 - - 1 - m_staticTextautosave - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 10 - - 0 - - 0 - - 0 - - 1 - m_SaveTime - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; forward_declare - 0 - Delay after the first change to create a backup file of the board on disk. If set to 0, auto backup is disabled - - - - - - - - 5 - 1 - 2 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - minutes - 0 - - 0 - - - 0 - - 1 - minutesLabel - 1 - - - none - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - File history size: - 0 - - 0 - - - 0 - - 1 - m_staticTextFileHistorySize - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 100 - - 0 - - 1 - - 0 - - 1 - m_fileHistorySize - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; forward_declare - 0 - - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 3D cache file duration: - 0 - - 0 - - - 0 - - 1 - m_staticTextClear3DCache - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 30 - 120 - - 0 - - 0 - - 0 - - 1 - m_Clear3DCacheFilesOlder - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - 3D cache files older than this are deleted. If set to 0, cache clearing is disabled - - - - - - - - 5 - 1 - 2 - wxALIGN_CENTER_VERTICAL - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - days - 0 - - 0 - - - 0 - - 1 - m_staticTextDays - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - - - - - 5 - wxEXPAND - 0 - - 15 - protected - 0 - - - - 13 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Project Backup - 0 - - 0 - - - 0 - - 1 - m_staticText25 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticline4 - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_HORIZONTAL - ; ; forward_declare - 0 - - - - - - - - 5 - wxEXPAND|wxTOP|wxLEFT - 0 - - - bProjectBackupSizer - wxVERTICAL - none - - 5 - wxALL - 0 - - - wxBOTH - 1 - - 0 - - gbSizer3 - wxFLEX_GROWMODE_SPECIFIED - none - 0 - - 5 - 3 - 0 - wxBOTTOM|wxRIGHT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Automatically backup projects - - 0 - - - 0 - - 1 - m_cbBackupEnabled - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Automatically create backup archives of the current project when saving files - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 3 - 0 - wxBOTTOM|wxRIGHT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Create backups when auto save occurs - - 0 - - - 0 - - 1 - m_cbBackupAutosave - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Create backups when the auto save feature is enabled. If not checked, backups will only be created when you manually save a file. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Maximum backups to keep: - 0 - - 0 - - - 0 - - 1 - m_staticText9 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - How many backup files total to keep (set to 0 for no limit) - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 1000 - - 0 - - 0 - - 0 - - 1 - m_backupLimitTotalFiles - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Maximum backups per day: - 0 - - 0 - - - 0 - - 1 - m_staticText10 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - How many backup files to keep each day (set to 0 for no limit) - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 1000 - - 0 - - 0 - - 0 - - 1 - m_backupLimitDailyFiles - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Minimum time between backups: - 0 - - 0 - - - 0 - - 1 - m_staticText11 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Number of minutes since the last backup before another will be created the next time you save (set to 0 for no minimum) - - - - -1 - - - - 5 - 1 - 1 - wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 3600 - - 0 - - 0 - - 0 - - 1 - m_backupMinInterval - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 5 - 1 - 2 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - minutes - 0 - - 0 - - - 0 - - 1 - m_staticText15 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Maximum total backup size: - 0 - - 0 - - - 0 - - 1 - m_staticText16 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - If the total size of backup files grows above this limit, old backups will be deleted (set to 0 for no limit) - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 1000 - - 0 - - 0 - - 0 - - 1 - m_backupLimitTotalSize - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 5 - 1 - 2 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - MB - 0 - - 0 - - - 0 - - 1 - m_staticText17 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - - - - - + 1 + m_staticText20 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + 5 + wxEXPAND|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticline3 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + ; ; forward_declare + 0 + + + + + + + + 5 + wxTOP|wxLEFT|wxEXPAND + 0 + + + bAntialiasingSizer + wxVERTICAL + none + + 5 + wxTOP|wxBOTTOM + 0 + + -1,2 + wxBOTH + 1 + + 4 + + gbSizer11 + wxFLEX_GROWMODE_SPECIFIED + none + 6 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Accelerated graphics: + 0 + + 0 + + + 0 + + 1 + antialiasingLabel + 1 + + + none + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "No Antialiasing" "Fast Antialiasing" "High Quality Antialiasing" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_antialiasing + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Fallback graphics: + 0 + + 0 + + + 0 + + 1 + m_antialiasingFallbackLabel + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "No Antialiasing" "Fast Antialiasing" "High Quality Antialiasing" + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_antialiasingFallback + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + 5 + + 0 + + 15 + protected + 0 + + + + 13 + wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Helper Applications + 0 + + 0 + + + 0 + + 1 + m_staticText21 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticline2 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + ; ; forward_declare + 0 + + + + + + + + 5 + wxTOP|wxLEFT|wxEXPAND + 0 + + + bHelperAppsSizer + wxVERTICAL + none + + 5 + wxTOP|wxRIGHT|wxEXPAND + 0 + + + bSizer61 + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Text editor: + 0 + + 0 + + + 0 + + 1 + textEditorLabel + 1 + + + none + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALIGN_CENTER_VERTICAL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + + 0 + -1,-1 + 1 + m_textEditorPath + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 0 + 1 + + 1 + + + 0 + 0 + wxID_ANY + Browse + + 0 + + 0 + + + 0 + -1,-1 + 1 + m_textEditorBtn + 1 + + + protected + 1 + + + + Resizable + 1 + + + STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnTextEditorClick + + + + + + 5 + wxEXPAND + 0 + + 12 + protected + 0 + + + + 3 + wxBOTTOM|wxEXPAND + 0 + + + bSizer8 + wxVERTICAL + none + + 5 + wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + System default PDF viewer + + 0 + + + 0 + + 1 + m_defaultPDFViewer + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + OnRadioButtonPdfViewer + + + + + + 5 + wxBOTTOM|wxRIGHT|wxEXPAND + 0 + + + bSizer7 + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Other: + + 0 + + + 0 + + 1 + m_otherPDFViewer + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + OnRadioButtonPdfViewer + + + + 5 + wxLEFT|wxALIGN_CENTER_VERTICAL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + + 0 + -1,-1 + 1 + m_PDFViewerPath + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + 0 + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 0 + 1 + + 1 + + + 0 + 0 + wxID_ANY + Browse + + 0 + + 0 + + + 0 + -1,-1 + 1 + m_pdfViewerBtn + 1 + + + protected + 1 + + + + Resizable + 1 + + + STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnPDFViewerClick + + + + + + + + 5 + + 0 + + 15 + protected + 0 + + + + 13 + wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + User Interface + 0 + + 0 + + + 0 + + 1 + m_staticText22 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticline1 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + ; ; forward_declare + 0 + + + + + + + + 5 + wxTOP|wxLEFT|wxEXPAND + 0 + + + bUserInterfaceSizer + wxVERTICAL + none + + 5 + wxEXPAND + 0 + + + bSizer14 + wxVERTICAL + none + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Show icons in menus + + 0 + + + 0 + + 1 + m_checkBoxIconsInMenus + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Show scrollbars in editors + + 0 + + + 0 + + 1 + m_showScrollbars + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + This change takes effect when relaunching the editor. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Focus follows mouse between schematic and PCB editors + + 0 + + + 0 + + 1 + m_focusFollowSchPcb + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + If the mouse cursor is moved over the canvas of a schematic or PCB editor window, that window is raised. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxBOTTOM|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Show popup indicator when toggling settings with hotkeys + + 0 + + + 0 + + 1 + m_hotkeyFeedback + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + When enabled, certain hotkeys that cycle between settings will show a popup indicator briefly to indicate the change in settings. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxBOTTOM|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Use alternating row colors in tables + + 0 + + + 0 + + 1 + m_gridStriping + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + When enabled, use a different color for every other table row + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + 5 + wxEXPAND + 0 + + + bSizerIconsTheme + wxHORIZONTAL + none + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Icon theme: + 0 + + 0 + + + 0 + + 1 + m_stIconTheme + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Light + + 0 + + + 0 + -1,-1 + 1 + m_rbIconThemeLight + 1 + + + protected + 1 + + Resizable + 1 + + wxRB_GROUP + ; ; forward_declare + 0 + Use icons designed for light window backgrounds + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Dark + + 0 + + + 0 + -1,-1 + 1 + m_rbIconThemeDark + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Use icons designed for dark window backgrounds + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Automatic + + 0 + + + 0 + -1,-1 + 1 + m_rbIconThemeAuto + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Automatically choose light or dark icons based on the system color theme + + wxFILTER_NONE + wxDefaultValidator + + 1 + + + + + + + + + 5 + wxEXPAND + 0 + + + bSizerToolbarSize + wxHORIZONTAL + none + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Toolbar icon size: + 0 + + 0 + + + 0 + + 1 + m_stToolbarIconSize + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Small + + 0 + + + 0 + + 1 + m_rbIconSizeSmall + 1 + + + protected + 1 + + Resizable + 1 + + wxRB_GROUP + ; ; forward_declare + 0 + Use compact icons in the toolbars + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Normal + + 0 + + + 0 + + 1 + m_rbIconSizeNormal + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Use the default KiCad icon size in the toolbars + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Large + + 0 + + + 0 + + 1 + m_rbIconSizeLarge + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Use larger icons in the toolbars + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + + + + + + 5 + wxTOP|wxBOTTOM|wxLEFT|wxEXPAND + 0 + + -1,-1 + wxVERTICAL + + + 0 + + m_gbUserInterface + wxFLEX_GROWMODE_ALL + protected + 5 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Canvas scale: + 0 + + 0 + + + 0 + + 1 + m_staticTextCanvasScale + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 1 + 0 + 100 + + 0 + + 0 + + 0 + + 1 + m_canvasScaleCtrl + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 15 + 1 + 2 + wxALIGN_CENTER_VERTICAL|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Automatic + + 0 + + + 0 + + 1 + m_canvasScaleAuto + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnCanvasScaleAuto + + + + + + 5 + wxEXPAND + 0 + + 10 + protected + 0 + + + + 5 + wxLEFT|wxRIGHT|wxTOP + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Apply icon scaling to fonts + + 0 + + + 0 + + 1 + m_scaleFonts + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 8 + wxBOTTOM|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + (This workaround will improve some GTK HiDPI font scaling issues.) + 0 + + 0 + + + 0 + + 1 + m_fontScalingHelp + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxBOTTOM|wxEXPAND + 0 + + + bSizerHighContrast + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + High-contrast mode dimming factor: + 0 + + 0 + + + 0 + + 1 + m_highContrastLabel + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + + 0 + + 1 + m_highContrastCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + % + 0 + + 0 + + + 0 + + 1 + m_highContrastUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + + + + + + 5 + wxLEFT + 0 + + + rightSizer + wxVERTICAL + none + + 13 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Editing + 0 + + 0 + + + 0 + + 1 + m_staticText23 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticline6 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + ; ; forward_declare + 0 + + + + + + + + 5 + wxEXPAND|wxTOP|wxLEFT + 0 + + + bEditingSizer + wxVERTICAL + none + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Warp mouse to origin of moved object + + 0 + + + 0 + + 1 + m_warpMouseOnMove + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + First hotkey selects tool + + 0 + + + 0 + + 1 + m_NonImmediateActions + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + If not checked, hotkeys will immediately perform an action even if the relevant tool was not previously selected. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + 5 + wxEXPAND + 0 + + 15 + protected + 0 + + + + 13 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Session + 0 + + 0 + + + 0 + + 1 + m_staticText24 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticline5 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + ; ; forward_declare + 0 + + + + + + + + 5 + wxTOP|wxLEFT|wxEXPAND + 0 + + + bSessionSizer + wxVERTICAL + none + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Remember open files for next project launch + + 0 + + + 0 + + 1 + m_cbRememberOpenFiles + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + If checked, launching a project will also launch tools such as the schematic and board editors with previously open files + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + + 0 + + 5 + protected + 0 + + + + 5 + wxALL + 0 + + -1,2 + wxBOTH + 1 + + 5 + + gbSizer1 + wxFLEX_GROWMODE_SPECIFIED + none + 4 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + &Auto save: + 0 + + 0 + + + 0 + + 1 + m_staticTextautosave + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 10 + + 0 + + 0 + + 0 + + 1 + m_SaveTime + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; forward_declare + 0 + Delay after the first change to create a backup file of the board on disk. If set to 0, auto backup is disabled + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + minutes + 0 + + 0 + + + 0 + + 1 + minutesLabel + 1 + + + none + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + File history size: + 0 + + 0 + + + 0 + + 1 + m_staticTextFileHistorySize + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 100 + + 0 + + 1 + + 0 + + 1 + m_fileHistorySize + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; forward_declare + 0 + + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 3D cache file duration: + 0 + + 0 + + + 0 + + 1 + m_staticTextClear3DCache + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 30 + 120 + + 0 + + 0 + + 0 + + 1 + m_Clear3DCacheFilesOlder + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + 3D cache files older than this are deleted. If set to 0, cache clearing is disabled + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + days + 0 + + 0 + + + 0 + + 1 + m_staticTextDays + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + + + + + 5 + wxEXPAND + 0 + + 15 + protected + 0 + + + + 13 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Project Backup + 0 + + 0 + + + 0 + + 1 + m_staticText25 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticline4 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + ; ; forward_declare + 0 + + + + + + + + 5 + wxEXPAND|wxTOP|wxLEFT + 0 + + + bProjectBackupSizer + wxVERTICAL + none + + 5 + wxALL + 0 + + + wxBOTH + 1 + + 0 + + gbSizer3 + wxFLEX_GROWMODE_SPECIFIED + none + 0 + + 5 + 3 + 0 + wxBOTTOM|wxRIGHT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Automatically backup projects + + 0 + + + 0 + + 1 + m_cbBackupEnabled + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Automatically create backup archives of the current project when saving files + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 3 + 0 + wxBOTTOM|wxRIGHT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Create backups when auto save occurs + + 0 + + + 0 + + 1 + m_cbBackupAutosave + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Create backups when the auto save feature is enabled. If not checked, backups will only be created when you manually save a file. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Maximum backups to keep: + 0 + + 0 + + + 0 + + 1 + m_staticText9 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + How many backup files total to keep (set to 0 for no limit) + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 1000 + + 0 + + 0 + + 0 + + 1 + m_backupLimitTotalFiles + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Maximum backups per day: + 0 + + 0 + + + 0 + + 1 + m_staticText10 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + How many backup files to keep each day (set to 0 for no limit) + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 1000 + + 0 + + 0 + + 0 + + 1 + m_backupLimitDailyFiles + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Minimum time between backups: + 0 + + 0 + + + 0 + + 1 + m_staticText11 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Number of minutes since the last backup before another will be created the next time you save (set to 0 for no minimum) + + + + -1 + + + + 5 + 1 + 1 + wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 3600 + + 0 + + 0 + + 0 + + 1 + m_backupMinInterval + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + minutes + 0 + + 0 + + + 0 + + 1 + m_staticText15 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + Maximum total backup size: + 0 + + 0 + + + 0 + + 1 + m_staticText16 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + If the total size of backup files grows above this limit, old backups will be deleted (set to 0 for no limit) + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 1000 + + 0 + + 0 + + 0 + + 1 + m_backupLimitTotalSize + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + 1 + + 1 + + 0 + 0 + wxID_ANY + MB + 0 + + 0 + + + 0 + + 1 + m_staticText17 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + + + + + + + diff --git a/common/dialogs/panel_common_settings_base.h b/common/dialogs/panel_common_settings_base.h index 6a1aca6e9f..9d15947f81 100644 --- a/common/dialogs/panel_common_settings_base.h +++ b/common/dialogs/panel_common_settings_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3) +// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf-dirty) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -63,6 +63,7 @@ class PANEL_COMMON_SETTINGS_BASE : public RESETTABLE_PANEL wxCheckBox* m_showScrollbars; wxCheckBox* m_focusFollowSchPcb; wxCheckBox* m_hotkeyFeedback; + wxCheckBox* m_gridStriping; wxStaticText* m_stIconTheme; wxRadioButton* m_rbIconThemeLight; wxRadioButton* m_rbIconThemeDark; diff --git a/common/gal/color4d.cpp b/common/gal/color4d.cpp index 186b76f205..19468084ee 100644 --- a/common/gal/color4d.cpp +++ b/common/gal/color4d.cpp @@ -601,3 +601,27 @@ int COLOR4D::Compare( const COLOR4D& aRhs ) const return 0; } + + +double COLOR4D::RelativeLuminance() const +{ + // Formula from https://www.w3.org/TR/WCAG21/#dfn-relative-luminance + double cr = ( r <= 0.04045 ) ? ( r / 12.92 ) : std::pow( ( r + 0.055 ) / 1.055, 2.4 ); + double cg = ( g <= 0.04045 ) ? ( g / 12.92 ) : std::pow( ( g + 0.055 ) / 1.055, 2.4 ); + double cb = ( b <= 0.04045 ) ? ( b / 12.92 ) : std::pow( ( b + 0.055 ) / 1.055, 2.4 ); + + return 0.2126 * cr + 0.7152 * cg + 0.0722 * cb; +} + + +double COLOR4D::ContrastRatio( const COLOR4D& aLeft, const COLOR4D& aRight ) +{ + // Formula from https://www.w3.org/TR/WCAG21/#dfn-contrast-ratio + double aRL = aLeft.RelativeLuminance(); + double bRL = aRight.RelativeLuminance(); + + if( aRL > bRL ) + return ( aRL + 0.05 ) / ( bRL + 0.05 ); + else + return ( bRL + 0.05 ) / ( aRL + 0.05 ); +} \ No newline at end of file diff --git a/common/settings/common_settings.cpp b/common/settings/common_settings.cpp index 4fb2b856ff..c10d0578e4 100644 --- a/common/settings/common_settings.cpp +++ b/common/settings/common_settings.cpp @@ -99,6 +99,9 @@ COMMON_SETTINGS::COMMON_SETTINGS() : m_params.emplace_back( new PARAM( "appearance.toolbar_icon_size", &m_Appearance.toolbar_icon_size, 24, 16, 64 ) ); + m_params.emplace_back( new PARAM( "appearance.grid_striping", + &m_Appearance.grid_striping, false ) ); + m_params.emplace_back( new PARAM( "auto_backup.enabled", &m_Backup.enabled, true ) ); m_params.emplace_back( new PARAM( "auto_backup.backup_on_autosave", diff --git a/common/widgets/wx_grid.cpp b/common/widgets/wx_grid.cpp index 7c08eab147..fd249fbd61 100644 --- a/common/widgets/wx_grid.cpp +++ b/common/widgets/wx_grid.cpp @@ -21,6 +21,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ +#include #include #include #include @@ -30,6 +31,10 @@ #include #include #include +#include + +#include +#include #define MIN_GRIDCELL_MARGIN FromDIP( 3 ) @@ -94,6 +99,59 @@ public: }; +/** + * Attribute provider that provides attributes (or modifies the existing attribute) to alternate a row color + * between the odd and even rows. + */ +class WX_GRID_ALT_ROW_COLOR_PROVIDER : public wxGridCellAttrProvider +{ +public: + WX_GRID_ALT_ROW_COLOR_PROVIDER( const wxColor& aBaseColor ) : wxGridCellAttrProvider(), + m_attrOdd( new wxGridCellAttr() ) + { + UpdateColors( aBaseColor ); + } + + + void UpdateColors( const wxColor& aBaseColor ) + { + // Choose the default color, taking into account if the dark mode theme is enabled + wxColor rowColor = aBaseColor.ChangeLightness( KIPLATFORM::UI::IsDarkTheme() ? 105 : 95 ); + + m_attrOdd->SetBackgroundColour( rowColor ); + } + + + wxGridCellAttr* GetAttr( int row, int col, + wxGridCellAttr::wxAttrKind kind ) const override + { + wxGridCellAttrPtr cellAttr( wxGridCellAttrProvider::GetAttr( row, col, kind ) ); + + // Just pass through the cell attribute on even rows + if( row % 2 ) + return cellAttr.release(); + + if( !cellAttr ) + { + cellAttr = m_attrOdd; + } + else + { + if( !cellAttr->HasBackgroundColour() ) + { + cellAttr = cellAttr->Clone(); + cellAttr->SetBackgroundColour( m_attrOdd->GetBackgroundColour() ); + } + } + + return cellAttr.release(); + } + +private: + wxGridCellAttrPtr m_attrOdd; +}; + + WX_GRID::WX_GRID( wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxGrid( parent, id, pos, size, style, name ), @@ -179,6 +237,8 @@ void WX_GRID::SetTable( wxGridTableBase* aTable, bool aTakeOwnership ) delete[] formBuilderColWidths; + EnableAlternateRowColors( Pgm().GetCommonSettings()->m_Appearance.grid_striping ); + Connect( wxEVT_GRID_COL_MOVE, wxGridEventHandler( WX_GRID::onGridColMove ), nullptr, this ); Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( WX_GRID::onGridCellSelect ), nullptr, this ); @@ -186,6 +246,25 @@ void WX_GRID::SetTable( wxGridTableBase* aTable, bool aTakeOwnership ) } +void WX_GRID::EnableAlternateRowColors( bool aEnable ) +{ + wxGridTableBase* table = wxGrid::GetTable(); + + wxCHECK_MSG( table, /* void */, + "Tried to enable alternate row colors without a table assigned to the grid" ); + + if( aEnable ) + { + wxColor color = wxGrid::GetDefaultCellBackgroundColour(); + table->SetAttrProvider( new WX_GRID_ALT_ROW_COLOR_PROVIDER( color ) ); + } + else + { + table->SetAttrProvider( nullptr ); + } +} + + void WX_GRID::onGridCellSelect( wxGridEvent& aEvent ) { // Highlight the selected cell. diff --git a/include/gal/color4d.h b/include/gal/color4d.h index 0ca7bd9411..ae7a1452b3 100644 --- a/include/gal/color4d.h +++ b/include/gal/color4d.h @@ -189,7 +189,7 @@ public: * @param aOutLightness is conversion result for value component (0 ... 1.0). * @note saturation is set to 0.0 for black color if r = g = b, */ - void ToHSL( double& aOutHue, double& aOutSaturation, double& aOutValue ) const; + void ToHSL( double& aOutHue, double& aOutSaturation, double& aOutLightness ) const; /** * Change currently used color to the one given by hue, saturation and lightness parameters. @@ -367,6 +367,22 @@ public: int Compare( const COLOR4D& aRhs ) const; + /** + * Compute the relative luminance of a color using the formula from WCAG21. + * + * @return relative luminance between 0 and 1 where 0 is darkest black and 1 is lightest white. + */ + double RelativeLuminance() const; + + /** + * Compute the contrast ration between two colors using the formula from WCAG21. + * + * @param aLeft is the first color to use in the ratio + * @param aRight is the second color to use in the ratio + * @return contrast ratio between 1.0:1 and 21.0:1 between the two colors. + */ + static double ContrastRatio( const COLOR4D& aLeft, const COLOR4D& aRight ); + /** * Returns a legacy color ID that is closest to the given 8-bit RGB values. */ diff --git a/include/settings/common_settings.h b/include/settings/common_settings.h index e4e765e7c6..1372c70348 100644 --- a/include/settings/common_settings.h +++ b/include/settings/common_settings.h @@ -57,6 +57,7 @@ public: double hicontrast_dimming_factor; int text_editor_zoom; int toolbar_icon_size; + bool grid_striping; }; struct AUTO_BACKUP diff --git a/include/widgets/wx_grid.h b/include/widgets/wx_grid.h index 9fe4709801..584f10e2b4 100644 --- a/include/widgets/wx_grid.h +++ b/include/widgets/wx_grid.h @@ -58,6 +58,14 @@ public: */ void SetLabelFont( const wxFont& aFont ); // Yes, we're hiding a non-virtual method + /** + * Enable alternate row highlighting, where every odd row has a different background + * color than the even rows.s + * + * @param aEnable flag to specify to enable alternate row striping in the grid + */ + void EnableAlternateRowColors( bool aEnable = true ); + /** * Get a tokenized string containing the shown column indexes. * Tokens are separated by spaces.