Commit Graph

2693 Commits

Author SHA1 Message Date
Kevin Lannen 83ecd466ae Pin Table Dialog: Rename m_part to m_symbol to match LIB_SYMBOL naming
LIB_PART was previously renamed to LIB_SYMBOL, this renames the member
variable on DIALOG_LIB_EDIT_PIN_TABLE
2022-11-20 11:13:27 +00:00
Mikolaj Wielgus 0bdb601d8e Sim Model Editor: Make IBIS widgets hidden by default 2022-11-20 00:37:17 +01:00
Mikolaj Wielgus 9b6f7d5db7 Sim Model Editor: Use SIM_LIB_MGR class to manage library models 2022-11-19 01:55:38 +01:00
Mikolaj Wielgus 21ae2dd1c0 Sim Model Editor: Initialize all IBIS models as IBIS devices 2022-11-19 01:55:38 +01:00
Jeff Young e09e521162 Remove GUI calls from netlisting. 2022-11-18 15:29:16 +00:00
Mikolaj Wielgus 28e978ccc9 Sim Model Editor: Fix switching to NONE model in the SME 2022-11-18 09:03:41 +01:00
Mikolaj Wielgus e7c43ca20a Sim: Remove inference from Reference and Value 2022-11-18 08:39:15 +01:00
Jeff Young a61ac363c2 Excise the remaining occurrences of "Alias" for derived symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/12895
2022-11-16 18:37:40 +00:00
Jeff Young 1b3f03a800 Don't feed wxWidgets negative column widths. 2022-11-16 13:33:55 +00:00
Jeff Young bc0a753238 Slight improvement to overly-wide checkbox columns. 2022-11-14 20:01:37 +00:00
Marek Roszko e109b5883f Replace string with extension variable 2022-11-12 21:27:10 -05:00
Mikolaj Wielgus b288e162d2 Sim Model Editor: Remove Override checkbox 2022-11-13 02:13:44 +01:00
Mikolaj Wielgus d66d810edc Sim Model Editor: Use SIM_LIB_MGR to store instance models 2022-11-12 23:27:22 +01:00
Fabien Corona 0d78ca8b1a Ibis: GUI fixes 2022-11-12 14:39:36 +00:00
Mikolaj Wielgus 4caa65d100 Sim Model Editor: Don't use shared_ptr 2022-11-12 04:29:07 +01:00
Mikolaj Wielgus fef6eaa8ba Sim Model Editor: Don't use shared_ptr to hack around lifetimes 2022-11-12 03:15:27 +01:00
Marek Roszko 43f039ef5f Add netlist export cli 2022-11-09 22:37:55 -05:00
Jon Evans 7c71f65869 Add new field attributes to Update from Libraries
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12839
2022-11-08 22:32:47 -05:00
jean-pierre charras 05336798ac try to fix a wx3.0/wx3.1 compatibility 2022-11-07 20:28:00 +01:00
Mikolaj Wielgus e8762da4f4 Revert "Support for variable references in SPICE models."
This reverts commit 95ebfeeed1.
This reverts commit 672ce650a9.
2022-11-07 19:37:40 +01:00
Jeff Young 095f02e6ef Fix encoding issues in Simulation Model dialog's property grid. 2022-11-07 15:03:18 +00:00
Jeff Young 8fc08b9185 Erc for simulation models. 2022-11-07 12:28:11 +00:00
Jeff Young 95ebfeeed1 Support for variable references in SPICE models.
Also fixes a couple of bugs where sheet instance data wasn't being
handled correctly.
2022-11-07 10:57:34 +00:00
Jeff Young 2899ee1eb4 Restore labelling and layout changes lost in revert. 2022-11-05 16:50:54 +00:00
Bevan Weiss 8444339681 Prevent Pin Properties Alternate Pin pane closing on subsequent dialog open 2022-11-04 12:04:32 +00:00
Graham Keeth 6f3e969529 Update BOM dialog help 2022-11-03 22:49:20 +00:00
Sylwester Kocjan a234d5a2c8 common,eeschema,pcbnew: path cleanup 2022-11-02 13:29:52 +00:00
Marek Roszko b60c42ea41 Add schematic cli plotting 2022-11-01 23:34:49 -04:00
Jeff Young 1737a3b94e Fix bugs where values didn't get commited to param grid.
This would happen if you click on another grid cell after changing
a value, or clicking OK in the dialog.  The old value would get
saved and the new value lost.
2022-10-31 14:09:30 +00:00
Jeff Young 6390c28737 Don't conflate instance and ibis widgets. 2022-10-31 14:09:30 +00:00
Jeff Young 20a4d76635 Reduce line-breaking. 2022-10-31 14:09:30 +00:00
Mikolaj Wielgus 355d5014f5 Revert changing inference checkbox to radio button
Reverts 5e1561fc22
and 6c84e0c2f0.
2022-10-31 07:29:38 +01:00
Jeff Young 5e1561fc22 Some bug fixes for inferred models. 2022-10-29 18:44:49 +01:00
Jeff Young 6c84e0c2f0 Dialog changes for inferred models. 2022-10-29 17:08:06 +01:00
Jeff Young fb8493d0bc Move model pin editor to GRID_CELL_ICON_TEXT_POPUP.
wxChoice is hopeless on Mac (it still doesn't highlight on rollover),
and using a char for the "assigned" graphic isn't great.
2022-10-28 15:27:00 +01:00
Jeff Young a42c60d493 Less repetition in pin numbers. 2022-10-28 15:27:00 +01:00
Jeff Young f3ba10ac67 Usability improvements to Pin Assignments in Sim Model dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/12720

Fixes https://gitlab.com/kicad/code/kicad/issues/12721
2022-10-28 00:34:24 +01:00
Jeff Young a9a2cc3e84 Enhance readability of Simulation Model dialog. 2022-10-27 00:01:38 +01:00
Jeff Young 1240a3dd9f Minor dialog layout improvements. 2022-10-26 00:49:18 +01:00
Fabien Corona 20b63f305e Sim: Ibis improvements and fixes
Follow-up after the KIBIS and KIBIS GUI merge requests.

- Move KIBIS from Pcbnew to Eeschema space,
- Make KIBIS obtain the Ku/Kd coefficients via the `SPICE_SIMULATOR` class instead of calling the `ngspice` executable via `system()`,
- Allow to toggle between differential and single-ended model in the GUI,
- Various GUI fixes and improvements.
2022-10-25 09:45:40 +00:00
Jeff Young cef7cd8f7c Move default font to RENDER_SETTINGS.
Fixes https://gitlab.com/kicad/code/kicad/issues/12723
2022-10-22 21:32:42 +01:00
Mikolaj Wielgus 958bd1897d Sim: Add potentiometer model 2022-10-22 04:33:52 +02:00
Wayne Stambaugh 598b09821a Coverity fixes. 2022-10-17 15:30:20 -04:00
jean-pierre charras aa36e15d66 Eeschema, Print preview: fix a incorrect initial size on wx 3.1.7 (and later)
Due to internal changes in wxWidgets, the initial size of the frame was not taken in account.
2022-10-17 10:49:28 +02:00
Mikolaj Wielgus 2475a703d6 Sim Model Editor: Checkbox for toggling inference 2022-10-16 05:10:57 +02:00
Mikolaj Wielgus c8e13813d9 Sim: Rename Sim_Disabled field to Sim_Enable 2022-10-16 00:49:44 +02:00
Jeff Young 668180f96a Add "show field names" to Global Edit Text & Graphics Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/12641
2022-10-14 23:04:09 +01:00
Jeff Young 7ffdfb1067 Clear Scintilla undo history after setting initial text.
Fixes https://gitlab.com/kicad/code/kicad/issues/12650
2022-10-14 22:01:20 +01:00
Wayne Stambaugh 41461f7a69 Improve symbol rescue dialog.
* Fix some minor layout issues on Linux.
* Use button labels to clarify rescue actions.
2022-10-13 10:37:04 -04:00
Jeff Young bd1114d94d Move footprint properties dialogs to symbol properties grid resizing strategy.
Fixes https://gitlab.com/kicad/code/kicad/issues/9883
2022-10-12 00:38:44 +01:00
Jeff Young e02c05d38f Add unit and eval support to WX_GRIDs.
Fixes https://gitlab.com/kicad/code/kicad/issues/1871

Fixes https://gitlab.com/kicad/code/kicad/issues/4285
2022-10-11 23:40:58 +01:00
Jeff Young 3967435f94 Tighter control of busy cursor.
Fixes https://gitlab.com/kicad/code/kicad/issues/11648
2022-10-11 11:22:26 +01:00
Jeff Young d3797dd183 Code clarity. (No functional changes.)
Also some more error message cleanup for consistency.
2022-10-11 11:22:26 +01:00
Jeff Young 8a9e92bc01 More consistency in error messages. 2022-10-11 11:22:26 +01:00
Mikolaj Wielgus d9eb76eae0 Sim: Refactor SPICE_GENERATOR methods to accept a single SPICE_ITEM 2022-10-11 02:22:59 +02:00
Mikolaj Wielgus 6d958c5a3b Sim: Remove some superfluous class members 2022-10-10 13:49:43 +02:00
jean-pierre charras 79c301800a Eeschema printing: fix some issues.
The offset setting was incorrect when using wxAffineMatrix2D.
It was especially visible when printing more than one sheet.
Note also when not using wxAffineMatrix2D, all pages must have the same orientation
(PORTRAIT/LANDSCAPE is not managed)
Fixes #12211
https://gitlab.com/kicad/code/kicad/issues/12211
2022-10-09 18:20:19 +02:00
Jeff Young 19d270fe74 Text size sanity checking for TEXT_ITEMS_GRID.
Oh dear, there was a bunch going on here.  Firstly the move from int
to long long int for ValueFromString() means that we were no longer
catching overflows (as we were C-style casting it back to int in many
places).  But even when the overflow is caught, it would run in to
wxWidgets' empty string bug while trying to log it.

Fixes https://gitlab.com/kicad/code/kicad/issues/12577
2022-10-06 13:19:08 +01:00
Mikolaj Wielgus 6f2b2d7e19 Sim: Minor SIM_LIBRARY cleanup 2022-10-06 14:08:01 +02:00
Wayne Stambaugh 0336cff8d6 Allow schematic symbol value and footprint fields to be instantiated. 2022-10-05 11:12:21 -04:00
Mikolaj Wielgus 8e34dae347 Sim Model Editor: Fix exclude symbol checkbox
Fixes https://gitlab.com/kicad/code/kicad/issues/12344
2022-10-05 11:24:46 +02:00
Mikolaj Wielgus 2f756d9d23 Sim Model Editor: Fix Model panel sizing 2022-10-04 23:47:52 +02:00
Wayne Stambaugh a11c40197f Expunge default symbol instance from schematic file format.
Now that importing hierarchical sheets "properly" imports instance data,
the default symbol instance setting doesn't have any meaning.
2022-10-04 15:42:41 -04:00
Mikolaj Wielgus c2765f40ca Sim Model Dialog: Fix nullptr dereference 2022-10-04 17:48:10 +02:00
jean-pierre charras efdb67aa64 Minor fixes. 2022-10-01 18:42:02 +02:00
Mikolaj Wielgus 0d369f700f Sim: Basic cleanup after KIBIS merge
- Some preliminary refactoring,
- Use multiple types for IBIS drivers instead of a wftype variable,
- Remove the m_requiresUIUpdate variable and its accessors.
2022-09-30 16:17:00 +02:00
Mikolaj Wielgus 62f89ba0d6 Sim GUI: Remove irrelevant references to Spice 2022-09-30 14:32:57 +02:00
Jeff Young 67caebe4c4 When the sash button is right next to the fp dropdown they look related. 2022-09-30 13:02:08 +01:00
Fabien Corona 7e486327d9 Ibis differential and PRBS models 2022-09-29 08:35:01 +00:00
jean-pierre charras dcc325b3b2 More about fix compil issues and warnings, especially in ibis code.
A few are msys2 specific and due to include files order.
2022-09-28 11:26:07 +02:00
Fabien Corona 528fe4d371 Add Ibis to spice model editor
ADDED: IBIS models are now supported in Sim Model Editor
2022-09-27 20:47:00 +00:00
Jeff Young fb80f83335 Formatting. 2022-09-27 11:12:58 +01:00
Jeff Young 838bd7292c Default intersheet ref field visibility to off, and show warning
when user tries to edit via Symbol Properties or Field Propeties.
2022-09-26 21:00:46 +01:00
Jeff Young 58874a591b Improve tooltips.
Fixes https://gitlab.com/kicad/code/kicad/issues/12510
2022-09-26 17:44:52 +01:00
Ian McInerney 40ff7cb9bd Fix some UI element spacing in settings panels 2022-09-25 15:41:39 +01:00
Ian McInerney b363e0f300 Simplify lib shape properties dialog code
Since 34e706bcbc it is assumed that the
shape passed in exists, so testing for a null pointer is pointless
(it will always be non-null). Also hardcode the assumption the shape is
non-null in the constructor using an assert.
2022-09-25 15:41:39 +01:00
Marek Roszko 209e1b2086 Add naming of the outline page entries 2022-09-24 22:54:38 -04:00
Ian McInerney 44c2782d39 Fix more for loops making copies of iterates 2022-09-25 00:48:38 +01:00
Ian McInerney 1683e552f7 Add/fix some variable initializations 2022-09-25 00:48:38 +01:00
Jeff Young 659a6e5b04 Replace macHack as its requirement sadly never went away. 2022-09-24 23:50:45 +01:00
Ian McInerney d9846a006a Get lib shape fill color from settings if not specified by shape 2022-09-24 03:46:06 +01:00
Ian McInerney fdb97a46c1 Don't copy items in for loops when not needed 2022-09-24 03:46:06 +01:00
Jon Evans 35520c78e4 Fix missing virtual dtor 2022-09-23 21:44:15 -04:00
Jon Evans 2089374f53 ADDED: Export symbols from schematic to library
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11433
2022-09-23 21:23:01 -04:00
Ian McInerney c71c192372 Fix warning generated by sim string changes 2022-09-24 01:37:57 +01:00
Mikolaj Wielgus e4865ce543 Excise wxString from simulation 2022-09-22 07:41:52 +02:00
Jeff Young fc10db25ba Netclass directive and label conversion improvements.
1) Copy label fields when converting.
2) Don't assume netclass directive should be net name -- this is very
unlikely.
3) Don't show font controls in Netclass Directive Properties dialog --
there's no basic text associated witha  Directive Label.
2022-09-22 01:22:19 +01:00
jean-pierre charras 78087597cd Avoid including plotters/plotter.h in many files.
It avoid a large rebuild when modifying the plot code.
2022-09-21 08:52:34 +02:00
Jeff Young 7f34586c7e Allow text variable resolution through properties in drawing sheet text.
Fixes https://gitlab.com/kicad/code/kicad/issues/12473
2022-09-20 15:28:05 +01:00
Jeff Young 64a6fc0fd4 Push UNITS_PROVIDER down into a low-level mixin.
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Jeff Young 45d6b4a9fc Readability improvements. 2022-09-19 11:18:20 +01:00
Marek Roszko 63295cfb9e Remove unused vars 2022-09-18 08:49:07 -04:00
Mikolaj Wielgus a8d7a845b6 Sim: Rename SIM_MODEL_SPICE to SIM_MODEL_RAW_SPICE 2022-09-18 07:25:56 +02:00
Marek Roszko 66e8931405 Remove IU_PER_MM thats standalone 2022-09-16 21:09:27 -04:00
Marek Roszko 7a5829f8d6 Move IU2Mils 2022-09-16 21:09:27 -04:00
Marek Roszko 61e11d6896 Strip out Mils2Iu 2022-09-16 21:09:27 -04:00
Marek Roszko e6ed275c25 Repoint IU_PER_MILS 2022-09-16 21:09:26 -04:00
Marek Roszko a8613ee80f Combine Iu2Millimeter & remove PcbMm2iu 2022-09-16 21:09:26 -04:00
Seth Hillbrand e0a6ff3f14 Don't hold on to the background print color option
When printing b/w we need to set the print background to off otherwise
we can inadvertently get backgrounds printing
2022-09-16 17:23:06 -07:00
Seth Hillbrand 524b129c64 ADDED: Support for explicit DNP field
Dims elements shown as DNP.  Adds property `dnp` to explicitly denote
parts that should not be populated. These parts are not included in X/Y
files
2022-09-16 22:26:16 +00:00
Jeff Young 2aa8facacd Reconcile SPIN_STYLE and text alignment/rotation controls.
Fixes https://gitlab.com/kicad/code/kicad/issues/12443
2022-09-16 20:01:18 +01:00
Mark Roszko b00178adb3 Nuke base_units from orbit 2022-09-16 04:38:10 +00:00
Jeff Young 1e64db779c Fix some issues in ERC error messages.
1) use consistent punctuation
2) make sure all are translated

Fixes https://gitlab.com/kicad/code/kicad/issues/12432
2022-09-15 23:43:46 +01:00
jean-pierre charras fb793d9a62 Recreate panel_eeschema_editing_options_base.cpp: there were strange tooltips.
Looks like the file was edited by hand.
2022-09-15 16:13:51 +02:00
Jeff Young a21d24a4c8 Experiment with loading recent searches into the search menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-15 14:44:02 +01:00
jean-pierre charras 83fb06ff75 Fix compil and Coverity warnings. 2022-09-15 10:50:14 +02:00
Mikolaj Wielgus 907ad27e7f Sim: Move SPICE_GENERATOR class to a new file 2022-09-15 05:26:23 +02:00
Jon Evans da9be1a812 ADDED: Multi-selection cut/copy/paste in symbol editor library tree
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11505
2022-09-14 22:20:38 -04:00
kliment b97f9ea329 Add support for symbol unit display names in eeschema and symbol editor 2022-09-14 22:11:37 +00:00
Mikolaj Wielgus e4c5bc6c66 Sim: Refactor Spice code generation to a new SPICE_GENERATOR class 2022-09-14 09:36:49 +02:00
aris-kimi 7cc14100fe Modify some sizers in Preferences, Symbol Editor
Display and Editing Options

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11721
2022-09-13 22:05:32 +03:00
Jeff Young d3d5d0f46e Distinguish between user added fields and those found in symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/11511

Fixes https://gitlab.com/kicad/code/kicad/issues/8999
2022-09-12 23:39:33 +01:00
Jeff Young 45fb0107a0 Copy field properly.
Offset for new parent, and set parent property.

Fixes https://gitlab.com/kicad/code/kicad/issues/12376
2022-09-11 23:16:34 +01:00
Jeff Young fb48bef49f Formatting. 2022-09-11 23:13:37 +01:00
Jeff Young 536561f7b3 Move bus aliases to std::set.
This is mostly to output the aliases sorted (for ease of VCS integration),
but also because a btree will be faster than hashing on a small dataset.

Fixes https://gitlab.com/kicad/code/kicad/issues/11890
2022-09-11 19:48:08 +01:00
Jon Evans 371985b3e2 Autoplace fields if enabled after changing symbol 2022-09-11 10:11:25 -04:00
Mikolaj Wielgus 91358dfcac Sim Model Editor: Fix Enable/Disable of parameters
Only SIM_STRING_PROPERTY-based parameters were updated.
2022-09-11 15:24:16 +02:00
WhiteChairFromIkea 50716ed8f2 Simplify "Remove fields" 2022-09-11 12:28:53 +00:00
Jeff Young fdc00ed22d Fix uninitialized variable. 2022-09-10 10:25:52 +01:00
Jeff Young bcaca947b9 Don't display busy cursor over remap symbols dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/11648
2022-09-10 09:31:27 +01:00
Jeff Young f87bf3c46d Special case up-key so it can get past headers in paged dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/10078
2022-09-10 09:31:27 +01:00
Seth Hillbrand f2e3329617 Add ERC QA tests 2022-09-09 17:21:57 -07:00
jean-pierre charras aeb7447102 Fix a compil issue on wxWidgets version < 3.1.6
wxSpinCtrl::SetIncrement() exists only in version >= 3.1.6
2022-09-09 20:14:38 +02:00
Jeff Young 6507a4165e Work around odd issue with wxWidgets initializing control wrong. 2022-09-09 18:09:09 +01:00
Mikolaj Wielgus 300a1c4144 Add a new schematic exporter to Spice .subckt model
An option to use the current sheet as root is added to both the original
and new (.subckt model) exporters.
2022-09-09 16:18:48 +02:00
Jeff Young f179754118 Implement add-new-on-return for some of our grids.
Fixes https://gitlab.com/kicad/code/kicad/issues/12335
2022-09-09 13:41:13 +01:00
WhiteChairFromIkea 77046e9506 Add "Open file after plot" to Plot dialog 2022-09-08 11:11:20 +00:00
Jeff Young f4de7bfc48 Improve dialog layout. 2022-09-08 00:28:30 +01:00
Jeff Young 9e8e241924 Fix some missing swatch background colours in EEschema dialogs. 2022-09-06 13:59:52 +01:00
jean-pierre charras 95f0c863b8 Remove a log message used in debug and left in code by mistake. 2022-09-05 18:33:18 +02:00
jean-pierre charras fd94a3b532 DIALOG_SYMBOL_PROPERTIES: fix an issue about symbol flags:
It prevent saving changes in undo/redo stack.
2022-09-05 12:57:07 +02:00
jean-pierre charras 92edee5a08 Fix issues related to m_unit SYMBOL member:
- ensure it is updated in DIALOG_SYMBOL_PROPERTIES
- ensure it is restored after changes in CONNECTION_GRAPH::Recalculate
2022-09-04 20:59:06 +02:00
Jon Evans 04f65c6c5c ADDED: Option to disable autoplacement for particular fields
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5767
2022-09-04 13:01:31 -04:00
Jon Evans 4ea0a80df0 CHANGED: Fields may now optionally display their name before their value
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11457
2022-09-03 17:03:37 -04:00
Jeff Young c30a557810 ADDED netclass assignment from PCB canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/5975
2022-09-03 19:29:59 +01:00
Mikolaj Wielgus f6b1ff821b Sim Model Editor: Improve raw model code preview
- Show whole file below the item line for reference
- Fix pin sequence in item line (was not displayed)
2022-09-03 16:20:41 +02:00
Wayne Stambaugh 4c096fee15 Eeschema: fix crash when attempting to edit missing library symbol.
Disable the edit symbol buttons in the symbol properties dialog when
there is no library symbol to edit.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11318

(cherry picked from commit 5afeb45a84)
2022-09-02 16:25:34 -04:00
Jeff Young 20eca94fca ADDED vertical alignment for text boxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12340
2022-09-02 19:16:38 +01:00
Jeff Young 6850dd5482 Sort row references before sorting rows.
Fixes https://gitlab.com/kicad/code/kicad/issues/12275
2022-09-01 18:17:41 +01:00
Jeff Young ec414c88a2 Don't leave space for auto rotate checkbox when its hidden. 2022-09-01 14:27:16 +01:00
Jeff Young ebe9617e77 More EDA_RECT expungification, and an attempt to fix the python test. 2022-08-31 17:19:48 +01:00
Jeff Young 63386ba64d Pointer safety for ERC/DRC dialogs.
Also makes the "Edit ingored violations" easier to find.

Fixes https://gitlab.com/kicad/code/kicad/issues/12308
2022-08-30 12:07:19 +01:00
Mikolaj Wielgus bd6c153ad9 Sim: Implement "enum" model parameters for switches
Displayed in Sim Model Dialog parameter grid as a dropdown
(wxEnumProperty).
2022-08-30 09:45:49 +02:00
Marek Roszko 03aa63bd50 Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific 2022-08-29 20:11:03 -04:00
Mikolaj Wielgus 3b3131ad74 Create class for voltage and current -controlled switches
Unfortunately, along the way it turned out that Ngspice's .probe alli
breaks current-controlled switches. So they won't work in that case for
now.
2022-08-29 03:49:41 +02:00
Jeff Young 48f77973da Another try at getting the Link combobox working on MSW. 2022-08-28 23:25:01 +01:00
Jeff Young 95fd7cb80a Move wxComboBox to wxBitmapComboBox in hopes it will work better.
(Not sure if it solves the MSW issues yet, but at least it highlights
the items in the dropdown on rollover on OSX.)

Also added some text to the dropdown menu for intersheet references in
the PDF.
2022-08-28 12:05:27 +01:00
Roberto Fernandez Bautista a76d1a791d Hyperlinks: Don't forget about file:// protocol 2022-08-27 23:16:28 +01:00
Jeff Young 122a6d7f46 Move hypertext linking to user-page-numbers.
Also moves most navigation code to SCH_NAVIGATION_TOOL.
Also changes page number href to anchor syntax ('#foo').
Also adds hypertext processing to SCH_TEXTBOXes.
Also adds combobox with schematic pages to text properties dialog.
2022-08-27 19:17:43 +01:00
Roberto Fernandez Bautista 72e39fc865 Get it working for SCH_TEXT with infobar error message 2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista e7920bdda4 wip - fixes 2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista 840bcffefb ADDED: Hyperlinks on text items in Schematic Editor 2022-08-27 19:17:42 +01:00
Marek Roszko bf964d8678 Commonize page_info by simply making the Iu scale a parameter on call. 2022-08-27 13:36:00 -04:00
Jon Evans 300d92438c Allow hiding symbol library tables from symbol chooser
Hidden but loaded libraries are useful when using database libraries
2022-08-26 20:18:40 -04:00
Jeff Young a90f223644 Take a stab at fixing some likely-event-ordering issues on MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/12289
2022-08-26 17:05:25 +01:00
Jon Evans ae6a2a6443 ADDED: Database libraries MVP
Allows placing parts from an external database that reference symbols from another loaded library.

Includes:
- nanodbc wrapper
- database schematic library plugin
- basic tests

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7436
2022-08-26 10:51:13 -04:00
Mikolaj Wielgus 963900ab83 Sort sim model pins by symbol pin number in sim model dialog 2022-08-26 04:36:48 +02:00
jean-pierre charras a306246558 Fix a few (minor) compil and Coverity warnings. 2022-08-25 20:21:00 +02:00
Marek Roszko e0f28fc4e1 Replace wxFindReplaceData with our own container
By dropping the flags, we can be strict with options.
Also it makes future usage of search functionality a little more "UI" framework independent
2022-08-23 22:16:51 -04:00
Jeff Young 638198251a Coverity fixes. 2022-08-22 17:52:58 +01:00
Mikolaj Wielgus 6fad25f8ed Allow mapping sim model pins to arbitrary string symbol pin numbers
This change removes the incorrect assumption that symbol pin numbers are
integers and are the same as indexes in the vector storing the symbol
pins.

"~" is now used to denote a floating sim model pin.
2022-08-22 08:13:26 +02:00
Jeff Young 88c9177ff6 Move bus members from wxArray to std::vector and fix some bugs in dialog. 2022-08-21 20:54:41 +01:00
Jeff Young b2a2d66005 Move Bus Definitions to common GUI paradigm in Schematic Setup.
Also includes a change to the std::initializer_list stuff to try and
fix a crash.
2022-08-21 12:29:51 +01:00
jean-pierre charras a75b537a52 Avoid using a single word in dialog, not really translatable.
Single word string having many meanings is not translatable.
2022-08-21 10:16:29 +02:00
Jon Evans afab26d554 Don't paint hidden fields without a schematic context 2022-08-20 17:56:53 -04:00
Jon Evans 8694c37376 Remove requirement that non-power symbols share a name and value
There is no technical reason for this restriction for non-power symbols, so let's remove it.
This will allow more flexibility and compatibility with other tools.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9389
2022-08-20 17:43:43 -04:00
Jeff Young 942732057b Add bus aliases to pre-canned labels in the label combobox.
Fixes https://gitlab.com/kicad/code/kicad/issues/12248
2022-08-20 16:07:59 +01:00
Jeff Young aa2ad3b44c Move KICAD_T[] to std::initializer_list<KICAD_T>. 2022-08-20 10:28:11 +01:00
Marek Roszko d4e4071be3 Avoid netlist export dialog crash from trying to delete a non-custom format
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12229
2022-08-15 19:12:46 -04:00
Wayne Stambaugh 898ec0d094 Fix wxWidgets 3.1 and later deprecated build warnings.
wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize().  This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
2022-08-15 08:00:40 -04:00
Jeff Young a9536b5de9 CHANGED netclass assignments now done via canvas or via patterns. 2022-08-14 22:56:29 +01:00
jean-pierre charras 4270c6d676 DIALOG_SYMBOL_PROPERTIES: rebuild the pin list when selecting another unit. 2022-08-13 11:00:00 +02:00
Seth Hillbrand d142cf239e Avoid null pin assertions
When changing units, we might not have the original pins
available to set the Alt assignments.  Instead, we search
by number and skip the pin if it doesn't exist in the
new unit

Fixes https://gitlab.com/kicad/code/kicad/issues/12218
2022-08-12 18:25:49 -07:00
jean-pierre charras 488a53e71b Fix a few minor Coverity warnings 2022-08-12 10:51:36 +02:00
Jeff Young a11f48ef10 Markers provider is no longer responsible for all markers.
Unconnected items and schematic partity violations are also now
represented by markers, so the ERC/DRC window itself needs to do
the deep-delete.

Fixes https://gitlab.com/kicad/code/kicad/issues/12182
2022-08-08 22:02:20 +01:00
Mikolaj Wielgus 5d64fc12a1 Attempt to fix GCC MSYS2 build crash
Initialize ngspice_models.cpp structures at runtime on demand. Use
a sequence of std::vector::emplace_back() instead of
brace-initialization.
2022-08-02 14:47:28 +02:00
jean-pierre charras c815847b1e DIALOG_SIM_MODEL: fix some issues (not all)
* internationalize
* fix min size
* show lib filename in a not editable wxTextCtrl instead of a wxStatic Text
2022-08-02 12:52:22 +02:00
Jeff Young 6f49b57f9b Cleanup & performance enhancements. 2022-08-01 13:09:51 +01:00
Seth Hillbrand 4074409890 Fix broken compile on Linux/Mac
Template instantiations need to follow the template definitions or you
don't get all of the template members, just the ones called from within
the file
2022-07-31 19:49:28 -07:00
jean-pierre charras 4915f6ca20 Fix a few compil warnings 2022-07-30 14:06:51 +02:00
Mikolaj Wielgus 7cf5138c63 Sim: Bugfixes, mostly for MS Windows compilation errors
Unfortunately, Windows headers define a lot of macros for common words,
so we had to rename some enums to not collide.

We also fix some of the many bugs related to the new simulation
architecture and the Spice Model Editor dialog.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus 739b9255d9 Sim Model Editor improvements
- Tab-switching,
- Automatic expansion of categories on tab-switch,
- Various minor simulation improvements,
- Various new simulation-related bugfixes.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus 6984f63af8 Sim: Transmission line models
Implement transmission line models and perform some adjustments to
the current models. Add some QA tests.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus fe38c622a9 Sim: Improvements to model serialization
Don't serialize parameters in certain models for default values. Infer
models from Value field for some kinds of models. Resolve synonyms when
loading models from Spice libraries.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus 6450ec6b85 Sim: Spice netlist exporter rewrite
Rewrite the spice exporter to work with the new simulation model
architecture and data model, with many bugfixes related to the latter
two along the way.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus ce84a48037 Sim: Implement loading Spice library files
Implement parsing and loading Spice libraries into KiCad. This is done
without any involvement of Ngspice -- we create our own in-tree parser
using PEGTL -- because Ngspice doesn't offer any intermediate output we
could plug ourselves into. We don't parse everything -- just the library
content, so this won't be that much effort.

We implement some basic Spice code preview to give the user a hint what
Spice code eir model will correspond to.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus 978f01553b Sim Model Editor: Serialize models in fields
Implemented serialization and deserialization of models in symbol fields
through the SIM_VALUE class. We don't carry the Spice legacy of
case-insensitive suffixes, instead we conform to the SI standard (i.e. M
is Mega, not milli, P is peta, p is pico).

Parameter grid value validation is implemented by simply not allowing
any characters that will make the value invalid (instead of highlighting
the field in a red color). This will likely be changed at some point in
the future.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus c5a256291e Sim Model Editor: Display model parameters
This commit adds parameter display functionality, via a wxPropertyGrid
widget, to the Sim Model Editor. To faciliate that, a SIM_VALUE class is
created to serialize, deserialize, and validate numeric values in the
new parameter grid.

SPICE_MODEL is renamed to SIM_MODEL and split into several subclasses
that correspond to different model kinds.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus 229e5c9e0f Begin development of a new Sim Model Editor dialog
With that also begin reworking the internal structure of the simulation
model storage. Some models have parameter information extracted from
Ngspice, which was specially patched to faciliate that. The model is
stored and managed by the SPICE_MODEL class (later will be renamed to
SIM_MODEL).
2022-07-30 02:25:34 +00:00
jean-pierre charras 993c446fdf Fix some warnings detected by PVS-STUDIO (most are not used vars) 2022-07-25 18:23:52 +02:00
Jeff Young e10158ff10 ADDED show pin names on footprint pads when assigning to symbol.
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young 0e07ce9d2e Minor dialog cleanup.
Fixes https://gitlab.com/kicad/code/kicad/issues/11517
2022-07-24 09:09:25 +01:00
Jeff Young 8b7d4a8869 Minor dialog cleanup. 2022-07-24 08:59:37 +01:00
Jeff Young 3def3d659e Allow click-selection and greedy-drag selection of visible pin text.
Stingy drag still works only on the pin itself.

Fixes https://gitlab.com/kicad/code/kicad/issues/11723
2022-07-23 23:27:14 +01:00
Jeff Young 0d5302f375 Add preference for esc-clears-net-highlighting.
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-07-23 10:32:43 +01:00
passionateengineer 3389e456b1 Fixes inverted Y position in pin table.
Fixes https://gitlab.com/kicad/code/kicad/issues/11988
2022-07-20 15:12:59 +00:00
Mike Williams d44e34d513 Images: Add full properties editor
Converts dialog_image_editor to panel_image_editor. Embeds this panel in
a new properties dialog for the schematic and PCB editors that allows
editing position, layer, locked status, etc. like other items.
2022-07-14 11:23:23 +00:00
Seth Hillbrand 91e4d5e0ea Add Apply button to "Edit Text and Graphics"
Allows the user to apply multiple sets of changes without closing the
window

Fixes https://gitlab.com/kicad/code/kicad/issues/11904
2022-07-13 16:44:15 -07:00
Seth Hillbrand 0dab566270 Fix name escaping in symbol editor
When renaming a symbol, be sure to handle name escaping in all of the
various places that we do renaming (!)

Fixes https://gitlab.com/kicad/code/kicad/issues/11939
2022-07-12 12:06:30 -07:00
Jeff Young c243c7e1b8 Don't lock user out of OK'ing libraries dialog. 2022-07-11 19:04:08 -06:00
Mike Williams e454595348 Eeschema: Changing pin length adjusts offset according to orientation
ADDED: When pin length is changed now, the pin position is adjusted
according to its orientation such that the connection point for wires
moves instead of the other side of the stem base. For pins coming out of
component boxes, etc. this keeps them attached to the box while the
length is changed.
2022-07-11 13:58:06 -04:00
Jeff Young d07c6699ce Bring symbol editor in line with eeschema for empty text.
Fixes https://gitlab.com/kicad/code/kicad/issues/11799
2022-07-10 20:37:26 -06:00
Jeff Young 98c7572f5e Minor dialogs fixes for Mac. 2022-07-10 11:30:25 -06:00
Jeff Young 63d83f4186 Minor dialogs fixes for Mac. 2022-07-10 11:15:52 -06:00
jean-pierre charras fb5604022c Eeschema: DIALOG_SCH_FIND: ensure the search flags actually used are up to date.
Flags are encoded using internal wx values, that can change with wxWidgets versions.
They need to be always rebuilt from the displayed options in dialog.
Fixes #11960
https://gitlab.com/kicad/code/kicad/issues/11960
2022-07-09 10:28:53 +02:00
Jeff Young ded611aed5 Patch annoying large checkbox cols in wxWidgets 3.1.x on OSX. 2022-07-08 17:27:05 -06:00
Jeff Young a16fc5b537 Go back to native headers for Symbol Fields dialog.
Some of the drag issues are fixed in wxWidgets 3.1.x, and the balance
of problems now favours native.

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

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

Fixes https://gitlab.com/kicad/code/kicad/issues/11836
2022-07-08 17:27:05 -06:00
jean-pierre charras f47a4ec92a Eeschema: fix typo in commit 428bbc2 that make it not working. 2022-07-08 09:48:34 +02:00
Seth Hillbrand 428bbc201b Ensure last column of csv export has terminator
Last shown column can be different from the last exported column

Fixes https://gitlab.com/kicad/code/kicad/issues/11981
2022-07-07 11:23:18 -07:00
jean-pierre charras 4db72f2d55 Fix minor compil and Coverity warnings. 2022-07-07 12:38:34 +02:00
Miklos Marton d30af7c164 eeschema: Add automatic rotate feature for placing global and
hierarchial labels
2022-07-05 17:02:45 +00:00
Seth Hillbrand cde30d3dba Clarify cross-probing options
Previous the cross-probing options were mixed between sending and
receiving cross-probe events.  This clarifies so that all of the pcbnew
cross-probe options deal with whether the cross-probe is seen in pcbnew
and all of the eeschema options deal with seeing the event in eeschema.

Also updates the wording in the options panels to be the same where
possible and adds tooltips

Fixes https://gitlab.com/kicad/code/kicad/issues/11454
2022-07-01 16:47:09 -07:00
Mike Williams 252afe41f3 Schematic: remove old, invalid angle choice from editing options 2022-06-28 16:29:14 +00:00
Jeff Young 83a2f43661 Apply DRC fixes to ERC.
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
2022-06-27 21:07:03 -06:00
Miklós Márton f2382a7bd1 Add Make selected active/inactive actions to the symbol libraries
context menu

Fixes #11372
2022-06-21 23:32:02 +00:00
Jeff Young 494d79423e Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/11809
2022-06-19 20:56:22 +01:00
Jeff Young 34e706bcbc Border colours and line styles for symbol editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/11810
2022-06-16 14:52:38 +01:00
jean-pierre charras c79dd09464 PANEL_SYM_LIB_TABLE: fix a bug in filenames from wxFileDialog dialog.
We want the full path, so use GetPaths.
GetFilenames sometimes return the full path in wxWidgets 3.1.7, not always the filename
Fixes #11821
https://gitlab.com/kicad/code/kicad/issues/11821
2022-06-16 13:04:27 +02:00
Jeff Young 52bc2511cd Add a radioButton mode to IMAGE_BUTTON.
Fixes https://gitlab.com/kicad/code/kicad/issues/11797
2022-06-12 20:09:46 +01:00
Jeff Young 69c1f88e53 Update symbol instances after sheet rename.
Fixes https://gitlab.com/kicad/code/kicad/issues/11782
2022-06-12 15:46:37 +01:00
Jeff Young a0421b172a Add missing color swatch to Symbol Editor Text Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/11791
2022-06-11 22:14:14 +01:00
Jeff Young 6bfd106bed Add missing text colour to symbol editor textbox dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/11770
2022-06-09 10:37:23 +01:00
Jeff Young 46fd32b738 Update grid attributes after sorting.
Fixes https://gitlab.com/kicad/code/kicad/issues/11753
2022-06-08 15:25:13 +01:00
Jeff Young 34932e097c Minor dialog cleanup. 2022-06-08 15:25:13 +01:00
Jeff Young 244042ce51 Keep footprint selection in Symbol Chooser history list.
Fixes https://gitlab.com/kicad/code/kicad/issues/1841
2022-06-06 22:24:02 +01:00
Jeff Young 31316760f6 Separate power and symbol saved search strings.
Fixes https://gitlab.com/kicad/code/kicad/issues/11747
2022-06-04 22:15:39 +01:00
Mike Williams 857990a883 Hierarchy: turn into a left side pane
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Mike Williams efa23a5cbe Schematic: better automatic/recursive annotate 2022-05-27 15:54:00 +00:00
Mike Williams 7f3e5e9b79 Schematic: add recursive annotation control 2022-05-27 15:54:00 +00:00
Mike Williams dabd42bbc4 Schematic: Automatic Symbol Annotation 2022-05-27 15:54:00 +00:00
Jeff Young 616e9b4f4b Be cognizant of symbol transform when setting justification.
Fixes https://gitlab.com/kicad/code/kicad/issues/11465
2022-05-26 10:54:08 +01:00
Jeff Young 38e5faf21b Overhaul bitmap text for performance.
Also adjusts metrics to better match stroke font.

Also removes text-halo highlighting as it's too expensive to re-render
when the zoom changes.

Fixes https://gitlab.com/kicad/code/kicad/issues/11460
2022-05-14 20:09:54 +01:00
Jonathan Haas 5802ede3fd Change default value of MatchByReference to false.
Fixes https://gitlab.com/kicad/code/kicad/issues/11382
2022-05-14 12:41:25 +00:00
jean-pierre charras 45b167dff5 Some fixes related to translated/not translated mandatory field names. DIALOG_SYMBOL_FIELDS_TABLE: add new fields to symbols only if the field is not empty. 2022-05-13 11:45:38 +02:00
jean-pierre charras 20d1d0705e Fix a few issues related to field names and their translation. - Do not use translated field names outside strings displayed in dialogs. - fix code that does not work well with default locale. - fix some (not all) I18n issues in DIALOG_UPDATE_SYMBOL_FIELDS. 2022-05-13 11:45:37 +02:00
Seth Hillbrand bbc250720f Resolve title variable when plotting
Be sure to use variable name if it exists when plotting the file

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

(cherry picked from commit d971cbefcb)
2022-05-12 15:31:15 -07:00
jean-pierre charras b68514afb1 Fix a wxWidgets alert. 2022-05-12 20:58:48 +02:00
Marek Roszko f85251ef75 Fix eda_doc not looking for schematic locally
It looks like this was overlooked by Jeff in 2020 not realizing eda_doc isn't built under eeschema but common in cc9ac37a0e
2022-05-10 21:28:48 -04:00
Mike Williams b7a77a9498 Schematic: Add CSV export to Symbol Fields Table 2022-05-09 12:02:12 -04:00
Jeff Young 8f937b17a2 Remove wxWidgets 3.0.x hack.
Fixes https://gitlab.com/kicad/code/kicad/issues/11540
2022-05-07 23:24:55 +01:00
Jeff Young f9f0f6fe24 Implement cross-references for labels.
Fixes https://gitlab.com/kicad/code/kicad/issues/11564
2022-05-07 21:10:04 +01:00
Jeff Young a644aad1cf Hand-code tab navigation from value field of Label Properties dialog.
wxWidgets doesn't appear to handle it correctly, doing nothing on OSX
and potentially crashing on GTK.

Fixes https://gitlab.com/kicad/code/kicad/issues/11572
2022-05-06 18:14:25 +01:00
Jeff Young 9c5aa5c3c1 Font and color for FIELDS_GRID_TABLE.
Fixes https://gitlab.com/kicad/code/kicad/issues/11459
2022-05-06 00:06:00 +01:00
Jeff Young e80c5a4e4e Add text colour to Edit Text & Graphics Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/11459
2022-05-06 00:06:00 +01:00
Jeff Young 804ab5609e Add dash-dot-dot to Edit Text & Graphics Properties.
Also fixes a bug where textboxes and shapes  weren't correctly updated.

Fixes https://gitlab.com/kicad/code/kicad/issues/11522
2022-05-02 17:22:13 +01:00
Jeff Young 6d44ca2145 Ellipsize long heirarchical paths.
Fixes https://gitlab.com/kicad/code/kicad/issues/11499
2022-04-30 14:09:30 +01:00
Jeff Young 2cccd5b090 Fix minor layout issue in dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/11490
2022-04-27 17:14:33 +01:00
Jeff Young e6f11c5c39 Reset outline font if bold or italic changed.
Fixes https://gitlab.com/kicad/code/kicad/issues/11462
2022-04-26 12:52:29 +01:00
Jeff Young 6738708a7f Disable background color when printing in black & white.
Fixes https://gitlab.com/kicad/code/kicad/issues/11180
2022-04-24 19:46:57 +01:00
Jeff Young c6f83b6dec ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00