Jon Evans
1ff1571849
Bring back deprecated net properties to rules system
2023-01-11 22:14:52 -05:00
Seth Hillbrand
a206f6717d
Desaturate the symbols in DNP for print/plot
...
The desaturation should match screen display
Fixes https://gitlab.com/kicad/code/kicad/issues/13481
2023-01-11 13:44:08 -08:00
qu1ck
9298defd3f
Fix lib table index breakage on removing rows
2023-01-10 04:11:02 +00:00
Roberto Fernandez Bautista
e7e151c46c
MARKUP_PARSER grammar should match everything, even incomplete markup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13438
2023-01-09 00:17:11 +01:00
Alex
53dedb2c99
Prefer later versions in import of previous settings
2023-01-08 00:24:23 +05:00
Jeff Young
e315eb871c
Size columns after we've restored saved size of dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13278
2023-01-06 14:33:44 +00:00
qu1ck
7dfa100ff0
Correctly refresh the board after action plugin run and maintain
...
selection
2023-01-05 14:05:15 -08:00
Jeff Young
3d8d27caf3
Make sure ResetGridSizes works for SCH apps.
2023-01-05 16:30:55 +00:00
Seth Hillbrand
98d55ce82f
Avoid rebuilding with each commit
...
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h. Also adds an error directive to prevent re-introduction
of define dependencies
2023-01-04 11:32:15 -08:00
Roberto Fernandez Bautista
1eef438a96
Always default to Accelerated (OpenGL) rendering and fallback if required
...
When falling back the GAL, let's not update the user preference and instead
just keep track of the failure that happened this session.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11720
2023-01-04 12:58:19 +00:00
Jon Evans
8894b8e669
Implement bitmap rotation and mirroring without texture modification in opengl_gal
2023-01-04 00:26:45 +00:00
Jon Evans
ac3ed02283
Rework bitmap cache and enable it
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00
Jeff Young
056349e5ea
Units for footprint preview widgets.
2023-01-02 22:12:26 +00:00
Jeff Young
67e6603699
Move updateUnits functionality to where it can be shared.
...
Also call it when adding a footprint via the chooser.
Fixes https://gitlab.com/kicad/code/kicad/issues/13340
2023-01-02 22:12:26 +00:00
Alex
c1ea90abc6
Handle view centering properly when drag-panning and zooming.
2023-01-02 14:20:43 +05:00
Gary Kim
8e8a3c7bdc
Do not translate name in version info
...
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00
Jeff Young
c0e0cbceb0
Move eseries helper class to common.
...
Also improves some terminology for english-speakers.
Also substitues [] vector access (which creates empty elements) over
at() (which throws if the item is not found).
2022-12-29 18:05:57 +00:00
Jeff Young
4c63b4e061
Class name <-> file name sync.
2022-12-29 18:05:57 +00:00
Mike Williams
6816ee937a
Flags: remove unused IS_DRAGGING
2022-12-28 12:27:57 -05:00
Mike Williams
6cc17e4a16
Schematic: new flag IS_BROKEN for trimming BreakSegment danglers
2022-12-28 12:27:57 -05:00
Mike Williams
f03fd5ad2d
Schematic: remove IS_RESIZING
...
Is unused/redundant with IS_MOVING
2022-12-28 12:27:57 -05:00
Mike Williams
600f2c7ea0
Flags: remove unused DO_NOT_DRAW
2022-12-28 12:27:57 -05:00
Mike Williams
68fd0271c2
Flags: remove unused IS_WIRE_IMAGE
2022-12-28 12:27:57 -05:00
Jeff Young
542ff699cf
Scale list columns with dialog width.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13278
2022-12-27 01:04:47 +00:00
Wayne Stambaugh
78e2f0fd4d
Sheet instance handling improvements.
2022-12-26 08:30:03 -05:00
Jon Evans
fbaf4af489
Properties: Allow dynamic update of read-only state
2022-12-25 20:35:44 -05:00
Seth Hillbrand
1cc9792cdb
Fix snapping dist when disabling grid
...
The disable grid hotkey should allow the snap scale to be completely
determined by the snapSize and world scale. This prevents snapRange
from overriding in the case where grid is disabled.
Additionally, we disallow grid snapping when the grid scale is not
visible. This means that when zoomed out sufficiently to not show the
minor ticks, these minor ticks will not override a snap
Fixes https://gitlab.com/kicad/code/kicad/issues/12303
2022-12-21 17:47:45 -08:00
Tanay Gupta
b0cbab5c4b
Footprint Editor: Focus search field when window is first opened
...
The search field on the Symbol Editor is focused when its window
is first opened. Similar behavior has been implemented in the search
field of the Footprint Editor with this change.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13100
2022-12-20 19:54:02 +00:00
Mike Williams
389f0655cd
Schematic: re-enable old break wire functionality, add slice
...
Also fix break/slice wires for multiple wires. The shortcut and code
always allowed it, the context menu just didn't appear.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13163
2022-12-19 15:55:59 -05:00
Jon Evans
5abf73e3c9
Never call ReCreateMenuBar inside a menu event handler
...
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
Wayne Stambaugh
84f927d057
Schematic import bug fix.
...
Check for already loaded schematics in the current sheet path as well
as the current project root sheet path to prevent multiple loads of
shared schematic. This bug was causing shared sheets to be loaded more
than once which caused instance data to get separated by each copy rather
than saved in one copy of the schematic which would result in all instance
data being lost except the last saved copy of the schematic. This bug has
been around forever and may be the cause of some unexplained schematic
instance data corruption issues. This bug does not apply when opening
the full project.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11076
2022-12-15 09:58:39 -05:00
Jeff Young
4984a8ab87
Comments.
2022-12-13 21:04:13 +00:00
Jeff Young
c0872364d4
Get rid of bloated bitmap buttons on wxWidgets 3.2.
2022-12-13 20:48:02 +00:00
Marek Roszko
f1f5fff072
Add cli export of symbols from kicad libraries
2022-12-12 22:44:26 -05:00
Jeff Young
d3228dbab2
Differentiate search panel font between Mac and others.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13145
2022-12-13 00:47:19 +00:00
Jeff Young
9d13e419c2
Reduce compiler warnings.
2022-12-13 00:47:19 +00:00
Jeff Young
6d73d9a08e
Split another couple of hairs in the never-ending "how big is a font".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13009
Fixes https://gitlab.com/kicad/code/kicad/issues/13115
2022-12-12 17:37:17 +00:00
Jeff Young
4e47b5c25f
Fix some layout and selection issues on Mac.
...
Some of these are due to moving to wxWidgets 3.2, but I'm not sure
all of them are. In particular, the need for CallAfter() in the
search pane's selection handler is probably just a wxWidgets bug on
Mac (the control lies about the current selection inside the event
handler).
Also sets better column widths in the search pane.
2022-12-11 00:56:46 +00:00
Mike Williams
f4fb70e04c
Schematic: re-allow partial selection of line ends
...
Also fix some XOR selecting issues.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13022
2022-12-10 13:17:42 -05:00
Alex
3d2b1aaf90
Improve H/V/45 deg mode when drawing zones and polygons.
2022-12-09 19:11:56 +03:00
Jon Evans
72939e8918
Properties: enable in PCB editor for everyone
...
Leaving the AC flag around for future use in the footprint editor etc
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2039
2022-12-08 17:38:36 -05:00
Mike Williams
0e75bf02fa
Selection: refactor modifier checking
2022-12-08 14:12:12 -05:00
jean-pierre charras
966f7bfa4c
Fix commit 0a881e09
, not working on wxWidgets 3.1.5/msys2
2022-12-08 15:39:10 +01:00
Jon Evans
0a881e091c
Fix build for gcc and wx < 3.1.6
2022-12-08 07:30:04 -05:00
Jon Evans
435651237c
Properties: Support overridden availability functions
2022-12-08 00:09:51 -05:00
Marek Roszko
2fc0cd68ed
Avoid crashing due to empty lib tables in cli
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13097
2022-12-07 23:56:03 -05:00
Jeff Young
b15913bd53
Support env variables in spice library paths.
...
Also removes a bunch of std::string stuff from the file handling in the
simulator. All our file handling, env variable expansion, project path,
etc. stuff is wxString based, and jumping through std::string in between
just makes it more complex and increases the potential bug surface.
Also fixes a bug where you'd get two error messages when a spice model
library wasn't found.
Also fixes a bug where you'd get a spice model library not found error
when the text field was empty.
Also fixes a bug where we'd try to absolutize a path starting with an
unresolved text or environment variable. If the path starts with a
variable it's probably absolute, and tacking on the project path in the
error message just obfuscates things.
Fixes https://gitlab.com/kicad/code/kicad/issues/13082
2022-12-07 15:07:25 +00:00
Marek Roszko
c0b5fe58c3
Implement output targeting of symlib/fplib upgrade per request
2022-12-06 21:20:27 -05:00
Jon Evans
ad8e5891d2
Properties: update evaluator locale when creating editors
2022-12-06 17:56:33 -05:00
Seth Hillbrand
77b763f8ba
Change binding with units
2022-12-05 15:34:23 -08:00
Jeff Young
c771d866f5
Cleanup 3D caches before d'tors run.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-12-05 22:39:09 +00:00
Seth Hillbrand
6f43915b25
Don't keep a stale iu reference around
...
The IU memory areas are const but we need to be able to update this when
the frame changes, so use pointers instead
2022-12-05 13:33:45 -08:00
Alex
6d513e7ecf
Expose changing arc edit mode in arc button context menu and Preferences
...
Ctrl+Space can still be used to cycle through modes.
Fixes https://gitlab.com/kicad/code/kicad/issues/5412
2022-12-05 21:28:16 +03:00
Jeff Young
b7d41e0e56
Update simulator with NUMERIC_EVAL, decimal separator processing, etc.
...
Also includes fixes for instance data and resolving of textvar
references.
Also includes virtual d'tors for IBIS parser to get rid of all the
compile warnings on CLang.
Fixes https://gitlab.com/kicad/code/kicad/issues/12357
2022-12-05 12:40:29 +00:00
Seth Hillbrand
54dd494ff2
Remove frame dependency from UNIT_BINDER
...
Place the frame information into the event data instead of keeping a
pointer (potentially invalid) into the frame
2022-12-04 16:50:27 -08:00
Jon Evans
a8cb0ee116
Properties: Use insertion order as display order
2022-12-04 17:20:34 -05:00
Jeff Young
f805fd267f
Divorce UNIT_BINDER from wxFrame.
...
This allows us to supply Pcbnew or Eeschema as the unitsProvider when
called from the main frame.
Fixes https://gitlab.com/kicad/code/kicad/issues/13066
2022-12-04 11:51:44 +00:00
Jeff Young
96819f6c01
Better cache invalidation for text objects with references.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
jean-pierre charras
342780bfb5
gl_utils.h: fix compatibility with gcc/msys2 and wxWidgets version < 3.1.6
2022-12-04 08:35:28 +01:00
Seth Hillbrand
92266635cc
Add an advanced config value for the minimum sliver
...
The hard coded value was too small for certain calculations. Better to
have a configurable value that is initially set to our error level to
allow for deviations that don't meet the visibility test for spikes.
These have become more apparent with Clipper2
2022-12-03 16:03:43 -08:00
Alex
7d2f83ea29
opengl: Don't attempt to use adaptive swap interval on old AMD drivers.
2022-12-04 01:11:50 +03:00
Jon Evans
70f9d8cab9
Properties: Add text orientation
2022-12-02 21:33:21 -05:00
Jon Evans
2091aaba2f
Properties: Move angles to UNIT_BINDER
...
Also add support for unicode degree sign in evaluator
2022-12-02 21:25:42 -05:00
Jon Evans
5e352d2a66
Properties: improve handling of unit binders
2022-12-02 19:37:44 -05:00
Alex
199e25f3f3
opengl: Add more checks and debugging info to SetSwapInterval.
2022-12-03 00:06:34 +03:00
Jon Evans
ef3f2a8f1e
Properties: ignore shape props for textbox
2022-12-01 21:54:12 -05:00
Jon Evans
307063b9f2
Properties: work around wxVariant / wxAny compatibility issues
2022-12-01 17:45:50 -05:00
Alex
55a3946af8
Properties: Use a constant variable for PG_UNIT_EDITOR editor name.
2022-11-30 20:10:22 +03:00
Jeff Young
19eab62516
More safety around ratsnest state.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13011
2022-11-30 13:00:21 +00:00
Jon Evans
458935bb5a
Properties: Set flag to prevent clobbering layer color swatch
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13020
2022-11-29 18:37:29 -05:00
Jeff Young
31eb91e9e5
Infobar for slow zone auto-refill.
2022-11-29 21:09:16 +00:00
Seth Hillbrand
4039b7da6b
Remember to clear pointers when clearing backing data
...
The snap is a point to the anchors that we compute. This needs to be
removed when we clear the vector
Fixes https://gitlab.com/kicad/code/kicad/issues/13037
2022-11-29 09:46:06 -08:00
Seth Hillbrand
5fc5a2132b
Fix Properties panel to reference the correct frame
...
The properties editors are global but the frame that they reference is
not static, so we need to be able to update the frame reference when
restarting pcb editor from the main window. This updates the frame,
being careful to remove the signalling when closing pcbnew but keeping
the instance of the editor in place.
Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-11-29 09:24:41 -08:00
Seth Hillbrand
4f6b853756
Don't use modifiers when moving with keyboard
...
The modifier keys on the keyboard control the motion spacing (Ctrl) and
shouldn't be confused with the modifier key used to disable grid
snapping when moving with the mouse (also Ctrl)
Fixes https://gitlab.com/kicad/code/kicad/issues/13027
2022-11-28 11:05:12 -08:00
Seth Hillbrand
259e41be2d
Don't add non-groupable items to the group
...
Things like markers and netinfo should never get added to the group,
even if we are inside the group while adding the items
Fixes https://gitlab.com/kicad/code/kicad/issues/13026
2022-11-28 09:11:20 -08:00
Jon Evans
b2b3f5752f
Properties: Add grouping and sorting by creation order
2022-11-27 22:40:23 -05:00
Jeff Young
ec9c6a8053
Separate creation of polygons for open and closed shapes.
...
This allows us to create a bounding hull from an open shape-line-chain,
which is useful for defining milled slots.
2022-11-27 18:29:41 +00:00
Jeff Young
387f1214f0
Add some heuristics to guess a better font overbar offset.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13010
2022-11-26 17:26:20 +00:00
Jon Evans
96fe93618e
Properties: Stop sorting by name
...
It's more useful to have properties shown in add order,
since we can group them
2022-11-25 16:29:56 -05:00
Jon Evans
611c19016f
Properties: add support for string escaping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12975
2022-11-25 13:15:46 -05:00
Jon Evans
5061f0556f
Properties: implement ellipsization for name column
2022-11-25 12:37:47 -05:00
Jon Evans
396db7794d
Properties: add friendly names to shapes
2022-11-25 12:37:47 -05:00
Jon Evans
220ef6fb44
Properties: Add some missing footprint properties; cleanup
...
Add concept of "internal" properties that will be accessible from
Python/DRC but not shown in the Properties Manager
2022-11-25 12:37:47 -05:00
Jon Evans
4285b38b74
Properties: Handle units changes correctly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12885
2022-11-24 17:15:07 -05:00
Mikolaj Wielgus
d89745ca21
Implement iterator_traits in ENUM_ITERATOR
2022-11-20 22:07:39 +01:00
Jeff Young
3747cae7dc
Reinstate marker searching.
2022-11-20 13:12:44 +00:00
Alex
01a835a4cb
Use wglGetSwapIntervalEXT in SetSwapInterval.
2022-11-19 04:33:19 +05:00
Jeff Young
11dddefd05
Implement GetEffectiveShape for groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12940
2022-11-18 21:13:23 +00:00
Jeff Young
c409646aad
Update message panel after rebuilding connectivity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10122
2022-11-18 15:29:16 +00:00
Alex
53b9baa5ba
Some refactoring around Gerber files extension checking.
...
Fixes a case where most Protel inner layer files couldn't be drag and dropped.
2022-11-18 09:55:34 +05:00
Alex
dcb131c20d
Improve canvas responsiveness by better swap interval management.
2022-11-18 00:32:25 +05:00
Alex
d98e08d90b
Set swap interval to 1 if adaptive is unavailable.
2022-11-18 00:32:25 +05:00
Alex
399aa7e418
Implement SetSwapInterval on Windows.
2022-11-18 00:32:25 +05:00
Jeff Young
a61ac363c2
Excise the remaining occurrences of "Alias" for derived symbols.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12895
2022-11-16 18:37:40 +00:00
Jon Evans
85c7cca846
Fix missing include
2022-11-15 23:30:01 -05:00
Jeff Young
13f5c78e89
More tightening of group parent lifecycles.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12908
2022-11-16 00:42:38 +00:00
Jeff Young
03ba14c6d3
Tighten lifecycle management of parent group pointers.
...
Also adds some debugging to try to catch dangling pointers.
Also adds a cache for group bounding boxes (which will be expensive
to calculate for large groups).
Fixes https://gitlab.com/kicad/code/kicad/issues/12875
2022-11-11 17:27:28 +00:00
Marek Roszko
43f039ef5f
Add netlist export cli
2022-11-09 22:37:55 -05:00
Jon Evans
d9d3ccd6eb
DbLib: Allow inheriting field properties from source symbol
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12856
2022-11-09 21:24:31 -05:00
Jon Evans
dbd498f451
Re-add keyword mapping
2022-11-09 20:50:01 -05:00
Jon Evans
c07477b94c
Move to explicit symbol properties mapping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12845
2022-11-08 22:19:08 -05:00
jean-pierre charras
9501f4303d
Rename CreateWindow to CreateKiWindow to avoid a collision name with a windows header
...
No code change, but it fix an issue specific to msys2 that bother me when
trying to fix issues with wx 3.0.x version
2022-11-08 12:31:07 +01:00
Jeff Young
ae741b93e6
Resore push/pop-less PickerTool.
...
(Functionality was accidentallly lost when we removed the opt command
strings.)
2022-11-07 19:11:12 +00:00
Jon Evans
f708dad5cd
Don't use frame events for PROPERTY_EDITOR_UNIT_BINDER
2022-11-06 18:26:17 -05:00
Jon Evans
dd94b2d3a7
Rename PROPERTIES to STRING_UTF8_MAP for clarity
...
This class has nothing to do with the properties system
2022-11-06 11:51:52 -05:00
Jon Evans
68de92313e
Properties: move to custom editor for distances; refactoring
...
Also fix display of angle values since EDA_ANGLE was introduced
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12290
2022-11-06 11:40:45 -05:00
Jeff Young
b385a4b60a
Implement DarkMode for the Appearances Palette.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11734
2022-11-06 00:34:45 +00:00
Jeff Young
25f06eed8c
Move zone borders back to their "host" layer.
...
Zone borders shouldn't be affected by zone-opacity control; we always
draw them in full layer opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/12438
2022-11-05 16:50:54 +00:00
Jon Evans
995a153f27
Update nlohmann::json to 3.11.2
...
Also update json_schema_validator to match new deprecations
2022-11-05 10:53:57 -04:00
Jeff Young
cf581137d8
Handle multiple unitProviders in a WX_GRID.
...
This allows us to provide a more consistent and less buggy presentation
of the netclasses grid in both eeschema and pcbnew.
Fixes https://gitlab.com/kicad/code/kicad/issues/12826
2022-11-05 10:23:12 +00:00
Bevan Weiss
4f634d7df7
Updated accelerating zoom controller to use default (non-accelerated)
...
zoom if changing direction.
Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
2022-11-04 16:28:32 +00:00
jean-pierre charras
f80c150f13
Add missing cases for PCB_SHAPE_LOCATE_BEZIER_T in switches.
2022-11-01 16:07:05 +01:00
Jon Evans
a5d685ff5c
Handle coordinate transforms in properties system
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12320
2022-10-31 23:01:52 -04:00
Seth Hillbrand
c7c4439027
Allow bezier->line/poly conversion
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12778
2022-10-31 12:48:53 -07:00
Tomasz Wlostowski
f25d449d5f
JSON_SETTINGS: added direct serialization to a string (FormatAsString) and parsing
...
from explicitly provided file (bypassing the migration and settings framework). Used for
router regression tests.
2022-10-31 11:17:31 +01:00
Marek Roszko
30211da69f
Move the cli definitions to kicad
2022-10-29 11:55:38 -04:00
Jeff Young
f6c441c434
Viewport switcher keys are platform-specific.
...
Also fixes a regression where ctrl-tab doesn't get recognized.
Fixes https://gitlab.com/kicad/code/kicad/issues/11778
Fixes https://gitlab.com/kicad/code/kicad/issues/10127
2022-10-27 14:28:11 +01:00
Jeff Young
f480cbf93f
Treat internal copper layers as side-specific.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12726
2022-10-25 12:08:57 +01:00
Jeff Young
4778122aa0
Flip anything on a side-specific layer, rather than physical layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12726
2022-10-24 16:54:33 +01:00
Jeff Young
064e7f0f2c
Dark mode hacks for SPLIT_BUTTON on OSX.
2022-10-23 17:56:44 +01:00
Jeff Young
cef7cd8f7c
Move default font to RENDER_SETTINGS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12723
2022-10-22 21:32:42 +01:00
Jeff Young
96fed676a3
Formatting.
2022-10-22 14:11:01 +01:00
jean-pierre charras
63002cec57
Do not add a title/comment in mandatory field strings when writting netlists.
...
This is mainly for "Sheetfile" property because current it is the only one
that has a title when plotting/drawing it.
2022-10-22 12:50:26 +02:00
Jeff Young
d16b23d16e
Name shortening and line-break reduction.
2022-10-21 18:41:39 +01:00
Seth Hillbrand
27add591ec
Add Clipper2
...
Currently this lives behind the advanced config flag `UseClipper2`.
Enabling this flag will route all Clipper-based calls through the
Clipper2 library instead of the older Clipper. The changes should be
mostly transparent.
Of note, Clipper2 does not utilize the `STRICTLY_SIMPLE` flag because
clipper1 did not actually guarantee a strictly simple polygon.
Currently we ignore this flag but we may decide to run strictly-simple
operations through a second NULL union to simplify the results as much
as possible.
Additionally, the inflation options are slightly different. We cannot
choose the fallback miter. The fallback miter is always square. This
only affects the CHAMFER_ACUTE_CORNERS option in inflate, which does not
appear to be used.
Lastly, we currently utilize the 64-bit integer coordinates for
calculations. This appears to still be faster than 32-bit calculations
in Clipper1 on a modern x86 system. This may not be the case for older
systems, particularly 32-bit systems.
2022-10-19 16:25:45 -07:00
Jeff Young
437d2c4589
Overhaul of remove-unconnected's zone filling and drawing strategies.
...
1) The highest priority zone that a via/pad collides with "owns" its
connectivity state. Once set, lower priority zones cannot change it --
and in fact, if they would have connected to it are forced not to.
2) The connectivity state goes with the zone fill state, and therefore
must be saved in the file.
3) Display of remove-unconnected's pads is no longer done in GetViewLOD()
(which isn't called for selected items), and is instead done in PCB_PAINTER.
This allows us to draw the full pad in outline mode when a via/pad is
selected which would otherwise only show the hole.
4) Note that in some cases this will still generate DRC errors -- in
particular when a via nearly collides with a higher priority zone it
won't get "owned" by that zone and may therefore have insufficient
clearance if said zone concludes it's unconnected and a subsequent
(lower priority) zone connects to it (causing it to now become flashed).
Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-10-18 13:05:42 +01:00
Jeff Young
d1450e1802
Commenting.
2022-10-13 13:05:51 +01:00
Jeff Young
3231bc5be3
Formatting and cleanup.
2022-10-12 16:36:54 +01:00
Jeff Young
33ed02af70
Another include for non-Mac platforms.
2022-10-12 01:15:31 +01:00
Seth Hillbrand
41503a3a7a
Include missing header
2022-10-11 16:47:29 -07:00
Jeff Young
971cbfa2ed
Fix include for non-Mac platforms.
2022-10-12 00:37:19 +01:00
Jeff Young
e02c05d38f
Add unit and eval support to WX_GRIDs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1871
Fixes https://gitlab.com/kicad/code/kicad/issues/4285
2022-10-11 23:40:58 +01:00
Jeff Young
3221877fe8
Push autosave-require down in to EDA_BASE_FRAME.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11790
2022-10-10 14:03:52 +01:00
Jeff Young
be6f08deca
Code clarity. (No functional changes.)
2022-10-10 14:03:52 +01:00
Marek Roszko
3b63ce8a48
Don't use the 3d resolver config anymore
2022-10-08 14:27:10 -04:00
Alex
0fea6f5ac3
Fix selection and entering in nested groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12586
2022-10-06 21:02:36 +03:00
Jeff Young
19d270fe74
Text size sanity checking for TEXT_ITEMS_GRID.
...
Oh dear, there was a bunch going on here. Firstly the move from int
to long long int for ValueFromString() means that we were no longer
catching overflows (as we were C-style casting it back to int in many
places). But even when the overflow is caught, it would run in to
wxWidgets' empty string bug while trying to log it.
Fixes https://gitlab.com/kicad/code/kicad/issues/12577
2022-10-06 13:19:08 +01:00
Jeff Young
b52106aa37
Formatting and commenting.
2022-10-06 13:19:08 +01:00
Marek Roszko
40a279ae32
Hotglue the unit tests to work for now
...
The mocks never expected InitPgm to work and I accidentally fixed it for the kicad-cli
2022-10-05 17:12:32 -04:00
Marek Roszko
2bac898298
Make -f set standalone mode in kiway
2022-10-04 23:03:03 -04:00
Mark Roszko
fb8a4c10f7
Shove kicad2step into pcbnew itself with a new cli
2022-10-04 01:53:37 +00:00
Jeff Young
e335c1c612
Fix for LIB_TREE hotkeys over canvas and possible fix for over LIB_TREE itself.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11034
2022-10-02 22:22:21 +01:00
Jeff Young
b3ddd09c44
Unit-binderize board thickness.
2022-10-02 20:03:00 +01:00
Jon Evans
7059ef9b89
Store netclass visibility separately from nets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10290
2022-10-01 19:54:13 -04:00
Seth Hillbrand
19378675f1
Ensure that token size is large enough
...
Input tokens can be arbitrary, so output needs to keep pace
Fixes https://gitlab.com/kicad/code/kicad/issues/12555
2022-10-01 11:30:30 -07:00
Jeff Young
c0a666507c
Work around more instances of the wxWidgets color string locale bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12552
2022-09-30 20:56:25 +01:00
dsa-t
01572c0f7d
ADDED: Focus follows mouse between SCH and PCB editors (option).
2022-09-30 18:32:06 +00:00
Jeff Young
f2de3e9f67
Minor cleanup.
2022-09-30 13:02:08 +01:00
Alex
39089ad805
Allow GAL_DRAWING_CONTEXT dtor to throw exceptions.
...
These destructors are implicitly noexcept, which woudnt't allow
OpenGL errors to be caught in DoRePaint.
Fixes https://gitlab.com/kicad/code/kicad/issues/12117
2022-09-30 02:47:30 +03:00
Jeff Young
d67437a2aa
Move ratsnest exclusion processing to a post-pass.
...
Also fixes a few cases where we were unnecessarily rebuilding
connectivity more than once for an operation.
2022-09-29 17:08:49 +01:00
Marek Roszko
0b59ef4741
Remove unused include
2022-09-28 21:18:09 -04:00
Seth Hillbrand
3d3b7d839c
Prevent out of scope lambda use
...
Keeping a function reference is only in scope when the call is
immediately executed, not when it enters its own event loop.
This commit also excises one more onUpdateUI call as it is not needed
Fixes https://gitlab.com/kicad/code/kicad/issues/12395
2022-09-28 17:18:04 -07:00
Alex
4095172259
ADDED: Pack and Move Footprints, improved footprint spread algorithm.
2022-09-28 13:37:23 +00:00
Marek Roszko
46471247ff
Some header cleanup
2022-09-27 23:25:20 -04:00
Marek Roszko
1a43187fb7
Display the sentry uid in preferences
2022-09-27 19:31:32 -04:00
Marek Roszko
21c1c97bf3
Unbind search pane listview events on destruction to avoid event race
2022-09-27 19:16:29 -04:00
Scott Hanson
5b9fcc0ba0
Cvpcb: Reload footprint libraries in CVPCB
...
CHANGED: Reload footprint libraries in CVPCB when footprint library table(fp-lib-table) is updated
2022-09-27 22:58:03 +00:00
jean-pierre charras
7584ccc758
Fix duplicate variable member m_userUnits, creating issues depending on
...
the way it was acceded (by name or by accessor).
2022-09-26 19:47:28 +02:00
Marek Roszko
c50b4fb04f
Add relative to footprint 3d model path resolution
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2073
2022-09-25 22:56:16 -04:00
Jon Evans
05f01ab6c6
Bad auto-refactor no cookie
2022-09-25 22:51:46 -04:00
Jon Evans
375b530dad
ADDED: Column selection and reordering in symbol chooser
2022-09-25 22:49:49 -04:00
Marek Roszko
8e96751af2
Strip out and migrate 3d search paths in favor of env vars
...
This mainly stops reading/writing 3dresolver.cfg
We still keep some sillyness for kicad2step for now
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9164
2022-09-25 21:29:52 -04:00
Marek Roszko
2490ad1458
Fix search panel not remembering visibility
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12494
2022-09-25 11:56:41 -04:00
Marek Roszko
8f52821cd4
Add missing clear of children memory in outline node
2022-09-25 08:47:28 -04:00
jean-pierre charras
7c44dbd9d6
Fix gcc compil warnings.
2022-09-25 11:01:25 +02:00
Marek Roszko
0595efd0a7
Make the page outline nodes goto page...
2022-09-24 23:37:55 -04:00
Marek Roszko
209e1b2086
Add naming of the outline page entries
2022-09-24 22:54:38 -04:00
Marek Roszko
a381a0acb2
Generalize bookmarks to support additional groups and names
2022-09-24 22:35:20 -04:00
Marek Roszko
6f8205235f
ADDED: Add outline support to schematic PDF and PCB plot
2022-09-24 21:45:48 -04:00
Jeff Young
659a6e5b04
Replace macHack as its requirement sadly never went away.
2022-09-24 23:50:45 +01:00
jean-pierre charras
22cd2a3428
3D viewer: add option to show/hide fp not in position file.
...
Previously they were not shown, and this is really bad, because
"not in pos file" does not mean never mounted, and not even not mounted.
2022-09-24 13:58:31 +02:00
Ian McInerney
6310f84a57
Fix shadowed definition of EAGLE constant
2022-09-24 01:37:57 +01:00
qu1ck
6ebb3baa3b
PCM: autoload libs from installed packages to global lib tables
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9713
2022-09-23 16:16:13 +00:00
Jeff Young
8eb68ee472
Add pin/unpin context menu to Symbol Chooser and Footprint Chooser.
...
Also moves some more code down into common so it can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12384
2022-09-21 14:45:12 +01:00
jean-pierre charras
6154a8d5d5
Try to fix a CI compil issue.
2022-09-21 09:18:34 +02:00
jean-pierre charras
25f1f7b0df
Fix a compil issue on GCC
2022-09-21 09:04:31 +02:00
jean-pierre charras
78087597cd
Avoid including plotters/plotter.h in many files.
...
It avoid a large rebuild when modifying the plot code.
2022-09-21 08:52:34 +02:00
Marek Roszko
ec25463fed
Allow multi-selecting from the search pane
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/12476
2022-09-20 23:58:49 -04:00
Marek Roszko
30dbcbbcf5
Only search the current tab on events
2022-09-20 23:38:06 -04:00
jean-pierre charras
f851526c67
Plotters: make virtual void PLOTTER::Arc() using arc angles protected.
...
Using arc angles to plot an arc is really error prone due to different
options between plotters, and angles defined in Kicad, using this version of
arc plotting from Kicad is no longer allowed in Kicad code.
2022-09-20 18:55:20 +02:00
Jeff Young
7f34586c7e
Allow text variable resolution through properties in drawing sheet text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12473
2022-09-20 15:28:05 +01:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Mike Williams
9304607624
TOOL_EVENT: make command string non-optional
...
We're getting segfaults in places where this isn't checked. Also, add
some asserts so we can catch bad tool push/pop.
Removes all uses of GetCommandStr() and makes it private.
2022-09-19 10:23:09 -04:00
Jeff Young
45d6b4a9fc
Readability improvements.
2022-09-19 11:18:20 +01:00
Marek Roszko
f26a6f76e4
IUToMils should return int
...
It was already truncating even in old code...lets just clean this up
2022-09-17 09:27:27 -04:00
Marek Roszko
ece23d434b
Split up Double2Str to a format function to make its use case clear
2022-09-17 00:10:22 -04:00
Marek Roszko
3d5913c825
Remove convert_to_biu.h, merge contents to base_units.h
2022-09-16 21:09:28 -04:00
Marek Roszko
66e8931405
Remove IU_PER_MM thats standalone
2022-09-16 21:09:27 -04:00
Marek Roszko
da484b571e
Remove IU_PER_MILS
2022-09-16 21:09:27 -04:00
Marek Roszko
0f2411587e
Remove Millimeter2iu
2022-09-16 21:09:27 -04:00
Marek Roszko
7a5829f8d6
Move IU2Mils
2022-09-16 21:09:27 -04:00
Marek Roszko
61e11d6896
Strip out Mils2Iu
2022-09-16 21:09:27 -04:00
Marek Roszko
ee48c8d232
Remove some more
2022-09-16 21:09:26 -04:00
Marek Roszko
33f8161799
Merge in MM_PER_IU to EDA_IU_SCALE
2022-09-16 21:09:26 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Marek Roszko
45c6ab5f8b
Par down base_units.h some more
2022-09-16 21:09:01 -04:00
Seth Hillbrand
524b129c64
ADDED: Support for explicit DNP field
...
Dims elements shown as DNP. Adds property `dnp` to explicitly denote
parts that should not be populated. These parts are not included in X/Y
files
2022-09-16 22:26:16 +00:00
Jeff Young
85e8d1eb38
Try re-organizing the events for the search ctrl to allow MSW icon to be shown.
...
See further comments in bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-16 17:04:46 +01:00
Jeff Young
cf1565a16a
Bug fixes for layer expression processing.
...
1) Push a VAR onto the stack, not a resolved value
2) Don't collapse a PCB_LAYER_VALUE to a VALUE during processing
3) Make sure we run overloaded operators from the correct side
Fixes https://gitlab.com/kicad/code/kicad/issues/12437
2022-09-16 14:14:43 +01:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
a21d24a4c8
Experiment with loading recent searches into the search menu.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-15 14:44:02 +01:00
Jon Evans
da9be1a812
ADDED: Multi-selection cut/copy/paste in symbol editor library tree
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11505
2022-09-14 22:20:38 -04:00
Jeff Young
be5fb2c7b8
Provide a default (non-optimized) version of DrawGlyphs.
...
(We could possibly implement an optimized version for CALLBACK_GAL,
but not having an impl at all was breaking DRC and the DRC tests.)
2022-09-15 02:25:00 +01:00
lulu731
0180bcf90a
ADDED: Implement Drag and Drop
...
dropping files to Kicad manager :
*.kicad_pro, *.pro -> open project;
gerber and job files -> open in Gerbview editor;
Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00:00
kliment
b97f9ea329
Add support for symbol unit display names in eeschema and symbol editor
2022-09-14 22:11:37 +00:00
dsa-t
bd8b737c44
GAL: Do better job at reserving vertices.
2022-09-14 16:07:47 +00:00
Jeff Young
281b9d405a
ADDED ability to specify where pad number (& net name) go on custom shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6627
2022-09-14 11:37:20 +01:00
Mark Roszko
f304e2d4f6
ADDED: Search/inspect pane
2022-09-14 02:59:57 +00:00
aris-kimi
7bd8cfd7f9
Added common option to hide scrollbars
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9093
2022-09-13 22:15:27 +03:00
Wayne Stambaugh
4f3db82c68
Add debugging support for KiCad2Step command line generation.
2022-09-12 14:30:07 -04:00
Mike Williams
37d2addf0e
Icons: add swap
2022-09-12 11:11:49 -04:00
Mike Williams
fcfb9cc5ad
Selection: track selection order
2022-09-12 09:39:43 -04:00
Jeff Young
a9877ab117
Include markdown files in project view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12178
2022-09-10 21:11:24 +01:00
Jeff Young
b95d9d660d
Move gerbview colors to preferences dialog.
2022-09-10 16:11:24 +01:00
Jeff Young
f87bf3c46d
Special case up-key so it can get past headers in paged dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10078
2022-09-10 09:31:27 +01:00
Seth Hillbrand
09ef7c8f1e
Add RPT_SEVERITY_DEBUG for developer-type messages
...
Move a bunch of importer messages out of the user-visible space as they
are not information that the average user can act on.
2022-09-09 17:21:47 -07:00
Jeff Young
5b3bd9be83
Prune pasted data of non-enabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11997
2022-09-09 21:02:08 +01:00
Wayne Stambaugh
aeb429b088
Fix GCC build error.
2022-09-09 09:17:26 -04:00
Jeff Young
f179754118
Implement add-new-on-return for some of our grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12335
2022-09-09 13:41:13 +01:00
Jeff Young
9523586bf1
Remove atrophied PCB NO_CONNECTS layer and its colour.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12316
2022-09-08 00:28:31 +01:00
Jeff Young
6f5281258e
Separate text-thickness clamping into strict and lenient modes.
...
We used to use the bold setting, but since PCBNew allows you to
directly define the width you end up with settings in between normal
and bold that get clamped to the normal max.
Fixes https://gitlab.com/kicad/code/kicad/issues/12367
2022-09-08 00:28:30 +01:00
Marek Roszko
89310bc403
"Cleaner" pan fix and add internal setter on state
2022-09-07 07:19:39 -04:00
Jeff Young
8afc1db7a6
Property popups for symbols, labels, sheets, and footprints in PDF.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5521
2022-09-06 13:59:52 +01:00
Jon Evans
e294fe2074
ADDED: Dynamic field columns in symbol chooser
...
CHANGED: Symbol chooser search now considers custom symbol fields
Visible columns can be controlled in database libraries.
In standard KiCad libraries, we show columns for all custom fields for now.
Customizable column visibility will be added in the future.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11946
2022-09-05 16:38:14 -04:00
Jeff Young
895a8a8dbc
Work around focus issues for status popups.
...
Autoscroll wasn't working on Mac because the status popup's panel
has the focus. This *may* also fix a problem on MSW of the auto-scroll
not being cancel-able.
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
2022-09-04 21:08:01 +01:00
Jon Evans
26ba8e1938
Don't use recursive mutex for nicknames anymore
2022-09-04 13:01:32 -04:00
Jon Evans
a5246a6df7
DbLib: Support showing field names
2022-09-04 13:01:32 -04:00
Jeff Young
efae2bbb4c
Better feedback for netclass assignment patterns.
2022-09-03 21:33:56 +01:00
Jeff Young
c30a557810
ADDED netclass assignment from PCB canvas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5975
2022-09-03 19:29:59 +01:00
qu1ck
977b6cd8f3
PCM: add ability to pin packages
...
Pinned packages don't affect available update notification and will not
be updated with "Update All" button. Manual update is still possible but
will trigger a confirmation dialog.
2022-09-03 17:07:55 +00:00
Jeff Young
9188838e50
RIP EDA_RECT.
2022-08-31 23:57:24 +01:00
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
2022-08-31 17:19:50 +01:00
Jeff Young
ebe9617e77
More EDA_RECT expungification, and an attempt to fix the python test.
2022-08-31 17:19:48 +01:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Jon Evans
ae879c8f02
DbLib: Add single-row query cache
...
Since single-row queries are performed rapid-fire during certain actions like
stepping through the symbol browser, there is high value in caching them for
a small amount of time. The default cache parameters will keep results for
10 seconds, which errs on the side of getting fresh data from the database
on most user interactions.
2022-08-30 22:18:36 -04:00
Jeff Young
5679b9dbdc
Remove a few EDA_RECT instances.
2022-08-31 01:22:49 +01:00
Seth Hillbrand
91fbb5c957
Don't prevent immediate actions while router active
...
Immediate actions that can take place are useful. We should only be
preventing immediate actions while actively routing or dragging
Fixes https://gitlab.com/kicad/code/kicad/issues/12311
2022-08-30 10:31:29 -07:00
Jeff Young
63386ba64d
Pointer safety for ERC/DRC dialogs.
...
Also makes the "Edit ingored violations" easier to find.
Fixes https://gitlab.com/kicad/code/kicad/issues/12308
2022-08-30 12:07:19 +01:00
Marek Roszko
03aa63bd50
Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific
2022-08-29 20:11:03 -04:00
Marek Roszko
f0956e48f2
Make EDA_TEXT common
...
Since EDA_TEXT is a base class, we can just force the child classes to pass the correct iu scaled size
ALLOW_BOLD_THICKNESS removed because it's a pre-custom font holdover
2022-08-29 07:31:03 -04:00
Jeff Young
5ebc51bf63
Fix plotting colour of intersheet refs.
2022-08-29 11:53:04 +01:00
Marek Roszko
5ebd3b2d80
Make EDA_SHAPE common
...
Looks like it's dependency on unit macros was dropped some time ago
2022-08-28 19:35:41 -04:00
Jeff Young
48f77973da
Another try at getting the Link combobox working on MSW.
2022-08-28 23:25:01 +01:00
jean-pierre charras
abc7335fd7
Cosmetic enhancement: add two missing icons
2022-08-28 16:01:26 +02:00
Jeff Young
c0d2052e4b
PDF hypertext menus for intersheet references.
2022-08-27 23:58:13 +01:00
Jeff Young
560dc7d2b6
Underline for hypertext rollovers.
2022-08-27 23:58:13 +01:00
Jon Evans
9a8ee2ca50
Fix loading of symbols from libs through non-chooser paths
...
Allow calling PLUGIN::LoadSymbol directly when outside the threaded loader
2022-08-27 18:47:39 -04:00
Jon Evans
49354e52a8
Add support for sub-libraries concept
...
Sub-libraries allow a single-level hierarchy inside a symbol library.
This is useful for database libraries and for supporting other EDA library types where a
single file can contain multiple logical groupings of symbols.
2022-08-27 18:47:39 -04:00
Jeff Young
122a6d7f46
Move hypertext linking to user-page-numbers.
...
Also moves most navigation code to SCH_NAVIGATION_TOOL.
Also changes page number href to anchor syntax ('#foo').
Also adds hypertext processing to SCH_TEXTBOXes.
Also adds combobox with schematic pages to text properties dialog.
2022-08-27 19:17:43 +01:00