Commit Graph

7255 Commits

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