Jeff Young
4565631728
Finish moving eeschema assigned netclasses to sheet-path-relative.
...
Also adds code for the case where a new label is created on a net
with an existing netclass assignment.
Fixes https://gitlab.com/kicad/code/kicad/issues/5886
2020-10-07 16:31:55 +01:00
Tomasz Wlostowski
30f8cc1346
VIEW_OVERLAY: added Cross() method
2020-10-07 16:36:37 +02:00
Tomasz Wlostowski
be0688726c
NETCLASS: initial support for net classes with empty clearance/width values
2020-10-07 16:36:37 +02:00
Tomasz Wlostowski
bd27d38d9a
DRAW_PANEL_GAL: added DebugOverlay() method, creating a temporary overlay for drawing debug graphics
2020-10-07 16:36:37 +02:00
Wayne Stambaugh
5127d6c772
Eeschema: add ERC check for library symbol issues.
...
ADDED: ERC check for library symbols that have changed since they were
added to the schematic or have broken symbol library links.
2020-10-07 09:15:31 -04:00
Seth Hillbrand
56e1afb12e
Unselect items before rescoring
...
Iteration on a suggestion from Mikołaj Wielgus to resolve
elusive crashing issue when searching in lib tree in GTK.
GTK issues two commands when clearing (BeforeReset() and AfterReset())
BeforeReset() needs to have a valid model and cannot have selection
events during its lifetime. On MacOS and MSW, this is a NOP.
AfterReset() performs the re-association for GTK, removing the need for
the extra associate step. For MacOS and MSW, this is only the Cleared()
action.
Fixes https://gitlab.com/kicad/code/kicad/issues/5732
Fixes https://gitlab.com/kicad/code/kicad/issues/5891
2020-10-06 17:40:30 -07:00
Jon Evans
9bae2cadf0
Fix a few issues with color theme editing
2020-10-06 19:21:20 -04:00
Jeff Young
0bc7bbbadb
Report silk/edge collisions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5854
Fixes https://gitlab.com/kicad/code/kicad/issues/4892
2020-10-06 14:21:18 +01:00
Jeff Young
ee95d8fe2e
Improve SNR in status bar (and use common code).
2020-10-06 12:08:31 +01:00
jean-pierre charras
61f1f7d948
Gerber, aperture macros: use different apertures primitives in macro defs.
...
To avoid issues with broken Gerber readers use aperture macros with shapes
without rotation when more than one primitive is required.
In many gerber readers, rotation of a set of primitives is broken
(do not follow Gerber requirements)
2020-10-06 11:08:07 +02:00
Jon Evans
728c207105
Deduplicate settings migration handling
2020-10-05 23:21:57 -04:00
Jon Evans
76bfa47a77
Allow creating new projects when doing a Save As in eeschema
2020-10-05 22:36:26 -04:00
Ian McInerney
43c14face0
Switch to showing metric/imperial units in comboboxes and menus
...
This will always show 1 unit from each system, with the primary unit
being the current frame unit and the secondary unit being the
most recent unit used from the other system. These are saved in
the settings, so they are saved between runs.
2020-10-05 20:26:33 +01:00
Michael Kavanagh
1416280662
Cleanup: Move Eagle files into plugins folder
2020-10-05 14:19:07 +00:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Mark Roszko
a28a0e14ba
Fix conversion warnings
2020-10-05 10:41:14 +00:00
jean-pierre charras
12ecccd0f3
Gerber output: disable use of aperture macros until some issues are fixed.
2020-10-05 10:54:38 +02:00
Jon Evans
e27786de2d
Fix double call of OnPgmExit
...
Also fix bad filename being passed to pcbnew when starting
from a blank schematic in standalone mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5786
2020-10-04 18:39:33 -04:00
Ian McInerney
3a570c27f0
Update unit handling in the preview ruler
...
* Make the ruler able to switch to mils after creation
* Cleanup an unused flag in Pcbnew dimensions
* Move unit changed notification into EDA_DRAW_FRAME so more
frames to use it.
* Allow switching units when GerbView ruler tool is active
2020-10-04 17:53:55 +01:00
Ian McInerney
122bd7ca7c
Make the statubar aware of mils units
...
Switch Eeschema to use the built-in printing routines
because its precisions are close to those and it is
cleaner.
Give mils a precision of 2 decimal places to match
the precision shown in inches.
2020-10-04 17:53:55 +01:00
Ian McInerney
b1bd1f2a97
Introduce new action to switch to mils as a unit
2020-10-04 17:53:55 +01:00
Jeff Young
7a4900b8dc
PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
...
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Seth Hillbrand
8e515d0069
Standardize default hotkey refresh
2020-10-04 05:48:26 -07:00
Jeff Young
85c6cebd77
Rework silk-to-pad checker to handle all solder mask clipping of silk.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5851
2020-10-04 13:21:01 +01:00
jean-pierre charras
10bc96840a
Fix incorrect test in Page Settings dialog.
...
Fixes #5871
https://gitlab.com/kicad/code/kicad/issues/5871
2020-10-04 11:38:00 +02:00
Marek Roszko
9e115a548e
Add advance config variable to skip bounding box loading on footprints
2020-10-03 22:01:42 +00:00
Jeff Young
bb753aaadf
Clean up terminology around active & high contrast layers.
2020-10-03 22:55:34 +01:00
Jeff Young
70f329df91
Fix two-point assistant drawing layers to be in correct order.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-03 22:55:34 +01:00
Mikolaj Wielgus
d9fd6e549b
Remove "useMils" variable from numeric evaluator
2020-10-03 20:06:56 +00:00
Mikolaj Wielgus
d14761bee6
Fix inches being sometimes used instead of mils
2020-10-03 20:06:56 +00:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Ian McInerney
b69d396afc
Turn the toolbar context menus into unique_ptr for easier management
2020-10-03 19:09:18 +01:00
Jeff Young
44b23dd3d1
Add some defensive code to try and prevent freed pointer access.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5747
2020-10-03 18:50:49 +01:00
Jeff Young
ba26e056ec
Implement groups for modedit.
...
This uncovered a memory corruption bug in MODULE's move operator,
several bugs in MODULE's move and copy constructors, and a bug in
BOARD's GetItem() call.
It also bumps the file format for saving/restoring groups inside
footprints.
2020-10-03 12:19:50 +01:00
jean-pierre charras
e76736b7bf
Fix a few Coverity warnings
2020-10-03 12:47:41 +02:00
jean-pierre charras
bda275de46
more cleanup about removing useless include
2020-10-03 11:48:16 +02:00
jean-pierre charras
b38cef409b
Rename CopyFile() to KiCopyFile() to avoid name colliding with a windows header.
...
Using CopyFile() that can collide with a windows header create hard to
understand errors, including link errors.
Renaming this function avoids these strange errors.
2020-10-03 10:08:21 +02:00
Jon Evans
3e49669304
Clean up some unused things
2020-10-02 21:12:59 -04:00
Jon Evans
45d7f2b6f5
Expose via holes to color theme properly
2020-10-02 21:12:59 -04:00
Jon Evans
3b252c696d
Make tool init order dependent on registration order
...
Previously, init order depended on the ordering of the
tool state map, which is opaque from the point of view of
registration. This makes it challenging to make one tool's
init depend on another. With this change, registration
order defines init order.
2020-10-02 18:42:41 -04:00
Jeff Young
cc617b715f
Implement hypertext links for intersheet references.
2020-10-02 21:18:34 +01:00
Seth Hillbrand
394b3b3a36
Use standard refresh icon in toolbar
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5852
2020-10-02 12:01:33 -07:00
jean-pierre charras
36bc44e6d7
more cleanup about removing useless include
2020-10-02 19:56:10 +02:00
jean-pierre charras
87a220b8e2
more cleanup about removing useless include
2020-10-02 14:51:11 +02:00
Jeff Young
0052954046
Try to make rulers draw right on Cairo as well as OpenGL.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-02 13:50:16 +01:00
jean-pierre charras
13304d0870
more cleanup about removing useless include
2020-10-02 13:40:00 +02:00
jean-pierre charras
0deeed0ddc
add missing file
2020-10-02 10:28:24 +02:00
jean-pierre charras
0cca2a0ad2
Rect, Round Rect, Oval, Trapezoid (rotated) pads now use flashed apertures.
...
Complex shapes are plot using regions.
The old code is still available, just in case...
2020-10-02 10:19:45 +02:00
jean-pierre charras
8285110c2a
more cleanup about removing useless include
2020-10-02 08:58:19 +02:00
Jon Evans
4a17205e76
Turn off "prefer selection to dragging" by default
2020-10-01 18:24:07 -04:00
Tomasz Wlostowski
9b470b6c09
EDA_TEXT: Use actual draw rotation angle to generate the effective shape.
...
Fixes : #5814
2020-10-01 18:55:53 +02:00
Tomasz Wlostowski
bf9e2de1ac
DRAW_PANEL_GAL: don't crash when parent EDA_FRAME is null
2020-10-01 18:55:53 +02:00
Jeff Young
612411a87b
Give assistant graphics a max bounding box.
...
They're only on screen when they're being used, and we don't have
a GAL available to calculate their actual extents from (since their
text scales with zoom).
Fixes https://gitlab.com/kicad/code/kicad/issues/5845
2020-10-01 17:53:44 +01:00
jean-pierre charras
35e129ed47
Minor code cleanup, step3: remove more useless include.
2020-10-01 18:28:12 +02:00
jean-pierre charras
f702da95c7
Minor code cleanup, step2: remove more useless include.
...
fix also a minor compil warning
2020-10-01 15:39:47 +02:00
Jeff Young
c7802e7ff8
Adjust ruler text on non-HDPI displays.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-01 14:35:30 +01:00
jean-pierre charras
42350a4928
Minor code cleanup: remove useless include or useless code.
...
fix also a minor compil warning
2020-10-01 11:36:15 +02:00
Ian McInerney
5482307ac8
Allow edge cuts to be drawn in the footprint editor
2020-09-30 23:33:30 +01:00
Jon Evans
83e452390d
Improve color picker dialog when starting from UNSPECIFIED
2020-09-30 17:46:58 -04:00
Jon Evans
7c003f98d5
ADDED: Appearance panel for footprint editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5643
2020-09-30 17:46:58 -04:00
Jeff Young
626bcea8ce
Move ruler drawing to the stroke font.
...
We don't need to be fast, and this allows us to implement drop
shadows for better readability.
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-09-30 20:38:20 +01:00
jean-pierre charras
3f8c9d49f8
Revert "Code cleanup: remove useless wx/wx.h include inside a few files."
...
due to compil issue on Linux
This reverts commit cffccc3970
.
2020-09-30 20:47:20 +02:00
jean-pierre charras
cffccc3970
Code cleanup: remove useless wx/wx.h include inside a few files.
...
in most of files, including wx.h is not necessary, when only 2 or 3 wx files must be included.
Moreover, on windows, including wx.h sometimes create compil warnings about
shadowed vars defined in some specific windows headers.
2020-09-30 20:03:27 +02:00
Jon Evans
f7d3dddd6d
Fix format argument assertion in libeval_compiler
2020-09-28 21:38:08 -04:00
Mikolaj Wielgus
2d7a2a9658
Fix grid dots not appearing due to below-unity drawing width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5630
2020-09-29 01:23:39 +02:00
Seth Hillbrand
eea8869bdd
Add Linux WM and compositor to platform info
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5806
2020-09-28 09:41:55 -07:00
Roberto Fernandez Bautista
72b904a978
ADDED: CADSTAR Archive project importer
2020-09-27 23:50:20 +00:00
Ian McInerney
8e7e1ffaaa
Fix the mouse handling in the toolbar palettes
...
There were issues on OSX where the mouse being captured
by the parent toolbar would lead to seg faults, so release
the mouse on opening the palette.
Releasing the mouse then means that the mouse states become
confused, so we need to manually clear all the mouse states
when we open the popup.
Fixes https://gitlab.com/kicad/code/kicad/issues/5803
2020-09-28 00:42:47 +01:00
Ian McInerney
4ec46dabf8
Make the toolbar palettes open at a right angle to the toolbar
...
This opening is easier when using the drag-to-open system.
2020-09-27 23:20:17 +01:00
Ian McInerney
6dfe7b6eb0
Switch toolbar palettes to use AUI drag event
...
This isn't as much a hack as trying to detect it ourselves and
hope we don't clobber the internal toolbar workings.
2020-09-27 23:20:17 +01:00
Roberto Fernandez Bautista
39995341d9
Compile fixes
...
Fix compile error
Fix string format to use %ld instead to work on clang in CADSTAR Archive importers
Add virtual destructor to CONNECTION in CADSTAR_ARCHIVE_PARSER
2020-09-27 22:05:07 +00:00
Roberto Fernandez Bautista
93242eb3ad
CADSTAR Schematic / PCB Archive Importers: Add missing import warnings and fix code formatting
2020-09-27 18:14:01 +01:00
Roberto Fernandez Bautista
40c5795c03
CADSTAR Schematic Archive Importer: Load Busses and fix minor import bugs
...
Fixed missing tokens that weren't parsed before:
- Danglers (in NET_SCH)
- Pin numbers (in SYMBOL)
- HidePinNames in both PART and PART::DEFINITION, defaulting it to false
2020-09-27 18:13:59 +01:00
Roberto Fernandez Bautista
2d85fc8c91
CADSTAR Schematic Archive Importer: Load Nets, Wires, Junctions and Hierarchical Pins
2020-09-27 18:13:59 +01:00
Roberto Fernandez Bautista
1c57b5c079
CADSTAR Schematic Archive Importer: Load symbol library and schematic symbol instances
2020-09-27 18:13:58 +01:00
Roberto Fernandez Bautista
2d99703e28
CADSTAR Schematic Archive Importer: Load all Sheets and Hierarchical Blocks
2020-09-27 18:13:58 +01:00
Roberto Fernandez Bautista
646a733556
CADSTAR Schematic Archive Importer: Parse all elements
2020-09-27 18:13:57 +01:00
Roberto Fernandez Bautista
721cba32d5
ADDED: CADSTAR Schematic Archive Importer
...
Initial commit to trigger the importer
2020-09-27 18:13:57 +01:00
Roberto Fernandez Bautista
1b20a2910a
Move all common CADSTAR Importer Parser code
...
Move all common code from CADSTAR_PCB_ARCHIVE_PARSER (pcbnew) to CADSTAR_ARCHIVE_PARSER (common)
2020-09-27 18:13:56 +01:00
Tomasz Wlostowski
78fc0349a9
libeval_compiler: free tree in destructor, warning fixes
2020-09-27 17:49:26 +02:00
Tomasz Wlostowski
d2ed27b500
libeval_compiler: fix string comparison
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
3e0635bd22
common: RC_ITEM can now keep an arbitrary number of violating UUIDs
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
f38147c201
drc: add support for via_count constraint to the parser
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
7b7c3bde88
pcb_new: CONNECTIVITY_DATA now keeps a cache of DRC from-tos
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
0c885c9c31
libeval_compiler: == operator now does wildcard string comparison
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
201a630740
drc: extend drc-rules file format with length and skew tokens
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
5023d9a780
libeval_compiler: initial support for multiple (>1) function/method arguments
2020-09-27 16:45:46 +02:00
jean-pierre charras
6b958ff4e0
Move specialized plotter classes from plotter.h to specific plotter_xx.h
...
plotter.h contains now only a header common to all plotters.
The code does not actually change, but it allows modifying a specific plotter
without recompiling most of kicad files.
2020-09-27 09:54:39 +02:00
Ian McInerney
d5f781c7ca
Allow dragging on the toolbar item to open a group
2020-09-27 02:22:22 +01:00
Ian McInerney
df3018832b
Fix toolbar palette location
...
This better aligns the first button in the palette with the
group button on the toolbar.
2020-09-27 01:58:41 +01:00
Ian McInerney
fc565edb33
Add a palette to the toolbars to display groups of actions
...
This adds a palette to toolbar items that displays groups
of actions when long-pressed on a button.
2020-09-27 01:00:44 +01:00
Ian McInerney
5794997805
Fix inverted logic with checking a BITMAP_BUTTON
2020-09-27 00:51:09 +01:00
Jon Evans
56ca842ec4
Fix H/V/45 zone snapping behavior
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5122
2020-09-26 14:27:08 -04:00
Jeff Young
f8875bc5a6
Move std::contains to alg::contains.
2020-09-26 14:42:40 +01:00
Jeff Young
d7e80f8008
Add std::contains() to simplify a lot of code.
2020-09-26 12:40:32 +01:00
Jon Evans
cc0a9c2e5c
Fix typo in VRML last path
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5512
2020-09-25 21:58:06 -04:00
PJM
d1322e7d1d
Refactor GetDocumentExtents()
...
CHANGED: GetDocumentExtents() in 'eda_draw_frame.h' now has a bool
parameter "aIncludeAllVisible" with a default value "true" which makes
it behave as it did before adding parameter. If "aIncludeAllVisible"
is false, the returned bbox ignores some items depending on which
program it is running in.
CHANGED: Made "Zoom to Objects" use only PCB edge in Pcbnew. This
allows text, notes, etc outside the PCB edge to be excluded in the
zoom calculation.
CHANGED: Added "Zoom to Objects" to Pcbnew main menu, and to RMB context
menus for Eeschema and Pcbnew.
Fixes https://gitlab.com/kicad/code/kicad/issues/5787
2020-09-25 00:31:56 -07:00
Jon Evans
0783669633
CHANGED: Design rules files now use .kicad_dru extension
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5763
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5444
2020-09-24 21:26:23 -04:00
Jon Evans
0c5aabc7f7
Add an option to not migrate library tables when migrating settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3924
2020-09-24 20:54:31 -04:00
Seth Hillbrand
d535a4b833
When showing/hiding infobar, keep position
...
The infobar changes the size of the visible screen, so adding/removing
it will shift the screen center, causing the position of onscreen
objects to move up/down. This changes the sizing to pin the bottom
corner position when showing/hiding the infobar
Fixes https://gitlab.com/kicad/code/kicad/issues/5776
2020-09-24 15:57:49 -07:00