jean-pierre charras
75f1067642
GRAPHICS_CLEANER: fix bad detection of short Bezier curves that can be cleaned
...
eda_shape: small enhancement: when generating a polyline from the Bezier curve,
filter the last point if the last segment is shorter than the given min lenght
2022-12-10 18:19:09 +01:00
jean-pierre charras
f76811471e
Avoid an annoying compil warning with GCC 12.2
2022-12-10 14:48:47 +01:00
Alex
be43484bc7
Make build45DegLeader static.
2022-12-10 06:21:54 +03:00
Alex
3d2b1aaf90
Improve H/V/45 deg mode when drawing zones and polygons.
2022-12-09 19:11:56 +03:00
Mike Williams
a417aa6e69
Selection: provide disambiguate for deselections of multiple items
...
Don't assume we're a delayed drag if the user is using selection
modifers.
2022-12-08 14:12:12 -05:00
Mike Williams
0e75bf02fa
Selection: refactor modifier checking
2022-12-08 14:12:12 -05:00
Simon Richter
2214e853c1
Make a few variables const
2022-12-08 18:22:25 +00:00
Simon Richter
d6c6116e67
Calculate weighted column width locally
...
Multiplying the global variable also modifies all columns to the right,
which is not a problem right now because none exist, but might be in the
future.
2022-12-08 18:22:25 +00: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
2b0d7f65d0
Properties: sync wxPGGlobalVars map state with editor global state
...
Thanks to @dsa-t for suggesting this
(maybe)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12297
2022-12-08 07:55:57 -05: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
Jon Evans
33d76f63b0
Properties: save and restore splitter position
2022-12-07 21:38:33 -05:00
Alex
e03a91c9c7
Reduce static ratsnest opacity when moving items; tweak colors.
2022-12-07 21:01:56 +03: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
Jon Evans
d435ba6485
Properties: improve handling of enter/return
2022-12-06 09:10:59 -05:00
Jon Evans
1a0c774940
Properties: Space to toggle booleans; fix arrow keys
2022-12-06 08:56:13 -05:00
Jon Evans
071a2ec46d
Properties: clean up some unit handling
...
Make sure units show up properly in editor on focus kill
Make sure editor shows correct value initially
2022-12-06 08:55:48 -05:00
Jon Evans
40f9a59255
Remove disconnects from SetControl
...
These aren't needed as the control is going to be destroyed by the grid,
and can cause a crash on exit if the control is destroyed before the unit binder.
2022-12-06 08:06:16 -05:00
Jon Evans
74fa88c0f6
Defer splitter calculation until next event
...
Windows doesn't have valid sizes in the size event
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13019
2022-12-06 08:05:28 -05:00
Jon Evans
c326c57e05
Properties: make sure to reset binder units when changing rows
2022-12-05 23:47:00 -05:00
Jon Evans
b673202a4e
Remove extraneous event binding
2022-12-05 20:44:47 -05:00
Wayne Stambaugh
5001555f0e
Fix crash in Altium schematic importer.
...
The crash was caused by an unhandled exception. The uncaught exception
caused a cacophony of null configuration setting pointers so guards were
added to prevent crashes should other exceptions occur that do not get
handled correctly.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13046
2022-12-05 20:20:01 -05:00
Jon Evans
d0024bd9f7
Properties: clear text ctrl from unit binder before it is destroyed
...
The lifetime of this text ctrl is managed by the property grid, so
we need to catch when it is hidden before destruction in order to avoid stale pointers being used to handle unit change events.
Credit to @dsa-t for the fix
2022-12-05 19:33:20 -05:00
Seth Hillbrand
77b763f8ba
Change binding with units
2022-12-05 15:34:23 -08: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
295ef6588d
Fix uninitialized variable.
2022-12-05 14:42:05 +00: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
Alex
fc062e8a19
Restore tooltip message.
2022-12-05 00:41:11 +03:00
Alex
4482e9f634
Minor UI fixes.
2022-12-05 00:37:25 +03:00
Jon Evans
6e1f075daa
Remove debug code
2022-12-04 14:28:38 -05:00
Graham Keeth
ef83d01455
Minor string changes: "eeschema" / "pcbnew" in tooltips, and power port terminology
2022-12-04 14:29:57 +00:00
Jeff Young
f6822120b3
Enable tab and return commit in property grid.
2022-12-04 11:51:44 +00: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
Seth Hillbrand
234cda4197
Re-add PGInit call
2022-12-03 20:39:42 -08:00
Seth Hillbrand
9f551bfbf8
Remove the duplicate initionalize of pg globals
...
Testing to see if this is needed for windows builds anymore that we have
fixed the general init
Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-12-03 17:14:36 -08:00
Seth Hillbrand
6a1acd84c2
Activate Clipper2 by default
...
Fixes https://gitlab.com/kicad/code/kicad/issues/git
2022-12-03 16:07:17 -08: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
Jon Evans
8f39dd69be
Properties: fix caption text in dark mode on GTK
2022-12-02 22:43:11 -05:00
Jon Evans
4134db3c47
GCC fixes
2022-12-02 22:38:15 -05:00
Jon Evans
3cf3d15590
Properties: fix display ordering
2022-12-02 22:17:08 -05:00
Jon Evans
3d0fcfe8af
Remove debug code
2022-12-02 21:55:52 -05: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
Jon Evans
9b2f1ad0b1
Properties: show base class groups
2022-12-01 23:18:42 -05:00
Jon Evans
ef3f2a8f1e
Properties: ignore shape props for textbox
2022-12-01 21:54:12 -05:00
Jon Evans
a5096bf28a
CLI: Fix macOS binary dir
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12799
2022-12-01 16:55:12 -05:00
Marek Roszko
bae8cb55c0
Rename the bom cli to pythonbom since we'll have a real bom system later
2022-11-30 19:56:59 -05:00
Jeff Young
f5770fe7e0
Actually free the projects before the settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-12-01 00:05:21 +00:00
Alex
55a3946af8
Properties: Use a constant variable for PG_UNIT_EDITOR editor name.
2022-11-30 20:10:22 +03:00
Jon Evans
cfd52d8362
Properties: Fix sort order for base class props
2022-11-29 18:56:15 -05:00
Jon Evans
12b7e68703
Properties: Skipped group should not assert
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13028
2022-11-29 18:12:28 -05:00
Jeff Young
31eb91e9e5
Infobar for slow zone auto-refill.
2022-11-29 21:09:16 +00: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
Jeff Young
8260f0ee13
Add support for unitless values to PCB_EXPR_EVALUATOR.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13016
2022-11-29 14:24:20 +00:00
Marek Roszko
21fed9fc8c
Hotglue a symbol upgrade function in cli
2022-11-29 00:00:45 -05:00
Marek Roszko
25d5defc10
Add cli for "fp" upgrade
2022-11-28 20:48:14 -05: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
Jon Evans
b2b3f5752f
Properties: Add grouping and sorting by creation order
2022-11-27 22:40:23 -05:00
Jon Evans
5bbe21f540
Properties: don't rebuild the panel when closing an editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12984
2022-11-27 14:29:16 -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
740e193871
Increase bounding box of stroke text and the leader box of all text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13009
2022-11-27 15:27:30 +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
jean-pierre charras
709ad14e74
Fix a compatibility issue with wxWidgets 3.1.5 and older
2022-11-26 08:31:30 +01: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
778d01c46b
Properties: More API differences in wx3.0
2022-11-25 15:24:38 -05:00
Jon Evans
773f444636
Properties: fix for wx 3.0, second try
2022-11-25 15:20:32 -05:00
Jon Evans
85a6ddfca1
Properties: fix for wx 3.0
2022-11-25 15:15:04 -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
696a1cd39d
Properties: improve handling of column splitter
2022-11-25 09:58:44 -05:00
Jon Evans
11e784cf10
Properties: specialize layer setting for footprints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12480
2022-11-24 22:11:26 -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
Jon Evans
436129cb75
Use correct format specifier when displaying inches
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12925
2022-11-24 16:52:22 -05:00
Mike Williams
60d42a7b1e
Spelling: fix various suppress misspellings
2022-11-22 13:47:10 -05:00
Seth Hillbrand
62863d6c5b
Ensure that we clear deleted values
...
When throwing on an invalid value, we may end up freeing the same tree
twice. This is generally not an issue but we need to mark the freed
memory as null to avoid a double free
Fixes https://gitlab.com/kicad/code/kicad/issues/12981
2022-11-22 06:11:03 -08:00
Seth Hillbrand
7b1702b5fb
Use IsType() for selection testing
...
Straight Type() comparison breaks for the TYPE_LOCATE values
2022-11-21 05:02:06 -08:00
Alex
cda855fcd6
Fix build error.
2022-11-19 04:10:38 +05:00
Alex
d3aed6c408
Optimize hot loop in UpdateItems.
2022-11-19 04:02:05 +05:00
Jeff Young
bc271a8d15
Protect move tool from re-entrancy.
...
m_dragInProgress is usually sufficient, except when we haven't started
one yet. In any case, conflating the two is probably a bad idea.
Fixes https://gitlab.com/kicad/code/kicad/issues/12936
2022-11-18 17:08:38 +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
Jeff Young
b09a106880
Split gerbview diff and xor into two separate view modes.
...
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
95b8fe26b4
Fix display and archiving of Protel gerber files in Project manager.
2022-11-18 04:39:18 +05:00
Alex
4b1994e554
Don't update hidden scrollbars.
2022-11-18 00:33:22 +05:00
Alex
dcb131c20d
Improve canvas responsiveness by better swap interval management.
2022-11-18 00:32:25 +05:00
Alex
6418441218
Fix status bar flicker.
2022-11-17 09:31:24 +05:00
Alex
c5c5a3fe91
Use a single-shot timer for auto-panning.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
2022-11-17 05:30:55 +05:00
Alex
5e7c4b734c
Small optimizations in DRC and SHAPE_POLY_SET.
2022-11-17 02:10:22 +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