Commit Graph

10265 Commits

Author SHA1 Message Date
Jeff Young f897b4bac1 Remove cover routines for std::vector.
They just make it harder to see if we're following std::vector's
contract.
2023-08-02 16:56:56 +01:00
Jeff Young 502b91ba6f Capitalize type names. 2023-08-02 16:56:56 +01:00
Jeff Young f332dba095 Try harder to prevent duplicate axis labels. 2023-08-02 16:56:56 +01:00
Jeff Young 485b768da7 Fix issue with stripping non-trailing '9's from tick labels. 2023-08-02 16:56:56 +01:00
Jeff Young 094a80ce31 Stop adding a new return to a sim command every time we read it.
Also stop moving the legend down 40 pixels every time it's read.
2023-08-02 16:56:56 +01:00
Jeff Young fcc770cad6 Fix bugs in .meas cmd syntax for AC small-signal analyses. 2023-08-02 16:56:56 +01:00
Jeff Young e8ae3533d1 Set format on all matching signals. 2023-08-02 16:56:56 +01:00
Jon Evans 35c372a072 Support expanding selection for schematic graphic lines
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12032
2023-08-01 21:22:35 -04:00
Mike Williams 37fdcce0a0 Fields Editor Table: add checkboxes for fields representing attributes
DNP, Exclude from ..., etc.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15300
2023-08-01 14:33:30 -04:00
Mike Williams 8fb316f995 Symbols: add ${EXCLUDE_FROM_SIM} variable to match the other attributes 2023-08-01 14:33:30 -04:00
Mike Williams df04171234 Fields Editor Table: apply correct column attr to new fields 2023-08-01 14:33:30 -04:00
Mike Williams 39297adc61 Fields Table Editor: remove old assumptions about Qty being last col 2023-08-01 14:33:30 -04:00
Mike Williams 25e391719e Fields Table: convert special strings like Quantity to named variables
Before, we did not actually prevent users from adding a field also named
Quantity to their symbols. This of course does not play nicely with the
assumptions that Quantity is a special column in the fields editor.

By making it a named variable, the user can safely add it to a symbol
and it will not be editable, and will also work in the fields table
editor as expected.
2023-08-01 10:55:32 -04:00
jean-pierre charras 3a82374719 sim/sim_model: fix an annoying issue when adding new fields: their ID was
set in undefined, that create an issue (the canonical name was returned as
"Field-1", breaking the schematic file).
Now, new field IDs are not set to -1, and the saved file uses the field name
(if exist) when saving fields with undefined ID.
2023-08-01 13:37:53 +02:00
jean-pierre charras 1b0dea069b Symbol editor: minor fix do not allow the lib tree to be docked on bottom or top
of the editor frame: it cannot be displayed.
2023-07-31 18:30:13 +02:00
Mike Williams b34309fdba Schematic: display symbol's user-defined description in message panel
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15298
2023-07-31 11:22:09 -04:00
Mike Williams 744452d092 Sch/PCB: allow back-updating schematic fields from PCB
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15285
2023-07-31 10:38:43 -04:00
jean-pierre charras d1caadeb4f symbol editor: fix small issues:
* save visibility of the properties panel
* fix correct size of the properties panel after hide/show it.
2023-07-30 11:04:49 +02:00
jean-pierre charras 1548b14f84 DIALOG_LIB_SYMBOL_PROPERTIES: fix incorrect state of two wxCheckboxes.
When opening the dialog, m_excludeFromBomCheckBox and  m_excludeFromBoardCheckBox
states were the opposite of the actual symbol property.
Fixes #15269
https://gitlab.com/kicad/code/kicad/-/issues/15269
2023-07-30 08:42:33 +02:00
Seth Hillbrand 018d60eb40 Fix-up for previous commit
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
2023-07-28 09:47:18 -07:00
Seth Hillbrand 7bd3992350 Change stale_bus_members to work around MSVC issue
Somehow, MSVC vector gets corrupted in certain cases.  While the
mechanism is unclear, using an unordered_set avoids this problem

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
2023-07-28 09:35:39 -07:00
Mike Williams 1e66129218 Schematic: Align Elements to Grid needs to respect grid overrides 2023-07-27 10:45:27 -04:00
Mike Williams c0a9cf2cfa Schematic Point Editor: fix cancel of point drag 2023-07-27 10:45:27 -04:00
jean-pierre charras db382f8782 Eeschema: Export symbols to New Library: Fix Cancel button not working
This bug can crash Eeschema.
Fixes #15278
https://gitlab.com/kicad/code/kicad/-/issues/15278
2023-07-27 15:14:49 +02:00
Jon Evans 148e111579 Refactor pin orientation to be an enum class
Add various LIB_PIN properties
2023-07-26 23:46:15 -04:00
Jon Evans 000fa28ffc Properties: initial infrastructure for symbol editor 2023-07-26 18:32:14 -04:00
jean-pierre charras 5ea170baab Symbol editor: fix crash when trying to "drag" an item.
Drag or move is an option of the schematic editor, and not in symbol editor.
So it cannot be tested in code for the symbol editor.
Fixes #15264
https://gitlab.com/kicad/code/kicad/-/issues/15264
2023-07-26 08:58:22 +02:00
Seth Hillbrand 530af96da2 Prevent null dereference 2023-07-25 10:53:05 -07:00
Mike Williams 132a0ada73 Grid Overrides: support grids-per-type that override the current grid.
Schematic only at this point while we test and refine.

PCB support is a future addition.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-07-25 10:17:57 -04:00
jean-pierre charras a16ab0aae1 Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344 about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Seth Hillbrand 9902250f5d Fix a couple of issues with NAVLIB version checker
Need to include core lib in kiplatform for the version functions.  Need
to link kiplatform into the navlib library in eeschema to load
2023-07-24 13:55:12 -07:00
Seth Hillbrand 32ad42a435 Add 3dconnexion driver version check
Re-enable 3dconnexion driver by default as we are able to gate the
driver versions

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13362
2023-07-24 18:09:52 +00:00
Josue Huaroto eeb74dbae9 Sort SCH_ITEM by name on paste 2023-07-24 16:37:25 +00:00
jean-pierre charras e9f6ff4366 Simulator frame: removes * indicator for unsaved workbook after saving it.
Fixes #15236
https://gitlab.com/kicad/code/kicad/-/issues/15236
2023-07-24 08:55:34 +02:00
Mike Williams 7d9f791518 kicad-cli: sch bom export: fix inability to disable grouping
Just set --group-by default to "" (No default grouping), and drop the
additional --group option. Also fix the exclude DNP option.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15246
2023-07-23 13:59:28 -04:00
Seth Hillbrand 7fe83993cf Be smarter about releasing lockfiles
If KiCad crashes or exits without deleting the lockfile, don't show the
warning message unless we are not the one who locked it or there are
other KiCad instances running locally.

This should catch 99% of the cases where the message is shown
incorrectly.  There may be some corner cases where the lock file is
created on a network drive using two different machines with the same
name and same user but these cases should be (famous last words)
sufficiently rare as to not be observed in practice
2023-07-21 15:40:19 -07:00
Seth Hillbrand f7f67c6d53 Sort the bus alias set by name
If we place pointers in a set, they are sorted by the pointer value in
memory, not the data, so we need a custom comparator

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11890
2023-07-21 09:03:35 -07:00
Jeff Young e4b262d6e1 Fixed-y-scale bug fixes.
Default dialog to SPICE command.
Any of the three axis locks must lock the plotWindow Y axis (otherwise
locking Y2 but not Y1 doesn't preclude zooming).
2023-07-20 17:41:23 +01:00
Jeff Young 06f19aa761 Implement y axis locking for secondary y axes.
Still a bit of a work-in-progress.

Also fixes some bugs with formatting of measurements and cursor values.
2023-07-20 17:21:19 +01:00
Jeff Young 9c08d4febe ADDED support for simulation plot margins and GUI for Y axis locking. 2023-07-19 23:40:10 +01:00
Jeff Young 65f66755ee Reduce overhead for unused code. 2023-07-19 23:25:05 +01:00
Jeff Young 764913207c Read legend position from workbook. 2023-07-19 23:25:04 +01:00
jean-pierre charras a586bbc3ea Symbol editor, DIALOG_FIELD_PROPERTIES: fix missing initialization of font.
In Symbol editor, tying to change the font of a field did nothing.
2023-07-18 18:40:53 +02:00
jean-pierre charras 3a4f3cb0b8 Minor Coverity and compil warnings fixes. 2023-07-17 16:19:22 +02:00
Jeff Young 30928796bd Repair new switch-based Global Update Text & Graphics.
We were forgetting to handle wire and bus labels.
2023-07-16 20:41:23 +01:00
Jon Evans 24a3816a34 EDA_TEXT Orientation property shouldn't be exposed to schematics
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15140
2023-07-16 15:19:13 -04:00
jean-pierre charras 58a9b75883 Eechema: Do Not Place markers: add a specific setting for their color.
Previously, the color was the ERROR ERC marker color.
Now they have a specific color.
2023-07-16 20:46:30 +02:00
Jeff Young eaa3543d67 Beautify DNP symbols.
Make sure the 'X' is centered over the body, not the body + pins.
2023-07-16 19:18:24 +01:00
Jeff Young 89e2cb0b85 Use loaded colours for DNP symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15203
2023-07-16 18:35:05 +01:00
Jeff Young a16033f624 Fix logic errors in DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
(We can't exit out if it doesn't match a particular type as we haven't
checked the other types yet.  Use a switch to prevent this.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15206
2023-07-16 14:43:29 +01:00
Jeff Young 7f3839a179 Minor cleanup. 2023-07-16 14:43:29 +01:00
Jeff Young 63c83b3aed Remove dead code, and some formatting cleanup. 2023-07-16 14:43:29 +01:00
Jeff Young 5419055acb We no longer need activate actions with RunSynchronousAction. 2023-07-16 14:43:29 +01:00
Jeff Young 537d6bdb75 Don't destroy ERC dialog twice.
(And some other cleanup.)
2023-07-16 14:43:29 +01:00
Jeff Young a09a5cb641 More undo cleanup.
The symbol editor has few enough items that it will still be performant
if we always send a selected-item-modifed event.  (As it turns out we
were doing that anyway as the check for child-modified flags didn't
also check for selected.)
2023-07-16 14:43:29 +01:00
Roberto Fernandez Bautista cf0b719a4a Fix some unreachable code msvc warnings 2023-07-16 15:41:05 +02:00
Jeff Young 89780d353a Pick up snapped item's line properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15192
2023-07-15 20:22:34 +01:00
Jeff Young 1218f61d0a Implement undo/redo for footprint children.
Our special-cases to handle the fact that we didn't do this had far
outgrown the code necessary to actually handle it.
2023-07-15 17:37:31 +01:00
Marek Roszko 3233bbe0ba Make exported date time strings use ISO8601 format
Also rename the function to be explicit on its result format

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15185
2023-07-14 23:24:12 -04:00
Jeff Young 24e9cf4fd8 Improve self-documentation of sim workbook. 2023-07-14 21:02:51 +01:00
Jeff Young 041bd2a54f JSON bools can be read straight up; no need to compare to "true".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-14 20:58:12 +01:00
Jeff Young 3aa479cd54 Fix typo. 2023-07-14 19:48:28 +01:00
Jeff Young 593b77be8c Fix typo. 2023-07-14 19:47:15 +01:00
Jeff Young cbf685ad76 Clear owner of old watcher before resetting std::unique_ptr.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15173
2023-07-14 19:32:20 +01:00
Jeff Young 054252ccbe Move sim workbook to json.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-14 17:46:06 +01:00
Jeff Young ff044cd0cf Mostly a terminology update...
... but also makes DIALOG_SIM_COMMAND and SIMULATOR_REPORTER a bit
more simulator-agnostic.
2023-07-14 17:46:06 +01:00
Jeff Young 8d2c744349 More error messages for reading workbook files.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-13 23:54:00 +01:00
Jeff Young c4179cb996 Correctly initialize New Simulation Command dialog. 2023-07-13 23:37:48 +01:00
Jeff Young 5f8583cd25 Try both ends to see if one is a wire.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15178
2023-07-13 18:20:28 +01:00
Jeff Young 964e42a611 ADDED text-based pole-zero analyses. 2023-07-13 16:18:25 +01:00
Jeff Young 841b693c91 Add pole-zero command parsing and printing. 2023-07-13 16:04:29 +01:00
Jeff Young 2e89c735c0 Fix buffer overrun.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15187
2023-07-13 16:04:29 +01:00
Josue Huaroto 4cad021ef4 Add Open preferences folder button in Preferences Dialog 2023-07-13 14:10:31 +00:00
Sergio Costas 181ae7f450 Change all bare isnan calls into std::isnan 2023-07-13 12:55:58 +00:00
Mike Williams cfa0d4bfb7 Symbol Fields Table: handle missing fields better
Treat missing ones as empty, unless they are a named variable field and
then resolve the field.
2023-07-12 16:40:08 -04:00
Mike Williams e26dcbece4 Symbol Fields Table: add item number support 2023-07-12 15:08:50 -04:00
Mike Williams 265720ec65 BOM Export: add DNP to Group By * defaults
Closer to the BOM export scripts we are trying to replace, and gives the
user a clue that fields with variables names are way to export other
data.
2023-07-12 12:16:14 -04:00
Mike Williams 7cb8d3d1c9 Schematic fields: implement fields with variables as names
Special case that always fills in the value with the value of the
variable
2023-07-12 12:16:14 -04:00
Alex Shvartzkop 89a9eee174 LTspice import: fix Mac path variable shadowing. 2023-07-12 18:07:26 +05:00
Jeff Young 0a28956cf8 Replace misssing "if" stmt and make outer "if" catch all cases of log scales.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15174
2023-07-12 10:41:46 +01:00
Alex Shvartzkop f8f7b84f13 LTspice import: add LTspice 17.1 Windows library path. 2023-07-12 10:57:30 +05:00
Alex Shvartzkop c652abecff LTspice import: don't scan input file directory recursively. 2023-07-12 09:58:51 +05:00
Alex Shvartzkop 2266ba78c5 LTspice import: much faster library path scanning. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 32fdb231b2 LTspice import: fill symbol rectangles with body color when needed. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 568a461080 LTspice import: Fix multiline text alignment. 2023-07-12 08:38:18 +05:00
Jeff Young f8f29b55cb Don't promote to sheet parent when the item itself is a sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15167
2023-07-11 14:52:05 +01:00
Jeff Young c3d10084b9 ADDED footprint associations dialog. 2023-07-11 14:52:05 +01:00
Alex Shvartzkop 0bc546fa62 LTspice import: fixes for graphical items. 2023-07-11 16:03:29 +05:00
Alex Shvartzkop a5ba9ccce2 LTspice import: don't try loading .asc files for non-subsheets.
Subsheets don't have "Prefix" attribute, components do.
2023-07-11 16:03:29 +05:00
Alex Shvartzkop ef1a2ff050 LTspice import: text and pin justification, polarity fixes. 2023-07-11 13:00:43 +05:00
Alex Shvartzkop e80e4ff410 LTspice import: hide pin names with None justification, hide pin numbers 2023-07-11 12:57:56 +05:00
Wayne Stambaugh 929a6a2b99 Coding policy fixes. 2023-07-10 19:24:59 -04:00
Alex Shvartzkop b957c1ad17 LTspice import: Support VCenter text justification 2023-07-11 04:09:16 +05:00
Alex Shvartzkop 1e149704b8 LTspice import: Fix M270 symbol orientation. 2023-07-11 04:09:16 +05:00
Alex Shvartzkop cab0db76f8 Clear view before resetting schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15159
2023-07-11 03:00:42 +05:00
Wayne Stambaugh 415dcf82c4 Coverity issue fixes.
CIDs 462497, 462496, 462495, 462494
2023-07-10 17:48:27 -04:00
Wayne Stambaugh aeed542202 Net navigator fixes and improvements.
Remove wires, junctions, and bus entries from tree.  These objects make
the net tree noisy for complex nets.  Until a sane way to group these
objects can be, remove them for now.

Fix tree expansion and debug assertion issues.
2023-07-10 15:34:00 -04:00
Jeff Young eedf319ba4 Don't double-offset effective text shapes.
Also fixes several bugs with intersheet ref fields.  (It's possible for
other fields to have an ID of 0.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15165
2023-07-10 19:32:00 +01:00
Jeff Young d2f9994fc5 SCH_SHEET::GetContextualTextVars() will return Project text vars.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15123
2023-07-10 12:40:04 +01:00
jean-pierre charras 6a47fe1e3c simulator: shows the wxCURSOR_ARROWWAIT cursor only when the sim is running.
Reset the mouse cursor to its default shape when the simulation is finished.
2023-07-10 13:30:14 +02:00