jean-pierre charras
cc81d97f78
Opengl DrawArcSegment(): refinements for a better look of control points.
...
Use a segment count multiple of 2, because we have a control point on the
middle of the arc, and the look is better if it is on a segment junction
because there is no arc to segment approx error
2020-10-24 17:26:44 +02:00
jean-pierre charras
6d12a0c95b
OPENGL_GAL, DrawArcSegment(): do not modify the radius of arc.
...
The radius correction does not fix correctly approximation errors,
and creates serious issues for thin arcs:
- control point outside the arc
- HitTest active area outside the arc shown on screen
- Cairo and opengl gives different arc positions.
- the formula used in radius correction is probably incorrect.
2020-10-24 16:29:26 +02:00
Marek Roszko
81a7afc76e
Use kicad_algo directly rather than common.h
2020-10-24 08:53:11 -04:00
Marek Roszko
68484e9b38
Nix some global richio.h
2020-10-24 08:44:03 -04:00
Marek Roszko
77ece552f7
Remove macros.h from files that don't need it
2020-10-24 08:28:02 -04:00
Marek Roszko
64484f5fc4
Split KIID out of common.h
2020-10-24 00:17:08 -04:00
Marek Roszko
4d5796fb9a
Extract swig binding macros to their own header
2020-10-24 00:17:07 -04:00
Marek Roszko
304e5faf36
Move wxStringSplit to kicad_string
2020-10-24 00:17:07 -04:00
Seth Hillbrand
b7f115bf5f
Don't write translated strings
...
Even though the translation isn't used, the choice of locale can create
unwanted diffs
2020-10-23 19:53:25 -07:00
Marek Roszko
1d559108c8
Move LOCALE_IO out of common.h
2020-10-23 21:49:42 -04:00
Marek Roszko
472ea039dd
Remove common.h from bitmap.cpp
2020-10-23 21:49:42 -04:00
Marek Roszko
c027398df3
common.h not needed in advanced_config.cpp
2020-10-23 21:49:41 -04:00
Marek Roszko
4d6e4bd622
Remove common.h from env_vars.cpp
2020-10-23 21:49:41 -04:00
Jeff Young
58c006bc45
Register properties for ARC elements so we can get their netclass.
...
Also improves GAL arc drawing and polygonization.
Fixes https://gitlab.com/kicad/code/kicad/issues/6039
2020-10-23 14:27:36 +01:00
Thomas Pointhuber
47786fa976
altium: Correctly handle symbol names containing invalid chars
...
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6082
2020-10-23 14:30:29 +02:00
Jon Evans
7fcef7268b
Handle read-only settings files better
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5688
2020-10-22 20:31:04 -04:00
Jeff Young
41fd8293e8
Don't apply clearance to keepout zones.
...
Also improves the clearance and keepout reporting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6118
2020-10-22 21:29:04 +01:00
Jon Evans
35c7ba0a8a
Fix hover/highlight of line edit points
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6104
2020-10-21 20:37:15 -04:00
Simon Richter
3f48aca721
Add missing <algorithm>
2020-10-21 22:51:22 +00:00
Seth Hillbrand
ae1004776f
Correct Cairo GAL dot rendering
...
This matches the OpenGL dot rendering. Patch from dsa-t with minor
changes
Fixes https://gitlab.com/kicad/code/kicad/issues/5832
2020-10-21 12:31:21 -07:00
Seth Hillbrand
7997456893
Update single_top.cpp to fix errant "footprint" text
2020-10-21 18:13:31 +00:00
jean-pierre charras
c87faad344
Python compatibility: move DXF_PLOTTER::DXF_UNITS to DXF_UNITS in pcb_plot_params.h
...
Fixes #6034
https://gitlab.com/kicad/code/kicad/issues/6034
2020-10-21 18:29:53 +02:00
jean-pierre charras
b907f79485
python wrap: fix undefined FILLED/SKETCH constants in pcbnew.py
...
Fixes #6070
https://gitlab.com/kicad/code/kicad/issues/6070
2020-10-21 13:23:06 +02:00
Seth Hillbrand
f8a4edb1c9
First pass renaming module to footprint
...
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Jeff Young
3d135189d3
Fix grid resizing issues.
...
Normally we don't want to resize when a control is open (such as a
drop-down), but it appears safe enough when all the controls are
just text-button controls.
Fixes https://gitlab.com/kicad/code/kicad/issues/6090
2020-10-20 23:34:19 +01:00
Jeff Young
e5089d783d
Remove multi-label entry feature.
...
It was causing problems with surprising behaviour and issues with
allowing spaces in existing labels. We'll work on something better
for 7.0....
Fixes https://gitlab.com/kicad/code/kicad/issues/6073
2020-10-20 22:53:44 +01:00
Seth Hillbrand
2292c362c0
Remove launchpad in favor of GitLab
2020-10-20 14:47:32 -07:00
Roberto Fernandez Bautista
006c462d8f
ADDED: Fillet Tracks tool in pcbnew
...
Select two or more track segments and run the "Fillet Tracks" tool.
2020-10-20 21:23:05 +00:00
Seth Hillbrand
2a43b88115
Standardize PostScript capitalizaiton
2020-10-20 13:09:13 -07:00
Seth Hillbrand
e0b439492f
Unify temporary string -> dummy
2020-10-20 12:26:33 -07:00
Seth Hillbrand
4085757aeb
Remove beginning/ending spaces in translations
...
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Jeff Young
f772e49d25
Adjust DRC badge spacing on OSX.
...
Also added dynamic badge sizing based on number of digits.
2020-10-20 16:57:56 +01:00
Ian McInerney
7c9acc605d
Introduce a new number badge UI element for DRC and ERC reporting
...
This new badge allows for proper UI scaling and will not cut off
the number being displayed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5734
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6011
2020-10-20 02:35:48 +01:00
Jon Evans
f8d38fc6c0
Slight tweak to schematic background color
2020-10-19 20:55:34 -04:00
Roberto Fernandez Bautista
e7ab924a86
CADSTAR PCB Archive Importer: Resolve comments in MR
...
- Change wxASSERT(false) to wxFAIL_MSG
- Fix double negative
- Add small comment to TXT_HEIGHT_RATIO
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
7839a508b3
CADSTAR PCB Archive Importer: Fix imported text height
...
Apply a scaling factor derived from CADSTAR's default font
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
5273c77fbf
CADSTAR PCB Archive Importer: Parse TRUNK and TRUNKREF, display error if present (no KiCad equivalent)
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
8b13140122
CADSTAR Archive Importer: Parse missing ROUTEREASSIGN node in ROUTECODE
2020-10-20 00:00:05 +00:00
Marek Roszko
df590b1109
Reduce the "default" maximum scale factor down a magnitude.
...
Testing reveals 25000 is absolute overkill. A 4mil trace at 2000 is already an entire GAL canvas on 1080p.
Eeschema already uses its own setting of 1000 max.
2020-10-19 19:06:09 -04:00
Marek Roszko
f1e2bdc2d0
Prevent zoom to fit from going to crazy zooms on blank canvas
...
Fix #6062
2020-10-19 18:51:32 -04:00
Wayne Stambaugh
8ff51d8899
Eeschema: add schematic sheet page number.
...
The groundwork has now been laid for per sheet instance data. Initially
this only supports sheet page numbers but could be expanded to include
other per sheet instance information.
ADDED: Support for user defined schematic page numbers.
2020-10-19 14:05:45 -04:00
Jon Evans
a28f154cc5
Fix fallback color theme name
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6064
2020-10-19 12:02:55 -04:00
Jeff Young
91f2a0ef1d
Fix uninitialized variable.
2020-10-19 12:07:43 +01:00
jean-pierre charras
e4675ee9a6
Fix missing include (linux).
2020-10-19 10:25:55 +02:00
jean-pierre charras
539ac4c214
Remove a few include<wx/wx.h> in many files that do not actually use this include.
2020-10-19 09:00:50 +02:00
Jon Evans
88fbb9d367
Don't allow resetting read-only themes
2020-10-18 22:20:43 -04:00
Jeff Young
dd53b9c399
Bail on 45º text in pin conflicts map.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5515
2020-10-18 20:28:23 +01:00
Jon Evans
e735d21824
Maximize main editors by default if config is missing
...
Also set default size for other windows to something slightly
larger than it was before
2020-10-18 14:38:55 -04:00
Jon Evans
c388bf0f92
Update default color theme
...
Blue is the new green :)
ADDED: built-in read-only color themes support
Classic theme is still available for those who love it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1991
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4259
2020-10-18 14:12:54 -04:00
Marek Roszko
ae6900e7d7
Suppress the opengl test from generating "ghost frames" on Windows which appear and quickly disappear
2020-10-18 13:48:45 -04:00
Jon Evans
cc71f7d050
Add some missing headers required on wx3.0 at least
2020-10-18 12:45:41 -04:00
Marek Roszko
da96c9959d
Undo last commit and fix include. Woops
2020-10-18 12:43:38 -04:00
Marek Roszko
1f3796bd7a
Add missing include due to commit f6b4b66a
2020-10-18 12:42:51 -04:00
Marek Roszko
6fa8ebab85
Remove the auto centering of dialog_shims as a experiment
...
Windows handles default positions better such as remembering the last position if we don't start centering it unconditionally
Fix #6032
2020-10-18 12:34:24 -04:00
jean-pierre charras
f6b4b66a86
Avoid include wx/wx.h in many files that do not actually use this include.
...
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Marek Roszko
a5c9151800
Move the dock art provider to a pointer instance
2020-10-18 11:31:44 -04:00
Marek Roszko
496532b6ea
Guard off the dock art size change temporarily for win32 and wxwidgets 3.1
2020-10-18 11:09:14 -04:00
Marek Roszko
29577a571d
Add a custom dock art provider for aui manager with slight improvement
2020-10-18 10:36:42 -04:00
Thomas Pointhuber
3ced74d19c
altium: Properties are normaly stored in Upper case, but Altium decided CamelCase are good as well
...
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6044
2020-10-18 15:24:25 +02:00
Jeff Young
8c68857f02
Add immediate mode to WX_HTML_REPORT_BOX for use as progress messages.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6052
2020-10-18 14:20:36 +01:00
Jeff Young
9f16b68bde
Better centreing of pin conflict map col labels.
2020-10-18 12:08:16 +01:00
Ian McInerney
c0d381e588
Force the view switcher dialog to always be centered on the window
...
The dialog isn't actually movable with the mouse, so all the placement
logic inside DIALOG_SHIM is extraneous and actually causes the switcher
to appear on the wrong monitor if pcbnew was moved across monitors after
it was opened.
Fixes https://gitlab.com/kicad/code/kicad/issues/5789
2020-10-17 23:20:12 +01:00
Thomas Pointhuber
9199d1ff63
altium: fix line style and filling
2020-10-17 13:45:33 +00:00
Jeff Young
948036372e
Ban unitless numbers in DRC rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6029
2020-10-17 10:58:08 +01:00
Marek Roszko
2fcd0721a9
Add num pad keys to name list so they are allowed to be hotkeyed
...
Fix #1787
2020-10-17 00:18:14 -04:00
Marek Roszko
c372a77d6c
Fix focus theft, Windows sends mouse events to windows regardless of focus.
...
We need to check if the window is foreground before fight over focus which will make the window foreground if it wasn't.
Fixes #4099
Fixes #5958
2020-10-16 23:25:01 -04:00
Jeff Young
1ee3df61c9
Improve robustness of infobar button handling.
2020-10-16 17:07:59 +01:00
Jeff Young
ebc8e2c921
Move property manager tokens to HKI macro.
...
This leaves them untranslated internally but makes sure their
translation strings exist so they can be dynamically translated
at the GUI level.
Fixes https://gitlab.com/kicad/code/kicad/issues/6020
2020-10-16 16:59:52 +01:00
Jeff Young
eea7957e16
Inform user of bad DRC rules when filling zones.
...
ADDED: facility for hypertext links in infobar.
Also made use of this for via constraint errors when routing.
Fixes https://gitlab.com/kicad/code/kicad/issues/5800
2020-10-16 12:44:20 +01:00
Jeff Young
834c7bbe05
Report lexer issues through error reporter.
2020-10-16 12:44:20 +01:00
Jon Evans
4b436fa573
PcbNew: Improved DRC marker display
...
Add shadows and slightly reduce size
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5936
2020-10-15 22:39:13 -04:00
Marek Roszko
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
Marek Roszko
b9f1601418
Rename PLOT_MODE to OUTLINE_MODE
2020-10-15 19:33:18 -04:00
Marek Roszko
eb33c33f15
Rename EDA_DRAW_MODE_T to PLOT_MODE
2020-10-15 19:30:07 -04:00
Marek Roszko
52a12c6ccd
Remove kicad_string.h from footprint_info.h
2020-10-15 18:39:43 -04:00
Jeff Young
ebd5dc81cc
Fix some more cases of malformed syntax crashing the compiler.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6016
2020-10-15 18:32:52 +01:00
Seth Hillbrand
e684c6d94d
Move default model location to 3dmodels
2020-10-15 16:55:51 +00:00
jean-pierre charras
46d115faa7
PS plotter; fix a compil warning, and a potential bug.
2020-10-15 15:24:26 +02:00
Marek Roszko
f38676fc46
Move the timer fix to the dispatcher to just always run
2020-10-15 00:38:32 -04:00
Marek Roszko
1538d737e7
Split out FILL_T to its own header to avoid spreading eda_item everywhere
2020-10-14 21:51:23 -04:00
Jon Evans
858718b949
CHANGED: High-contrast mode is now called single layer view mode
...
This makes it more obvious what the tool is for, and also clarifies
the difference between the 2-state and 3-state actions in the
hotkey dialog
2020-10-14 20:16:49 -04:00
Marek Roszko
f59551d6ad
Remove painter.h from eda_text.h
2020-10-14 19:18:38 -04:00
Jeff Young
f220e83de6
Board edges have no width.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5990
2020-10-14 15:56:32 +01:00
Marek Roszko
12d21e34e2
Remove trigo.h from eda_text.h
2020-10-13 23:37:48 -04:00
Marek Roszko
9656bd310b
Remove eda_item and gr_basic from eda_text.h
2020-10-13 22:46:39 -04:00
Marek Roszko
ad191fda52
Unwrap eda_base_frame from base_screen
2020-10-13 21:52:57 -04:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
Marek Roszko
2c86363aa0
Relocate the page_layout includes to a page_layout folder
2020-10-13 20:33:33 -04:00
Marek Roszko
efa28d3357
Untangle pl_editor includes
2020-10-13 20:33:33 -04:00
Jon Evans
cb1d416e5a
Use settings keys, not error codes, for ERC/DRC reports
...
Error codes can shift around if the enum ordering is
not maintained, which is more fragile than the settings
key which should never be changed after a new code is
created.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6001
2020-10-13 18:03:07 -04:00
Jon Evans
cb075d06c2
Apply system colors to HTML panel in symbol chooser
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6000
2020-10-13 17:55:14 -04:00
Jeff Young
b3cd829d9f
Don't allow degenerate polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5883
2020-10-13 20:22:31 +01:00
Jeff Young
ef3b7052e0
Remove layer nag dialogs and just ignore non-shapes on Edge_Cuts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5812
2020-10-13 20:22:31 +01:00
Jeff Young
1703729269
Require explicit decl of maxError and errorLocations.
...
This should reduce both performance issues and clearance issues.
2020-10-13 13:49:07 +01:00
Jeff Young
5eaa992ce8
Read netclass via drill settings from project file.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5951
Fixes https://gitlab.com/kicad/code/kicad/issues/5952
2020-10-13 09:57:33 +01:00
Michael Kavanagh
c40483d18a
Cleanup: Move KiCad files into plugins folder
2020-10-12 16:36:08 +00:00
Michael Kavanagh
f45ca7179b
Cleanup: Move GEDA PCB files into plugins folder
2020-10-12 16:36:08 +00:00
jean-pierre charras
380534807b
Plotters: better support of filled circles having a thickness set to 0.
...
Setting a line thickness = 0 for graphic objects (circle, rect, line) is
allowed but creates issues for circles that were plotted a non filled shapes
but having a outline thickness = 0.
2020-10-12 11:30:43 +02:00
Marek Roszko
88102bca46
Kick the refresh timer for GAL on Win32 with a terrible hack
2020-10-11 21:44:46 -04:00
Marek Roszko
1739f1b6ea
Uninitialized variable (in base class call)
2020-10-11 21:28:07 -04:00
Jeff Young
42eecdfd3a
Collapse silk constraints down to one.
...
Also updates the rule syntax help and code-completion with a bunch
of diff-pair and other stuff that hadn't been updated yet.
2020-10-11 13:19:23 +01:00
jean-pierre charras
34f47b3806
Add support of AP macro for chamfered round rect pads.
2020-10-11 12:53:45 +02:00
Marek Roszko
558f4b4b51
Add new place cursor, fix cursor hotpoints again
2020-10-10 23:45:21 -04:00
Marek Roszko
06144824d1
Fix cursor hotpoints
2020-10-10 23:26:19 -04:00
Marek Roszko
3d93bb01e1
Flip the pencil cursor orientation
2020-10-10 23:20:07 -04:00
Marek Roszko
310786333d
Add missing cursors for bus, graphic lines, and hier labels
...
Fix #5949
2020-10-10 18:25:44 -04:00
PJM
b263164c72
Pcbnew: Don't flip tool text when view is flipped
...
CHANGED: When using tools like the ruler, circle, arc, etc, they
display info text. If the view is flipped, the text is also flipped.
This MR fixes the flipped text and also corrects text X offset and
justification to match normal view.
2020-10-10 22:20:17 +00:00
PJM
6de5cf827a
Pcbnew: Don't flip tool text when view is flipped
...
CHANGED: When using tools like the ruler, circle, arc, etc, they
display info text. If the view is flipped, the text is also flipped.
This MR fixes the flipped text and also corrects text X offset and
justification to match normal view.
2020-10-10 22:20:17 +00:00
Jon Evans
351a85033a
Redo About dialog notebook for better layout
...
wxAuiNotebook looks terrible with dark mode
Fix HTML window colors
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5948
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5895
2020-10-10 14:00:21 -04:00
jean-pierre charras
213a74cbe6
Gerber, Dialog plot: add option to disable Aperture Macro use.
...
Some broken Gerber readers cannot handle Aperture Macros without errors
although this feature exists since the beginning of RS274X format.
2020-10-10 16:42:21 +02:00
Marek Roszko
511bdb64e1
Fix the delete tool not immediately setting cursor
...
Fix #5939
2020-10-09 18:51:10 -04:00
Seth Hillbrand
bb8ca2ba3a
Adjust Librarian names per request
2020-10-09 13:53:08 -07:00
Jeff Young
2574a8d71e
Update GAL observers for all frames, not just calling frame.
...
Also don't rely on UpdateScaleFactor to do it as it only does it
if the scale factor changed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5621
2020-10-09 21:30:09 +01:00
Seth Hillbrand
1d83749d17
Remove some duplicates
...
Some developers were listed twice with similar names or multiple
sections.
2020-10-09 08:46:08 -07:00
jean-pierre charras
f60954c232
Gerber export: add support for flashed chamfered rect (with no rounded corner) pads
2020-10-09 16:47:34 +02:00
Michael Kavanagh
5e0baa2c4a
Cleanup: remove dead code
2020-10-09 02:28:32 +00:00
Marek Roszko
bd30a4a406
Add selection lasso and window cursors
2020-10-08 21:25:21 -04:00
Marek Roszko
f238d05ead
Add COMPONENT cursor
2020-10-08 20:52:58 -04:00
Marek Roszko
6cf4016a64
Add net and global label cursors
2020-10-08 20:52:58 -04:00
Marek Roszko
8fa42a74bd
Add zoom cursors
2020-10-08 20:52:58 -04:00
Seth Hillbrand
2dfd27cdbb
Do better and acknowledging contributions
...
Split Librarian team from "Artists"
Add all code contributors
Add footprint/3d model scripted development acknowledgement
2020-10-08 16:48:15 -07:00
Marek Roszko
2b2e8552be
Turn off the leak dumping under MSVC as wxWidgets causes it to falsely report dumps on exit
2020-10-08 17:08:01 +00:00
Jeff Young
fa32f291bc
Escape parens when outputting PDF text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5917
2020-10-08 16:46:22 +01:00
jean-pierre charras
2aa357c872
Gerber export: fix incorrect size or orient of flashed oval and round Rect
...
shapes when they are not horizontal or vertical.
2020-10-08 14:48:34 +02:00
jean-pierre charras
00fea5006e
Gerber plotter: fix a bug in a aperture macro calculation
2020-10-08 13:24:28 +02:00
Jeff Young
3fd0df658d
Simplify arc drawing guides to be more consistent with other tools.
2020-10-08 11:33:32 +01:00
Marek Roszko
0b43dc6e16
Minor json parse safety
2020-10-07 22:00:02 -04:00
Mark Roszko
d9485129c8
Implement more context specific cursors using both stock and custom cursors.
2020-10-08 00:50:28 +00:00
Ian McInerney
7e17b39755
Bump up precisions for mm and mils to 2 and 4 respectively
2020-10-07 23:24:27 +01:00
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
Wayne Stambaugh
564f363c57
Pcbnew: fix user defined layer bugs.
2020-09-24 10:19:10 -04:00
Jon Evans
022839a5ae
Make ruler a bit easier to see on busy designs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5654
2020-09-23 22:02:21 -04:00
Jon Evans
690575e2b6
Improve edit point legibility with a hover state
2020-09-23 21:27:23 -04:00
Jon Evans
22891c326d
Update default layer names
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2174
2020-09-23 19:58:46 -04:00
Wayne Stambaugh
188232de6f
Pcbnew: add user defined layers and allow all layers to have user names.
...
This changes the file format. All previous copper layers that had a user
defined name are forced back to the canonical name and the user defined
name is stored as an optional quoted string in the layer definition and
only used for UI and plotting purposes. All copper object layer names
are now the canonical name for internal file use.
ADDED: Nine new user definable non-copper layers that can be optionally
added to the board layer stack.
CHANGED: All board layers can now be renamed by the user.
CHANGED: User defined layer names can now contain space characters.
Fixes https://gitlab.com/kicad/code/kicad/issues/1969
2020-09-23 15:41:43 -04:00
Jeff Young
ac4978cf8a
Some defensive code which may prevent a freed-memory-access.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5747
2020-09-23 18:43:07 +01:00
Jeff Young
6dae769944
Progress reporting for connectivity tests.
...
Also makes via annulus terminology more consistent.
2020-09-23 16:28:00 +01:00
Jeff Young
7d3eee8cf9
Move DebugZoneFiller to advanced config.
...
This will hopefully keep it from accidentally getting checked in
again.
2020-09-23 10:52:44 +01:00
Jon Evans
e8369c94df
SETTINGS_MANAGER: Don't try to retrieve system paths in headless mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5748
2020-09-22 20:25:44 -04:00
Ian McInerney
c40470ed0b
Initialize more variables
2020-09-22 12:29:13 +01:00
Jon Evans
acf13a1869
ADDED: Orthogonal dimension object
2020-09-21 23:55:02 -04:00
Jon Evans
6ee866ba6e
Set default zone opacity to 60%
...
Defaulting to less than 100% helps with eyestrain and
aids the "legibility" of boards
2020-09-21 23:53:21 -04:00
Seth Hillbrand
76e44c2f4b
pcbnew: Really deal with missing segments this time
...
The OpenGL missing segments (when small) are due to rounding in larger
coordinates. The GAL shader uses floats to represent int32 values for
position and distance. Thus, at larger coordinates, the smaller integer
values cannot be represented accurately. This tests for the rounding
error and, if it exists, draws a plain circle instead
Fixes https://gitlab.com/kicad/code/kicad/issues/5751
2020-09-21 16:59:31 -07:00
Jeff Young
e939afdbe8
Use a better green for DRC badges.
2020-09-21 21:09:58 +01:00
Ian McInerney
e9aa9a759a
Add missing break statements to prevent fallthrough
...
Otherwise all RC_ITEM objects are severity info in the log
2020-09-21 12:18:46 +01:00
Ian McInerney
9e6a1225db
Catch exception when creating app settings objects
...
These settings objects could be created in a constructor/destructor
so we should catch the exception since those are noexcept.
Also change the settings trace to match the other kicad traces
as KICAD_SETTINGS
2020-09-21 12:07:51 +01:00
Jeff Young
6020b70596
Display green badge for zero errors or zero warnings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5735
2020-09-21 11:59:27 +01:00
Jeff Young
c6fb799fcd
Restore severity in saved DRC/ERC reports.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5733
2020-09-21 11:59:27 +01:00
Jeff Young
865249c227
Handle two panels both referencing same colour theme.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5185
2020-09-21 11:59:27 +01:00
Ian McInerney
e0c2531f53
Catch exception inside JSON_SETTINGS constructor
...
This exception will probably never be thrown in real life,
but the constructors are normally noexcept, so throwing
any exception from the json library causes Coverity to
have a fit.
2020-09-20 23:50:09 +01:00
jean-pierre charras
e64806cd20
Menus/Submenus: fix incorrect bitmap for checkable menuitems in submenus.
...
Windows specific, because other OS do not accept user bitmaps in ckeckable menuitems
the bug was due to the same bitmap was set for each state for these menuitems.
Fixes #5622
https://gitlab.com/kicad/code/kicad/issues/5622
2020-09-20 16:30:23 +02:00