Commit Graph

7359 Commits

Author SHA1 Message Date
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