Jeff Young
3939b31027
Integration of netclasses into Eeschema.
...
This is mostly architecture, with the hookup of the Schematic Setup
dialog's Net Classes page. Things like assigning to a net on the
canvas to follow.
Fixes https://gitlab.com/kicad/code/kicad/issues/2132
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-06 20:00:50 +01:00
Jeff Young
b0ca7d5140
Netclass setup for Eeschema.
...
ADDED netclass panel in Schematic Setup dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/2132
2020-07-06 20:00:50 +01:00
Jeff Young
2819570d1e
Push panel_setup_netclasses down into common.
2020-07-06 20:00:50 +01:00
Jon Evans
12b4a55ae8
Port Eeschema to new project settings
...
DRC/ERC error serialization changed to use explicit tokens
Old stored severities and ignored errors are discarded
2020-07-02 22:08:54 -04:00
Jeff Young
4694b52e1f
Lazy rebuild of color themes dropdown.
...
This allows you to (for instance) create a new theme in PCBNew and
then select it in Footprint Editor.
2020-06-30 18:32:31 +01:00
Jeff Young
18ab3c4714
Fix missing user grid in COMMON_TOOLS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4702
2020-06-23 11:17:15 +01:00
Ian McInerney
96a5a96037
Fix GTK window position when closed maximized
...
GTK only sends one maximize event, and it happens after the
window is maximized, so we shouldn't check for not being maximized.
2020-06-19 20:13:03 +01:00
Ian McInerney
5b3d947b7e
Fix initialization order fiasco with colors
...
The legacy color refs are needed by the COLOR4D constructor
when constructing a static variable, so they can't be static
themselves.
2020-06-19 17:05:18 +01:00
Ian McInerney
5649558cff
Move DPI_SCALING into the GAL from common
...
It should be owned by the GAL, since it is used
with the OpenGL canvas infrastructure.
2020-06-19 17:02:46 +01:00
Jeff Young
ee9d8fcd15
Collapse Pcbnew & ModEdit display and edit settings.
...
(Prep work for reusing them with a custom shape editor.)
2020-06-18 15:38:01 +01:00
Jeff Young
ad12c42e8b
Push grid settings dialogs down into common.
...
This also gives support for fast grid switching and a user grid
to eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
Ian McInerney
4357c1d3b3
Coverity and compiler warning fixes
...
* Initialize variables
* Test dynamic casts
Fixes https://gitlab.com/kicad/code/kicad/issues/4620
2020-06-05 12:50:56 +01:00
Wayne Stambaugh
0032845f9e
Fix clipped bitmap buttons with GTK on Linux.
...
A note to developers, please do not set the minimum and/or size of bitmap
buttons. It causes bitmaps to get clipped using GTK on Linux. If the
bitmap button size is not acceptable, then supply an appropriately sized
bitmap rather than attempt to force the wxWidgets sizing mechanism to do
what you want. This almost always causes platform differences that do
not work well.
2020-06-03 14:01:44 -04:00
Jeff Young
7aaf72c473
Improve visuals of html error reporting.
2020-06-01 22:00:03 +01:00
Jeff Young
e8524163db
Another attempt to reconcile GTK and OSX slider spacing.
2020-05-28 23:07:16 +01:00
Jeff Young
f4e7e201d8
Use a big hammer when beating wxWidgets over the head.
2020-05-28 22:18:30 +01:00
Jeff Young
b06a454559
Try and find settings that look good on both OSX and GTK.
2020-05-28 21:41:17 +01:00
Jeff Young
8f533e1833
A bit of dialog cleanup.
2020-05-28 19:59:18 +01:00
Jeff Young
e4f4de0221
Improve spacing in migrate settings dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3989
2020-05-27 23:29:51 +01:00
Jon Evans
711fc999f2
Coverity fixes
2020-05-25 19:29:41 -04:00
Jon Evans
a52435bbb0
ADDED: New mouse settings panel, expanded mouse settings
...
You can now choose the behavior of dragging with the
middle and right mouse buttons.
You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.
You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.
You can also now zoom by dragging with the right or
middle button if desired.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
2020-05-24 14:38:28 -04:00
Jon Evans
d7bd4c9b04
Move Eeschema globals to new SCHEMATIC object
...
Set up a new lineage for SCH_ITEMS to get back to the SCHEMATIC
they live on: Items will all be parented to the SCH_SCREEN that
they are added to, and each SCH_SCREEN will point back to the
SCHEMATIC that it is part of. Note that this hierarchy is not
the same as the actual schematic hierarchy, which continues to
be managed through SCH_SHEETs and SCH_SHEET_PATHS.
2020-05-18 13:04:56 -04:00
Jeff Young
37adf7d3d5
Add text field for color definitions.
...
You can enter HTML notation, CSS 3-value notation (rgb), or CSS
4-value notation (rgba). It will always print rgba.
Fixes https://gitlab.com/kicad/code/kicad/issues/4016
2020-05-15 00:18:15 +01:00
Simon Richter
632494cba7
Add missing includes
...
A few more instances of missing <algorithm> for std::max
2020-05-10 00:24:11 +02:00
Jeff Young
8efa8af8cc
Add persistence of DRC error severities.
2020-05-07 17:51:27 +01:00
Ian McInerney
18cd0cdb58
Don't copy the items being iterated
2020-05-06 22:37:13 +01:00
Jeff Young
001a50bf14
Moved PANEL_COLOR_SETTINGS from buttons to swatches.
...
This allows us to correctly display non-100%-opacity colors (ie:
over the correct background color).
2020-05-06 19:02:21 +01:00
Jon Evans
66eb84097a
Auto-size theme list
2020-05-05 21:46:00 -04:00
Wayne Stambaugh
0d1bb10771
Fix common preferences panel control padding.
2020-05-02 18:32:54 -04:00
Wayne Stambaugh
8d0b2dcfd3
Fix path configuration dialog control padding.
2020-05-02 16:48:39 -04:00
jean-pierre charras
02e91807ab
Avoid marking an empty string translatable (create issues with translation tools).
...
Fix also a minor compil warning.
2020-05-02 10:35:40 +02:00
Jeff Young
9d6b987ecc
Fixes to map pin-to-pin erorrs to new Warning/Error strucutre.
2020-05-01 18:49:42 +01:00
jean-pierre charras
b7e7d6fd5c
DIALOG_CONFIGURE_PATHS: Fix crash when deleting the last item in list.
...
When the list (in 3D search path list) contains only one item, when trying
to remove this last item, the crash happened.
2020-04-30 20:42:40 +02:00
Wayne Stambaugh
b1e1e22a5e
Fix minor hot key panel layout padding issue.
2020-04-27 12:57:16 -04:00
Jeff Young
1daa2224d0
Tidy up the layout of the Colors Editor.
2020-04-27 11:59:57 +01:00
Jeff Young
32db9eb0f1
Add some distances to a few DRC errors.
2020-04-24 22:17:45 +01:00
Jeff Young
c67d819b17
Adjust GTK hack for wxSearchCtrl.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4230
2020-04-24 22:17:45 +01:00
Jeff Young
b09463cc86
Improve hack for GTK wxSearchCtrl.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4230
2020-04-24 14:55:15 +01:00
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
...
modified: eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Jon Evans
69db66e1ea
Fix saving of pcbnew colors when edited from layers widget
2020-04-23 22:33:02 -04:00
Jon Evans
2d95270a31
Add color theme settings to pcbnew
2020-04-23 21:55:29 -04:00
Jeff Young
10684e9961
Attempt to work around clipping bug on GTK wxSearchCtrl.
2020-04-20 21:49:32 +01:00
Jeff Young
db9fd3be21
Minor cleanup.
2020-04-20 21:49:32 +01:00
Jeff Young
71fd560735
Add "Export to other sheets" to paper settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2177
2020-04-19 18:24:39 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
jean-pierre charras
04ea20dd44
Eeschema, SCH_PAINTER: fix max text thickness issue, to have small texts readable.
2020-04-14 11:08:42 +02:00
Jeff Young
f4e22a9264
Add ability to override individual item colors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4167
2020-04-09 17:17:27 +01:00
Jeff Young
317e98b344
Simplify user model for editing color themes.
2020-04-08 22:34:56 +01:00
Jeff Young
591428b0d9
Remove some problematic global variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4121
2020-04-05 16:17:04 +01:00
Jeff Young
4990d1e7b2
Variable substitution framework.
...
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
2020-03-30 14:15:59 +01:00
jean-pierre charras
04e4599989
PANEL_SETUP_SEVERITIES: skip non existing error codes in TransferDataFrom/ToWindow
...
Fixes #4066
https://gitlab.com/kicad/code/kicad/issues/4066
2020-03-18 09:17:43 +01:00
Jeff Young
cee973dc04
Move ERC error reporting over to the new framework.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-16 11:06:15 +00:00
Jeff Young
437f888c25
Schematic Setup dialog.
...
Includes:
- moving some of the project settings from the Preferences dialog
- ERC severites
- project-specific field-name templates
Fixes https://gitlab.com/kicad/code/kicad/issues/2145
2020-03-10 18:54:17 +00:00
Jeff Young
bbf5ad6160
Improve dialog spacing and remove 'auto' type decls.
...
Also fixes a couple more coding style issues.
2020-03-10 18:54:17 +00:00
Jeff Young
535033c5c9
Enable editing of sheet fields.
2020-03-07 18:52:30 +00:00
Jon Evans
dd56f6f8e2
Increase width of bitmap button on settings migration dialog
2020-03-06 08:15:14 -05:00
Jon Evans
8660b4c144
ADDED: New color theme editor and multi-theme support
2020-03-06 00:01:03 -05:00
Jon Evans
ca1ab0af16
Set expand flags and minimum button size on migration dialog
...
Hopefully fixes #3989
2020-03-04 21:47:28 -05:00
jean-pierre charras
b7cd0c54c2
Fix compil issues, especially on Windows:
...
Replace SEVERITY_ERROR by RPT_SEVERITY_ERROR to avoid collision with a system definition.
Replace other SEVERITY_XXX by RPT_SEVERITY_XX for consistency.
Fix compil warnings and some other compil issues.
2020-03-04 10:48:18 +01:00
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
...
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
jean-pierre charras
911c6eb781
Pcbnew, DIALOG_NETLIST: fix incorrect storage of wx_MessageWindow options.
...
Config values were not stored into the right variables.
Make also an option persistent during the session
in DIALOG_UPDATE_PCB and DIALOG_NETLIST
DIALOG_UPDATE_PCB and DIALOG_NETLIST match options: use same order in dialogs.
2020-03-01 20:49:56 +01:00
Jon Evans
e59a3d981e
Implement a new settings framework across all of KiCad
...
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme
Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
Ian McInerney
4f82939384
Fix layout in color dialog on GTK
...
Don't initially set the minimum widget size, and instead let it be
computed at launch.
Fixes https://gitlab.com/kicad/code/kicad/issues/2617
2020-02-02 15:28:21 +00:00
Seth Hillbrand
7c28c3838a
Comment-only changes
...
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Ian McInerney
9dff31c2ac
Remove unused DIALOG_FILE_DIR_PICKER
...
This class was replaced with native dialogs for choosing
the files and directories
2020-01-07 23:40:00 +00:00
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
...
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
2020-01-07 17:12:59 +00:00
Simon Richter
270aaec443
Rewrite FBP files generated with unreleased wxFB
...
These use a few features that are too new, causing errors when trying to
edit with a released version of wxFormBuilder.
2020-01-07 13:32:33 +00:00
Seth Hillbrand
c6f5df134c
Minor speed cleanup
...
This adjusts iterators to use const reference when only used for
copy. It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08:00
Seth Hillbrand
4d2e953f42
Cleanup: Replace C-only deprecated headers
...
This replaces headers deprecated by C++14 with their equivalent
replacement
2019-12-05 11:03:15 -08:00
jean-pierre charras
de2818c113
Fix a few I18n minor issues.
2019-11-12 13:47:35 +01:00
Wayne Stambaugh
24454f5105
Pcbnew: fix size of graphics import warning dialog.
...
Use the HTML_MESSAGE_BOX window to present the warning messages rather
than wxMessageBox which would overflow the display when there were a lot
of graphic items that could not be parsed.
Fixes lp:1839565
https://bugs.launchpad.net/kicad/+bug/1839565
2019-09-06 14:57:04 -04:00
jean-pierre charras
37b166348a
Fix compil error and minor compil warnings
2019-08-27 09:13:07 +02:00
Jeff Young
8d31c9a6c1
Save values of Page Settings Export buttons in project.
...
Fixes: lp:1791431
* https://bugs.launchpad.net/kicad/+bug/1791431
2019-08-26 18:27:49 +01:00
Ian McInerney
1bbd944277
pcbnew: Add ability to reset layer/item colors to defaults
2019-08-26 09:20:08 -04:00
Jeff Young
a6b7d4f7f6
Support 9 comments in the page setting GUI.
...
Fixes: lp:1793148
* https://bugs.launchpad.net/kicad/+bug/1793148
2019-08-21 20:34:01 +01:00
Jeff Young
a25368cc6b
Improve spelling.
...
The groundwork here is thanks to kunda1.
Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young
0d90fab01b
Add display setting preference pane for PLEditor.
...
Fixes: lp:1839187
* https://bugs.launchpad.net/kicad/+bug/1839187
2019-08-19 00:06:22 +01:00
Jeff Young
8ba7d4570c
Move warp-mouse-on-move setting from Eeschema settings to common settings.
...
It's also used by the Symbol Editor, and will likely be used by
Pcbnew and friends in the future.
2019-08-15 12:53:04 +01:00
Jeff Young
c2d77a7300
Add some defensive code to prevent re-entrant printing.
...
Fixes: lp:1765965
* https://bugs.launchpad.net/kicad/+bug/1765965
2019-08-13 18:00:09 +01:00
Jeff Young
460b03372d
Implement preference for immediate actions.
...
Also pushes prefer-selection-to-dragging to common.
2019-07-25 20:41:22 -06:00
jean-pierre charras
6577309de4
DIALOG_PRINT_GENERIC: more easy to use user scale option. (not actual change for printing)
...
- fix an issue when trying to enter a scale < 1.0: such a scale starts by 0, that was rejected by the filter)
- automatic clamp to user scale limits, to avoid many warnings to users.
- if the user scale is out of bounds, warn the user before trying to print, not when opening the dialog.
2019-07-18 13:14:42 +02:00
Jeff Young
7159f6e48a
MRU for page size and orientation, and clearer info that this is all preview data only.
...
Fixes: lp:1662239
* https://bugs.launchpad.net/kicad/+bug/1662239
2019-07-10 23:17:50 +01:00
jean-pierre charras
081842dff0
DIALOG_PAGES_SETTINGS: better visibility of the preview.
2019-07-02 10:28:01 +02:00
Seth Hillbrand
77cefe0c16
Normalize line endings
...
A few files snuck in with CRLF for the line endings. These make it hard
to look at diffs as every line appears to have changed. This commit
makes only line ending changes, so can be ignored
2019-06-19 15:18:30 -07:00
Jeff Young
3a0256aade
Add handle-based editing for eeschema bitmaps.
...
Also cleans out a bunch of duplicated functionality from the image
editor dialog.
Fixes: lp:1828722
* https://bugs.launchpad.net/kicad/+bug/1828722
2019-06-19 18:35:17 +01:00
Wayne Stambaugh
77bf575742
CvPcb: fix save changes dialog layout issue.
...
DIALOG_EXIT was not being laid out correctly after setting the dialog
message. Rather than fix our custom DIALOG_EXIT, wxMessageDialog and
wxRichMessageDialog were substituted as direct replacements for all
of the variants of DIALOG_EXIT. This make message dialogs appear more
consistent because wxMessageDialog uses the default platform message
dialog and wxRichMessageDialog uses the default platform rich message
dialog on windows.
Remove DIALOG_EXIT_BASE as it is no longer required.
Fixes lp:1832899
https://bugs.launchpad.net/kicad/+bug/1832899
2019-06-16 12:10:24 -04:00
jean-pierre charras
f550ecaf1f
Better tooltip and fix a typo.
2019-06-14 20:50:46 +02:00
Jeff Young
3d9690302c
Only show gestures in List HotKeys (and not in Preferences / HotKeys).
2019-06-14 16:54:46 +01:00
Jeff Young
b429dbfb88
Fix bugs with ACTIONs not being "honest" singletons.
...
Delete the copy ctor and assignment operator to start with, but
even then the separate apps each have their own statically allocated
copy of the common actions. So we need to update all of them, which
also means having the kicad manager frame's set of actions on hand).
This changelist also adds a Clear Hotkey Assignment function since
the hotkeys set is now likely to be sparse with respect to the
actions.
2019-06-14 16:54:46 +01:00
Jeff Young
aeadc768f6
Add import of hotkeys and fix bugs in reanding and writing hotkeys.
2019-06-10 23:46:01 +01:00
Jeff Young
5e49517781
Move hotkeys to ACTION architecture.
2019-06-10 23:46:00 +01:00
Jeff Young
6025256e07
Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out.
2019-06-10 23:46:00 +01:00
Jeff Young
c2662b0e11
Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME.
2019-05-31 21:55:30 +01:00
Jeff Young
d6e9bdf07b
Convert remaining legacy drawing code to print code.
2019-05-31 21:54:22 +01:00
Jeff Young
6936effaa7
Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
...
Fixes: lp:1820059
* https://bugs.launchpad.net/kicad/+bug/1820059
2019-05-27 11:58:55 +01:00
Jeff Young
248089c934
Get rid of PageLayout globals so drawing the preview doesn't mess up the document.
2019-05-27 11:55:58 +01:00
Jeff Young
bdd44ce88c
Use consistent PageLayout data structure names.
2019-05-27 11:55:58 +01:00
jean-pierre charras
a6e6e914af
Eeschema: make menu file history working again.
...
(the bug was due to an unexpected menuitem ID range used for the menuitems of the history)
2019-05-25 20:58:28 +02:00
Jeff Young
323bb0f8e1
Moving PageLayout editor to GAL canvas and modern toolset.
2019-05-24 19:49:09 +01:00
jean-pierre charras
4d3e86d795
DIALOG_CONFIGURE_PATHS: do not allow users to define the env var KIPRJMOD
...
It always defines the project path, and should never be defined by users.
Fixes: lp:1824912
https://bugs.launchpad.net/kicad/+bug/1824912
2019-04-16 11:41:30 +02:00