Commit Graph

7508 Commits

Author SHA1 Message Date
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
Jeff Young ceb23c3aac Don't display legacy placeholder for empty string ("~"). 2021-06-12 18:58:15 +01:00
jean-pierre charras a297e8f202 Gerbview, export to pcbnew: use gr_circle instead of polygon for flashed round shapes 2021-06-12 09:26:36 +02:00
Mikolaj Wielgus ade38f48bc Add conversion from old `~...~` to new `~{...}` notation 2021-06-11 18:40:57 +00:00
Mikolaj Wielgus 3d520ebe1e Replace `~...~` overbar syntax with `~{...}`
Fixes https://gitlab.com/kicad/code/kicad/issues/8134

Fixes https://gitlab.com/kicad/code/kicad/issues/4227
2021-06-11 18:40:57 +00:00
Wayne Stambaugh fbc135e69f Rename SCH_COMPONENT to SCH_SYMBOL. 2021-06-10 10:34:49 -04:00
jean-pierre charras 1c3df973d6 Coverity warnings fixes. 2021-06-10 13:45:02 +02:00
luz paz 5f1e9bc8a7 Fix typos in source code 2021-06-10 01:24:15 +00:00
luz paz f968fc8719 Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
Jeff Young de95edb5ad UI improvements for Manage Symbol Libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/8466
2021-06-09 19:20:51 +01:00
Wayne Stambaugh 2c19fbd752 Remove a few unnecessary headers. 2021-06-09 12:28:03 -04:00
Marek Roszko d946d6e68f Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
Marek Roszko 6e01ce84b9 Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars 2021-06-08 19:12:30 -04:00
Marek Roszko c854811ac4 Parent frame already includes undo_redo_container.h 2021-06-08 19:12:30 -04:00
Jeff Young ed0e0a00c0 Clear selection before importing schematic.
Also moves some error messages to use consistent terminology.

Fixes https://gitlab.com/kicad/code/kicad/issues/8421
2021-06-08 16:08:22 +01:00
Wayne Stambaugh 9ebabb222c Pass objects by reference instead of on the stack. 2021-06-08 10:09:38 -04:00
Marek Roszko 3a129a623a Kick wx.h out of eeschema 2021-06-07 18:38:51 -04:00
Marek Roszko 8f2819cfa4 Kill the last of wx/wx.h in headers 2021-06-07 17:59:20 -04:00
Johannes Maibaum 022dd6072c Add utility method to resolve symlinks
The same logic block to resolve possible symlinks exists in 5 different
places now. This change moves this duplicated code to a static member
function of WX_FILENAME instead.
2021-06-07 20:59:59 +00:00
Johannes Maibaum 542c02046b Write through symlinks for schematics and PCBs 2021-06-07 20:59:59 +00:00
Sylwester Kocjan b0e6bbb39c eeschema: remove m_simCommand from SIM_WORKBOOK 2021-06-07 20:00:48 +00:00
Sylwester Kocjan 917e329bdf eeschema: remove TRACE_DESC from SIM_WORKBOOK 2021-06-07 20:00:48 +00:00
Jeff Young 3ff670d2a4 Disable ACTIONS::openPreferences for now.
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
Jeff Young e91721cb62 Minor cleanup. 2021-06-07 20:51:45 +01:00
jean-pierre charras 6cfc2755ed Remove a useless "#include wx/wx.h" from wx_html_report_panel.h 2021-06-07 09:26:13 +02:00
Marek Roszko 33bbf85a3e Use the parent frame GetSettings helper rather than including for Pgm() 2021-06-06 19:05:12 -04:00
Jeff Young f02d7ee593 Fix some (unexplained) issues with wxString::Printf on my build. 2021-06-06 19:01:23 +01:00
Ian McInerney dc27079b71 cleanup tool event and tool action includes 2021-06-06 18:26:26 +01:00
Marek Roszko fcb21038cb Reduce some eda_item.h usage in headers 2021-06-06 11:09:06 -04:00
Marek Roszko ad111a513d Remove eda_itemf rom sch_view.h 2021-06-06 11:09:06 -04:00
Marek Roszko c337f747b8 DIALOG_PIN_PROPERTIES does not need wx/msgdlg 2021-06-06 09:36:04 -04:00
Marek Roszko fc3cea2cca Remove wx/xml/xml.h from sch_eagle_plugin.h 2021-06-06 09:34:57 -04:00
Marek Roszko 7fa6e13c48 Remove xnode.h from netlist_exporter_xml.h 2021-06-06 09:32:36 -04:00
Jon Evans c9a660a80c Rework JSON integration to speed up build 2021-06-05 17:08:38 -04:00
Johannes Maibaum 06e967354f Fix symlink read-/write-through code
Use `realpath(3)` instead of `readlink(3)`, which offers support for
relative and absolute symlinks alike, since all symbolic links will be
resolved to the absolute path of the linked-to file.

Fixes #8082
2021-06-05 14:22:50 +00:00
Jon Evans 9ffa2955b7 Fix drag of bus wire creating net wires 2021-06-03 22:29:04 -04:00
Marek Roszko b1c9083743 Remove the wx/docview.h include 2021-06-03 18:42:08 -04:00
Marek Roszko 4e94b1fe86 Remove the universal sockets include 2021-06-03 17:59:46 -04:00
Wayne Stambaugh 7c14e4e967 Common widget header housekeeping. 2021-06-03 12:02:45 -04:00
Marek Roszko 4df3cb912d Remove another leaky wx/log.h header 2021-06-03 08:11:15 -04:00
Marek Roszko 7faee5eda5 Stop salt the eart with wxhtml.h 2021-06-03 07:49:49 -04:00
Marek Roszko b5b76eedf7 Avoid sharing gdicmn for just bitmaps 2021-06-03 01:46:04 -04:00
Ian McInerney 3ab69939f9 Remove wx.h from many files 2021-06-03 02:19:20 +01:00
Marek Roszko af2707929d Don't leak a wx header via eda_item.h
Turns out this provided the translation header globally :D
2021-06-02 19:18:48 -04:00
jean-pierre charras 6919d12c70 Eeschema, Spice simulator: use Ctrl+letter as accelerator keys.
Using only a letter can conflict with widgets accepting letters to enter data.
Fixes #8537
https://gitlab.com/kicad/code/kicad/issues/8537
2021-06-02 19:45:30 +02:00
Ian McInerney f03ca3259e Remove unused Boost code/includes 2021-06-02 18:39:43 +01:00
Marek Roszko eeb405c196 Cleanup some more excess math/util includes 2021-06-02 00:50:46 -04:00
Marek Roszko 5f581aa6ad Move some LABEL_SPIN_STYLE to the cpp to add back warnings 2021-06-02 00:26:16 -04:00
Jon Evans 9effeb1fcb Don't crash if an invalid bus connection is made
Certain situations can trigger the stale cleanup being run
on a bus that doesn't actually contain the stated member.
In this case we should just keep calm and carry on -- who knows
what netlist will be generated, but we shouldn't crash.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8530
2021-06-01 21:49:25 -04:00
Marek Roszko cf2bb5692a Remove the wxLog calls from math/util.h for now
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Seth Hillbrand c7d188a8d0 Centralizing SCRIPTING class 2021-06-01 20:18:24 +00:00
Seth Hillbrand f274a00c08 Remove PYTHON_* compile options 2021-06-01 20:18:24 +00:00
Mikolaj Wielgus 33c0bb78fd Use file absolute path when determining title bar indicators
Fixes https://gitlab.com/kicad/code/kicad/issues/8449
2021-06-01 17:03:20 +00:00
Giulio Girardi cc5b3f1a2f Always check simulator netlist options
Before the simulation netlist checkboxes were considered only when
changing the simulation type
2021-06-01 12:42:45 +00:00
jean-pierre charras d84fcd89f1 bom html python scripts: enhancements 2021-05-31 18:54:36 +02:00
jean-pierre charras 54fbcbac36 BOM python plugins: restrict changes made in commit 35f9cd26 to Windows. 2021-05-31 17:06:23 +02:00
Jeff Young c4cabb38d5 More worksheet -> drawing sheet cleanup.
Fixes https://gitlab.com/kicad/code/kicad/issues/8516
2021-05-31 12:26:44 +01:00
Jeff Young 0598c82972 Terminology (use present tense for flags). 2021-05-31 12:26:44 +01:00
Jeff Young 1be2c8cc40 More trouble with the IS_MOVED flag.
We moved it earlier because AddItemToScreenAndUndoList() was clearing
it, but it needs to be set for AddItemToScreenAndUndoList() too.

Fixes https://gitlab.com/kicad/code/kicad/issues/8289
2021-05-31 12:26:44 +01:00
jean-pierre charras 35f9cd2634 BOM python plugins: fix some issues related to python2/3 and utf-8 chars. 2021-05-31 10:03:53 +02:00
Marek Roszko 1b94534451 Revert "Use lambdas to fix paste conditions"
This reverts commit 65c7c77c3d.
2021-05-30 21:25:42 -04:00
Marek Roszko 3ac5aa5369 enum class SHEET_SIDE 2021-05-30 21:23:46 -04:00
Marek Roszko 65c7c77c3d Use lambdas to fix paste conditions
`SELECTION_CONDITIONS::Idle && ` was evaluating as always true because this was referencing the function pointer
2021-05-30 20:37:16 -04:00
Marek Roszko 382dca4e6f Fix uninitialized member warnings
Based on PVS Studio report
2021-05-30 20:01:01 -04:00
jean-pierre charras a60183ec32 netlist xml: fix missing space between UUIDs for multi-units symbols (trial 2).
Fixes #8509
https://gitlab.com/kicad/code/kicad/issues/8509
2021-05-30 11:23:14 +02:00
jean-pierre charras 71f40bd67c Revert a change made in commit acb024f6, because it breaks the .net netlist format. 2021-05-30 08:37:13 +02:00
jean-pierre charras acb024f622 netlist exporter xml: fix missing space between UUIDs for multi-units symbols.
(similar to the .net netlist)
kicad_netlist_reader.py: fix compatibility with V6 xml netlist :
"tstamp" keyword is now "tstamps" keyword.
Fixes #8509
https://gitlab.com/kicad/code/kicad/issues/8509
2021-05-29 18:29:02 +02:00
jean-pierre charras 81c7fb61f8 Sub-menu "Preferences..." in main menu "Preferences": fix not working accelerator key.
Accelerator keys are disable in our WX_MENUBAR. A common ACTION_MENU is used and
"Preferences..." is now shown in Hotkeys list.
2021-05-29 18:09:49 +02:00
jean-pierre charras 37c31196f4 Eeschema, importFile: build the HTML report messages before displaying the dialog.
Fixes #8507
https://gitlab.com/kicad/code/kicad/issues/8507
2021-05-29 10:23:11 +02:00
Seth Hillbrand be5b281501 Cleanup RAD2DEG and unused vars 2021-05-28 12:37:57 -07:00
Seth Hillbrand f47784cd14 Fixup Junctions should call common tool 2021-05-28 12:35:38 -07:00
Roberto Fernandez Bautista 3fa8795f26 Fix crash in LIBEDIT when editing pins
Units in library items start at 1. 0 is reserved for "all units".
Previous code was requesting an out of range index due to an assumption
that units start at 0.
2021-05-28 20:13:11 +01:00
Roberto Fernandez Bautista 9a9c9d38e8 CADSTAR Schematic: Cleanup pins in symbols
In CADSTAR pins are single points. We can replicate the original look
of the schematic in most cases by searching the symbol for straight
segments that are coincident with the pin and use those to calculate
a suitable pin length and angle.
2021-05-28 20:13:11 +01:00
Roberto Fernandez Bautista 29d1b84939 CADSTAR Schematic: Fix positioning of symbol attributes
Symbol attributes were being placed at the wrong location
due to incorrect relative angle calculation
2021-05-28 20:13:10 +01:00
Roberto Fernandez Bautista 8d788b7a09 CADSTAR Schematic: Fix assert regarding sheet absolute path 2021-05-28 20:13:10 +01:00
Roberto Fernandez Bautista 63f56640db CADSTAR Schematic: Add needed junctions on load
Fixes a bug that was causing junctions to disappear when they
were not perfectly positioned in the original CADSTAR design.
2021-05-28 20:13:10 +01:00
Roberto Fernandez Bautista b985c4d2e9 CADSTAR Schematic: Handle scaled symbols
Create a new LIB_PART for scaled symbols. These will be then embedded
into the schematic file. However when "update from library" is done,
it will revert to the unscaled symbol.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8494
2021-05-28 20:13:10 +01:00
Seth Hillbrand 752ae4d519 Rename modification flag routines
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Seth Hillbrand d7f219e98f Unify IsSave and IsModify
The flags and calls were used identically, leading to potential
confusion/bugs.  Testing for modification should go through
IsContentModified()
2021-05-28 11:51:54 -07:00
jean-pierre charras 40b96c8388 Netlisters: do not remove unconnected pins from netlists needing all pins.
Fixes #8499
https://gitlab.com/kicad/code/kicad/issues/8499
2021-05-28 10:09:33 +02:00
Wayne Stambaugh fdcc49d3ee Eeschema: fix saving hierarchical sheets in stand alone mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8209
2021-05-27 16:01:36 -04:00
Wayne Stambaugh 9fcd847238 Eeschema: allow sheet file paths outside the project to be relative. 2021-05-27 14:48:22 -04:00
jean-pierre charras bd72f7a054 DIALOG_PIN_PROPERTIES: shows the pin connect point, like in symbol editor.
(See commit 2817c)
2021-05-27 20:45:45 +02:00
Wayne Stambaugh b1572dd56b Eeschema: fix broken sheet paths when adding existing schematic.
All existing sheet schematic file paths were completely trashed when adding
a new sheet from an existing file outside of the project path.
2021-05-27 14:04:56 -04:00
Jeff Young 2817c3b3de Always show pin dangling symbols in Symbol Editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/8493
2021-05-27 17:50:21 +01:00
Jeff Young 42eae27551 Rebuild selection after heavy lifting.
Undo does some fairly major redraws (including setting the current
screen), all of which drop the selection and cancel interactive tools.
Make sure the selection is re-built *after* all those run.

Fixes https://gitlab.com/kicad/code/kicad/issues/8492
2021-05-27 14:25:37 +01:00
david-beinder 64cd401bdb Delete Tool: Fix missing "Item Locked" popup
Fixes problem identified in https://gitlab.com/kicad/code/kicad/-/issues/8392
Removes same popup from schematic tool because SCH_ITEM can not be locked
2021-05-27 05:38:51 +00:00
Wayne Stambaugh 71b3ab432c Eeschema: fix broken sheet name edit control validator. 2021-05-26 15:26:48 -04:00
Jeff Young 3d0fe8e2c6 Only initialize VALIDATOR if we're using it.
It appears to get called by the wxWidgets framework sometimes even
when invisible/unenabled.

Fixes https://gitlab.com/kicad/code/kicad/issues/8483
2021-05-26 12:39:33 +01:00
Wayne Stambaugh db900fe526 Eeschema: fix broken schematic edit control validators.
Sheet file names can have ':', '\', and '/' characters depending on the
platform so don't exclude them.  Warn the user when any platform specific
paths are used about the platform capability issues rather than outright
prevent them from being used which prevents absolute paths from being used
even when they are desired by the user.

Fix broken validator behavior when excluded characters are not white space
characters only.
2021-05-25 14:10:29 -04:00
Jeff Young 45ba067642 Update SCH_SCREENs RTree after placing new symbol.
Fixes https://gitlab.com/kicad/code/kicad/issues/8451
2021-05-25 15:10:10 +01:00
Roberto Fernandez Bautista be436ec977 Remove whitespace from page numbers on load and use # if page is empty
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8350
2021-05-21 22:52:47 +01:00
Roberto Fernandez Bautista 6b764f893a Assign a page number to all sheet instances when adding a sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8208
2021-05-21 22:52:40 +01:00
Roberto Fernandez Bautista 5cf3e6d31a eeschema: Duplicate() is a Copy() followed by a Paste()
The only subtle difference is that Duplicate() does not modify the
clipboard contents so we need to keep a local variable in which to
store the result of a Copy()
2021-05-21 22:52:34 +01:00
Giulio Girardi 78a475d75b Enable "Spice settings" button on derived symbols 2021-05-20 14:53:23 +00:00
Wayne Stambaugh 11785b08fe Eeschema: fix plot path in stand alone mode with no project loaded.
Fixes https://gitlab.com/kicad/code/kicad/8308
2021-05-18 13:59:27 -04:00
Wayne Stambaugh 57d4347f00 Eeschema: move schematic plot dialog code into dialog_plog_schematic.cpp.
This makes it easier to find all of the dialog code, has less files to
compile, and makes it easier to see the redundant code that could be
refactored.
2021-05-17 17:00:30 -04:00
jean-pierre charras cda9650380 Eeschema: ensure the actual canvas type is saved in config.
The saved type was not updated after switching the canvas type from Preferences.
2021-05-17 11:48:37 +02:00
Mikolaj Wielgus 33c6bdd121 Preserve plot panel order in simulator notebook 2021-05-15 12:26:50 +00:00
Mikolaj Wielgus afc6d29fde Fix relative path used where absolute path should be 2021-05-15 12:26:50 +00:00
Mikolaj Wielgus b9fd18d150 Minor UI changes, display workbook in title and some fixes 2021-05-15 12:26:50 +00:00
Mikolaj Wielgus 5410510bd4 Spice sim: remember last simulation, remove welcome page
Fixes https://gitlab.com/kicad/code/kicad/issues/8019
2021-05-15 12:26:50 +00:00
Wayne Stambaugh ebd53cd45c Eeschema: fix text justification terminology.
Use justification instead of orientation relative to the anchor point when
describing text direction and alignment.  This seems to be the preferred
method by most users so hopefully this will eliminate some confusion.

Fix a bug in the s-expression schematic parser that failed to take into
account how graphical text alignment is defined for graphic text objects
compared to label text objects.

Fixes https://gitlab.com/kicad/code/kicad/issues/6489
2021-05-14 13:44:17 -04:00
Wayne Stambaugh e4ac0fb5a1 Eeschema: fix minor editing options panel lay out issues. 2021-05-12 18:04:23 -04:00
jean-pierre charras 64afa3a42e EEschema, minor fix: avoid modifying frame title after an autosave.
Fixes #8411
https://gitlab.com/kicad/code/kicad/issues/8411
2021-05-12 09:45:23 +02:00
Jeff Young 2a856890e6 Allow connections between sheet (pins) and symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/8305
2021-05-12 00:07:17 +01:00
Jon Evans 55c1d814f9 Fix hierarchical propagation for designs with unmatched hier ports
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8397
2021-05-10 17:54:09 -04:00
Jeff Young 7356f9568d Move grid disable modifier from ALT to CTRL.
Also had to move the H/V/45 disable modifier from CTRL to SHIFT.

Fixes https://gitlab.com/kicad/code/kicad/issues/8124
2021-05-09 20:17:40 +01:00
Jeff Young 7c66a0a594 Selection routines should never be snapped. 2021-05-09 18:14:41 +01:00
Jeff Young f03152a548 Add some more tools to the "don't allow tool loop interruption" set.
See also b78ba12739.

Fixes https://gitlab.com/kicad/code/kicad/issues/8071
2021-05-09 17:30:32 +01:00
Jeff Young 693fbf9073 Ask user before overwriting a file when migrating symbol libs.
Fixes https://gitlab.com/kicad/code/kicad/issues/8299
2021-05-08 23:09:51 +01:00
Jeff Young b78ba12739 Don't allow activation of other tools in the middle of a move.
Fixes https://gitlab.com/kicad/code/kicad/issues/8116
2021-05-08 20:49:51 +01:00
Wayne Stambaugh 6e017b475d Warn user before removing invalid rows from library table entries.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8080
2021-05-08 08:58:54 -04:00
david-beinder 063f26531c Make LIB_PART::GetPins() return data for derived symbols
https://gitlab.com/kicad/code/kicad/-/issues/8212
2021-05-06 22:00:06 +00:00
Ian McInerney 5378cacee3 Don't make a copy when looping 2021-05-06 21:56:21 +01:00
Wayne Stambaugh 5da8e700ce Eeschema: fix BOM path bug in stand alone mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8180
2021-05-06 15:42:38 -04:00
Wayne Stambaugh 68085820ff Eeschema: fix value and footprint field update bug.
Don't assume all identical references should have the same value.
Filter by checking that only symbol units having the same reference
also have the same library identifier before updating the value and
footprint fields.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8313
2021-05-06 07:13:26 -04:00
Jeff Young 2e3860de6f Naming conventions. 2021-05-05 22:58:40 +01:00
jean-pierre charras d4e5861c62 Fix a few issue in simulation (noticeable only when the calculation time is high):
- Wait for end of simulation before return from "C" locale to current locale
(to avoid data files created by ngspice using curr locale instead of "C" locale)
- Do not allow changing signal list to plot during simulation calculation
(avoid crashes)
2021-05-05 20:28:46 +02:00
Seth Hillbrand 61289ab39a Cleanup ngspice calling signatures 2021-05-05 10:49:40 -07:00
Seth Hillbrand 36975c9cd0 Conditionally handle the SPICE signatures
ngspice updated their function signatures, requiring us to test.  They
also don't provide an indicator that the signature is changed, so we
need to test based on the existence of a new version define.

Fixes https://gitlab.com/kicad/code/kicad/issues/8358
2021-05-05 10:19:01 -07:00
Jonatan Liljedahl a8672dd2f9 Simulator: populate DC sources list. 2021-05-04 22:54:42 +02:00
Jonatan Liljedahl d46e106564 Simulator: Fix sim settings layout for DC sweep page.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8261
2021-05-04 15:14:10 +00:00
Fabien Corona 065f85b504 check on exit 2021-05-04 13:57:45 +00:00
Fabien Corona 0555da2aaa Eeschema page: if empty, don't check export 2021-05-04 13:57:45 +00:00
Wayne Stambaugh 16bb45208a Fix save accelerator key handling when library tree has focus.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8247
2021-05-03 19:41:07 -04:00
Marek Roszko c7345096f8 Use wxFFileInputStream explicitly when loading xml documents
wxFFile (FILE, buffered) is better than wxFile (syscalls)
2021-05-03 19:39:56 -04:00
Marek Roszko 8c2f07be2a Write xml netlists explicitly via wxFFileOutputStream for performance
Fix #6944
2021-05-03 19:10:21 -04:00
Wayne Stambaugh d2a7f81b10 Debugging improvements and clean up.
* Remove unused wxLogDebug calls.
* Add add application level character tracing to detect unhandled key
  events.
* Catch unhandled exceptions in KiCad main event loop like single top
  applications.
2021-05-03 18:08:15 -04:00
Roberto Fernandez Bautista f2677340f2 Access the new paste behaviour via a new Paste Special... dialog
ADDED Paste Special... action in pcbnew

CHANGED Additional options for Paste Special... in eeschema, including
"Assign unique reference designators to pasted instance"
2021-05-03 19:38:32 +01:00
Roberto Fernandez Bautista 98c8f43320 eeschema and pcbnew paste: consistent paste behaviour
Duplicates are reannotated on paste in the same way in pcbnew and
eeschema such that when copying and pasting the same block in the
pcb and schematic, the reference designators will match.
2021-05-03 19:38:32 +01:00
Roberto Fernandez Bautista cf2dc06add Fix latent bugs in SCHEMATIC and SCH_SEXPR_PLUGIN
Noticed after writing the qa test: when loading a file immediately
after having loaded a previous one, it was resulting in a nullptr
exception.
2021-05-03 19:38:31 +01:00
Roberto Fernandez Bautista ae009e0758 Ensure clipboard data is available after KiCad closes
Always Flush() after SetData()
2021-05-03 19:38:31 +01:00
Roberto Fernandez Bautista 5822cd85c4 Fix eeschema copy/paste: save and load sheet and symbol instances
Save sheet and symbol instance information to the clipboard on copy

Load sheet and symbol instance information from the clipboard on paste
and renumber page numbers after loading.

Correctly handle pasting in a multiple hierarchy by ensuring symbol and
sheet instances are updated for all instances of the destination sheet.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8207
2021-05-03 19:38:31 +01:00
Roberto Fernandez Bautista 91fd28c4be Refactor saving sheet and symbol instances in SCH_SEXPR_PLUGIN::Format
Avoid code duplication by moving all common code to a new function
SCH_SEXPR_PLUGIN::saveInstances

Also fixes a bug that was resulting in footprint and value information
not being saved for subsheets that were root sheets in a different
project.
2021-05-03 16:54:42 +01:00
Roberto Fernandez Bautista 2c75911669 Fix SortByPageNumbers: use Sheet Name when page numbers are equal 2021-05-03 16:54:42 +01:00
jean-pierre charras aee1593678 Fix wxWidgets alerts
Fixes #8346
https://gitlab.com/kicad/code/kicad/issues/8346
2021-05-02 16:02:33 +02:00
Jeff Young c30102cd4f Don't crash when trying to save sim settings during shutdown.
Fixes https://gitlab.com/kicad/code/kicad/issues/8327
2021-05-01 21:49:40 +01:00
Marek Roszko 9dc611f704 Delay loading eeschema "project settings" to after the ui is ready 2021-05-01 16:13:48 -04:00
Marek Roszko d4bb1cbc63 Make drawing sheet loading slightly smarter 2021-05-01 14:11:31 -04:00
jean-pierre charras f6f2284851 Fix missing includes on Linux after commit 0427bda7 2021-05-01 20:05:01 +02:00
jean-pierre charras 0427bda768 Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00
Marek Roszko 18ff8ea4a0 Try to catch memory allocation errors in pcbnew and eeschema 2021-05-01 13:11:10 -04:00
Marek Roszko e20562b09b Some cleanup 2021-05-01 10:37:20 -04:00
Marek Roszko 6e9f833739 Disable two prof_counters if not ifdefed 2021-05-01 10:08:21 -04:00
Jeff Young 1ed54d2314 Make sure find/replace respects different values in the hierarchy.
Fixes https://gitlab.com/kicad/code/kicad/issues/8328
2021-04-30 18:39:21 +01:00
Roberto Fernandez Bautista 9b35757e18 Refactor AppendSymbol and AppendMultiUnitSymbol 2021-04-30 11:03:21 +00:00
Roberto Fernandez Bautista 0f85f61e5f CHANGED: Reannotation in eeschema now always keeps symbol units
Ensures that symbol units are never modified after re-annotation.
2021-04-30 11:03:21 +00:00
Roberto Fernandez Bautista 0c91bea751 Fix eeschema reannotation: ensure no duplicate references are created
Also implements reannotation of a selection

ADDED: Ability to reannotate a selection in eeschema

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2209
2021-04-30 11:03:21 +00:00
Jeff Young 50fd94d35d Remove stale comment. (Thanks Jonathan!) 2021-04-26 20:01:30 +01:00
Jeff Young e06a3cf3b4 Add Annotate Selection in prep for Roberto's fixes. 2021-04-26 17:33:49 +01:00
Jeff Young de2f60fe4c Save annotation settings in preferences.
See comments in issue.

Fixes https://gitlab.com/kicad/code/kicad/issues/8277
2021-04-26 16:05:22 +01:00
Marek Roszko 8a8475630e Check wxHAS_NATIVE_TABART before using the simple tab art 2021-04-22 22:24:55 -04:00
Seth Hillbrand d934dae21a null check for non-schematic symbol
Fixes https://gitlab.com/kicad/code/kicad/issues/8279
2021-04-22 17:53:45 -07:00
Seth Hillbrand 2c2ac39990 Replace default aui art provide in sim
The default art provider was a gradient tab.  This does not match the
system elsewhere and is particularly bad for dark themes.

The simple art provide matches the background colors correctly.
Although the tab background is still white, this is quite a bit better
than before.

Fixes https://gitlab.com/kicad/code/kicad/issues/8280
2021-04-22 17:35:54 -07:00
Ian McInerney ecd9bf696e Be consistent about using nullptr instead of 0
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Wayne Stambaugh 54e18f6b1f Pcbnew: remove update schematic option for geographical annotation dialog.
REMOVED: Update schematic option from geographical annotation dialog due
to potential issues with incomplete and/or broken updates.  Use "Update
Schematic from PCB" tool to update reference designation changes.

Forcing the footprint reference designator changes back to the schematic
without checking any other board changes in the schematic could leave the
schematic in a undefined state.  The update schematic from board tool is
the correct method to sync any changes from the board.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8042
2021-04-22 12:45:59 -04:00
Jeff Young ecb2e0e031 Formatting. 2021-04-22 12:38:29 +01:00
Jeff Young 87ca59f52e One (correct) error message is sufficient.
Fixes https://gitlab.com/kicad/code/kicad/issues/8225
2021-04-22 12:38:29 +01:00
Jon Evans 511f4cd03c Simulator: don't try to access an invalid map entry
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8273
2021-04-21 22:09:40 -04:00
Jeff Young 620aa315f6 Show infobar error when asking for empty datasheet.
Fixes https://gitlab.com/kicad/code/kicad/issues/8260
2021-04-21 15:40:59 +01:00
Adam Wolf d91293eea5 Remove ngspice scripts from macOS bundle
Apple won't notarize the bundle with those scripts in that area of the bundle.  It appears that we don't use these scripts in KiCad.
2021-04-21 12:50:31 +00:00
Jon Evans afe0c79a1e Sheet pins need new UUIDs, too 2021-04-18 22:14:15 -04:00
Jon Evans 1e52f0a180 Make sure pasted symbols get new pin UUIDs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8218
2021-04-18 21:53:38 -04:00
Ian McInerney ae91042544 Implement thread safety for symbol loading routines
These functions can be called from any thread of the library
loader, so we need to ensure we have some thread safety with them.
2021-04-18 18:39:46 +01:00
Jeff Young f30c67a478 Symbols need to be unannotated when updating their references.
Fixes https://gitlab.com/kicad/code/kicad/issues/8223
2021-04-18 16:26:36 +01:00
jean-pierre charras 8967e7eb3e Eeschema: remove a strange test that modified the reference position.
For some reason, when the reference was empty, the position was changed
without a good reason. (It happens in the SCH_COMPONENT ctor).
Fixes #8230
https://gitlab.com/kicad/code/kicad/issues/8230
2021-04-18 11:27:05 +02:00
Jeff Young 13473420e5 Remove duplicated routine and fix bug in UTIL version. 2021-04-17 15:10:59 +01:00
Jeff Young f7ae819430 Don't confuse annotation prefix *letters* with root annotation.
Given a symbol U12A, some parts of the code were assuming the prefix was
'U' while others were assuming 'U12'.  Further complication arose when
there were '?' in the library version.

Fixes https://gitlab.com/kicad/code/kicad/issues/8223
2021-04-17 12:30:40 +01:00
Jeff Young 9846076676 Don't change must match between FormBuilder and C++ code. 2021-04-16 18:20:55 +01:00
Jeff Young 76ba11bd86 AppendUndo needs to be set after the first undo...
... not after the first change.

Fixes https://gitlab.com/kicad/code/kicad/issues/8148
2021-04-16 18:20:55 +01:00
jean-pierre charras 31e9895a1a Fix a minor compil warning 2021-04-15 19:49:41 +02:00
Wayne Stambaugh 1fc1286180 Minor code cleaning. 2021-04-15 12:59:15 -04:00
jean-pierre charras e5dd54e05a Eeschema, spice sim: fix a crash when no value is available.
onSimFinished() try to analyse the list of plots, but did not test
if there is available data before using it.
Fixes #8169
https://gitlab.com/kicad/code/kicad/issues/8169
2021-04-14 21:01:39 +02:00
jean-pierre charras 5bfda7f1f0 spice netlist generation: use utf8 format.
Using basic conversion from unicode to 8bits strings can break non ASCII7 strings
Fixes #8192
https://gitlab.com/kicad/code/kicad/issues/8192
2021-04-14 09:54:29 +02:00
Jon Evans 6129f978ab Fix symbol editor not pulling the right settings object
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7916
2021-04-12 22:03:25 -04:00
Roberto Fernandez Bautista 45409ec314 CADSTAR Schematic: Fix orientation of symbol fields 2021-04-12 20:25:04 +01:00
Roberto Fernandez Bautista 9148542219 CADSTAR Schematic: Fix Text Positioning within Symbols 2021-04-12 20:25:03 +01:00
Jonathan Haas 0593f3b0c3 Fill gc with background color before copying to clipboard
Fixes https://gitlab.com/kicad/code/kicad/issues/7995
2021-04-12 17:05:50 +00:00
jean-pierre charras 929e535f0c SCH_EDIT_FRAME::DrawCurrentSheetToClipboard(): fix missing init of worksheet color. 2021-04-12 18:15:30 +02:00
Jeff Young a4c08e2af6 Apply Eeschema cursor updating architecture to PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/8135
2021-04-12 11:11:11 +01:00
jean-pierre charras 15353e3c33 Eeschema: when placing a new symbol or image, avoid starting the autopan.
When activate the new symbol placement, the mouse cursor is outside the canvas.
Therefore a autopan was started and not so easy to stop.
Now the mouse cursor (and the graphic cursor) are moved to a better location inside the canvas.
Fixes #8156
https://gitlab.com/kicad/code/kicad/issues/8156
2021-04-11 18:01:25 +02:00
Jeff Young cc956695ae Hit test for worksheet before adding Properties to menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/8171
2021-04-11 14:18:35 +01:00
Thomas Pointhuber f13eb13b9a altium: import images from SchDoc 2021-04-10 21:52:37 +02:00
Jonathan Haas 846e4aed42 Fix selection filter in Edit Text and Graphics dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/7966

Fixes https://gitlab.com/kicad/code/kicad/issues/8149
2021-04-10 15:49:23 +00:00
Jonathan Haas 0589792a14 Set combobox defaults in "Edit Text and Graphics" dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/8167
2021-04-10 09:25:06 +02:00
Jeff Young df5f010514 Bug fixes for fields when editing a symbol from the schematic.
1) Don't reset value when name changes
2) Don't fire events when initialising dialog
3) Make sure when symbol is saved back to schematic that only current
instance has its ref updated, but that all instances have their other
fields updated.
4) When saving symbol back to board always use the fields from the
editor and not the (alias-specific) ones from the library.

Fixes https://gitlab.com/kicad/code/kicad/issues/8159
2021-04-09 17:14:53 +01:00
Jon Evans 7dd6a182f2 Unhide the Altium schematic importer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8069
2021-04-08 22:22:03 -04:00
jean-pierre charras 677d7b0a60 Eeschema, cross-probing: fix incorrect unit selection when highlight a pin.
Highlight a pin of a multi-unit symbol from Pcbnew did not always select the right part.
Fixes #8087
https://gitlab.com/kicad/code/kicad/issues/8087
2021-04-07 19:48:02 +02:00
Ian McInerney 1a727558b0 Switch update event handlers to use the event instead of pointers
It is safer to use the event to pass the enable/string
instead of pointers, since using the pointers could trigger
other UI events.
2021-04-07 17:39:48 +01:00
Jeff Young 21d4197eab Apply SPECIAL_CASE_LABEL_INFO architecture to one-ended-drag.
We've been doing this for some time to wires that are attached to
the moving block (and therefore have the other end anchored).  However
we also need to apply it when dragging a single end of a wire.

Fixes https://gitlab.com/kicad/code/kicad/issues/7807
2021-04-07 14:40:07 +01:00
Jeff Young 30a073c2bb Cleanup. 2021-04-07 14:40:07 +01:00
Jeff Young 895f3de455 Formatting. 2021-04-07 14:40:07 +01:00
Wayne Stambaugh 2b86b34124 Eeschema: split out SCH_SHEET_PIN declarations into separate header. 2021-04-06 17:15:49 -04:00
Wayne Stambaugh 866c58a6d6 Eeschema: do not change schematic UUID on file overwrite. 2021-04-06 15:42:22 -04:00