KiCad PCB EDA Suite
Loading...
Searching...
No Matches
panel_eeschema_display_options.cpp
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2009 Wayne Stambaugh <[email protected]>
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
19 */
20
21#include <pgm_base.h>
23#include <eeschema_settings.h>
26#include <widgets/ui_common.h>
27#include <widgets/font_choice.h>
28
29// The "official" name of the building Kicad stroke font (always existing)
31
32
35{
36 m_galOptsPanel = new PANEL_GAL_OPTIONS( this, aAppSettings );
37
38 m_galOptionsSizer->Add( m_galOptsPanel, 1, wxEXPAND|wxRIGHT, 0 );
39
40 m_highlightColorNote->SetFont( KIUI::GetSmallInfoFont( this ).Italic() );
41}
42
43
45{
46 m_defaultFontCtrl->SetStringSelection( cfg->m_Appearance.default_font );
47
48 if( m_defaultFontCtrl->GetSelection() < 0 )
49 m_defaultFontCtrl->SetSelection( 0 );
50
61
70
76}
77
78
80{
82 m_galOptsPanel->TransferDataToWindow();
83 return true;
84}
85
86
88{
90 {
91 cfg->m_Appearance.default_font = m_defaultFontCtrl->GetSelection() <= 0
92 // This is a keyword. Do not translate.
93 ? wxString( KICAD_FONT_NAME )
94 : m_defaultFontCtrl->GetStringSelection();
95 cfg->m_Appearance.show_hidden_pins = m_checkShowHiddenPins->GetValue();
96 cfg->m_Appearance.show_hidden_fields = m_checkShowHiddenFields->GetValue();
97 cfg->m_Appearance.show_erc_warnings = m_checkShowERCWarnings->GetValue();
98 cfg->m_Appearance.show_erc_errors = m_checkShowERCErrors->GetValue();
99 cfg->m_Appearance.show_erc_exclusions = m_checkShowERCExclusions->GetValue();
100 cfg->m_Appearance.mark_sim_exclusions = m_cbMarkSimExclusions->GetValue();
101 cfg->m_Appearance.show_op_voltages = m_checkShowOPVoltages->GetValue();
102 cfg->m_Appearance.show_op_currents = m_checkShowOPCurrents->GetValue();
103 cfg->m_Appearance.show_pin_alt_icons = m_checkShowPinAltModeIcons->GetValue();
104 cfg->m_Appearance.show_page_limits = m_checkPageLimits->GetValue();
105
106 cfg->m_Selection.draw_selected_children = m_checkSelDrawChildItems->GetValue();
107 cfg->m_Selection.fill_shapes = m_checkSelFillShapes->GetValue();
108 cfg->m_Selection.selection_thickness = KiROUND( m_selWidthCtrl->GetValue() );
109 cfg->m_Selection.drag_net_collision_width = KiROUND( m_collisionMarkerWidthCtrl->GetValue() );
110 cfg->m_Selection.highlight_thickness = KiROUND( m_highlightWidthCtrl->GetValue() );
111 cfg->m_Selection.highlight_netclass_colors = m_highlightNetclassColors->GetValue();
112 cfg->m_Selection.highlight_netclass_colors_thickness = m_colHighlightThickness->GetValue();
113 cfg->m_Selection.highlight_netclass_colors_alpha = m_colHighlightTransparency->GetValue() / 100.0;
114
115 cfg->m_CrossProbing.on_selection = m_checkCrossProbeOnSelection->GetValue();
116 cfg->m_CrossProbing.center_on_items = m_checkCrossProbeCenter->GetValue();
117 cfg->m_CrossProbing.zoom_to_fit = m_checkCrossProbeZoom->GetValue();
118 cfg->m_CrossProbing.auto_highlight = m_checkCrossProbeAutoHighlight->GetValue();
119 cfg->m_CrossProbing.flash_selection = m_checkCrossProbeFlash->GetValue();
120 }
121
122 m_galOptsPanel->TransferDataFromWindow();
123
124 return true;
125}
126
127
129{
131 cfg.Load(); // Loading without a file will init to defaults
132
133 loadEEschemaSettings( &cfg );
134
135 m_galOptsPanel->ResetPanel( &cfg );
136}
constexpr BOX2I KiROUND(const BOX2D &aBoxD)
Definition box2.h:986
APP_SETTINGS_BASE is a settings class that should be derived for each standalone KiCad application.
CROSS_PROBING_SETTINGS m_CrossProbing
virtual void Load()
Updates the parameters of this object based on the current JSON document contents.
PANEL_EESCHEMA_DISPLAY_OPTIONS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
void ResetPanel() override
Reset the contents of this panel.
PANEL_EESCHEMA_DISPLAY_OPTIONS(wxWindow *aParent, APP_SETTINGS_BASE *aAppSettings)
void loadEEschemaSettings(EESCHEMA_SETTINGS *aCfg)
#define KICAD_FONT_NAME
KICOMMON_API wxFont GetSmallInfoFont(wxWindow *aWindow)
see class PGM_BASE
T * GetAppSettings(const char *aFilename)
bool flash_selection
Flash newly cross-probed selection (visual attention aid).
bool on_selection
Synchronize the selection for multiple items too.
bool zoom_to_fit
Zoom to fit items (ignored if center_on_items is off).
bool center_on_items
Automatically pan to cross-probed items.
bool auto_highlight
Automatically turn on highlight mode in the target frame.
Functions to provide common constants and other functions to assist in making a consistent UI.