KiCad PCB EDA Suite
Loading...
Searching...
No Matches
eeschema_settings.h
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) 2020-2024 KiCad Developers, see AUTHORS.txt for contributors.
5*
6* This program is free software; you can redistribute it and/or
7* modify it under the terms of the GNU General Public License
8* as published by the Free Software Foundation; either version 2
9* of the License, or (at your option) any later version.
10*
11* This program is distributed in the hope that it will be useful,
12* but WITHOUT ANY WARRANTY; without even the implied warranty of
13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14* GNU General Public License for more details.
15*
16* You should have received a copy of the GNU General Public License
17* along with this program; if not, you may find one here:
18* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19* or you may search the http://www.gnu.org website for the version 2 license,
20* or you may write to the Free Software Foundation, Inc.,
21* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22*/
23
24#ifndef _EESCHEMA_SETTINGS_H
25#define _EESCHEMA_SETTINGS_H
26
27#include <wx/aui/framemanager.h>
28
30#include <sim/sim_preferences.h>
31
32using KIGFX::COLOR4D;
33
34
35extern const wxAuiPaneInfo& defaultNetNavigatorPaneInfo();
36extern const wxAuiPaneInfo& defaultPropertiesPaneInfo( wxWindow* aWindow );
37extern const wxAuiPaneInfo& defaultSchSelectionFilterPaneInfo( wxWindow* aWindow );
38extern const wxAuiPaneInfo& defaultDesignBlocksPaneInfo( wxWindow* aWindow );
39
40
41
43{
47
49};
50
51
53{
54public:
56 {
69 wxString default_font;
84 };
85
87 {
88 int hierarchy_panel_docked_width; // width of hierarchy tree panel and pane when docked
89 int hierarchy_panel_docked_height; // height of hierarchy tree panel and pane when docked
90 int hierarchy_panel_float_width; // width of hierarchy tree panel when floating
91 int hierarchy_panel_float_height; // height of hierarchy tree panel when floating
92 int search_panel_height; // height of the search panel
93 int search_panel_width; // width of the search panel
94 int search_panel_dock_direction; // docking direction of the search panel
95 bool schematic_hierarchy_float; // show hierarchy tree panel as floating
96 bool show_schematic_hierarchy; // show hierarchy tree pane
97 bool show_search; // show the search panel
110 };
111
113 {
114 bool enable;
117 };
118
120 {
122
123 BOM_PLUGIN_SETTINGS( const wxString& aName, const wxString& aPath ) :
124 name( aName ),
125 path( aPath )
126 {}
127
128 wxString name;
129 wxString path;
130 wxString command;
131 };
132
134 {
136
137 NETLIST_PLUGIN_SETTINGS( const wxString& aName, const wxString& aPath ) :
138 name( aName ),
139 path( aPath )
140 {}
141
142 wxString name;
143 wxString path;
144 wxString command;
145 };
146
147 struct DRAWING
148 {
160 wxString field_names;
169 std::vector<double> junction_size_mult_list;
170
171 // Pulldown index for user default junction dot size (e.g. smallest = 0, small = 1, etc)
173 };
174
175 struct INPUT
176 {
179 };
180
182 {
190 };
191
193 {
208 };
209
211 {
214 int scope;
219 };
220
222 {
224 std::vector<BOM_PLUGIN_SETTINGS> plugins;
225 };
226
228 {
229 std::map<std::string, int> field_widths;
230 int width;
232 int page;
235 int scope;
236 };
237
239 {
245 };
246
248 {
249 std::vector<NETLIST_PLUGIN_SETTINGS> plugins;
250 };
251
253 {
255 bool color;
256 wxString color_theme;
266 };
267
269 {
272 int width;
277 };
278
280 {
283 int width;
289 };
290
292 {
294 wxString last_file;
298 double origin_x;
299 double origin_y;
301 };
302
304 {
305 struct VIEW
306 {
313 };
314
318 };
319
321 {
326
328 };
329
331
333
334 virtual bool MigrateFromLegacy( wxConfigBase* aLegacyConfig ) override;
335
336 static std::vector<BOM_PLUGIN_SETTINGS> DefaultBomPlugins();
337
338
339protected:
340 virtual std::string getLegacyFrameName() const override { return "SchematicFrame"; }
341
342private:
343 bool migrateBomSettings();
344
345 nlohmann::json bomSettingsToJson() const;
346
347 static std::vector<BOM_PLUGIN_SETTINGS> bomSettingsFromJson( const nlohmann::json& aObj );
348
349 nlohmann::json netlistSettingsToJson() const;
350 static std::vector<NETLIST_PLUGIN_SETTINGS> netlistSettingsFromJson( const nlohmann::json& aObj );
351
352public:
354
356
358
360
362
364
366
368
370
372
374
376
378
380
382
384
386
388
390
392};
393
394
395#endif
APP_SETTINGS_BASE is a settings class that should be derived for each standalone KiCad application.
Definition: app_settings.h:92
PANEL_DESIGN_BLOCK_CHOOSER m_DesignBlockChooserPanel
PANEL_ANNOTATE m_AnnotatePanel
static std::vector< BOM_PLUGIN_SETTINGS > DefaultBomPlugins()
PANEL_NETLIST m_NetlistPanel
nlohmann::json bomSettingsToJson() const
virtual bool MigrateFromLegacy(wxConfigBase *aLegacyConfig) override
Migrates from wxConfig to JSON-based configuration.
nlohmann::json netlistSettingsToJson() const
virtual ~EESCHEMA_SETTINGS()
PANEL_SYM_CHOOSER m_SymChooserPanel
PAGE_SETTINGS m_PageSettings
static std::vector< BOM_PLUGIN_SETTINGS > bomSettingsFromJson(const nlohmann::json &aObj)
FIND_REPLACE_EXTRA m_FindReplaceExtra
PANEL_LIB_VIEW m_LibViewPanel
AUTOPLACE_FIELDS m_AutoplaceFields
DIALOG_IMPORT_GRAPHICS m_ImportGraphics
static std::vector< NETLIST_PLUGIN_SETTINGS > netlistSettingsFromJson(const nlohmann::json &aObj)
PANEL_FIELD_EDITOR m_FieldEditorPanel
virtual std::string getLegacyFrameName() const override
A color representation with 4 components: red, green, blue, alpha.
Definition: color4d.h:104
const wxAuiPaneInfo & defaultSchSelectionFilterPaneInfo(wxWindow *aWindow)
LINE_MODE
@ LINE_MODE_90
@ LINE_MODE_45
@ LINE_MODE_FREE
@ LINE_MODE_COUNT
const wxAuiPaneInfo & defaultPropertiesPaneInfo(wxWindow *aWindow)
const wxAuiPaneInfo & defaultNetNavigatorPaneInfo()
const wxAuiPaneInfo & defaultDesignBlocksPaneInfo(wxWindow *aWindow)
Contains preferences pertaining to the simulator.
BOM_PLUGIN_SETTINGS(const wxString &aName, const wxString &aPath)
std::vector< double > junction_size_mult_list
NETLIST_PLUGIN_SETTINGS(const wxString &aName, const wxString &aPath)
std::vector< BOM_PLUGIN_SETTINGS > plugins
std::map< std::string, int > field_widths
std::vector< NETLIST_PLUGIN_SETTINGS > plugins
Contains preferences pertaining to the simulator.
Stores the common settings that are saved and loaded for each window / frame.
Definition: app_settings.h:74