Commit Graph

7902 Commits

Author SHA1 Message Date
Seth Hillbrand cd3ecdfc78 Fix sort to be irreflexive
Switching the order of the parameters must switch the sort order (no <=)
otherwise the sort is non-determinant and fails std::sort preconditions
2021-11-08 11:25:13 -08:00
Mikolaj Wielgus 38bd4b07e4 Close the simulator before changing schematic
Fixes https://gitlab.com/kicad/code/kicad/issues/9501
2021-11-07 23:35:06 +00:00
Roberto Fernandez Bautista 04a30638f0 eeschema: Pasted items are moving as soon as they are pasted
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9539
2021-11-07 15:14:11 +00:00
Jeff Young f9a282278c Update junction-dot-size-cache when Schematic Setup changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/9541
2021-11-07 14:12:44 +00:00
Roberto Fernandez Bautista b572781a8a eeschema: Update anchor position of pasted items after initial move
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9534
2021-11-06 16:03:41 +00:00
Roberto Fernandez Bautista d1bab3116d eeschema: Warp to origin when moving - add missing text items
Schematic fields and text items were not being warped to origin when
moving.
2021-11-06 15:19:22 +00:00
jean-pierre charras 2f22b9dd81 Do not replace delimiter " by ' inside a command string, round 2. 2021-11-05 18:28:44 +01:00
Jeff Young 83e5208213 Fix a couple of holes in the IsTestEnabled() checks.
Fixes https://gitlab.com/kicad/code/kicad/issues/7270
2021-11-04 16:24:06 +00:00
Jeff Young 996a5b85a6 Overhaul IsJunctionNeeded logic to support all the different cases.
Several clients were using this with different needs.  The API is
now more explicit (and there are more options under the hood).

Fixes https://gitlab.com/kicad/code/kicad/issues/9518
2021-11-04 12:57:16 +00:00
Seth Hillbrand cf6b18ec7e Remove escaped double-quotes
For some reason, escaped double quotes in wxString::Format cause issues
on Mac.  We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
Jeff Young 179628d1d2 Repair field properties dialog for rotation and mirroring.
Fixes https://gitlab.com/kicad/code/kicad/issues/9508
2021-11-03 18:11:59 +00:00
Roberto Fernandez Bautista 5e040ad126 eeschema settings: Default to mouse drag is drag action on first install
This is to be consistent with other EDA tools like Altium and CADSTAR.
2021-11-03 16:58:11 +00:00
Jeff Young c2371f3943 Revert e4b61de792.
It doesn't seem to fix the testcase on Linux, and the tests pass on
my machine in either configuration.
2021-11-03 10:30:34 +00:00
Jeff Young e4b61de792 Special case sheet ordering in file. 2021-11-02 23:14:01 +00:00
Seth Hillbrand 7cf72aaa41 Fix bezier import in Altium schematics 2021-11-02 15:45:30 -07:00
Jeff Young 4d46445ce1 Fix Bezier reading.
Fixes https://gitlab.com/kicad/code/kicad/issues/9512
2021-11-02 22:19:41 +00:00
Jeff Young 4acff58c7a Implement a forced ordering for LIB_ITEMs until we have UUIDs.
(Once we read/write the UUIDs, we should just compare the type
and then the UUID like we do for SCH_ITEMs.)
2021-11-02 20:07:34 +00:00
Jeff Young eaf10a04dd Improved naming. 2021-11-02 20:07:34 +00:00
Jeff Young 21cb56dfe7 Formatting. 2021-11-02 20:07:34 +00:00
Seth Hillbrand 9e760512ac Update schematic when saving tuned value
Also avoids a known(!) crash when the existing item has been deleted
while tuning.

Fixes https://gitlab.com/kicad/code/kicad/issues/9502
2021-11-01 17:05:22 -07:00
Simon Schaak f79cb382c4 Symbol editor: fix name corruption in pin table
Discard changes to pin numbers of grouped pins in the pin table to avoid
setting all pins of the group to the same number.
2021-11-01 22:10:13 +00:00
Jeff Young af95a4b424 Fix duplicate stroke when formatting circles.
Fixes https://gitlab.com/kicad/code/kicad/issues/9507
2021-11-01 21:29:46 +00:00
Jeff Young 40b4052ad4 Improve text hittesting in schematics.
Text has a fairly big bounding box to account for descenders, overbars,
etc., but it makes it feel too sloppy for hittesting.  This change
allows selection disambiguation to look at the actual strokes of the
text when deciding what's "closest".

Fixes https://gitlab.com/kicad/code/kicad/issues/9506
2021-11-01 21:13:12 +00:00
Wayne Stambaugh bf85ddd577 Eeschema: fix bug printing polygon (possibly other) filled shapes. 2021-11-01 16:09:32 -04:00
Jeff Young 9f806d9304 Don't assume the grid size.
Fixes https://gitlab.com/kicad/code/kicad/issues/9013
2021-11-01 15:26:39 +00:00
Jeff Young cec788d454 Must use GetEffectivePenWidth for output.
Fixes https://gitlab.com/kicad/code/kicad/issues/9504
2021-11-01 14:49:12 +00:00
Roberto Fernandez Bautista b6c12b6b55 CADSTAR Sch: Fix positioning of symbol fields when the symbol is mirrored
The text aligment needs to be rotated and/or mirrored depending on whether
the text field is vertical or horizontal.
2021-10-31 16:12:08 +00:00
Roberto Fernandez Bautista 8367c7f238 CADSTAR Sch: Fix calculation of page size
Don't attempt to calculate bounding box of text variables. We do not
know the resolution of the text variable inside the importer. The
resolved text could be shorter than the text variable (e.g. ${#}
page number)
2021-10-30 21:49:34 +01:00
Roberto Fernandez Bautista 0aba025d66 CADSTAR Sch: Autoplace intersheet references (instead of 0,0) 2021-10-30 21:49:34 +01:00
Roberto Fernandez Bautista 18e36155a5 CADSTAR sch: Include gate in error message when symbols are scaled 2021-10-30 21:49:34 +01:00
Roberto Fernandez Bautista 52a936ac61 CADSTAR Sch: Fix spurious pin length and orientation of some symbols
Ensure deterministic sorting of std::map in fixUpLibraryPins
2021-10-30 21:49:34 +01:00
Jeff Young f345eacf13 Be more careful with undo, and don't re-merge a bus over a bus entry.
Fixes https://gitlab.com/kicad/code/kicad/issues/9475
2021-10-30 19:58:09 +01:00
Roberto Fernandez Bautista c5cdda26ae Fix crash in libedit when moving/editing pins in synchronised mode
Unit numbers start at 1, not 0. Our vector needs to be size + 1 if we want
to use the unit number as an index.
0 is reserved for "all units"
2021-10-30 18:14:23 +01:00
Roberto Fernandez Bautista c1515dd31c CADSTAR Sch: Fix block names - load as stand-alone text items instead
KiCad doesn't support multi-line text in fields, so we can't load it as
a text field (even if that would be the closest thing).

We should update this when KiCad supports multi-line text in fields.
2021-10-30 18:14:23 +01:00
Jon Evans d426abafd7 Handle empty shape in removeCornerCondition
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9495
2021-10-30 13:10:12 -04:00
Jon Evans 80e372b7d9 Fix blank DC sources causing crash in dialog creation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9482
2021-10-30 11:17:10 -04:00
Jeff Young 5f8e0ef1e0 Patch up arc hit-testing and printing for 6.0
This could use another look when we're not so near release.  We
really shouldn't need to special case eeWinding vs. not eeWinding.

Fixes https://gitlab.com/kicad/code/kicad/issues/9491
2021-10-30 15:10:07 +01:00
Jeff Young b967610e05 Remove confirmation for De Morgan (and spell his name right).
Fixes https://gitlab.com/kicad/code/kicad/issues/9483
2021-10-29 20:30:37 +01:00
Jeff Young 1fa9ad227a Repair new junction logic for crossing wires.
Fixes https://gitlab.com/kicad/code/kicad/issues/9484
2021-10-29 19:09:02 +01:00
Jeff Young fe6cb7dbb4 Mirror sheet fields when mirroring sheet.
Fixes https://gitlab.com/kicad/code/kicad/issues/9479
2021-10-28 21:45:22 +01:00
Jeff Young 0cdffa16d4 Fix off-by-one error in fill mode writing.
Fixes https://gitlab.com/kicad/code/kicad/issues/9111
2021-10-28 19:29:47 +01:00
Jeff Young 8fdfc0e63d Replace legacy sch writing code for rescue functionality. 2021-10-28 15:11:15 +01:00
jean-pierre charras cf6acae791 TUNER_SLIDER: add missing skip event in wxFocusEvents. 2021-10-27 20:33:51 +02:00
Seth Hillbrand 18318c73b5 Fix swapped parameters 2021-10-27 08:59:39 -07:00
jean-pierre charras c3a4c40d4c DIALOG_CHANGE_SYMBOLS: add missing skip event in wxFocusEvents.
Fixes #9467
https://gitlab.com/kicad/code/kicad/issues/9467
2021-10-27 17:17:44 +02:00
Jeff Young cb1709b4ca Improve Eagle importer's label positioning.
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 13:49:13 +01:00
Jeff Young e14864b35c Invert Y axis for pin root bounding box.
Fixes https://gitlab.com/kicad/code/kicad/issues/9465
2021-10-27 01:44:15 +01:00
Jeff Young 3d2ffc12c1 Fix bugs in B&W plotting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9411
2021-10-26 22:58:55 +01:00
Seth Hillbrand dd99b2dc2f Add action to edit symbol from Library
Analog of ea4e06124e for symbol editor.  Allows scripting to open
library symbol
2021-10-26 12:59:59 -07:00
Jeff Young f724fe7eff Move bbox padding to RTrees so it doesn't interfere with hittesting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Jon Evans 8e5cbc5cf0 Fix highlighting complex connections from subsheets
Sheet() can't be used for local sheet recall in these cases

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9403
2021-10-25 22:14:48 -04:00
Jeff Young c52cb229d0 Add unsaved-changes indication to Symbol Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/9443
2021-10-25 12:35:04 +01:00
Jeff Young e30d867439 Use consistent terminology for various constraint modes. 2021-10-23 12:18:08 +01:00
Jeff Young 30027030b5 Threading safety.
Fixes https://gitlab.com/kicad/code/kicad/issues/9399
2021-10-23 11:38:03 +01:00
Roberto Fernandez Bautista 3ea3d5274c CADSTAR Schematic: Hide all KiCad sheet properties
Sheet name/filename not applicable in CADSTAR so displaying it just
makes the import look messy.
2021-10-23 10:58:15 +01:00
Seth Hillbrand 927b633c01 Make sure spice command doesn't assert
Fixes https://gitlab.com/kicad/code/kicad/issues/4328
2021-10-22 16:50:29 -07:00
Jeff Young 4dcc847f85 Remove artificial limits from label increment control.
Fixes https://gitlab.com/kicad/code/kicad/issues/9340
2021-10-22 22:20:20 +01:00
jean-pierre charras 29756278e0 eeschema: fix crash when the simulator frame is open and the Tune tool is actived.
In some cases when the Tune tool is actived and a symbol is selected, if the tool
is deactivated from the right toolbar in Eeschema, Eeschema crashes.
2021-10-22 20:00:14 +02:00
Mikolaj Wielgus 28d7a2d7c9 Sim: Update tuner dialog values when focus is lost
Fixes https://gitlab.com/kicad/code/kicad/issues/7841
2021-10-21 13:34:27 +00:00
Wayne Stambaugh 0795fcb810 Minor dialog layout fixes. 2021-10-21 08:59:55 -04:00
jean-pierre charras bb4330db1e DIALOG_BOM: do not quote filename when calling the editor.
Due to previous changes in code, filenames must be not quoted.
Fixes #9436
https://gitlab.com/kicad/code/kicad/issues/9436
2021-10-21 13:53:52 +02:00
Jeff Young c5e5d8e0d4 Fix multi-sheet find/replace issues.
1) When replacing symbol fields, make sure we do it for all sheets
2) Honour "find on current sheet only"

Fixes https://gitlab.com/kicad/code/kicad/issues/9431
2021-10-20 18:28:57 +01:00
Jeff Young 75b5bcf46d Make Coverity happy. 2021-10-19 17:14:04 +01:00
Wayne Stambaugh 1e1da55840 Coverity fixes. 2021-10-19 07:42:27 -04:00
Seth Hillbrand 512ba167e8 Escape symbols when adding to library
Can't escape by default because the allowed characters differ in the
read-only libraries and existing schematics that reference them.  So,
escape when we import into standard KiCad Libraries

Fixes https://gitlab.com/kicad/code/kicad/issues/9419
2021-10-18 10:42:58 -07:00
Seth Hillbrand 9b4c293f14 Ensure that any excess spaces removed
The sim command may have additional whitespace between the type and
first char
2021-10-18 10:12:53 -07:00
Jeff Young 4e48a16847 Look for all types of label conficts in ERC.
Fixes https://gitlab.com/kicad/code/kicad/issues/9367
2021-10-18 18:09:40 +01:00
Jeff Young b8d193485d Respect selection reference point when set.
Fixes https://gitlab.com/kicad/code/kicad/issues/8520
2021-10-18 18:09:40 +01:00
Jeff Young 1d4d83cb7c Fix copy/paste error. 2021-10-18 18:09:40 +01:00
Seth Hillbrand 82ba456567 Remove unnecessary RegEx
This broke for signals using underscores.  More critically, RegEx is
fragile and should not be used with user input if at all possible

Fixes https://gitlab.com/kicad/code/kicad/issues/9421
2021-10-18 10:08:29 -07:00
Seth Hillbrand 64bcaaefd1 Fix radiobox order for FILL_T
Fixes https://gitlab.com/kicad/code/kicad/issues/9412
2021-10-17 17:01:21 -07:00
Ian McInerney 5817a8b5f4 Remove unused m_host variable
This variable isn't needed anymore after 5f53019290
pushed dark mode handling into the HTML window itself.
2021-10-18 00:29:40 +01:00
Ian McInerney 280743d9e9 Fix missing reference in for loop 2021-10-18 00:29:10 +01:00
Roberto Fernandez Bautista d6d800ccbb CADSTAR Schematic: Fix crash when trying to fix library pins
Need to copy the chain as we might have deleted it.
2021-10-17 17:57:51 +01:00
Jeff Young a1c1f60665 Coverity fixes. 2021-10-16 16:27:35 +01:00
Jeff Young ce55dd2893 Fix botched merge. 2021-10-15 21:27:16 +01:00
Adam Wolf ec10b12c6a On macOS, copy libngspice dylibs and symlinks
Now that ngspice creates soversion'ed libraries, we need to tweak
how we copy the dylibs around.

This is meant to address
https://gitlab.com/kicad/code/kicad/-/issues/9143.
2021-10-15 17:34:27 +00:00
Jeff Young f9861b4a6c Finish arc rework and push out to file formats. 2021-10-15 12:45:43 +01:00
Jeff Young b52529521e Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Jeff Young 9b9e379aa0 Overhaul arc internal model to not over-specify information. 2021-10-15 12:45:43 +01:00
Wayne Stambaugh c61af21da8 Eeschema: don't stat files when updating title bar text.
The tests for file existence and write status perform two file stats
which cause performance issues on slow network shares.  Now the file
state is determined at load time and stored in the SCH_SCREEN object
so file access is no longer required.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9343
2021-10-14 10:52:58 -04:00
Wayne Stambaugh c4d0a06701 Eeschema: fix broken auto save feature.
Make auto save recover all auto saved sheet files not just the root sheet.

This does not fix existing auto save issues because recovery would require
an iterative reload for each automatically saved sheet file and would only
happen once.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9288
2021-10-13 14:51:00 -04:00
Mikolaj Wielgus 5f53019290 Substitute all wxHtmlWindow with HTML_WINDOW
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Roberto Fernandez Bautista 7aa3514042 CADSTAR Schematic: Add net labels for named nets on symbol pins
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9371
2021-10-11 18:30:21 +01:00
Seth Hillbrand 52bbfb9109 Remove dependency of dot size on linear mils
Changes a dot to be a square pixel (linewidth x linewidth).  This allows
the removal of IU dependencies and ensures that a dot is always visible
on screen.  Also makes sure that cairo is setting the current linewidth
during its stroke routines

Fixes https://gitlab.com/kicad/code/kicad/issues/9362
2021-10-10 09:40:26 -07:00
Seth Hillbrand 48f9dfa988 Revert "Fix grid cell highlight not functioning on Windows in the symbol pin table"
This reverts commit 94552ed838.

Breaks cell-based copy/paste
2021-10-10 08:04:11 -07:00
Jeff Young 57c7d663b0 Fix bone-headed mistake when moving panel disabling. 2021-10-07 00:17:42 +01:00
Seth Hillbrand b5cd976845 Don't arbitrarily exclude components from BOM
We already exclude components based on the schematic property when
generating the XML.  Don't make a hidden second pass in the python
netlist reader by default

Fixes https://gitlab.com/kicad/code/kicad/issues/9326
2021-10-06 12:58:05 -07:00
Seth Hillbrand 2c7da5e2bd Handle deleting segment
Edited point needs to clear to allow us to use the click timer for
left-click after the drawing is deleted.

Fixes https://gitlab.com/kicad/code/kicad/issues/9320
2021-10-06 10:21:04 -07:00
Jeff Young 95f841a037 A more nuanced method of making Board & Schematic Setup read-only.
This one still allows you to scroll to see all contents.

Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-06 11:16:46 +01:00
Jeff Young 935a307674 Formatting and iterator safety. 2021-10-06 11:13:16 +01:00
Seth Hillbrand bb5c58b3cf Set default force cursor off in auto-lines
Leaving the forced position on results in the auto-line linking to a pin
for far longer than we intend if there are other hits in the area of the
cursor

Fixes https://gitlab.com/kicad/code/kicad/issues/9321
2021-10-05 20:28:05 -07:00
Seth Hillbrand 854472d550 Prevent automatic RTree recaching
Calling UpdateItem() may be performed by in a common loop, e.g. for(
SCH_ITEM* item : GetScreen()->Items() ) or similar.  We cannot call
GetScreen()->Update( SCH_ITEM* ) in this routine as it will remove and
re-add the item to the RTree, invalidating iterators.  If needed, the
items need to be cached to an external container before updating

Fixes https://gitlab.com/kicad/code/kicad/issues/9318
2021-10-05 20:13:15 -07:00
Seth Hillbrand 9a8d1246cc We don't keep a CHANGELOG.TXT
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand 548e5f49bd Clean up unused variable usage
Unused variables in function calls can be commented out.  Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young 92008a089a Disable Board & Schematic Setup controls when project is locked.
(or missing).

Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-04 16:47:27 +01:00
Jeff Young 7c432d7a50 When annotating for another feature, make sure scope is entire schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/9303
2021-10-03 19:42:29 +01:00
Jeff Young 574bef2237 Normalize drawing sheet path to env vars & prj, not just prj.
Also cleans up the dialog a bit.

Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.

Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young 10dd70881c New paramaterized interface doesn't like quoted parameters.
(At least on MSW, anyway.)
2021-10-02 14:08:36 +01:00
Marek Roszko 94552ed838 Fix grid cell highlight not functioning on Windows in the symbol pin table
Fixes https://gitlab.com/kicad/code/kicad/issues/9290
2021-10-01 23:44:16 -04:00
Jeff Young ef74421922 Move centering of lib-tree item to idle event.
Fixes https://gitlab.com/kicad/code/kicad/issues/9294
2021-10-01 22:46:14 +01:00
Jeff Young 5f5ee7335d Formatting. 2021-10-01 21:49:14 +01:00
Jeff Young f606679164 Proper numeric sorting for intersheet refs.
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
Jeff Young 5d579d14c1 Give intersheet refs a bit more breathing room. 2021-10-01 18:29:21 +01:00
Seth Hillbrand dd1d36d40a Fix segfault when check for editing points
The point editor is not always available when checking for points.  We
need to handle the missing tool without crashing
2021-09-30 17:25:33 -07:00
Jeff Young b9596a0a5d Update dangling flags in color settings' preview. 2021-09-30 18:53:39 +01:00
Jeff Young c7e6c273b4 Fix missing RTREE update. 2021-09-30 18:53:39 +01:00
Seth Hillbrand 13d913a014 Choose centering after zoom
When we zoom after centering, the screen does not display the item at
the appropriate location until you center again.  Choose the zoom first
to set the appropriate scale before translating the viewport
2021-09-29 16:30:52 -07:00
Jeff Young 12b726ba2f Prevent the point editor from fighting with other tools.
1) Don't start a long-click timer when the point editor is active.
2) Don't auto-start a wire when the point editor is active.

Fixes https://gitlab.com/kicad/code/kicad/issues/9270
2021-09-29 19:16:06 +01:00
Jeff Young 9cf9abbd66 Don't allow Text Properties dialog on intersheets references field. 2021-09-29 16:04:36 +01:00
Jon Evans 62ef27e372 Remove hard-coded anchor color in eeschema 2021-09-28 20:26:47 -04:00
Seth Hillbrand 2225c4e4ed Replace GetRows() with GetNumberRows() because wx 2021-09-28 10:48:04 -07:00
Seth Hillbrand 880f209563 When deleting pin row, show new highlight
When the user deletes a pin row, they need to see which row is now
selected for them to delete again.  Otherwise, deleting will have
unexpected consequences
2021-09-28 09:29:55 -07:00
Seth Hillbrand 42a21e15f0 Check before dereference
Fixes a crash where the screen was destroyed during new loading but
still gets dereferenced by the UI update.  Also puts defensive checks in
the UI conditions against null configuration settings
2021-09-28 08:42:55 -07:00
Jeff Young f73042fe24 Some minor performance enhancements. 2021-09-28 14:28:35 +01:00
Roberto Fernandez Bautista 7089a837f6 Update Editing Options Panel in eeschema with latest modifier keys
We now use Long Click, Ctrl and Shift (Alt is no longer used)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9234
2021-09-27 21:11:56 +01:00
Mike Williams d90dc77e00 Selection: Don't drop small moves
If we do a real drag, the timer will be cancelled. If we don't, then
the user is still holding the mouse button down and would probably like
to see the menu. Otherwise it appears the action is dropped.
2021-09-27 16:44:32 +00:00
jean-pierre charras d362cbc530 EEschema: change Save Copy As... to Save Current Sheet Copy As...
Save Copy As did not work with hierarchies (was not able to manage subsheets)
Fixes #9245
https://gitlab.com/kicad/code/kicad/issues/9245
2021-09-27 18:23:11 +02:00
Jeff Young c508c89a81 Pretty-up some warning messages. 2021-09-27 13:24:53 +01:00
Jeff Young 5f3c67bd2b Fill in some missing GetMsgPanelItems and make some others consistent.
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jeff Young 8636afdc73 Use FocusOnLocation for symbol fields cross-probing too. 2021-09-27 00:23:40 +01:00
Jeff Young 5bf042fcc1 Use individual parameter version of wxExecute.
Fixes https://gitlab.com/kicad/code/kicad/issues/9236
2021-09-26 15:03:06 +01:00
Jeff Young f6571c18cb Formatting. 2021-09-26 11:02:57 +01:00
Jeff Young c9aebb8529 Fix symbol fields sorting.
In the symbol fields table the reference contains only the letter, so
the number must be appended.  Conversely, we don't want the unit suffix
as all units are folded into a single symbol.

Fixes https://gitlab.com/kicad/code/kicad/issues/9238
2021-09-25 21:24:16 +01:00
jean-pierre charras f11687c5e5 Do not allow sheet filename change from DIALOG_SCH_FIELD_PROPERTIES.
It does not work. Changing a sheet filename is complex, and can be
made only in sheet properties dialog.
2021-09-25 18:28:19 +02:00
Jeff Young 0dc585e518 Use different dangling state initialization for wires and graphic lines. 2021-09-25 00:34:51 +01:00
Jeff Young 1b8506c6b6 Default dangling state to true. A wire on it's own is dangling. 2021-09-24 20:59:37 +01:00
Jeff Young 7901d705ba Fix optimization to not fetch all possible endpoints for non-connectable. 2021-09-24 20:08:42 +01:00
Jeff Young fad385785d Fix botched merge. 2021-09-24 20:08:29 +01:00
Jeff Young a1a2076aee Include pin roots for symbols that don't have well-defined bodies.
Fixes https://gitlab.com/kicad/code/kicad/issues/8508
2021-09-24 16:19:54 +01:00
Jeff Young a4f83073e3 Use RTree to optimize searches.
Should produce an order of magnitude speedup on dangling end tests
in some documents.
2021-09-24 12:42:22 +01:00
Jeff Young 2d72ccb6ae Simplify dangling end stuff a bit and remove graphic lines from it. 2021-09-24 12:19:27 +01:00
Marek Roszko d39f79b55b Fix schematic custom paper size check to use same limits as rest of eeschema
Fix #9223
2021-09-24 00:46:02 -04:00
Jeff Young 42687f5d9d Give selection preference to pins over wires.
Fixes https://gitlab.com/kicad/code/kicad/issues/9063
2021-09-23 23:59:20 +01:00
Jeff Young 9ea6b44ee8 Formatting. 2021-09-23 23:59:20 +01:00
Marek Roszko 064ab933dd Always update the hierarchy navigator when setting the current sheet in the frame
Fix #9221
2021-09-23 18:14:44 -04:00
Seth Hillbrand 71602475eb Allow rotate/mirror even when dragging
Keeps the lines connected but doesn't solve the crossed-wire mixups.
This allows common usage (mirroring labels/rotating segments) and leaves
prevention of the crossed wires to the user.

We can't really prevent crossed wires when rotating e.g. a part with
wires connected to 4 sides and users will not expect that.  But we
should not disable useful features like mirroring multiple parallel
items to avoid a known impossible situation

Also provides an alternative solution to 345f506f0c that allows us to
rotate groups without destroying connections on hover

Fixes https://gitlab.com/kicad/code/kicad/issues/8403

Fixes https://gitlab.com/kicad/code/kicad/issues/8523
2021-09-23 14:47:49 -07:00
Jeff Young 4b38bd1543 Favour junction dots to wires inside the dot.
Fixes https://gitlab.com/kicad/code/kicad/issues/9187
2021-09-23 22:13:56 +01:00
Jeff Young 552f053a55 Remove pins from symbol hit-testing.
Fixes https://gitlab.com/kicad/code/kicad/issues/8508
2021-09-23 22:07:51 +01:00
Seth Hillbrand 671aec5da6 In fallback selection, handle cancelled menu
doSelectionMenu returns false to indicate a cancelled menu.  This needs
to be handled in selectPoint when directly accessing doSelectionMenu in
the same manner as SelectionMenu() events

Fixes https://gitlab.com/kicad/code/kicad/issues/9218
2021-09-23 11:48:29 -07:00
Seth Hillbrand 3b04b602d9 Don't walk text/labels when mirroring
We have a fixed bottom-align for the text and labels in eeschema.
Therefore, mirroring vertically needs to account for the text's offset
from the bounding box center.

Fixes https://gitlab.com/kicad/code/kicad/issues/9208
2021-09-22 09:24:16 -07:00
Jeff Young ec2ac181a2 Further simplify selection logic.
The select-single-wire stuff is no longer needed, and the prefer-wire-ends
stuff needs to be distance-based.

Also improved wire hit-testing to include bubbles the size of the dangling
symbol at each end.

Fixes https://gitlab.com/kicad/code/kicad/issues/9187
2021-09-21 20:27:35 +01:00
Jeff Young 2ec1c215cd Drop selection after hiding items.
Fixes https://gitlab.com/kicad/code/kicad/issues/8605
2021-09-21 17:02:34 +01:00
Jeff Young 469d3ea329 Don't add global labels when a power symbol is connected.
Fixes https://gitlab.com/kicad/code/kicad/issues/7497
2021-09-20 21:31:19 +01:00
Jeff Young ae8f817938 Use consistent label size and fix issues with rotation.
Fixes https://gitlab.com/kicad/code/kicad/issues/5950
2021-09-20 21:31:19 +01:00
Jeff Young 40b4e5c024 Formatting. 2021-09-20 21:31:19 +01:00
Seth Hillbrand c67d560538 Remove unused and shadowed variables 2021-09-20 11:45:27 -07:00
jean-pierre charras fada53d90c Fix SCH_SCREENS::HasNoFullyDefinedLibIds(): incorrectly returned true if no symbol found.
Fixes #9195
https://gitlab.com/kicad/code/kicad/issues/9195
2021-09-20 18:29:26 +02:00
Jeff Young 6e7ce09572 Use more descriptive terminology for preferred text editor.
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".

Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Marek Roszko e7814915db Call UpdateHierarchyNavigator on find jump in schematic in case we cross pages
Fix #8971
2021-09-19 08:35:51 -04:00
Jeff Young 0400c0a775 Prevent crash with RTree modification invalidating iterator. 2021-09-19 11:34:43 +01:00
Jeff Young a5c4bace60 Improve (and simplify) wire and pin hit-testing.
1) Expand the accuracy to at least the grid spacing
2) Move pin-selects-symbol logic to Selectable()
3) Recode pick-closest algorithm to handle exactHits and inexactHits
separately
4) Remove pin target from bounding box in favour of expanding it to
at least as wide as the pin decoration (this prevents the accuracy
off the end of the pin from growing too large)
2021-09-19 11:34:43 +01:00
Jeff Young a291cae2fd Make sure intersheetRef bounding boxes get updated in RTree.
Fixes https://gitlab.com/kicad/code/kicad/issues/9177
2021-09-18 18:32:19 +01:00
Jeff Young 4779850c10 Add done messages to various plotters.
Fixes https://gitlab.com/kicad/code/kicad/issues/9172
2021-09-18 10:39:57 +01:00
Jeff Young 4b3490a2b9 Intercept rotate command when drawing wires.
If unfolding from bus rotate the label; otherwise beep.

Fixes https://gitlab.com/kicad/code/kicad/issues/9178
2021-09-17 22:01:17 +01:00
Jeff Young 5c07441e24 Remove Setup Dialog assignment of netclasses to buses.
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.

Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).

Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.

Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.

See additional comments in the bug report.

Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 22:01:17 +01:00
Jeff Young d32ca5b287 Fix bus validation.
Bus groups must be checked first as they can contain vectors inside
them.
2021-09-17 22:01:17 +01:00
jean-pierre charras ca33ec05df Eeschema: fix incorrect rotation (CW versus CCW) of some items.
For some (not all) items and for blocks the rotation CCW was in fact a CW rot.
Fixes #9176
https://gitlab.com/kicad/code/kicad/issues/
2021-09-17 18:30:23 +02:00
Jeff Young cc14dfe3ca Make canvas netclass assignment mirror Setup Dialog assignment.
While it would make more sense to have them both use the old canvas
algorithm (of only assigning to the members), I'd be *very* hesitant
to change the Setup Dialog and underlying machinery this late in the
6.0 release.

Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 14:40:12 +01:00
Jeff Young d7bfd1eb77 Restore use of floating point precision in pin name/number placement.
It's actually required here to get the shadows centred directly under
the text.
2021-09-17 12:37:53 +01:00
Jeff Young b10f337299 Don't auto-zoom when page settings were cancelled.
Fixes https://gitlab.com/kicad/code/kicad/issues/8978
2021-09-17 12:37:53 +01:00
Wayne Stambaugh d90094de39 Fix progress dialog main frame focus issue on Linux.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8718
2021-09-16 15:53:18 -04:00
Jeff Young 2479e1d7b1 Improve common settings property grouping.
Also moves apply-icon-scaling-to-fonts to its own checkbox.  (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
jean-pierre charras 8aa7e8d9f4 Fix compil warning (shadowed vars) 2021-09-16 18:21:07 +02:00
Wayne Stambaugh 4663da4709 Eeschema: don't escape document file alias names in legacy plugin.
Escaping the document file (.dcm) alias names breaks the link between the
document file and the library (.lib) file.  This causes the information in
the document file to be lost.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9130
2021-09-16 09:09:44 -04:00
Jeff Young 684d15895c Box highlighting of selected text was never finished.
In particular, pin numbers and names weren't done.
2021-09-15 21:17:18 +01:00
Jeff Young e2ce2e6ca9 Correct slight misalignment in Library Link fields. 2021-09-15 21:17:18 +01:00
Seth Hillbrand ca6e43d1e1 Fix segfault when discarding changes on open
When opening new schematic, the undo/redo list is invalidated.
CleanupSchematic uses it before presenting the new schematic to the
user, so we need to make sure that old data are not preserved here past
their pointer lifetimes
2021-09-14 16:41:25 -07:00
Jeff Young b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
Jeff Young 3aae3c6f65 Dark mode for a bunch of HTML dialogs.
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT

Fixes https://gitlab.com/kicad/code/kicad/issues/9157

Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
Jeff Young 3b121359ae Fix a couple of escape-string issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/9167
2021-09-14 18:30:19 +01:00
Seth Hillbrand 4b436fb86d Narrow down collector
RTree keeps track of position as well.  We can use this to reduce the
amount of time spent in the collector routine
2021-09-13 20:24:07 -07:00
Seth Hillbrand 1c409ff90a Fix typo in previous commit 2021-09-13 20:23:52 -07:00
Seth Hillbrand 2fdd805eda Override SCH_GLOBALLABEL::HitTest
Global labels can optionally have intersheet references.  When enabled,
they expand the bounding box of the label.  Because they can be far away
from the actual label, the bounding box is not a good approximation for
the hittest
2021-09-13 19:55:48 -07:00
Seth Hillbrand 484eaa01b9 Try harder to avoid loop contention
We have two cases where we might be requesting a disambiguation menu.
In one case, we already have the event loop waiting and we need to run
the selectionMenu through the action system.  In the other case, the
tool isn't on the stack and won't activate.  Here we need to run
directly and we are assured of not crashing because the tool isn't
active.

Fixes https://gitlab.com/kicad/code/kicad/issues/9154
2021-09-13 10:17:04 -07:00
Jeff Young fdfecf5932 Don't push view control settings to the previous active tool.
See further comments in bug report.

Fixes https://gitlab.com/kicad/code/kicad/issues/9147
2021-09-13 13:28:05 +01:00
Jeff Young efc9279a19 Fix unfortunate line-break. 2021-09-13 13:28:05 +01:00
Jeff Young 52f99e41e6 Fix merge screw up. 2021-09-12 22:57:25 +01:00
Jon Evans 558ba855a2 Copy default hotkey for Clear Highlight from pcbnew to eeschema 2021-09-12 17:38:02 -04:00
Jon Evans ed342d0cc0 Do not clear highlighting on a cancel event
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9035
2021-09-12 17:35:44 -04:00
Jeff Young a5247471f7 Expunge a bunch more fixed font specs from wxFormBuilder files.
Also removes the -1 sizing of the status bar on GTK and MSW.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-12 13:53:12 +01:00
Jeff Young 9c78e4cf54 Mac needs different font size handling than MSW & GTK.
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better.  The
other platforms need a more limited range of sizes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Roberto Fernandez Bautista 625e56676a Add progress reporting to CADSTAR Schematic & PCB importers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8685
2021-09-11 17:50:19 +01:00
Jeff Young fbee62fc15 Tie font size scaling to when automatic icon scaling fails.
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
Jeff Young c736bd3fd0 Patch Altium import of oddly constructed line segments.
Fixes https://gitlab.com/kicad/code/kicad/issues/8974
2021-09-11 15:29:51 +01:00
Jeff Young 09ddcdbbca Fix logic error setting bold text.
(Reported on Forum.)
2021-09-11 12:01:41 +01:00
Jeff Young 7a822b55aa Another round of changes to attempt to fix the GTK font size issue.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Seth Hillbrand 29c2f3b7d4 Prevent jumping into disambiguation if moved
Moving points should not be overrided by disambiguation menu, so we
track where the disambiguation event started and only trigger the menu
if the mouse hasn't moved a full unit in x/y

Fixes https://gitlab.com/kicad/code/kicad/issues/9132
2021-09-09 16:24:18 -07:00
Wayne Stambaugh 451f8eefc0 Eeschema: fix broken project symbol rescue bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9111
2021-09-09 10:21:09 -04:00
Jeff Young 5325dce862 Naming consistency with DRC reports.
Fixes https://gitlab.com/kicad/code/kicad/issues/9121
2021-09-09 13:37:57 +01:00
Sylwester Kocjan fe608bfcef eeschema, sim: clean signal list when last panel is closed
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9119
2021-09-09 01:11:47 +00:00
Mikolaj Wielgus 1c9e10f34e Disable simulator notebook splitting
Using this feature freezes the simulator.
2021-09-09 01:07:23 +00:00
Sylwester Kocjan f9c5c97f74 eeschema, sim: fix wrong names of the signals
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9062
2021-09-08 23:15:29 +02:00
Jeff Young f013dbc7c4 More uniform handling of status fonts.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-08 21:34:22 +01:00
Seth Hillbrand c8b2e69332 Check if selection is primary tool
Previously, we were checking if the selection tool was the top of the
stack but this ignored many other "secondary" tools that might be
running such as the point editor.  These still allow the selection tool
to handle events such as clicks.  This change allows the selection tool
to handle clicks when it is the primary tool on the stack rather than
the top

Fixes https://gitlab.com/kicad/code/kicad/issues/9110
2021-09-07 10:42:01 -07:00
Wayne Stambaugh 4ee0b28ffc Coverity issue fixes.
Fix Coverity issues 338623, 338716, and 338717.
2021-09-07 13:38:56 -04:00
Wayne Stambaugh 41c7089417 Minor dialog layout improvements. 2021-09-07 08:06:02 -04:00
Jeff Young 9cf7c7800b Use same text positioning algorithm in LibEdit and Eeschema.
Also fixes some uninitialized variables in PCB painter.

Fixes https://gitlab.com/kicad/code/kicad/issues/8947
2021-09-07 12:33:06 +01:00
Jeff Young ad7275f0a3 Repair saving of default line styles.
Note that the file format version was NOT bumped because we were
correctly reading the default, just no writing it.

Fixes https://gitlab.com/kicad/code/kicad/issues/9045
2021-09-07 00:14:18 +01:00
Seth Hillbrand 0f38a35531 Be sure to stop the timer when triggering d-click
Some mice apparently trigger double-click without triggering a click, so
stop the timer when we receive this event

Fixes https://gitlab.com/kicad/code/kicad/issues/9106
2021-09-06 12:27:31 -07:00
jean-pierre charras c1130535fb PCM: make DIALOG_MANAGE_REPOSITORIES_BASE resizable. 2021-09-06 08:36:06 +02:00
Seth Hillbrand 240c3b75c4 Move selection disambiguation to long-click
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.

Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Jeff Young c58562aebf Sigh. Values in the LibEdit are LIB_IDs; in Eeschema they are not.
Fixes https://gitlab.com/kicad/code/kicad/issues/9098
2021-09-05 21:23:55 +01:00
jean-pierre charras 07f0662ba9 Fix some issues in dialog_netlist.cpp , round 2 (work in progress)
The netlist plugins added in dialog_netlist are now stored in eeschema config.
2021-09-05 16:13:52 +02:00
Marek Roszko 74b8f14ec3 Don't find when the dialog isn't open or the search is blank (which resulted in full highlighting)
Fix #9056
2021-09-04 23:48:06 -04:00
Jeff Young 6818539f6d Repair is-selected logic in various global editors.
Fixes https://gitlab.com/kicad/code/kicad/issues/9090
2021-09-04 18:10:25 +01:00
jean-pierre charras 1fe4aaa64f fix some issues in dialog_netlist.cpp (work in progress) 2021-09-03 20:38:29 +02:00
Roberto Fernandez Bautista a06f3f1d14 Don't update text items until modified explicitly
Ensures that any complex formatting in text items created by importers
or pasted S-expressions is preserved.
2021-09-03 19:25:53 +01:00
jean-pierre charras 7e2abf545b Eeschema: add python script netlist_form_OrcadPcb2.py and netlist_form_pads-pcb-asc.py
to replace netlist_form_OrcadPcb2.xsl and netlist_form_pads-pcb.asc.xsl
2021-09-02 17:15:49 +02:00
Jeff Young bc8245ca7b Attempt to untangle junction dot preferences. 2021-09-02 12:41:16 +01:00
Jeff Young 243631a095 Fix logic error in polyline hittesting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9030
2021-09-01 21:38:32 +01:00
Jeff Young 651981b2a0 Remove atrophied property from appsettings. 2021-09-01 21:20:07 +01:00
Roberto Fernandez Bautista 8268c4ad17 CADSTAR Schematic: Ensure library ID is valid
Previously the library created was invalid - opening it resulted
in a parsing error due to invalid characters in the name.
2021-09-01 20:25:39 +01:00
Roberto Fernandez Bautista be9ff7a7d5 CADSTAR Schematic: Load text sizes for pin names/numbers and net labels 2021-09-01 20:25:39 +01:00
Roberto Fernandez Bautista 0aa37d1173 Fix issues with new overbar syntax
- Update sch text help (~~ no longer gets converted to single ~)
- Update Eagle importer to correctly handle new overbar syntax
- Update CADSTAR importer to correctly handle new overbar syntax
2021-09-01 20:25:39 +01:00
jean-pierre charras 130958e48e Eeschema: add python script netlist_form_cadstar.py to replace netlist_form_cadstar.xsl 2021-09-01 21:06:00 +02:00
Seth Hillbrand 8a305eec32 Remove broken RefDesStringCompare
This function attempted a poor-man's natural compare but it assumed
specific structure of the string.  This broke for strings with
numberings that looked like decimals.

Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.

Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
Seth Hillbrand bc0302fafe Replace RefDesCmp with better StrNumCmp 2021-09-01 11:48:01 -07:00
Jeff Young d92d9898ad Scale junction dots from wirewidth, not linewidth.
Fixes https://gitlab.com/kicad/code/kicad/issues/9040
2021-09-01 19:44:18 +01:00
Seth Hillbrand b0ba8b01c4 Update RTree when rotating components
Fixes https://gitlab.com/kicad/code/kicad/issues/9061
2021-08-31 16:36:38 -07:00
Jeff Young 2cdd3c9ebf Work-around incorrect spacing (and order) of buttons on Mac. 2021-08-31 22:39:25 +01:00
Seth Hillbrand 345f506f0c Ignore STARTPOINT/ENDPOINT in multiple item rot
Rotating multiple items does not allow for individual end points to be
selected.  This can happen when we narrowSelection by hovering on end
points.
2021-08-31 14:34:05 -07:00
Roberto Fernandez Bautista 3e32c2e5a7 eeschema: Make pasted text left aligned so that it is editable
Previously it was pasted as centre aligned, which is not supported in
the GUI.
2021-08-31 20:02:20 +01:00
Jeff Young b5a3385ea9 Overhaul file locking system.
See bug report for details.

Fixes https://gitlab.com/kicad/code/kicad/issues/8919
2021-08-31 15:04:31 +01:00
Jeff Young 21365fff3e Disambiguate JunctionDiameter from EffectiveJunctionDiameter.
ADDED Junction Size and Color to Edit Text & Graphics properties.

The added feature is only because it's the only way to recover from
the buggy behaviour having changed all your junctions to overridden
values.

Also adds help texts to the Junction Dot Properties dialog to
specify how to get schematic dot sizes and eeschema colors.

Also fixes the terminology in the Line/Wire/Bus Properties dialog
(the default widths come from the netclasses, not from eeschema).

Fixes https://gitlab.com/kicad/code/kicad/issues/9040
2021-08-31 12:18:02 +01:00
Sylwester Kocjan ddba9e2351 eeschema: fix of not updating spice primitive field
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8835
2021-08-31 06:27:36 +00:00
Wayne Stambaugh 897269f33f Eeschema: schematic object context menu improvements.
Don't show the clean up sheet pins context menu entry when the selected
sheet doesn't have any pins to clean up.

Remove sheet has no pins to clean up nag dialog now that the context menu
entry isn't shown unless there are pins to clean up.
2021-08-30 11:52:40 -04:00
Jeff Young 6c16846b21 Remove unused lambda. 2021-08-30 13:44:28 +01:00
Jeff Young 9da8f04cb4 Cleanup sheet pins doesn't make any sense when drawing sheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/9044
2021-08-30 13:11:37 +01:00
Roberto Fernandez Bautista 0cd8a4d846 CADSTAR Schematic: Load line thickness in symbols 2021-08-29 19:55:47 +01:00
Seth Hillbrand 871bdbc952 Search sheets in hierarchy-order
Also fixes an issue where multiple sub-sheets were skipped in certain
cases

Fixes https://gitlab.com/kicad/code/kicad/issues/8972
2021-08-27 13:03:18 -07:00
Mike Williams d18d993eac Eeschema: find next key shouldn't launch find dialog
Adds some general cleanups of overridden find functions while I'm in there.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8967
2021-08-27 18:15:36 +00:00
Mike Williams 0b2e66d3b7 Infobar: Don't use animations on Windows/GTK
Seems to cause issues on Windows where the animation locks the screen.
Doesn't effect Linux, possibly because wxWidgets uses a native GTK
infobar that doesn't animate anyway.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8987
2021-08-27 17:38:16 +00:00
Jeff Young 69fac89e86 Fix some issues with incorrectly scaled defaults given in mils. 2021-08-25 20:04:06 +01:00
jean-pierre charras a5560bb5f9 Eeschema, Add new symbol to schematics: update Value and Footprint texts
to be currently displayed.
Fixes #9025
https://gitlab.com/kicad/code/kicad/issues/9025
2021-08-25 15:13:40 +02:00
Seth Hillbrand 17a17586a6 Don't use REALPATH to find shared/dynamic libraries
We require API compatibility in the ngspice library because we
dynamically load the library and assign function pointers to specific
names/signatures.  This should be consistent for all versions of the the
library until the soversion changes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8878
2021-08-24 11:44:56 -07:00
Jon Evans 0463fc4c2b Fix several bugs and refactor schematic saving
Having the logic split between three different paths was
a bit much, this should hopefully be a bit easier to
maintain.  All save logic now goes through SaveProject;
individual file writing is now a private function.

Also change Save As to Save Copy As in project manager
mode, as we don't want to change projects from inside
the editor in project manager mode.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9015
2021-08-23 23:01:08 -04:00
jean-pierre charras 4ac2aa675a lib symbols: make fp filter tolerant to spaces in names.
For historical reasons they are stored in a string using spaces as separators.
So each fp filter is now escaped to remove spaces (replaced by {space})
Fixes #9009
https://gitlab.com/kicad/code/kicad/issues/9009
2021-08-23 18:01:31 +02:00
jean-pierre charras 9f22baf109 netlist xml exporter: fix incorrect keyword change (field was changed to f)
Keywords cannot be changed without a very good reason. the keyword is now field.
Fixes #9016
https://gitlab.com/kicad/code/kicad/issues/9016
2021-08-23 17:14:45 +02:00
Jeff Young 3bddadc03d Fix a typo in reference clearing.
Also fixes an unrelated bug where all values/footprints were getting
reset rather than just the instance versions.

Fixes https://gitlab.com/kicad/code/kicad/issues/8891
2021-08-22 19:55:20 +01:00
Jeff Young 7561715ffe Unescape symbol fields going out to XML netlist.
Fixes https://gitlab.com/kicad/code/kicad/issues/8995
2021-08-21 22:03:24 +01:00
Jon Evans 0814219513 Clean up some handling of project files in standalone
Add control of project creation to Eeschema; change defaults
to enable project creation in both programs.  Properly set
project on newly-created schematics so "Save As" doesn't
get triggered repeatedly.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9000
2021-08-21 12:09:21 -04:00
Jon Evans 4da0c897bc Fix flagging power pin in ERC check
IsPowerConnection() is too restrictive a check

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8881
2021-08-21 11:19:09 -04:00
Mikolaj Wielgus 44ea3a75f2 Simulator: Use last workbook path stored in .kicad_pro as initial path in dialogs
Previously this was done using a static variable, which was not loaded
from .kicad_pro on simulator launch, causing unexpected behavior

Fixes https://gitlab.com/kicad/code/kicad/issues/8799
2021-08-20 23:23:23 +00:00
Wayne Stambaugh 1d8fd22cd8 Symbol editor: fix message panel units when selecting from combo box.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8991
2021-08-20 15:45:57 -04:00
Sylwester Kocjan eefac5cc59 eeschema: fix in populating DC sim settings tab
When filling drop-down list with sources, previous selection should be
saved in local variable and restored if it is still available.
2021-08-20 19:23:13 +00:00
Sylwester Kocjan 691b53d125 eeschema: add missing virtual destructors 2021-08-20 19:23:13 +00:00
Seth Hillbrand bee3d78d78 Limit Eeschema find/replace entries
Standardize maximum find/replace entries to 10

Fixes https://gitlab.com/kicad/code/kicad/issues/9007
2021-08-20 11:48:02 -07:00
Seth Hillbrand 75e4fa9b75 Handle multiple annotation in search
New schematic format needs to search client screen paths instead of
maintaining multiple copies in a flat format.
2021-08-20 10:24:08 -07:00
Seth Hillbrand 6470be11c3 Add clarifying comments to EE_RTREE ordering 2021-08-20 08:49:43 -07:00
Seth Hillbrand 729ba1e301 Ensure deterministic Find/Replace ordering
Sorts first by x and then by y when returning search order

Fixes https://gitlab.com/kicad/code/kicad/issues/8972
2021-08-20 08:42:06 -07:00
Seth Hillbrand 09be1a8c78 Ensure sheets are deterministically sorted
Even if a sheet exists at the same x/y coordinate as another, the sort
needs to ensure a deterministic ordering
2021-08-20 08:31:01 -07:00
jean-pierre charras 13083c80c2 Eeschema, dialog Find: do not force a position on screen when reopen dlg.
The last position will be used.
Fixes #8969
https://gitlab.com/kicad/code/kicad/issues/8969
2021-08-19 15:40:38 +02:00
Jeff Young dfacac5eb6 Repair label incrementer to handle formatting constructs.
Fixes https://gitlab.com/kicad/code/kicad/issues/8992
2021-08-19 00:08:37 +01:00
Jeff Young 9549a227ad Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/8993
2021-08-18 23:38:11 +01:00
Jeff Young 8879b887df Fix missing overbar notation conversions in legacy library parsing.
Fixes https://gitlab.com/kicad/code/kicad/issues/8981
2021-08-18 22:48:29 +01:00
Wayne Stambaugh 46b959c3e3 Move plotter headers into include folder. 2021-08-18 16:38:31 -04:00
Wayne Stambaugh 6427197962 Remove duplicate headers in plot and associated code. 2021-08-17 15:41:25 -04:00
Jeff Young fc4d748bdc Fix bugs in sheets.
1) Default_line_width is in mils, not IU.
2) Plot sheet fields.

Fixes https://gitlab.com/kicad/code/kicad/issues/8984
2021-08-17 13:21:52 +01:00
jean-pierre charras 8c9b0bdba4 Eeschema: plot missing sheet fields.
Fixes #8984
https://gitlab.com/kicad/code/kicad/issues/8984
2021-08-17 13:30:23 +02:00
Jeff Young dd24502255 Clean up (yes, yet again) the default pen width handling.
Fixes https://gitlab.com/kicad/code/kicad/issues/8980
2021-08-17 11:59:50 +01:00
Jeff Young 41619ebbe2 Decouple PROGRESS_REPORTER interface from implementations. 2021-08-14 21:05:49 +01:00
Jeff Young 1818846cff Minor improvements to some error messages. 2021-08-14 12:11:47 +01:00
Stefan bed51a5fc1 altium schematic importer, replace record 211 with compile masks 2021-08-14 11:05:56 +00:00
jean-pierre charras 08d7899f7e Rework on hint to user when pin scope control has no effect or unexpected result.
A info banner is now shown (in synchronized mode) to inform an user when extra
pins are added to other units when a new pin is added.
A good info about the synchronized mode is not easy to create.
2021-08-14 10:21:25 +02:00
Jon Evans 766b67a8f1 Tune selection of wire endpoints near other objects
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8941
2021-08-12 22:04:24 -04:00
Jon Evans 7075aece3a Hint to user when pin scope control has no effect
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8907
2021-08-12 21:19:27 -04:00
Jeff Young fbb3f4b58d Escape names when migrating legacy libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/8951
2021-08-12 22:07:57 +01:00
Wayne Stambaugh 04c6b79350 Eeschema: remove unused and unnecessary code.
When swapping SCH_SYMBOL objects during undo, no special processing is
required.  The SCH_PIN objects are updated when the LIB_SYMBOL objects
are swapped and the call to SCH_SCREEN::SwapSymbolLinks() didn't do
anything.
2021-08-11 14:30:29 -04:00
Jeff Young c536a4c4f2 Work around annoying wxWidgets assert. 2021-08-10 16:51:30 +01:00
Jeff Young 6eb59b9d9e Dialog naming conventions. 2021-08-06 20:54:26 +01:00
jean-pierre charras 76bdb423d7 Minor changes: minor code cleanup and fix minor Coverity warning 2021-08-04 16:47:41 +02:00
Jeff Young 48e0f68c7e Improve ease-of-use of color preferences. 2021-08-04 13:55:42 +01:00
Jeff Young 95b87ba29a Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +01:00
david-beinder c34f45f646 Split global label size expansion from TextOffset setting
Global label expansion ratio default is now 37.5%
Wire text offset default is now 15%
2021-08-02 16:40:36 +00:00
david-beinder bab13debcb Improve overbar rendering in PCB and global labels
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8584
Moves the font slightly down in global labels
Keeps font with overbar at the same size in PCB OpenGL renderer
2021-08-02 16:40:36 +00:00
Jeff Young c51b1dad72 Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young d40712d9d6 Formatting and message consistency. 2021-08-01 21:31:23 +01:00
Jeff Young 6ab45d0a6d Fix double-escaping in Eagle importer.
This has actually been there since dot, but the old escaping method
just deleted chars it didn't like so you could run it as many times
as you wanted.

Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-31 20:07:25 +01:00
Seth Hillbrand 6cd4d68d57 Add drop shadows to MacOS icons
Apple UI guidelines ask for small drop shadows on the icons.  We add
these using ImageMagick when resizing
2021-07-30 20:55:34 -07:00
Seth Hillbrand e7d8b1a975 Resize MacOS icons and script their creation
Creates a script that will fomat the MacOS icons at 80% of the total
size in line with Apple's guidelines.

Script requires Inkscape 1.0 and png2icns (available on Linux boxen)

Fixes https://gitlab.com/kicad/code/kicad/issues/7977
2021-07-30 20:28:14 -07:00
Seth Hillbrand ad8acd328c Expunge some remaining references to kicad-pcb 2021-07-30 20:27:45 -07:00
Wayne Stambaugh f485ba9338 Fix netlist error when editing schematic symbols in place.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8798
2021-07-30 18:37:45 -04:00
Seth Hillbrand d5abbd0d14 Allow overwriting existing symbols
This allows the workflow:
1) Edit symbol in schematic
2) Save As to original library

Also allows the user to quickly overwrite a symbol they don't want,
either by importing over the existing symbol or creating a new one.
2021-07-30 10:36:08 -07:00
Jeff Young c716548b29 Enable autoplace whenever sel contains at least 1 field owner.
Fixes https://gitlab.com/kicad/code/kicad/issues/8886
2021-07-29 20:23:56 +01:00
Jeff Young 539d14ce94 Fix hang-over from legacy canvas where we only looked at sel head.
Fixes https://gitlab.com/kicad/code/kicad/issues/8886
2021-07-29 16:52:22 +01:00
Jeff Young 6aaf4413b3 Fix kicad_string.h / string.cpp mismatch.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young f221220fe2 Rename layer ids file.
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Mike Williams 934b6e4cdc Eeschema: fix symbol library link not showing
In wxWidgets GTK, SetLabel() won't show anything. Seems like an old
wxWidgets issue:
https://forums.wxwidgets.org/viewtopic.php?t=20207
2021-07-29 01:19:51 +00:00
Jeff Young 46338403e7 Unwrap some std::library typedefs. 2021-07-28 22:16:38 +01:00
Jeff Young 87e4a1c672 Remove cover type; capitalize class name; make filename equal classname. 2021-07-28 22:16:38 +01:00
Jeff Young 293f207356 Hopefully the last of the symbol id escaping issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 19:44:42 +01:00
Wayne Stambaugh f233f4a0a9 Expunge EDA_FILE_SELECTOR.
EDA_FILE_SELECTOR was just an obfuscation of wxFileSelector().
2021-07-28 14:12:51 -04:00
Jeff Young 6d4c454e8c Fix some more missing escaping for symbol ids.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 18:37:09 +01:00
Jeff Young 726f4d8016 Fix up some more cases of missing escaping for symbol names.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 16:40:38 +01:00
Jeff Young 19de38bbae Avoid Mac-standard Cmd+H as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 22:26:13 +01:00
Mike Williams 2c766bdb2b Eeschema: fix assigning netclass to buses
Buses with at least one member can use assign netclass functionality to
set all members to that netclass.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8743
2021-07-27 20:48:25 +00:00
Jeff Young dd5676f4bc Implement a safer (RAII) tool re-entrancy guard.
Fixes https://gitlab.com/kicad/code/kicad/issues/8873
2021-07-27 16:37:34 +01:00
Wayne Stambaugh 37b200cb3e Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
Wayne Stambaugh 78e5e98ea0 Pass VECTOR2I objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
jean-pierre charras 8ff76de18e DIALOG_EDIT_ONE_FIELD: fix a non resizable widgets and fix a compil warning.
Fixes #8877
https://gitlab.com/kicad/code/kicad/issues/8877
2021-07-27 14:12:46 +02:00
david-beinder 8467fe5405 Altium schematic import: text positioning and arc fixes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8844 (power port text positioning, only use 0, 90deg for text)
Adjust text justification due to rotation on import
Set field position through SCH_FIELD::SetPosition
Honor hidden net names at power ports
Calculate start/end points for imported arcs in symbols
2021-07-26 19:49:56 +00:00
Wayne Stambaugh 8fd83cbb95 Pass wxPoint objects by reference instead of on the stack. 2021-07-26 15:35:33 -04:00
Mike Williams 924d4563b7 Symbol Editor: Don't unselect library based on non-existent symbol
FIXED: Previously, when the symbol editor frame gains focus it will
unselect the library tree selection unconditionally. This is annoying
when adding a new library and then new symbol to a freshly-opened symbol
editor with no other symbol being edited. Anything that gives the editor
focus will deselect your library before you can add a symbol to it.
2021-07-25 21:37:08 +00:00
Mike Williams 36b2ff262d Symbol Editor: Auto select newly added/created library
CHANGED: When creating a new library, the usual intention is to add a
new symbol to it. Without this, the "No symbol library selected."
message will appear if the user attempts to add a new symbol without
manually selecting their new library.
2021-07-25 21:37:08 +00:00
Mike Williams 13a03f77d3 Eeschema: Fix for delete key in wire tool
Delete key was not working for items selected with wire tool active.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8841
2021-07-25 15:17:49 -04:00
Jeff Young 010247bb7f Add overbar conversion to the legacy SCH reader.
Fixes https://gitlab.com/kicad/code/kicad/issues/8855
2021-07-25 13:11:30 +01:00
jean-pierre charras 1aadf45947 DIALOG_SHIM: fix not working initial size when creating a dialog.
The first time a DIALOG_SHIM was created, with a given size, this size
was not taken in account. This this is now forced.
(when recreated during a session, this is the last dialog size that is used)
2021-07-24 18:59:28 +02:00
jean-pierre charras dbf17f83ed Minor fixes (DIALOG_DISPLAY_HTML_TEXT_BASE: ensure min size is working). 2021-07-24 17:03:36 +02:00
Jeff Young 531f5480a7 Reduce line-breaks and increase SNR. 2021-07-24 14:25:59 +01:00
jean-pierre charras 9820e89268 EE_INSPECTION_TOOL::CheckSymbol(): fix incorrect test about pins on grid.
(the minimal grid was 25 internal units instead of 25 mils)
Also the coordinates in messages are now printed in current user units.
2021-07-23 18:23:25 +02:00
Jeff Young 29eece7409 Move update-wires-if-driver-changed logic.
This prevents RecalculateConnections from getting called twice before
we run the logic.  In that case the driver would change on the first
recalc, and then it would look like it didn't change on the second (which
is where we were checking).

Fixes https://gitlab.com/kicad/code/kicad/issues/8812
2021-07-23 16:45:26 +01:00
Jeff Young fa93c1ec65 Don't include hidden fields in bounding box.
Fixes https://gitlab.com/kicad/code/kicad/issues/8809
2021-07-22 13:56:09 +01:00
Wayne Stambaugh 1a301d8eea Stop using wxDialog::EndModal() from inside dialogs.
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal).  Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
jean-pierre charras bff0307ac0 Edit pin number: fix a crash when a pin is common to all units (i.e. having a unit id = 0)
Fixes #8824
https://gitlab.com/kicad/code/kicad/issues/8824
2021-07-20 16:49:53 +02:00
luz paz 8bacc9fccb Fix python 'testing for equality' syntax
'Testing whether an object is 'None' using the == operator is inefficient and potentially incorrect.'  

Per https://lgtm.com/projects/g/KiCad/kicad-source-mirror/?mode=tree&ruleFocus=7900090
2021-07-19 15:42:30 +00:00
Jeff Young 4317848cfe Only title-caps "our" field names.
Fixes https://gitlab.com/kicad/code/kicad/issues/8803
2021-07-19 14:43:57 +01:00
Jeff Young f5aefb7ad9 User pointer compare, not object compare. 2021-07-19 13:17:12 +01:00
Wayne Stambaugh cb72da294a More NULL expunging. 2021-07-16 16:13:41 -04:00
Seth Hillbrand d1c9572bcc Allow editing symbols when added to schematic
We do not allow editing symbols in Legacy libraries, but once they are
added to the schematic, they become editable
2021-07-16 12:08:57 -07:00
Marek Roszko c794a6ce7a Add pdb install option for msvc 2021-07-14 23:42:45 -04:00
Mikolaj Wielgus 395602b12a Use Bind() instead of Connect() for simulator events
Also fixed "Settings..." menu item not starting settings. I don't know
why it's called `m_boardAdapter`.
2021-07-13 11:52:09 +00:00
Mikolaj Wielgus c6a4f25538 Use wx events to update simulator title, start tools and menu items grayed out 2021-07-13 11:52:09 +00:00
Mikolaj Wielgus 3bafe6d6c9 Gray out unavailable simulator menu items, use wxUpdateUIEvent 2021-07-13 11:52:09 +00:00
Mikolaj Wielgus 4f2856b345 Gray out unavailable tools in simulator toolbar
Cures some of the dialogitis plaguing the simulator.
2021-07-13 11:52:09 +00:00
Mikolaj Wielgus 4f384085e2 Remove m_simulator null-check -- most of code already assumes it exists 2021-07-13 11:52:09 +00:00
luz paz 0446d35f0d Fix source comment/doc typos (follow-up)
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
jean-pierre charras 4df3ba6a56 DIALOG_SPICE_MODEL: expand env var to open lib file selection dialog in the previous selected lib 2021-07-12 19:40:03 +02:00
Jeff Young 0b4bb9378b Use consistent terminology.
Fixes https://gitlab.com/kicad/code/kicad/issues/8777
2021-07-12 11:59:07 +01:00
jean-pierre charras ad7e563e24 Do not translate something similar to a proper noun 2021-07-12 09:02:04 +02:00
Marek Roszko 759f0e9a75 Be sure to stop the timer during widget destruction
Also fix a comment elsewhere :D

Fixes #8772
2021-07-11 19:17:34 -04:00
Jeff Young 5bd30232e8 Remove nag preventing setting shape to default line width.
Fixes https://gitlab.com/kicad/code/kicad/issues/8774
2021-07-11 13:04:55 +01:00
Jeff Young 01d3a88faa Allow unnamed embedded step files in altium boards.
Fixes https://gitlab.com/kicad/code/kicad/issues/7898
2021-07-10 16:37:45 +01:00
Jeff Young 2fc4ee5c5f Upgrade "project is missing" to a warning. 2021-07-10 09:47:49 +01:00
Jeff Young a06b95bb1f Even out spacing around various panels. 2021-07-09 23:42:45 +01:00
Wayne Stambaugh dffe2661e6 Fix SPICE simulator plot bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1944
2021-07-09 16:20:35 -04:00
jean-pierre charras 928c4e8ed7 DIALOG_SPICE_MODEL: expand environment vars in spice library path. 2021-07-09 18:22:59 +02:00
jean-pierre charras f55f9a522b Netlist exporter spice: expand env vars when used in include library name. 2021-07-09 14:22:31 +02:00
Jeff Young 46701c1195 Don't allow undo record to get pushed during an undo.
When doing a schematic cleanup, for instance, we were breaking wires
and pushing undo records on to the stack.  Needless to say, this was
pretty unexpected for the rest of the undo framework and caused all
kinds of mayhem (including crashes in some cases).

Fixes https://gitlab.com/kicad/code/kicad/issues/8704
2021-07-08 19:43:15 +01:00
Jeff Young a4263ebce5 Clean up Altium special string handling
1) Fix a couple of bugs in case processing
2) Make case processing more explicit to prevent more (1)
3) Move label processing to AltiumSpecialStringsToKiCadVariables
4) Strip double-quotes from special strings (and add test cases)
5) Change PROJECTNAME to just filename, not full path
6) PROJECTREV and REVISION are two different things
7) Add support for Altium's Application_BuildNumber
8) Fix some issues in trimming spaces around special strings
2021-07-08 15:34:38 +01:00
Wayne Stambaugh 65c7958293 Coverity issue fixes.
Issues #331869, #331875, #332203, #332159, #332171, #332180, and #332648.
2021-07-08 08:33:08 -04:00
Mikolaj Wielgus 1c28ea0577 Do not create selection with simulator probe tool 2021-07-08 03:15:15 +00:00
Jeff Young 3f165c70e1 Import more Alitum parameters.
ADDED CURRENT_DATE titleblock token (to go with existing ISSUE_DATE)
ADDED PROJECTNAME schematic token (to go with FILENAME and SHEETNAME)

Converts other parameters to project text variables.
2021-07-08 00:19:31 +01:00
Jeff Young c1db5dc0b1 Make the variable replacement table a little easier to read.
Yes, this probably violates all our formatting conventions EXCEPT
the one that says code should be easy to read/visually parse.
2021-07-07 22:06:35 +01:00
Jeff Young 9351a88091 Variable references are case insensitive in Altium. 2021-07-07 22:04:00 +01:00
Jeff Young d51ac65349 Don't try to resolve variables before the schematic is set up.
Fixes https://gitlab.com/kicad/code/kicad/issues/8746
2021-07-07 22:04:00 +01:00
Jeff Young 5a57f6ba98 Clear NEW flags after import.
Fixes https://gitlab.com/kicad/code/kicad/issues/8750
2021-07-07 20:05:50 +01:00
Jeff Young 66eb2ddeb5 Remove auto when not needed for line length. 2021-07-07 20:05:50 +01:00
Jeff Young db91908c18 Add sheetpath instances when importing sheets from Altium. 2021-07-07 20:05:50 +01:00
Jeff Young a81c6b21b6 Formatting. 2021-07-07 20:05:50 +01:00
Thomas Pointhuber 5e9a8e3488 altium: Improve handling of footprint references
Don't assume the implementation list index is always correct by order.
2021-07-07 21:03:21 +02:00
Jeff Young a17862d646 Import Altium harness labels as text.
One day we'll do better, but at least this way the user knows there's
something they need to migrate manually.

Fixes https://gitlab.com/kicad/code/kicad/issues/8748
2021-07-07 17:54:22 +01:00
Jeff Young 5ab56e5320 More Altium importer error reporting cleanup.
1) Use REPORTER instead of wxLog
2) Use consistent, non-techy strings
3) Use consistent severity levels

Fixes https://gitlab.com/kicad/code/kicad/issues/8747
2021-07-07 12:43:33 +01:00
Jeff Young 3b288b1b1b Pull textframe processing out from under note and allow both.
Note that there's still a bunch of stuff we don't support regarding
textframes such as wordwrap and background colours, but this at least
keeps the text from getting lost.

Fixes https://gitlab.com/kicad/code/kicad/issues/8741
2021-07-06 20:27:28 +01:00
Jeff Young 190b0ecdeb Formatting. 2021-07-06 20:27:28 +01:00
Wayne Stambaugh 9d348d7e6d Coverity issue fixes. 2021-07-06 13:32:34 -04:00
Jeff Young 0be91c5b7d Import Altium footprint references into symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/7751
2021-07-06 14:40:29 +01:00
Jeff Young 3288971a7c Allow titleblock vars to be resolved outside the titleblock.
Also implements some variable resolving for Altium imports.
2021-07-06 13:30:17 +01:00
Mikolaj Wielgus 43cce8b0b5 Remove automatic simulation start on simulator launch
Fixes https://gitlab.com/kicad/code/kicad/issues/8644
2021-07-06 10:08:19 +00:00
Mikolaj Wielgus 6dfd655a7f Save simulator checkbox settings in project file
Fixes https://gitlab.com/kicad/code/kicad/issues/8450
2021-07-06 10:06:51 +00:00
Jeff Young b0c07a28b3 Add importing of Altium notes.
Import is incomplete because KiCad doesn't support text boxes yet
(so we can't do borders, word-wrap, background fills, etc.).

Fixes https://gitlab.com/kicad/code/kicad/issues/8734
2021-07-05 23:59:43 +01:00
Jeff Young f6aaaff81a Smarten regex to include overbar, superscript and subscript.
Fixes https://gitlab.com/kicad/code/kicad/issues/8730
2021-07-05 20:26:05 +01:00
Jeff Young ea6769b702 The REPORTER interface is inherently line-based.
Also fixes a bunch of error messages that were similar but not
identical (which just increases translation burden).

Fixes https://gitlab.com/kicad/code/kicad/issues/8723
2021-07-05 13:41:06 +01:00
Jeff Young 26df39e71a Naming conventions. 2021-07-05 11:05:46 +01:00
Jeff Young 6c161eec68 Autodetect plugin type when editing filename cell.
Fixes https://gitlab.com/kicad/code/kicad/issues/8687
2021-07-04 18:21:16 +01:00
Mikolaj Wielgus 8b2b3ca797 Define .wbk in wildcards_and_files.{cpp,h}, cosmetic code changes 2021-07-04 14:04:03 +00:00
Mikolaj Wielgus df2d4966b1 Do not set dirty bit on simulator launch, remove dead code 2021-07-04 14:04:03 +00:00
Mikolaj Wielgus 9f1ecdd715 Give Spice simulator "Save As" option Shift+Ctrl+S shortcut key 2021-07-04 14:04:03 +00:00
Mikolaj Wielgus 87441e256c Escape CR and LF in Spice simulation command when saved 2021-07-04 14:04:03 +00:00
Mikolaj Wielgus bd1f3d85f4 Spice sim: Have more detailed error messages 2021-07-04 14:04:03 +00:00
Mikolaj Wielgus 86c7db46b9 If there is no project name, default workbook name shall be "noname.wbk" 2021-07-04 14:04:03 +00:00
Mikolaj Wielgus 28531a982d Simulator: Use SIM_WORKBOOK in place of wxAuiNotebook
SIM_WORKBOOK is now a subclass of wxAuiNotebook, removing the problem of
having to maintain two separate workbook states.
2021-07-04 14:04:03 +00:00
Mikolaj Wielgus cd0c8a5676 Make panel sim command only accessible from outside through workbook object 2021-07-04 14:04:03 +00:00
Jeff Young c11ee69499 Save 3D prefs after editing, and load some of them into FP Props.
Fixes https://gitlab.com/kicad/code/kicad/issues/8712
2021-07-04 13:20:55 +01:00
Jeff Young aa5902bd99 Process Altium pin name and number hidden flags.
Fixes https://gitlab.com/kicad/code/kicad/issues/7853
2021-07-04 00:18:42 +01:00
david-beinder a5308e5f5c Fix python console toggle to work across pcbnew/eeschema 2021-07-03 22:48:46 +00:00
Jon Evans fc96cb90f1 Fix validation of net names in eeschema
The SCH_NETNAME_VALIDATOR wasn't even being used because C++ is great

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1821
2021-07-03 17:25:29 -04:00
Jeff Young f46486bc3e Naming conventions. 2021-07-03 21:43:57 +01:00
Jon Evans 3aab37bd2a Fix determinism issue when comparing a local and hierarchical label
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8406
2021-07-03 16:43:00 -04:00
Jon Evans 8cbd754362 Preserve highlighted connection through a recalculation 2021-07-03 16:43:00 -04:00
Jeff Young 5507230b9b Minor dialog spacing issue. 2021-07-03 15:24:54 +01:00
Wayne Stambaugh 3f6811f413 Minor dialog layout improvements. 2021-07-02 11:36:06 -04:00
jean-pierre charras eedd32177e Fix a minor compil warning 2021-07-02 16:11:26 +02:00
Marek Roszko eff75b630f Get rid of anonymous struct typedefs
We are using C++14 where there is no reason for this and is banned in C++20 under P1766R1. MSVC generates a warning under C++14 as a reminder.
2021-07-01 18:28:41 -04:00
Jeff Young d7271c9281 Unescape strings for display in symbol browser.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-01 22:01:13 +01:00
Jeff Young 04764c9224 Allow dragging of fields in symbol aliases.
Fixes https://gitlab.com/kicad/code/kicad/issues/8698
2021-07-01 21:03:53 +01:00
Jeff Young f8a34d98b3 Support for overbar syntax in Altium importer.
Fixes https://gitlab.com/kicad/code/kicad/issues/7979
2021-07-01 21:03:53 +01:00
Jeff Young dacb5f58e8 Default bus entries to default (0 width and transparent color).
Also adds some help text to the dialog so it's easier to figure out
what's going on.

Fixes https://gitlab.com/kicad/code/kicad/issues/8607
2021-07-01 15:43:19 +01:00
Jeff Young 24e54178db Make sure pin hittest regions don't get too hard to hit.
Fixes https://gitlab.com/kicad/code/kicad/issues/8616
2021-07-01 15:43:19 +01:00
Jeff Young 201c34345f Fix sheet filename if it's missing extension.
Fixes https://gitlab.com/kicad/code/kicad/issues/8619
2021-07-01 15:43:19 +01:00
Wayne Stambaugh 175b474c3e Coverity issue fixes.
Fixes issues #280412, #314755, #329615, #332459, #332157, #332167,
2021-06-30 18:08:49 -04:00
Jeff Young 00504368d6 Better label for fieldname filter, and single undo for all sheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/8704
2021-06-30 18:45:18 +01:00
Jeff Young 6810912f09 Refuse to load schematics from the future.
Also fixes a bug where an empty window would get left when loading
a file from the KiCad manager window errored out.

Also fixes a bug where we were getting the wrong exception because
we were rethrowing the type-casted one (rather than just calling
throw).

Fixes https://gitlab.com/kicad/code/kicad/issues/8604
2021-06-30 18:32:07 +01:00
Jeff Young e695c580fd Resolve textvar cross-references even if the field doesn't exist.
Fixes https://gitlab.com/kicad/code/kicad/issues/8701
2021-06-30 13:12:57 +01:00
Jeff Young 2aa2493472 Resolve un-set template fieldnames to empty string.
Fixes https://gitlab.com/kicad/code/kicad/issues/8699
2021-06-30 13:12:57 +01:00
Jeff Young 5cac8afe1d Remove long-dead revision support for LIB_IDs. 2021-06-30 13:12:57 +01:00
Jeff Young b1b4caee6a Escape "naughty" characters in symbol names.
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road.  Better
to just escape them.

Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
Jeff Young c07367821e Fix compile error, and use more robust method of setting fonts. 2021-06-29 19:36:06 +01:00
Jeff Young 0c2ac9a711 Move GUI font code to common.
This also allows the Mac fixes for font facenames to be more
compartmentalized.

Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young 64f07ea9c6 Update text variables after changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8697
2021-06-29 13:55:06 +01:00
Jeff Young 6c67dfa032 Improve eeschema colour preview zoom-to-fit a bit. 2021-06-29 01:08:26 +01:00
Jeff Young a1dfc36233 More error message regularization. 2021-06-29 01:08:26 +01:00
Jeff Young e2a2c3282a Update fields list when source or target lib IDs change.
Fixes https://gitlab.com/kicad/code/kicad/issues/8263
2021-06-28 20:38:19 +01:00
Jeff Young d296bec5b8 Differentiate aSingleLine mode for SCINTILLA_TRICKS
This allows us to avoid the monospaced font (along with the tab-stop
handling), and process a <return> as an OK rather than just <shift> +
<return>.

Fixes https://gitlab.com/kicad/code/kicad/issues/8425
2021-06-28 11:20:12 +01:00
Jeff Young 062c4fda62 More error message regularization (and translatability improvements). 2021-06-28 00:45:24 +01:00
Jeff Young 4aa8318dc2 More error message regularization. 2021-06-27 14:24:02 +01:00
Jeff Young 0dfb5fcaf9 Error message cleanup.
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young 4c5df22eb0 Don't show busy cursor when dialogs (including progress) are in use.
Also removes a stale comment.
Also moves the progress reporters earlier to lessen need for busy cursor.
Also cleans up some error strings and makes other more easily translatable.
2021-06-26 22:53:24 +01:00
Jeff Young 5c21f93803 Consistency in progress and error messages. 2021-06-26 13:23:43 +01:00
Jeff Young 173c9a974c Formatting. 2021-06-25 20:49:38 +01:00
Jeff Young 27804e40e2 Go back to using space-width for tabs (instead of max-char-width).
The max-char-width impl was buggy and never applied to PCBNew anyway.
Plus the stroke font has a max-char-width of 2.8 time the space width,
so it made for really wide tab spacing.

Also fixes a bug where the Scintilla editors weren't getting a
monospace font on Mac.  (This bug may also exist on the other
platforms, but each would need its own fix.)

Also moves more of the Scintalla customizations to SCINTILLA_TRICKS
where they can be shared.

Fixes https://gitlab.com/kicad/code/kicad/issues/8666
2021-06-24 23:53:27 +01:00
Jeff Young 8502fd6877 Divide-by-zero safety. 2021-06-24 12:18:22 +01:00
Jeff Young 5fa5a73c6d File open/import progress dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/6864

Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Roberto Fernandez Bautista 466536d509 Make sure hierarchy is up to date before checking duplicate sheet names
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8654
2021-06-22 21:41:50 +01:00
RigoLigoRLC a495a57602 Change syntax help for overbars to match syntax changes 2021-06-22 08:06:08 +00:00
Jeff Young 6d223931fb Convert overbar syntax in bus aliases.
Fixes https://gitlab.com/kicad/code/kicad/issues/8647
2021-06-21 20:13:21 +01:00
PJM 15d36456a9 Eeschema: Save annotation starting value in project settings
CHANGED: Added support for saving the starting value for annotation

Fixes https://gitlab.com/kicad/code/kicad/issues/8364
2021-06-21 10:19:09 +00:00
Jeff Young 685ee31c35 Workaround a few more OSX printf problems.
Also regularizes the frame title processing.

Also fixes a type where the library name wasn't processed for
variable expansion.

Fixes https://gitlab.com/kicad/code/kicad/issues/7742
2021-06-20 22:48:19 +01:00
Jeff Young b72545a432 Implement more aggressive re-entrancy blocking for drawing tools.
A similar strategy was already implemented in Eeschema.

Also adds some safety around clearing of autopan and mouse capture.

Fixes https://gitlab.com/kicad/code/kicad/issues/6909
2021-06-20 11:09:55 +01:00
Mikolaj Wielgus 19f76ae77c Convert pin names to new overbar format
Fixes bug 6 of https://gitlab.com/kicad/code/kicad/issues/8591, thereby
closing the issue:

Fixes https://gitlab.com/kicad/code/kicad/issues/8591
2021-06-20 09:00:16 +00:00
Jakob Haufe 430b8358ab
Fix comment 2021-06-19 14:32:55 +00:00
Jeff Young 96e4b19444 Append Schematic Content -> Insert Schematic Content
Fixes https://gitlab.com/kicad/code/kicad/issues/7905
2021-06-18 21:23:49 +01:00
Jeff Young d811ae0aa3 Improved ASCII art. 2021-06-18 12:01:16 +01:00
jean-pierre charras c35cceca62 fix compil warnings ( "multi-line comment" ) and missing override 2021-06-18 09:38:19 +02:00
Jeff Young e540752640 Allow all selected footprints/symbols to be changed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7389
2021-06-17 23:34:56 +01:00
Jeff Young 389287e942 A bit more Part -> Symbol. 2021-06-17 22:24:41 +01:00
Jeff Young c0ad498c4a Report all lib symbol issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/7725
2021-06-17 22:24:41 +01:00
Jeff Young bdeeace2ab More Eagle importer fixes.
1) Don't process wires more than once when looking for bus entries.
2) Don't allow processing a wire to mess up iteration over the RTree.
2021-06-17 18:16:38 +01:00
Jeff Young 0484ca5564 Separate LIB_PIN and SCH_PIN GetShownName/Number processing.
SCH_PIN wasn't handling the legacy empty string token (~), but
more importantly this will allow text variable resolution specific
to the schematic.

Fixes https://gitlab.com/kicad/code/kicad/issues/8625
2021-06-17 10:52:46 +01:00
Jeff Young b10f156dd0 Don't convert overbar syntax in most fields.
You probably do want it in VALUE, but not REFERENCE, and certainly
not FOOTPRINT or DATASHEET.  User fields are more likely to be
part numbers, etc. (and don't want conversion).

Fixes https://gitlab.com/kicad/code/kicad/issues/8617
2021-06-17 00:05:17 +01:00
Jeff Young 1722bc03b0 Consistent terminology and punctuation. 2021-06-17 00:05:17 +01:00
Jeff Young c23c5b7f18 Allow import of Eagle schematics without libraries. 2021-06-16 22:02:50 +01:00
Jeff Young 4b28bac89a Fixes for Eagle importer.
1) Make sure we set an absolute path on the sheet.
2) Don't mix RTree iterators; wires get skipped between buses.
3) Implement a real ERC error so we don't assert.

Fixes https://gitlab.com/kicad/code/kicad/issues/7042
2021-06-16 21:44:18 +01:00
Jeff Young decfe89091 Refresh after import; don't wait for user to move mouse. 2021-06-16 21:44:18 +01:00
Seth Hillbrand 7953a5c62b Work around MacOS printf/format issues
MacOS wxWidgets implementation of wxPrintf/Format suffers from some
issues when mixing string types.  We avoid this by manually formatting
the string ourselves.

Fixes https://gitlab.com/kicad/code/kicad/issues/8404
2021-06-16 11:54:55 -07:00
Jon Evans 27932883d9 Pass configured Python interpreter in to use for BOM plugins
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8594
2021-06-15 22:52:16 -04:00
Jeff Young 21b869bd1f Fix a few cases missed in the last merge.
Fixes https://gitlab.com/kicad/code/kicad/issues/7042
2021-06-16 00:01:28 +01:00
Jeff Young 3a84ee27fd First take at repairing Eagle import of bus entries.
Simplify logic by adding quadrant-based BUS_ENTRY ctor.
Fix issue with bus entry size having been in mils rather than IU.
Fix issues with logic.

Fixes https://gitlab.com/kicad/code/kicad/issues/7042
2021-06-15 23:23:47 +01:00
Michal Schulz a895dc15f9 eeschema label edit dialog replaces '\r' occurances with '\n'. 2021-06-15 14:59:04 +00:00
Wayne Stambaugh ff099453c8 Rename class_library.[h|cpp] to symbol_library.[h|cpp]. 2021-06-15 09:24:55 -04:00
Wayne Stambaugh ee3eac325d Expunge the use of the word part from Eeschema code. 2021-06-15 08:32:11 -04:00
Jeff Young 4418707e5e Add a few more overbar syntax conversion calls.
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
2021-06-15 13:09:18 +01:00
Wayne Stambaugh fb46cd8bc5 Expunge the use of the word component from Eeschema code.
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Wayne Stambaugh 71c183d7bb Rename LIB_PART to LIB_SYMBOL. 2021-06-14 07:11:17 -04:00
Jeff Young 3763aca52c Use getLineWidth() when drawing bus entries.
(Otherwise inheriting from the netclass or schematic doesn't work.)

Also fixes precedence order in GetPenWidth() for the two BUS_ENTRY
classes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8601
2021-06-13 20:52:03 +01:00
Jeff Young a386d44134 Fix typo fetching stroke width.
Fixes https://gitlab.com/kicad/code/kicad/issues/8600
2021-06-13 20:31:53 +01:00
Jeff Young a1a48a4c42 Don't allow rotation/mirroring while dragging.
Fixes https://gitlab.com/kicad/code/kicad/issues/8523
2021-06-13 20:22:25 +01:00
Jeff Young d9cb5a3015 Make sure text gets rotated, not just position.
Fixes https://gitlab.com/kicad/code/kicad/issues/7964
2021-06-13 20:22:25 +01:00
Jeff Young 08d56f897c Update Hierarchy Navigator after performing file actions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8498
2021-06-13 17:15:43 +01:00
Jeff Young bcdec0dea7 Move '~' pin name processing to LIB_PIN and SCH_PIN.
This will also allow us to do variable processing in the future if
desired.
2021-06-12 19:54:34 +01:00