Commit Graph

9649 Commits

Author SHA1 Message Date
Ian McInerney 51c8f2c119 Fix library sort order in library viewers
The lib table returns a properly sorted list of libraries already, which
we just iterate through. A std::set is a sorted collection, but uses a
different sorting function than the lib table, so appending to a
std::set breaks the initial sorting that was done already.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13530
2023-01-27 23:39:50 +00:00
Ian McInerney a78e5b0141 Hide empty sizer in directive label dialog
Possibly fixes: https://gitlab.com/kicad/code/kicad/-/issues/13675
2023-01-27 22:25:33 +00:00
Ian McInerney a91d2c21b8 Fix missing quotation mark in BOM plugin
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13685
2023-01-27 21:46:53 +00:00
Vincenzo Fortunato f4e22cdcdb altium: import component image only if part id matches 2023-01-27 16:28:38 +00:00
aris-kimi b72cc23a00 Change one translatable "eeschema" string to "Schematic Editor" 2023-01-27 16:14:09 +00:00
Jeff Young e5749d0cda Position intersheet refs in imported Eagle schematics.
Fixes https://gitlab.com/kicad/code/kicad/issues/13667
2023-01-27 13:59:11 +00:00
Alex a872ed11bf Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
vinsfortunato 39e85015c2 Preserve pins positions when resizing sheet 2023-01-26 20:56:37 +01:00
vinsfortunato cf1d17b566 Fix unexpected resizing behaviour when using top left edit corner 2023-01-26 20:54:51 +01:00
vinsfortunato 843600cb7e Fix erratical sheet pins behavior when resizing
Fixes https://gitlab.com/kicad/code/kicad/issues/13658
2023-01-26 20:54:51 +01:00
Gary Kim 0e939993bc Only expand when opening alternate pin definitions
When opening alternate pin definitions collapsible
pane, only increase the window size to accommodate
the pane.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13596
2023-01-26 17:30:38 +00:00
Mike Williams 96e9cd6ecc Schematic: added drag wires should copy stroke
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13666
2023-01-25 12:34:40 -05:00
Jeff Young 51293858b3 Allow empty lib tables.
Fixes https://gitlab.com/kicad/code/kicad/issues/13653
2023-01-24 23:45:55 +00:00
JamesJCode f683df0d1f Minor fix to ERC dialog
Correctly displays ERC aux item description when tied to specific
sheet context
2023-01-24 18:44:47 +00:00
Seth Hillbrand 43e4797d4d Don't double-tap Connectivity Recalculate
SCH_EDIT_FRAME::RecalculateConnections() calls SchematicCleanup and then
resets the connectivity graph and recalculates it.  OnModify() also
calls RecalculateConnections().  For long calculation schematics, this
can impact usability
2023-01-24 10:30:52 -08:00
Seth Hillbrand 420eceecbb Simplify name caching
We don't need two functions to get driver names.  The map should be
mutable to allow updates when needed.  C++17 gives some extra syntactic
sugar for map manipulation
2023-01-24 10:30:52 -08:00
Wayne Stambaugh a83313c4ab Fix another build warning introduced by recent ERC changes. 2023-01-24 12:21:52 -05:00
Wayne Stambaugh 5638122d3d Fix build warnings introduced by recent ERC changes. 2023-01-24 10:42:41 -05:00
JamesJCode fef3274e8e Eeschema: ERC checks handle connections between a common sub-circuit
Fixes #10926

Contains the following changes:

    - Adds a new ERC_SCH_PIN_CONTEXT class which is used to provide deterministic
      comparison between items causing ERC violations (e.g. pins) when associated
      with a SCH_SHEET_PATH context.

    - Adds association of SCH_SHEET_PATHs for ERC_ITEMs and the sub-schematic items
      which caused an ERC violation. This allows correct display of markers on the
      sheets of interest only, and allows correct naming resolution and cross-probing
      from the ERC dialog.

    - Adds a new ERC_TREE_MODEL class, derived from RC_TREE_MODEL, which correctly
      resolves component references across heirarchical sheets using the associated
      SCH_SHEET_PATHs. This allows sheet-specific component references to be displayed
      correctly in the ERC results tree.

    - Updates SCH_MARKER to only draw sheet-specific markers on the sheet causing
      an ERC violation.

    - Increments the schematic file version.

    - When loading a schematic with legacy ERC exclusions, discards those of type
      ERCE_PIN_TO_PIN_WARNING, ERCE_PIN_TO_PIN_ERROR, ERCE_HIERACHICAL_LABEL, and
      ERCE_DIFFERENT_UNIT_NET as there is no safe way to automatically infer the
      information which is now stored with these exclusions (sheet paths for error
      location and related items). Requiring users to (once) re-add exclusions is
      preferable to silently incorrectly matching new ERC issues to legacy exclusions.
2023-01-24 14:11:01 +00:00
Jeff Young 7a113a6a44 Fix misleading label (it filters label fields and other sheet fields as well). 2023-01-24 00:07:40 +00:00
Jeff Young 220c5a259b Refresh schematic's copy of template fieldnames after preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/13203
2023-01-24 00:07:40 +00:00
Jeff Young 4de64b607a Finish implementation of export_current_sheet_as_root.
Fixes https://gitlab.com/kicad/code/kicad/issues/13643
2023-01-24 00:07:40 +00:00
Jeff Young 25783f3b7e Add label fields to Edit Text and Graphics Properties dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/13632
2023-01-24 00:07:40 +00:00
Jeff Young 4e50c5313d More safety for array access.
Fixes https://gitlab.com/kicad/code/kicad/issues/13583
2023-01-24 00:07:40 +00:00
Graham Keeth e4a8b9e76d subckt export: add missing tristate pintype
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13644
2023-01-23 23:26:48 +00:00
Seth Hillbrand 00f93db2ff Convert wide chars before reading model
The PEGTL parser used by KiCad for SPICE models only handles ASCII
characters.  Despite the docs stating that you can, in theory, parse a
UTF-8 character by reading the base string, in pratice this does not
work as the UTF-8 string is represented by unsigned chars and the PEGTL
string is based on signed char.

To work around this, we need to convert micro and mu to the ASCII 'u'
equivalent

Fixes https://gitlab.com/kicad/code/kicad/issues/13642
2023-01-23 15:23:41 -08:00
Seth Hillbrand 442ee52905 Add versioning to lib tables
Sets lib table version to allow easier migration between versions
2023-01-23 22:21:12 +00:00
Seth Hillbrand efe12f2da5 Cleanup variable naming
Also remove ancient/unused code for lazy resolving
2023-01-23 22:21:12 +00:00
Seth Hillbrand a9ed47f06c Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
Mike Williams b39aae6a93 Annotation: don't select hover item
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13352
2023-01-23 16:50:45 -05:00
Seth Hillbrand 9861ed1a5f Don't special case power symbol re-annotation
When the designer asks to reset annotations, we reset all annotations
including power symbols.  This may create additional churn in the files
but only when requested and is useful to fix schematic errors

Fixes https://gitlab.com/kicad/code/kicad/issues/13138
2023-01-23 13:19:01 -08:00
Seth Hillbrand 67c703e9e2 Fix LIB_TEXT plotting alignment
LIB_TEXT is not all aligned to the center, so place the proper flags
when calling Plot.  This requires handling alignment offsets properly
when rotated as well
2023-01-23 12:23:14 -08:00
jean-pierre charras 2443d91265 SCH_FIELD: fix issue when try to clear its color from a previous color,
the old color was still used to display the field
Fixes #13631
https://gitlab.com/kicad/code/kicad/issues/13631
2023-01-23 10:22:42 +01:00
jean-pierre charras e0111f709b Fix minor cosmetic issues in Print dialogs
Fixes #13629
https://gitlab.com/kicad/code/kicad/issues/13629
2023-01-23 09:21:23 +01:00
Jon Evans 1bc3f77d2e Coverity fixes 2023-01-22 22:48:31 -05:00
Jon Evans e7a4d6d4da Exclude database libraries from the symbol library editor
These libraries are metadata libraries and it does not make sense
to have them be shown in the symbol editor

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12842
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12878
2023-01-22 20:49:41 -05:00
Jon Evans e419b0bfe8 Support sub-libraries in symbol library browser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12842
2023-01-22 19:25:15 -05:00
Marek Roszko 0ff32d20cd wxS more things 2023-01-22 09:41:42 -05:00
jean-pierre charras 9c12a6ee1d Eeschema, eeschema_config.cpp: fix incorrect *.wks file path when trying to save it.
And add tests to see if the file can be saved
Fix also an issue in sch_editor_control.cpp: The page setup dlg must generate changes
only if the OK button is clicked.
Fixes #13599
https://gitlab.com/kicad/code/kicad/issues/13599
2023-01-22 13:17:05 +01:00
jean-pierre charras e900e472ce Fix compil and Coverity warnings 2023-01-22 09:40:09 +01:00
Jeff Young 542719c753 Add "all" mode to HSPICE emulation. 2023-01-21 19:32:25 +00:00
Wayne Stambaugh 0a7bd85cd6 Fix library symbol rescue issues.
https://gitlab.com/kicad/code/kicad/-/issues/13494
2023-01-21 10:35:14 -05:00
jean-pierre charras 4eb3a99bb5 SYMBOL_VIEWER_FRAME: fix some (minor) issues related to the symbol to display
Fixes #13274
https://gitlab.com/kicad/code/kicad/issues/13274
2023-01-21 11:29:01 +01:00
Seth Hillbrand ed0d57ddf6 Handle the forced propagation to subgraphs 2023-01-20 15:20:03 -08:00
Seth Hillbrand e6dbca051c Force realtime connectivity on
The pressure relief valve was not useful for common work patterns as it
forced the recalculation on many common actions such as bus expansion.
This caused it to actually feel slower than with the pressure relief
valve off.

For most schematics, realtime is now fast enough to not need the valve
and for those that are extremely complex, removing the valve helps this
run more predictably
2023-01-20 15:17:57 -08:00
Seth Hillbrand 6fa2eedb4b Avoid the obsolete GetNextPin() call
This iterated over all pins to find the pin after a given item.  Because
out pattern is consistently to iterate in the outer loop, this means
that we were an O(n^2) loop for the pins just to find their names.  This
affected very large parts (e.g. FPGAs) when switching sheets to display
2023-01-20 14:12:15 -08:00
Seth Hillbrand b8ee588a76 Don't do a full connection database reset on redraw
All we need here is an updated intersheet reference, the connectivity
database remains valid and shouldn't be touched
2023-01-20 14:11:23 -08:00
Seth Hillbrand 08c2828bd3 Remove extra call to RecalculatedConnections()
This shouldn't happen when re-drawing, only on specific actions as it
will clog up our pipeline for other actions
2023-01-20 13:26:23 -08:00
Seth Hillbrand 4d7ddf619a Remove unused var and cleanup 2023-01-20 13:26:11 -08:00
Jeff Young 3e55719831 May need to convert to UNIX style paths twice (before & after resolving).
Fixes https://gitlab.com/kicad/code/kicad/issues/13591
2023-01-20 18:06:17 +00:00
Jeff Young f7ebaf1bab Add compatibility mode for netlist code.
(The non-A compatibility modes only run on included files.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13589
2023-01-20 18:06:17 +00:00
Jeff Young d9a90519f9 Flatten (and fix layout) of library table managers. 2023-01-20 14:19:58 +00:00
Marek Roszko a9cb8e9a8d Fix worksheets not loading in cli
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13489
2023-01-19 23:47:41 -05:00
Jon Evans dee4f80680 DbLib: Load source symbol in editor when edit action is taken
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12840
2023-01-19 22:45:46 -05:00
Jon Evans 6cce99e0d0 Support showing Value field in symbol chooser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13527
2023-01-19 22:14:10 -05:00
Jeff Young 27109bfc8a MRU path for simulation model libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/13581
2023-01-20 00:18:55 +00:00
Mike Williams 5a2f4c445b Global Label Dialog: add power nets to dropdrown
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9118
2023-01-19 12:47:32 -05:00
Jeff Young 49f3b21f5c Handle windows filepaths in SPICE include statements.
Fixes https://gitlab.com/kicad/code/kicad/issues/13591
2023-01-19 14:55:34 +00:00
jean-pierre charras 87975b2833 SYMBOL_EDIT_FRAME: make UpdateMsgPanel() working.
This is a virtual method, and the default method do nothing.
Now is calls SYMBOL_EDIT_FRAME::UpdateSymbolMsgPanelInfo()
Fixes #13586
https://gitlab.com/kicad/code/kicad/issues/13586
2023-01-19 15:52:23 +01:00
Wayne Stambaugh ee3e285393 Correctly parent simulator netlist error dialogs. 2023-01-19 07:59:30 -05:00
Jeff Young 0e778f17db Add context menu for simulation cursors.
Fixes https://gitlab.com/kicad/code/kicad/issues/13580
2023-01-19 12:50:21 +00:00
Jeff Young 715340b129 Fix erroneous early return.
Fixes https://gitlab.com/kicad/code/kicad/issues/13592
2023-01-19 12:19:49 +00:00
Jeff Young 959e20f52c A fall-back model for FOO should supply FOO's pin names.
Fixes https://gitlab.com/kicad/code/kicad/issues/13589
2023-01-19 12:14:50 +00:00
Seth Hillbrand 7e5a2450b8 Move multiple wxMessageBox to DisplayErrorMessage
Also provide protection for headless running in multiple callsites

Fixes https://gitlab.com/kicad/code/kicad/issues/13575
2023-01-18 16:54:01 -08:00
Mike Williams 171cffec28 Schematic: actually check for hover on duplicate 2023-01-18 13:52:49 -05:00
Mike Williams 144cd0b7f2 Schematic: duplicate on hover: grabs symbol instead of field
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13495
2023-01-18 13:35:52 -05:00
Jeff Young 87377d1aac Stop stepping on user's data.
Just because we can't find the file doesn't mean the path to it has
no value.  Don't delete it.  And don't crash afterwards either.

Fixes https://gitlab.com/kicad/code/kicad/issues/13578
2023-01-18 13:50:40 +00:00
Dag Lem cff0560088 Eagle schematic import: Handling of escaped text 2023-01-18 12:33:36 +00:00
Jeff Young 3af9c658e6 Don't specify fonts in wxFormBuilder. It only leads to pain.
Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-18 12:28:07 +00:00
Jeff Young 47d88c5647 Nullptr safety. (Sentry KICAD-71) 2023-01-18 00:52:19 +00:00
Jeff Young 26c821962f Simplify and regularize text variable substitution architecture.
EDA_ITEMs are responsible for giving their parent a crack at it if
they failed to resolve it.  This recurses all the way up to the schematic/
board, and then to the project.

Cross-reference handling is also move to the EDA_ITEMs.  It must be done
before bubbling up so that we don't end up in loops.  (The aDepth parameter
will break the loop, but without having done anything useful.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-17 17:05:41 +00:00
Mike Williams 369c0efade Bitmaps: respect source DPI
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13565
2023-01-17 11:20:17 -05:00
Wayne Stambaugh f81642bbb3 Fix broken graphics import file filters.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13570
2023-01-17 11:19:53 -05:00
Jeff Young 8d28cccfe2 Rework >NAME and >VALUE special processing a bit.
Earlier commit moved variable substition earlier (in loadSymbolText())
so we didn't have the correct info later when we tried to do the
special processing on it.

Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-17 12:48:39 +00:00
Marek Roszko d2c0f5fc2a More wxSing 2023-01-16 23:14:38 -05:00
Jeff Young 6de25e2284 Lifecycle safety for highlight net items.
This possibly fixes Sentry issue KICAD-6E.
2023-01-16 18:11:16 +00:00
aris-kimi 3defb7679a Schematic editor: move Update Schematic from PCB to the bottom
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13535
2023-01-16 17:18:21 +00:00
Jeff Young a3a01a87e8 Resolve text variable references in LIB_TEXT and LIB_TEXTBOX.
Fixes https://gitlab.com/kicad/code/kicad/issues/13558
2023-01-16 16:01:45 +00:00
Jeff Young 9315e885ee Substitute variables in imported symbol text.
Also allows mulit-line text items to be imported.

Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-16 16:01:45 +00:00
Jeff Young 62649b868c Ensure good fonts in grid headers.
Also moves rendering to a flat look for headers (instead of a beveled
border).

Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-16 02:47:14 +00:00
Marek Roszko 789db0cecb Some more wxS 2023-01-15 21:32:23 -05:00
Marek Roszko 57c66a50ac Add some missing wxS wraps 2023-01-15 20:24:29 -05:00
Jeff Young addaad4a96 Move notes foreground in front of device foreground and wires.
Fixes https://gitlab.com/kicad/code/kicad/issues/13098
2023-01-15 22:57:01 +00:00
Jeff Young ca1fb732c8 Share Eagle var substitution between board and schematic importers.
Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-15 22:27:19 +00:00
James Jackson 661eed7fed Eeschema: ensure wire / bus auto-start respects bus labels
Fixes #13506 and further ensures correct behaviour for heirarchical labels and sheet pins
2023-01-15 19:25:28 +00:00
jean-pierre charras e9da3e5ae9 Fix compatibility with wxWidgets version < 3.1.6 2023-01-15 20:19:53 +01:00
Roberto Fernandez Bautista 355e817302 Move DefaultTransform definition to transform.cpp, so it can be shared 2023-01-15 19:17:51 +01:00
Roberto Fernandez Bautista ff717fec3f Wait to save non-KiCad imported drawing sheet until user requests a save 2023-01-15 19:17:50 +01:00
Roberto Fernandez Bautista d063eb431b Move FixupJunctions to SCHEMATIC 2023-01-15 19:17:50 +01:00
Roberto Fernandez Bautista c4bde9c7e8 Extract SCH_LINE::BreakAt( aP ) from SCH_EDIT_FRAME::BreakSegment 2023-01-15 19:17:40 +01:00
Roberto Fernandez Bautista c7f33e21f8 Extract SCH_SCREEN::GetNeededJunctions from AddJunctionsIfNeeded 2023-01-15 19:17:39 +01:00
Roberto Fernandez Bautista 22cc861c9b Remove dead code in AddJunctionsIfNeeded 2023-01-15 19:17:39 +01:00
Roberto Fernandez Bautista 7332c0c54d Move SCH_EDIT_FRAME::GetSchematicConnections into SCH_SCREEN::GetConnections 2023-01-15 19:17:38 +01:00
Roberto Fernandez Bautista 64105dcf84 Extract GetBusesAndWires function out of SCH_EDIT_FRAME::BreakSegments
This function is called by SCH_EDIT_FRAME::AddJunction
2023-01-15 19:17:38 +01:00
Stefan Brüns 1df81b10e6 Explicitly convert std::string to wxString
In wxWidgets STL builds the compiler has multiple, ambigous choices
for converting - both arguments to std::string first, or just the
first to wxString.

Fixes #13432.
2023-01-14 22:58:54 +00:00
Jeff Young 06a2e950fd Add sheet field layers to SCH_LAYER_ORDER.
Fixes https://gitlab.com/kicad/code/kicad/issues/13518
2023-01-14 20:38:12 +00:00
Marek Roszko 4b0b9a36bf Load custom drawing sheets in the cli export
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13489
2023-01-14 14:07:58 -05:00
Dag Lem b3d1384896 Eagle schematic import: Corrected handling of plain/frame 2023-01-14 14:49:48 +00:00
Dag Lem 54f67cd6f5 Eagle schematic import: Corrected visibility for >NAME and >VALUE 2023-01-14 14:40:35 +00:00
Jeff Young 4c5a344629 Allow editing of raw SPICE models through code tab. 2023-01-14 02:43:34 +00:00
Jeff Young f1aee2fa18 Minor dialog tweaks. 2023-01-14 01:45:30 +00:00
Jeff Young 098d2b30a2 Support for simulation options in workbook and simulation command dlg.
Fixes https://gitlab.com/kicad/code/kicad/issues/13524

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

Fixes https://gitlab.com/kicad/code/kicad/issues/13431
2023-01-14 00:21:45 +00:00
Jeff Young e7e2085b2a Allow vector param values.
Fixes https://gitlab.com/kicad/code/kicad/issues/13431
2023-01-13 21:59:06 +00:00
Jeff Young 453f1f393e Add scanning for coupled inductor declarations to SPICE directives.
Fixes https://gitlab.com/kicad/code/kicad/issues/13431
2023-01-13 19:10:49 +00:00
Jeff Young 7fbad183db Gracefully handle Quit when simulator window is open. 2023-01-13 16:35:45 +00:00
Jeff Young 4391fc7a7a Don't be annoying about refusing to create traces when there's no data. 2023-01-13 16:35:45 +00:00
Jeff Young d8867b7a66 Remove attempting to parse SPICE text items when generating netlists.
We don't do anything with the parse tree, and we have to check it for
directives again afterwards to account for when our parsing failed, so
there's not much point in parsing it to begin with.
2023-01-13 16:35:45 +00:00
Seth Hillbrand bd6d0b6cb6 Ensure that all subgraphs are processed
Don't skip subgraphs just because they do not have off-sheet connections
on their hierarchical ports
2023-01-12 17:01:09 -08:00
Seth Hillbrand b222e4fd07 Remove unused file 2023-01-12 14:08:44 -08:00
Jeff Young cbfbd3a0de Don't attempt to recognize SPICE directives line-by-line.
.model and .subckt can be multi-line without requiring the continuation-
line syntax.
2023-01-12 16:49:09 +00:00
Jeff Young 6dc7c30174 Still have to write out includes from internal models...
... even if we're no longer parsing included libraries.
2023-01-12 16:36:00 +00:00
Jeff Young 52163c7b31 Hold off on one-library-per-SIM_LIB_MGR. It's too risky for 7.0. 2023-01-12 16:29:51 +00:00
Jeff Young cb58cb8cd3 Put new lines and junctions on the right layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/13505
2023-01-12 15:17:45 +00:00
Jeff Young d839f11d49 Rip out parsing of SPICE libraries for netlisting.
We only need to parse the libraries for the Sim Model Editor dialog
(so that we can determine the models to put in the popup).  Doing it
for netlisting just opens us up to incorrectly parsing the SPICE, and
returns no value.

This also means that a SIM_LIB_MGR manages a single library, and
never multiple libraries.

This also allows the tidying-up of some error reporting structures to
better inform the user what went wrong.

Fixes https://gitlab.com/kicad/code/kicad/issues/13431
2023-01-12 14:51:03 +00:00
Seth Hillbrand d07da51390 Fix copy-paste error 2023-01-11 20:37:42 -08:00
Jon Evans c530bdb5a1 Rename GetSelectMenuText to GetItemDescription
This descriptive text is used for many more things than
just the select menu these days.
2023-01-11 22:27:44 -05:00
Seth Hillbrand f4ac4be701 Fix naming of `updateTitle()`
This is a private function so should be lowercased to avoid confusion
2023-01-11 16:06:20 -08:00
Seth Hillbrand 8aff923710 Set dirty bit and handle undo for export remap
When remapping the exported symbols, we should keep this in the undo
stack (remapping, not the existence of the new elements) and set the
dirty bit for the file to ensure it is saved/autosaved

Fixes https://gitlab.com/kicad/code/kicad/issues/13493
2023-01-11 16:06:20 -08:00
Jeff Young c3c5468817 Sort all findNext candidates in a single list.
Fixes https://gitlab.com/kicad/code/kicad/issues/13483
2023-01-11 23:42:45 +00:00
PJM 76a0d4c4c0 Eeeschema: Fixed logic to display unamed pins properly
CHANGED:  This code previously checked "m_name.IsEmpty()" to choose the
correct formatting path, but that check fails if the pin is called "~"
which is the default for an empty pin name.  Instead we get the final
display string that will be shown and check if it's empty.

Fixes https://gitlab.com/kicad/code/kicad/issues/13332
2023-01-11 21:45:32 +00:00
Seth Hillbrand a206f6717d Desaturate the symbols in DNP for print/plot
The desaturation should match screen display

Fixes https://gitlab.com/kicad/code/kicad/issues/13481
2023-01-11 13:44:08 -08:00
Graham Keeth 89a6e55e58 Add DNP columns/grouping info to BOM script headers 2023-01-11 20:42:44 +00:00
Seth Hillbrand 248399f771 Standardize print/plot terms
Use choice box for color/bw selection
"border and title block" -> "drawing sheet"

Fixes https://gitlab.com/kicad/code/kicad/issues/13128
2023-01-11 12:30:02 -08:00
Seth Hillbrand 8a26bf6c41 Tweak DNP display settings
Use ERC error color
Make lines 3 * default line width (instead of 4 *)
2023-01-11 11:29:46 -08:00
Wayne Stambaugh c7ffb85bf7 Fix Eagle schematic import on duplicate symbol library names.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13434
2023-01-11 14:10:00 -05:00
Jeff Young c89925578d Move find/replace to own tool so it doesn't rob events from cross-probing. 2023-01-11 14:22:06 +00:00
Dag Lem bc4e559581 Eagle schematic import: Corrected handling of curved symbol/wire 2023-01-11 12:31:46 +00:00
Jeff Young f8ef15f174 Fix over-zealous delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/13476
2023-01-11 12:16:28 +00:00
Jeff Young 30c9deb9d5 Flat(er) look for paged dialogs. 2023-01-11 01:11:25 +00:00
Seth Hillbrand 6cd750bb9c Respect "Exclude from Board" flag in export
When exporting to board-based netlists, skip components marked for
exclude from Board

Fixes https://gitlab.com/kicad/code/kicad/issues/13422
2023-01-10 15:23:26 -08:00
Seth Hillbrand 786fc14df3 Explicitly call out DNP in BOM
Add DNP column and group output based on DNP

Fixes https://gitlab.com/kicad/code/kicad/issues/13466
2023-01-10 15:23:26 -08:00
Seth Hillbrand 3003d9476a Respect exclude from BOM
Remove non-standard (and hidden) exclude from BOM field in favor of the
current standard flag
2023-01-10 15:23:26 -08:00
Roberto Fernandez Bautista 33249d37b0 EAGLE SCH: Improve detail of curved shape imports (0.01mm error)
Follow-up from https://gitlab.com/kicad/code/kicad/-/merge_requests/1445
2023-01-10 22:45:46 +01:00
Roberto Fernandez Bautista 99d02ac7c0 CADSTAR SCH: Load symbol shapes with correct fill state
Changes architecture of importer to use SHAPE_LINE_CHAIN.

For now lets just load symbol shapes like this, but we could update code
for all other loading operations (also in PCB).

FIxes https://gitlab.com/kicad/code/kicad/-/issues/8060
2023-01-10 22:28:01 +01:00
Dag Lem 7e01816b73 Eagle schematic import: Handling of polygons with curved sides 2023-01-10 20:45:40 +00:00
Wayne Stambaugh 366c3e7142 Revert "Fix value field visibility issues when importing Eagle schematics."
This reverts commit 4c5203fabf.
2023-01-10 09:45:18 -05:00
Seth Hillbrand f99e374559 Make DNP more visible
Adds red cross to the DNP display.  Allows showing the DNP even when
plotting black/white

Fixes https://gitlab.com/kicad/code/kicad/issues/13456
2023-01-09 15:31:50 -08:00
Dag Lem 7c458c5aee Eagle schematic import: Handling of curved plain/wire and segment/wire 2023-01-09 17:02:14 +00:00
Mike Williams 4274bd0bb7 Schematic: handle rotations that include junctions
Also fix lack of line cleanup on mirroring.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13436
2023-01-09 11:05:30 -05:00
Wayne Stambaugh 4c5203fabf Fix value field visibility issues when importing Eagle schematics.
Eagle schematics do not show the value field when it's not defined or
when not package (footprint) is defined for the symbol which is the
case for power symbols.  Don't show the value field in KiCad to bring
the view more in line with what Eagle displays.

Inspired by Stefan's merge request #13433.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13433
2023-01-09 10:45:45 -05:00
Jeff Young c43050b91b Remove safety around reading default parameter from Value field.
This should be OK now because we should be writing out all parameters
now (even if they're default value).

But perhaps more to the point, if we have the safety in there then
we miss cases where we really can't parse the model (value of "{VCC}")
and we need to fall back to a raw spice model.

Fixes https://gitlab.com/kicad/code/kicad/issues/13444
2023-01-09 15:24:45 +00:00
jean-pierre charras be5810a1ce EEschema, "Change To" context menu: do not allow converting SCH_SHEET_PINs
to something else.
SCH_SHEET_PIN are specific, handled by a SHEET, and the conversion to a label
cannot be done.
2023-01-09 15:30:36 +01:00
Dag Lem 8c8b4f43e7 Eagle schematic import: Added missing plain elements 2023-01-09 14:18:23 +00:00
Marek Roszko 9f71e9af03 Add arg to plot hidden symbol pins in cli 2023-01-08 22:39:38 -05:00
Marek Roszko c514f6f094 Handle alias symbols in cli svg export 2023-01-08 22:19:06 -05:00
Wayne Stambaugh 9c0445ed98 Remove schematic editor standard dialog button static line separators. 2023-01-08 14:26:10 -05:00
Jeff Young d65cf1b457 Check parameters before assuming we can handle the model.
Fixes https://gitlab.com/kicad/code/kicad/issues/13444
2023-01-08 18:00:22 +00:00
Jeff Young 063478b3dc Implement brightening for Find Next hotkey actions.
Fixes https://gitlab.com/kicad/code/kicad/issues/13421
2023-01-08 14:34:38 +00:00
jean-pierre charras 4d5c4c4ea8 Ensure all selected items have their edit flags cleared after move.
Some sub-items like fields can be selected, and are not in the main item list.
Fixes #13435
https://gitlab.com/kicad/code/kicad/issues/13435
2023-01-08 11:52:21 +01:00
Jeff Young c3ca1ce014 Tune the hit-test extra-slop for lines (and apply it to arcs too).
Fixes https://gitlab.com/kicad/code/kicad/issues/13429
2023-01-07 23:06:51 +00:00
Jeff Young ee0e90e3b0 We no longer enforce either a non-empty value or name == value.
Fixes https://gitlab.com/kicad/code/kicad/issues/13424
2023-01-07 22:42:52 +00:00
Jeff Young 22144ae0d0 Fix bogus format string replacement type.
Fixes https://gitlab.com/kicad/code/kicad/issues/13426
2023-01-07 19:34:32 +00:00
Jeff Young 289d9bd6fb Remove missed check for empty fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/13424
2023-01-07 19:34:32 +00:00
jean-pierre charras c2f7dbfc15 Eeschema, AlignElements(): fix broken align of lines (bus, wire, graphic line)
It was due to a recent change (commit d824b7f5)  for SCH_LINE_T in
SCH_MOVE_TOOL::moveItem()
2023-01-07 09:06:03 +01:00
Seth Hillbrand 03e12535a8 Include symbol flags in swap
Needed for undo/redo.  All properties should be listed in the swap

Fixes https://gitlab.com/kicad/code/kicad/issues/13409
2023-01-06 14:40:39 -08:00
Jeff Young 8dc7baad3d Cleanup actions should not activate tools. It causes all manner of side-effects.
Fixes https://gitlab.com/kicad/code/kicad/issues/13331
2023-01-06 22:15:20 +00:00
Seth Hillbrand 8cabc82f1c Add highlight hinting to pin severity 2023-01-06 13:30:58 -08:00
Jeff Young 5bdc3a5721 Keep sim-enabled checkbox in sync with edits to fields grid. 2023-01-06 20:43:33 +00:00
Wayne Stambaugh 411669ab88 Fix schematic power symbol annotation paste bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13405
2023-01-06 13:55:13 -05:00
Seth Hillbrand 38a0b67e40 ngspice has specific chars that are reserved
This replaces all known reserved characters with '_'

Fixes https://gitlab.com/kicad/code/kicad/issues/13404
2023-01-06 09:36:49 -08:00
Jeff Young 4d7642a26c Add number of pulses parameter to pulsed voltage/current sources.
Also don't suppress writing "0" valued parameters.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/13402
2023-01-06 13:45:56 +00:00
Marek Roszko c57e6db79a Turn off plotting hidden fields in the svg export cli 2023-01-05 23:32:24 -05:00
Marek Roszko e056c96c10 Feed the sym svg export absolute paths for source lib 2023-01-05 22:28:01 -05:00
Seth Hillbrand b6b5a8ef6e Remove bus label syntax from severities dialog 2023-01-05 17:00:32 -08:00
Jeff Young 98f0959f39 Default common-to-all-units based on last-used setting.
(Or whether or not the symbol has interchangeable units when a new
symbol is loaded.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13391
2023-01-06 00:34:16 +00:00
Seth Hillbrand c29dfe026e Force recursing annotation when set to auto
Automatic annotation should always annotate new elements regardless of
where in the hierarchy they are

Fixes https://gitlab.com/kicad/code/kicad/issues/13378
2023-01-05 15:03:38 -08:00
Jeff Young 933a5d45e1 Be more aggressive about clearing edit flags after operations.
Fixes https://gitlab.com/kicad/code/kicad/issues/13173

Fixes https://gitlab.com/kicad/code/kicad/issues/13385
2023-01-05 18:08:22 +00:00
Jeff Young 7af718f1a5 Don't use std::string for things with wxString APIs.
It's too bug-prone.

Fixes https://gitlab.com/kicad/code/kicad/issues/13380
2023-01-05 14:16:39 +00:00
Jeff Young 3b021d98be Completely remove reading SCH grid sizes from config files.
It messes up too many things if you put metric grids in there.

Fixes https://gitlab.com/kicad/code/kicad/issues/13345
2023-01-05 12:25:43 +00:00
Stefan c5d7e447c7 Bugfix: remove trailing comma after last ref 2023-01-05 08:29:01 +00:00
Jeff Young 985414fef9 Collapse pin-conflicts-map generator back to (mostly) a single path. 2023-01-05 00:02:44 +00:00
Wayne Stambaugh 6f7af062ff Rename file component_reference_lister.cpp to sch_reference_list.cpp.
This matches the naming of the header file.
2023-01-04 16:31:17 -05:00
Seth Hillbrand 0e2943d781 Fix pinmap flat style on GTK 2023-01-04 12:48:15 -08:00
Wayne Stambaugh d99e09014b Rename SYMBOL_INSTANCE_REFERENCE to SCH_SYMBOL_INSTANCE. 2023-01-04 15:39:50 -05:00
Seth Hillbrand fc86998bf6 Ensure duplicate pin names get unique nets
Same pin name != same net name unless the pins are explicitly connected

Also add pin number to all unconnected pads ensuring they have unique
nets

Fixes https://gitlab.com/kicad/code/kicad/issues/13236
2023-01-04 11:32:15 -08:00
Jeff Young 7c0b6c1e87 Restore old pin-conflicts-map algo for MSW and GTK. 2023-01-04 18:32:06 +00:00
Mike Williams bd5d10cd7b Schematic: remove more extraneous dangling symbols 2023-01-04 11:07:23 -05:00
Graham Keeth fb9a388bce Fix icon spacing in Annotation dialog/panel 2023-01-04 13:52:19 +00:00
Jeff Young 33d31be9b5 Fix last commit. 2023-01-04 13:38:28 +00:00
Jeff Young b38370adae Test for viability of using fontsize for pin conflicts map positioning. 2023-01-04 13:16:15 +00:00
Wayne Stambaugh f5c5b00e40 Fix schematic annotation dialog bitmap layout issue. 2023-01-04 07:36:00 -05:00
Wayne Stambaugh 73b7dcbc35 Attempt to unify symbol annotation behavior between place and paste.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13330
2023-01-04 07:36:00 -05:00
jean-pierre charras 575a84f76c Fix a compil issue on GTK 2023-01-04 13:15:56 +01:00
jean-pierre charras d0f9ce897e Do not use #elifdef , only available in C++23
replaced by #elif defined
2023-01-04 11:59:33 +01:00
Jeff Young a8d2f7f71d Round 2 for GTK. 2023-01-04 01:41:07 +00:00
Jeff Young b9f1106781 Adjustments for GTK. 2023-01-04 01:18:02 +00:00
Jeff Young c47de5a55d Another round of adjustments for MSW pin conflicts map. 2023-01-04 00:33:58 +00:00
Jon Evans ac3ed02283 Rework bitmap cache and enable it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00
Marek Roszko 8ab9934143 Use our own cmake module path variable to avoid conflicting with the main ones listy functional 2023-01-03 19:18:16 -05:00
Jeff Young 7d84d323a6 Pin conflicts map adjustments for MSW. 2023-01-04 00:12:16 +00:00
Jeff Young 13d196c509 Fix some issue in the pin conflicts map with button alignment on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/13333
2023-01-03 23:39:48 +00:00
Graham Keeth 77ee82459e add ERCE_NETCLASS_CONFLICT and ERCE_ENDPOINT_OFF_GRID to schematic setup 2023-01-03 23:23:46 +00:00
Mike Williams 1ba9a6abe3 Rotate/Mirror: unbreak immediate mode actions 2023-01-03 16:05:52 -05:00
Seth Hillbrand cbe6cd3048 Don't move local vars
Copy ellision allows optimization if we don't explicitly move a local
variable in the return
2023-01-03 10:20:18 -08:00
Jeff Young baa13b885f Don't add Sim.Params unless it contains data, and update sallen key demo. 2023-01-03 17:20:23 +00:00
Jeff Young 9583b28063 Fix store-in-value bugs.
1) Always honour the dialog checkbox value.
2) Don't expect the absence of the primary parameter in Sim.Params to
   mean that Value stores it.  It might be the default parameter value.
3) Update spiceTypeInfo when matching legacy data to an internal model.
4) Initialize the store-in-value checkbox depending on whether or not
   we found the primary parameter in the Value field.
2023-01-03 17:20:23 +00:00
Jeff Young 9b9795a87d Reduce reliance on exception processing -- it's waay too bugy at present.
This moves some stuff to REPORTER APIs.  Moving more stuff would be good,
but it probably too high-risk at present.  We'll wait for 8.0 for that....

Fixes https://gitlab.com/kicad/code/kicad/issues/13359
2023-01-03 17:20:23 +00:00
Mike Williams d1c2ab957b Schematic: set current sheet after initializing screens
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13238
2023-01-03 12:11:31 -05:00
Jeff Young fdc8f9c59d Fix accidental deletion in "TEXT_ATTRIBUTES" commit. 2023-01-03 01:23:18 +00:00
Jeff Young 7f35323416 Re-enable sim model ERC testing. 2023-01-03 00:59:14 +00:00
Jeff Young 056349e5ea Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
Jeff Young c5948de2af Update find status when switching sheets.
(Not just when switching sheet during find.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13351
2023-01-02 18:49:28 +00:00
Jeff Young 277cd73204 TEXT_ATTRIBUTES doesn't hold the position.
Fixes https://gitlab.com/kicad/code/kicad/issues/13350
2023-01-02 17:36:21 +00:00
Jeff Young fc346ea794 Iterator safety.
Fixes https://gitlab.com/kicad/code/kicad/issues/13341
2023-01-02 11:36:54 +00:00
jean-pierre charras e8114dc49a Minor compil and Coverity warnings fixes. 2023-01-02 10:21:42 +01:00
Jeff Young 6f16678d2d Typo fix courtesy or aris-kimi. 2023-01-01 23:40:18 +00:00
jean-pierre charras 447d0d71d3 EEschema, Error/Info messages: do not add the unit id to single unit symbol ref 2023-01-01 11:21:05 +01:00
Gary Kim 8e8a3c7bdc
Do not translate name in version info
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00
Jeff Young 62f0843579 Fix grammar error in warning string. 2022-12-31 18:54:36 +00:00
Jeff Young 55b8f0bc00 Gracefully fall back to raw spice when we can't parse the data.
Fixes https://gitlab.com/kicad/code/kicad/issues/13329
2022-12-31 18:52:26 +00:00
Jeff Young 77b361a077 Add reference material to SPICE model pin assignment tab.
Fixes https://gitlab.com/kicad/code/kicad/issues/13309
2022-12-31 18:52:26 +00:00
jean-pierre charras 9f56771611 Fix a typo 2022-12-31 11:41:04 +01:00
Jeff Young 5deee405da Fill in built-in-model-type (which might not be the same as initial spice type).
Fixes https://gitlab.com/kicad/code/kicad/issues/13324
2022-12-31 01:07:46 +00:00
Jeff Young 62bec69d8c Migrate field text attrs from legacy fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/13323
2022-12-30 23:41:46 +00:00
Jeff Young e9ed56e9a4 Fix small alignment issue in field properties dialog. 2022-12-30 15:29:36 +00:00
Jeff Young c0e0cbceb0 Move eseries helper class to common.
Also improves some terminology for english-speakers.

Also substitues [] vector access (which creates empty elements) over
at() (which throws if the item is not found).
2022-12-29 18:05:57 +00:00
Jeff Young 4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
Mike Williams 068b714908 Schematic: merge dual import sheet pin actions
I believe I have managed to keep the slightly distinct functionality of
both implementations: the action will now use the selected sheet or find
one under the cursor if it's there.

It will also keep placing pins while they exist, which was inconsistent
in the behavior of the single click version before (other single click
commands keep placing until you cancel, e.g. no-connects )

Also, it will automatically end the tool when it runs out of sheet pins.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13296
2022-12-29 09:36:29 -05:00
Mike Williams e65de51fc7 Schematic: label auto orientation needs to respect move/drag/change
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13226
2022-12-28 14:30:57 -05:00
Mike Williams 495f337fa5 Schematic: remove unused variable 2022-12-28 12:27:57 -05:00
Mike Williams 6816ee937a Flags: remove unused IS_DRAGGING 2022-12-28 12:27:57 -05:00
Mike Williams 6cc17e4a16 Schematic: new flag IS_BROKEN for trimming BreakSegment danglers 2022-12-28 12:27:57 -05:00
Mike Williams f03fd5ad2d Schematic: remove IS_RESIZING
Is unused/redundant with IS_MOVING
2022-12-28 12:27:57 -05:00
Mike Williams 13f67aa7ce Schematic: remove unnecessary drag mirror/rotate control disabling
The whole edit dialog is blocked while dragging if anything else is drag
selected, and if nothing is drag selected the rotations/mirroring will
be fine. Also, we already allow mirror and rotate while dragging, using
the keyboard shortcuts and menu items, and it works fine.
2022-12-28 12:27:57 -05:00
Mike Williams b5b65e1455 Schematic: update dragged lines dangling state in realtime
Makes the visuals a little nicer as we add bend lines
2022-12-28 12:27:57 -05:00
Jeff Young e7300ffb5c Improved column sizing in library setup dialogs. 2022-12-28 16:27:03 +00:00
Jeff Young e927328ecf Don't rely on field ID for intersheetrefs.
It will be -1, for instance, after a duplicate.
2022-12-28 15:15:54 +00:00
Jeff Young a3fcc8bbf7 Move Exclude from Simulation to Symbol Properties.
Also brings the layout of Symbol Properties for Symbol Editor more in
line with Symbol Properties for Schematic Editor.

Fixes https://gitlab.com/kicad/code/kicad/issues/13299
2022-12-28 13:44:13 +00:00
Jeff Young 87448e0c55 Include sim command when running external SPICE.
Fixes https://gitlab.com/kicad/code/kicad/issues/13295
2022-12-28 12:28:22 +00:00
Jeff Young d50b3550af Signals header is repetitive. 2022-12-28 10:40:23 +00:00
Jeff Young ef6001bfe6 Use consistent terminology: opposite of Add is Remove.
Note: violating string freeze because this change should ease translation,
not make it harder.
2022-12-28 10:40:23 +00:00
Jeff Young e11d39b0f2 If magnitude or phase is specified, don't add both.
Fixes https://gitlab.com/kicad/code/kicad/issues/13202
2022-12-28 10:40:23 +00:00
Jeff Young 508b9e21a8 Put simulation in with other life-cycle tools. 2022-12-28 10:40:23 +00:00
Jeff Young 3767716f20 Menu IDs of 0 don't work on Mac. 2022-12-28 10:40:23 +00:00
Jeff Young 987eb4b46a Handle language changes for Schematic Hierarchy Navigator.
Fixes https://gitlab.com/kicad/code/kicad/issues/13291
2022-12-28 00:11:28 +00:00
Mike Williams f1fab140a1 Schematic: make menu bar rotation items conditional
Also fix some items not getting a context menu rotate action.
2022-12-27 14:18:47 -05:00
Jeff Young 0b50e7fa37 A wee little hack for intersheet refs in legacy files.
Fixes https://gitlab.com/kicad/code/kicad/issues/13108
2022-12-27 18:46:58 +00:00
Mike Williams 8ca8f83a18 Schematic: sheet pin dragging special case needs to check endpoints
Otherwise we'll force the wrong end of a line to be special-cased
2022-12-27 12:15:49 -05:00
Mike Williams 33b774685b Schematic: fix inconsistent selected-by-drag behavior of mid-line labels
Two issues here:

Selected labels would half of the time add junctions splitting lines
when the lines would have been selected-by-drag (removing the need for a
junction).

Split lines aren't selected by drag by default, and we need to test
labels against lines that are selected by drag.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13224
2022-12-27 12:15:49 -05:00
Mike Williams b82833200a Schematic: correct bus entry shadows size and selections 2022-12-27 10:09:45 -05:00
Jeff Young e64b356d93 Fix broken if/then/else logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/13192
2022-12-27 14:58:10 +00:00
Mike Williams 1ad373f2b2 Schematic: don't show unselected ends on bus entries 2022-12-27 09:37:21 -05:00
Jeff Young 572c10b2c4 If we don't recognize a var then it's an error, not 0.0. 2022-12-27 13:50:44 +00:00
Jeff Young 39a23fa9bc Only eval numeric properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/13201
2022-12-27 13:50:44 +00:00
Wayne Stambaugh e68bb16a28 Fix Eagle schematic import debug assertion.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13215
2022-12-27 08:31:56 -05:00
Jon Evans 314c813aca Don't try to save hierarchical sheets with empty filenames
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11236
2022-12-26 21:47:17 -05:00
Jeff Young 80f3abe082 Event safety.
Sentry crash probably happens when an update title event fires either
too early or too late to have a simulator or simulator settings.

Sentry issue https://sentry.io/organizations/kicad/issues/3669444623/events/fce0179f7d5e4ff3a7dbb0d90a0570b4/
2022-12-26 20:33:04 +00:00
Jeff Young 424cdf6699 Overflow safety.
Sentry issue https://sentry.io/organizations/kicad/issues/3419671947/events/11212297e66c47c7af7144b5f075e88c/
2022-12-26 20:33:04 +00:00
Wayne Stambaugh 78e2f0fd4d Sheet instance handling improvements. 2022-12-26 08:30:03 -05:00
Jeff Young b070ecf0c7 Don't run simulation while dragging tuning slider.
It has all manner of issues with wxWidgets event processing.  The
primary one that Kicad stumbles over is that there is no kill-focus
when the mouse leaves the thumb if the sim is running, so subsequent
mouse-up events (even if in another window) generate thumb scrolls.
Another one that gets us is scroll events being generated when the
window is fronted, but this may be debugger-specific.

Fixes https://gitlab.com/kicad/code/kicad/issues/11366
2022-12-26 10:51:30 +00:00
Jeff Young 90edcc8c42 Clarity and Clang-tidy warnings. 2022-12-26 10:51:30 +00:00
Jeff Young 13b73ed6b4 Remember dialog sizes for dialogs that might have lots of fields.
This is mainly for simulation testing where the dialog has to be
grown every time you restart the app, but it might as well be applied
to the similar dialogs.

Fixes https://gitlab.com/kicad/code/kicad/issues/12887
2022-12-24 22:20:03 +00:00
Jeff Young 833e76a0bc KiCad standard is left-aligned checkboxes. 2022-12-24 21:01:35 +00:00
Jeff Young ba4a7a979a Don't respond to Duplicate events while placing multiple copies of a symbol.
It doesn't really make any sense as clicking will just create another copy
as well.

Fixes https://gitlab.com/kicad/code/kicad/issues/13253
2022-12-24 19:40:39 +00:00
Jeff Young bf1c4e7bcd Allow translation of simulation error messages. 2022-12-24 11:30:56 +00:00
Jeff Young f00ec339fd Don't set IS_NEW flags during clean-up operations.
Fixes https://gitlab.com/kicad/code/kicad/issues/13252
2022-12-24 11:17:13 +00:00
Jon Evans 5657ca5a04 No-connects might not be connected to a pin
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13256
2022-12-23 20:50:49 -05:00
Jeff Young 6f44468385 Fix more lifetime issues in simulator tuning.
Fixes https://gitlab.com/kicad/code/kicad/issues/13257
2022-12-23 22:03:24 +00:00
Jeff Young 981254543a Allow line-continuations in name=value parameters.
Fixes https://gitlab.com/kicad/code/kicad/issues/13255
2022-12-23 20:05:16 +00:00
Jeff Young 00fe8f0f70 Minor tuner panel layout fixes. 2022-12-23 20:04:26 +00:00
Jeff Young 8069e5d5d6 Fix sim bug running a command the first time when no command in doc.
Fixes https://gitlab.com/kicad/code/kicad/issues/11366
2022-12-23 18:21:26 +00:00
Jeff Young bfd3b40672 Bug fixes for tuning.
1) Don't save SCH_ITEM pointers in long-lived structures.  Use KIIDs
   instead.

2) Use the correct sheet for the referenced item, not the current sheet.
2022-12-23 17:40:36 +00:00
Jeff Young 604d7a72d6 Fix bug in tuning when value is stored in Value field. 2022-12-23 17:40:36 +00:00
Jeff Young e2f2f3518b Minor improvements to tuner panel look & feel. 2022-12-23 17:40:36 +00:00
jean-pierre charras e5363d164c Lib symbol editor, export SVG: fix incorrect position of the drawings.
Fixes #13249
https://gitlab.com/kicad/code/kicad/issues/13249
2022-12-23 16:31:35 +01:00
Jeff Young 66eafc56bb Don't suggest we're going to cancel already-added signals. 2022-12-23 12:46:18 +00:00
Jeff Young 3f49fa5361 Don't write sim.params for library model unless we actually have overrides. 2022-12-23 12:46:18 +00:00
Jeff Young cd7be966c0 Fix typo when un-escaping parameter name. 2022-12-23 12:46:18 +00:00
Jeff Young 7f60b87d1d Implement fallback models for SPICE .lib models that we can't parse. 2022-12-22 22:35:09 +00:00
Jeff Young d0d6dc6ce0 Clang-tidy warnings reduction. 2022-12-22 22:35:09 +00:00
Mike Williams 9b782fa827 Schematic: don't deselect line ends when right clicking off-selection 2022-12-22 14:16:38 -05:00
Mike Williams 8b7d0d71fb Schematic: show update/change symbols for multiple symbol selection
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13231
2022-12-22 14:00:51 -05:00
Jon Evans 66799b60f8 DbLib: Reconnect if connection is lost 2022-12-22 12:15:04 -05:00
Mike Williams 3037f2b444 Schematic: don't require cursor on selected net to assign netclass
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13199
2022-12-22 10:15:48 -05:00
Jeff Young 7abfa46531 Inferred sim value improvements, and a unit test for them. 2022-12-21 17:03:49 +00:00
Jeff Young e64852c833 Clearer naming. 2022-12-21 17:03:46 +00:00
Jeff Young e7e3f3bced SIM_MODEL code simplification.
1) Reduce API surface.
2) Prefer for(int) loops when what we're looking for is the index of
   the item to be found
3) Move "_" escape processing to SIM_MODEL_NGSPICE (which is the only
   model which uses the escape mechanism)
2022-12-21 17:01:58 +00:00
jean-pierre charras 8e4911bba2 Simulation: make a few errors thrown from PEGTL a bit more understandable. 2022-12-20 18:54:14 +01:00
Mike Williams 093c0c2c98 Schematic: add simulation button to toolbar
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2331
2022-12-20 08:56:36 -05:00
Mike Williams fc054bda8e Schematic: fix edit symbol assert
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13197
2022-12-20 08:23:02 -05:00
Jeff Young 97010b598d Update all units when a schematic symbol is edited in the Symbol Editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/13208
2022-12-19 23:09:13 +00:00
Mike Williams 389f0655cd Schematic: re-enable old break wire functionality, add slice
Also fix break/slice wires for multiple wires. The shortcut and code
always allowed it, the context menu just didn't appear.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13163
2022-12-19 15:55:59 -05:00
Jeff Young 8db015bc0f Accept thousands separators in inferred values. 2022-12-19 20:05:54 +00:00
Jeff Young 58ce0bb804 Simulation bug fixes.
1) Use C-locale when converting output of parsers to strings.

2) InferSimModel() must run on local copy of fields, not the fields in
the symbol (which might be different if they've already been edited in
the Symbol Properties Dialog, for instance).

3) InferSimModel() should accept a deviceType already set to RLC.

4) Don't output trailing decimal separators if there's no fraction.
2022-12-19 18:14:13 +00:00
Jeff Young cbb70f0da1 Formatting and CLang-Tidy warning reduction. 2022-12-19 13:51:49 +00:00
Jeff Young 113fd83fdd Fix Clang-tidy warnings. 2022-12-19 13:19:21 +00:00
Jeff Young ebcc1ac062 Use current cursorPos when creating sheet pins.
Fixes https://gitlab.com/kicad/code/kicad/issues/13206
2022-12-19 12:27:55 +00:00
Jeff Young a3a2e2e5b1 Update demos and legacy qa files SpiceMapping -> Spice_Node_Sequence.
Also removes migration in the code as it will no longer be needed.
2022-12-19 12:04:53 +00:00
Jeff Young 04f50ce687 Generate default pinMap from symbol's pins when we don't know SIM_MODEL's pins. 2022-12-19 11:40:52 +00:00
Jeff Young df8eb59854 Don't use SPICE_MODEL_SUBCKT::CreatePins to crate a default pinMap.
(It creates a fully-unconnected map on the premise that it's easier
to add a pinMap than to edit one.  This is probably no longer true
now that you don't have to un-assign a pin before re-assigning it.)
2022-12-19 11:40:52 +00:00
Jeff Young 1ce6cd6d4d Naming clarity. 2022-12-19 01:51:24 +00:00
Jeff Young 7433322778 Handle a couple more legacy formats found in legacy_sallen_key demo. 2022-12-19 01:47:23 +00:00
Jeff Young b06c245b8f Don't double-add DC parameters.
(Remember that DC's inlineTypeString used to be "".)
2022-12-19 01:19:55 +00:00
Jeff Young 7192c565b8 Add simple VI model inference. 2022-12-18 22:54:12 +00:00
jean-pierre charras a9acb2e215 Fix incorrect format in a wxString::Format() 2022-12-18 20:30:15 +01:00
Ian McInerney 618347ef50 Regenerate ibis dialog to remove unused sizer from header
It appears the dialog had already been updated to remove it from the
formbuilder project and the cpp file, but the header wasn't checked in
at the same time.
2022-12-17 23:37:24 +00:00
Ian McInerney 2f8cc194c1 Initialize variables inside file dialog customizer classes 2022-12-17 23:37:24 +00:00
Ian McInerney 0bd39516c4 Cleanup eeschema save as extra control creation to match pcbnew 2022-12-17 23:37:24 +00:00
Jeff Young 8324c0b0cc Fix event order bugs in Sim Model Editor dialog.
onParamGridChanged was firing before CommitPendingChanges which meant
the edited value didn't get saved if the editor was still open when
OK was clicked.
2022-12-17 22:33:00 +00:00
Jeff Young 321de57d7c Bug fixes for simulator.
1) Finish removing pin-count based APIs.  We need to know the pin names
as well, not just the count.

2) Fix a bug in the regexp for SPICE functions to allow both lowercase
and uppercase function names

3) Move CreatePins() overrides to the new API so that we get pins on
raw SPICE models.

Fixes https://gitlab.com/kicad/code/kicad/issues/13190
2022-12-17 20:29:24 +00:00