KiCad PCB EDA Suite
Loading...
Searching...
No Matches
app_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 Jon Evans <[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 modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation, either version 3 of the License, or (at your
10 * option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef _APP_SETTINGS_H
22#define _APP_SETTINGS_H
23
24#include <gal/color4d.h>
27
39
40namespace KIGFX
41{
42 enum class CROSS_HAIR_MODE : int;
43}
44
53
78
83{
85 int size_x;
86 int size_y;
87 int pos_x;
88 int pos_y;
89 unsigned int display;
90};
91
105
114{
115public:
117 {
118 wxString find_string;
119 std::vector<wxString> find_history;
121 std::vector<wxString> replace_history;
122
124
127 };
128
142
143 struct GRAPHICS
144 {
147 };
148
150 {
152 };
153
154 struct LIB_TREE
155 {
156 std::vector<wxString> columns;
157 std::map<wxString, int> column_widths;
158 std::vector<wxString> open_libs;
159 };
160
162 {
165 int width;
172
173 // For saving tree columns and widths
175 };
176
177 struct PRINTING
178 {
181 double scale;
183 wxString color_theme;
185 std::vector<int> layers;
186 };
187
188 struct SYSTEM
189 {
190 bool first_run_shown; //@todo RFB remove? - not used
192 std::vector<wxString> file_history;
193 int units;
196
200 };
201
202 struct PLUGINS
203 {
205 std::vector<std::pair<wxString, bool>> actions;
206 };
207
208 APP_SETTINGS_BASE( const std::string& aFilename, int aSchemaVersion );
209
211
212 virtual bool MigrateFromLegacy( wxConfigBase* aCfg ) override;
213
214 const std::vector<GRID> DefaultGridSizeList() const;
215
216 const std::vector<double> DefaultZoomList() const;
217
218public:
220
222
224
226
228
230
232
234
236
238
240
242 wxString m_ColorTheme;
243
246
247
250
251protected:
252
253 virtual std::string getLegacyFrameName() const { return std::string(); }
254
256 void migrateFindReplace( wxConfigBase* aCfg );
257
266 bool migrateWindowConfig( wxConfigBase* aCfg, const std::string& aFrameName,
267 const std::string& aJsonPath );
268
275 void addParamsForWindow( WINDOW_SETTINGS* aWindow, const std::string& aJsonPath,
276 int aDefaultWidth = 0, int aDefaultHeight = 0 );
277
281 bool migrateLibTreeWidth();
282};
283
284#endif
ARC_EDIT_MODE
Settings for arc editing.
@ KEEP_ENDPOINTS_OR_START_DIRECTION
Whe editing endpoints, the other end remains in place.
@ KEEP_CENTER_ENDS_ADJUST_ANGLE
When editing endpoints, only the angle is adjusted.
@ KEEP_CENTER_ADJUST_ANGLE_RADIUS
When editing endpoints, the angle and radius are adjusted.
SEARCH_PANE m_SearchPane
WINDOW_SETTINGS m_Window
APP_SETTINGS_BASE(const std::string &aFilename, int aSchemaVersion)
FIND_REPLACE m_FindReplace
bool m_CustomToolbars
Use custom toolbars.
PANEL_DESIGN_BLOCK_CHOOSER m_DesignBlockChooserPanel
COLOR_PICKER m_ColorPicker
virtual ~APP_SETTINGS_BASE()
virtual std::string getLegacyFrameName() const
wxString m_ColorTheme
Active color theme name.
CROSS_PROBING_SETTINGS m_CrossProbing
int m_appSettingsSchemaVersion
! Local schema version for common app settings.
JSON_SETTINGS(const wxString &aFilename, SETTINGS_LOC aLocation, int aSchemaVersion)
#define KICOMMON_API
Definition kicommon.h:28
The Cairo implementation of the graphics abstraction layer.
Definition eda_group.h:33
std::vector< wxString > replace_history
std::vector< wxString > find_history
float highlight_factor
How much to brighten highlighted objects by.
float select_factor
How much to brighten selected objects by.
std::vector< wxString > columns
Ordered list of visible columns in the tree.
std::map< wxString, int > column_widths
Column widths, keyed by header name.
std::vector< wxString > open_libs
list of libraries the user has open in the tree.
std::vector< std::pair< wxString, bool > > actions
Ordered list of plugin actions mapped to whether or not they are shown in the toolbar.
bool monochrome
Whether or not to print in monochrome.
bool background
Whether or not to print background color.
std::vector< int > layers
List of enabled layers for printing.
wxString color_theme
Color theme to use for printing.
double scale
Printout scale.
bool title_block
Whether or not to print title block.
bool use_theme
If false, display color theme will be used.
bool show_import_issues
Stored value for "show import issues" when importing non-KiCad designs to this application.
std::vector< wxString > file_history
Cross-probing behavior.
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.
Common cursor settings, available to every frame.
KIGFX::CROSS_HAIR_MODE cross_hair_mode
Store the common settings that are saved and loaded for each window / frame.
CURSOR_SETTINGS cursor
WINDOW_STATE state
GRID_SETTINGS grid
wxString mru_path
std::vector< double > zoom_factors
wxString perspective
Store the window positioning/state.
unsigned int display