Jeff Young
c6f83b6dec
ADDED Duplicate Footprint, Rename Symbol and Rename Footprint.
2022-04-22 22:06:51 +01:00
Mike Williams
b42365190e
Schematic/PCB: deleting fields sets them to invisible
2022-04-21 16:20:23 +00:00
Jeff Young
eb1a238a53
Remove extra event handler.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11418
2022-04-20 16:19:42 +01:00
Jeff Young
fc2eb2d7c9
Fix missing line keeping tabs from switching.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11417
2022-04-20 14:51:08 +01:00
Seth Hillbrand
aac6f576c2
Fix broken comparison in pin_numbers
...
Pin names like "+V" were incorrectly parsed as doubles leading to broken
comparisons. These caused heap overflows when sorting pin tables
This corrects the comparison so that numeric sorts are only performed
when there is an actual number in the symbol segment. Also adds unit
tests for common error cases
2022-04-19 14:46:05 -07:00
Jeff Young
4ab2c93070
Update Selection Filter title bar with language changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11421
2022-04-19 21:12:13 +01:00
Jeff Young
ffc28f23e5
Repair GetFullRef() and use it when running Symbol Fields Table filtering.
...
(Previously GetFullRef() failed to add the number between the prefix letter
and the unit designator.)
Fixes https://gitlab.com/kicad/code/kicad/issues/11419
2022-04-19 19:55:30 +01:00
Jeff Young
08f15fe587
ADDED New Library functionality to Footprint/Symbol Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2343
2022-04-19 19:55:30 +01:00
Jeff Young
84f620a96e
Minor dialog beautification.
2022-04-19 19:55:30 +01:00
Jeff Young
c3bed8f6ee
Resolve textvars before opening file browser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6436
2022-04-18 22:45:02 +01:00
Jeff Young
cc18c31cb5
Fix some layout issues in the Project Template Selector.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5222
2022-04-18 22:45:02 +01:00
Mike Williams
653baf270c
Schematic: drag created / changed segments need junction checks
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10844
2022-04-18 17:24:02 +00:00
Simon Richter
801c5deb87
Fix minimum size calculation for new hierarchical sheets
...
These constants are given in mil, but are used in a context of internal
units.
2022-04-18 15:01:59 +00:00
Simon Richter
1e505d4c22
Remove a few call sites of SCH_SHEET::SetSize
...
This function is dangerous and should be used only by parsers, and not even
those, really.
For new objects, the size can be passed to the constructor.
2022-04-18 16:23:03 +02:00
Jeff Young
55a8fb39c4
ADDED filtering for Symbol Fields Table dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11224
2022-04-17 20:02:58 +01:00
Jeff Young
71c2cb3180
ADDED revert for pcbnew and eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6802
2022-04-17 20:02:58 +01:00
jean-pierre charras
38c54ffa8f
Eeschema, Symbol Library Browser: fix crash when left clicking on the canvas.
2022-04-17 09:54:19 +02:00
Jeff Young
e09147db30
Cross-probing for ERC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11411
2022-04-17 00:33:56 +01:00
Jeff Young
7f4f5f2882
Save and re-load query string in Choose Symbol dialog.
...
While this has been requested on its own, it's primarily done here
because wxWidgets decided to send a SEARCH_CANCEL from a wxSearchCtrl
when hitting <ENTER> if the search control holes the empty string.
This causes us to not do a symbol instert in the Chooser dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/10169
Fixes https://gitlab.com/kicad/code/kicad/issues/7699
2022-04-17 00:33:56 +01:00
Seth Hillbrand
250a246761
Clear flags after we're done with them
...
The CANDIDATE flag is a temporary element that should not be maintained
outside of the routine in which is it temporarily set
Fixes https://gitlab.com/kicad/code/kicad/issues/11361
2022-04-16 15:45:17 -07:00
jean-pierre charras
65f7d9f97a
EEschema: move symbol checker code in symbol_checker.cpp.
...
- Add some tests for Power symbols.
- Fix incorrect print format in some messages.
2022-04-16 18:56:06 +02:00
Seth Hillbrand
ce9bd780d1
Fix crash due to cleared view data
...
When changing fields, we need to update the view before allowing canvas
updates
(cherry picked from commit 851f893e8e
)
2022-04-15 15:14:29 -07:00
Jeff Young
4ee6cfe5b6
Disable all use of the default instance reference prefix for annotation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11385
2022-04-14 17:55:35 +01:00
Jeff Young
6ef6e37edb
Disable using default instance data when writing to clipboard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11379
2022-04-14 17:09:27 +01:00
Jeff Young
160240166c
Cleanup.
2022-04-14 17:09:27 +01:00
Jeff Young
034b57d9c0
When reannotating keep existing prefix in most cases.
...
(Execption is reannotating entire schematic, in which case we reset
all of them.)
Fixes https://gitlab.com/kicad/code/kicad/issues/11379
2022-04-13 23:38:45 +01:00
Jeff Young
184b67098f
Meet user expectations on life-cycle of symbol fields.
...
In other words, support empty fields.
Also adds deleting fields to Symbol Fields Table.
Fixes https://gitlab.com/kicad/code/kicad/issues/8999
2022-04-12 22:11:31 +01:00
Roberto Fernandez Bautista
85f6ff48e7
CADSTAR Sch: Clear symbol of all elements before overwriting with new one
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11378
2022-04-12 21:34:23 +01:00
Jeff Young
306dfef7e5
Fix typo.
2022-04-12 19:18:15 +01:00
Jeff Young
576f3dc2fd
Keep pins aligned to grid when possible.
...
This uses the first pin as the anchor point in a mulitple-item
selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/11151
2022-04-12 18:14:21 +01:00
Marek Roszko
f88e0481c8
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
This reverts commit 2a5769607f
.
2022-04-11 19:03:01 -04:00
Jeff Young
16acba34d3
Don't save schematic symbol back to lib manager.
...
Also, since it doesn't get saved, changing symbols will lose any edits.
Make sure to ask the user first.
Fixes https://gitlab.com/kicad/code/kicad/issues/10767
2022-04-11 22:43:39 +01:00
Seth Hillbrand
2a5769607f
Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
...
This reverts commit 403992a6f4
.
2022-04-11 11:39:03 -07:00
Jeff Young
546b3bfbc0
Select wire ends in select all.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10958
2022-04-11 19:36:54 +01:00
jean-pierre charras
f0f10a43a2
Ensure "Clear Recent Files" menuitem titles are updated after language change.
...
(missing fixes in commit ac8e2d076
)
2022-04-11 18:11:17 +02:00
Jeff Young
74a578047c
Make sure to add any now-necessary junctions after a rotate.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11242
2022-04-11 12:02:20 +01:00
Jeff Young
8358685920
Dual-purpose IsMovableFromAnchorPoint to keep from moving symbols off-grid.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11360
2022-04-11 12:02:20 +01:00
jean-pierre charras
ac8e2d0768
Ensure "Open Recent" and "Clear files" menu titles are updated after language change.
2022-04-11 11:09:05 +02:00
Marek Roszko
403992a6f4
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/10994
2022-04-10 22:38:13 -04:00
Marek Roszko
5bb2cdf73d
Revert "Stop leaking submenu items"
...
This reverts commit 34c70a51ea
.
2022-04-10 22:33:43 -04:00
Marek Roszko
34c70a51ea
Stop leaking submenu items
...
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
2022-04-10 22:04:48 -04:00
Jeff Young
117bd4fc22
Adjust LIB_SYMBOL compare for use with ERC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10783
2022-04-09 20:12:29 +01:00
Roberto Fernandez Bautista
0015574a60
${SHEETNAME} represents the sheet name + introduce ${SHEETPATH}
...
CHANGED: The text variable ${SHEETNAME} now always represents the name of the
sheet when used anywhere in the schematic editor, including the title block
ADDED: A new text variable ${SHEETPATH} which is replaced with the path to the
current sheet - e.g. "/Sheet 1/Sheet 2".
To ensure backward compatibility, the default drawing sheet now uses
${SHEETPATH}. Custom drawing sheets will need to be manually edited.
2022-04-09 15:45:58 +01:00
Wayne Stambaugh
239f0214ac
Eeschema: add support for default schematic symbol instance data.
...
Prior to fixing the schematic file change churn do to instance data
changing to the last selected sheet instance, the symbol instance data
was set rather than empty. This change allows for users to set the
default instance data which is used for every new instance of the
schematic.
ADDED: Default schematic symbol instance data (unit and reference, value,
and footprint fields) can be set to be used as the default settings
for all new instances of the schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11113
2022-04-09 07:49:36 -04:00
Jeff Young
007906cd16
Fix a degeneracy bug in arc collisions.
...
This also fixes a failure to use the correct effective width for
shapes (which might, for instance, inherit their widths from schematic
defaults, netclasses, etc.).
Fixes https://gitlab.com/kicad/code/kicad/issues/11358
2022-04-08 16:15:58 +01:00
Seth Hillbrand
702623ef87
Don't flag pin missing driver when there is an NC
...
The NC flag indicates user intention to override the lack of connection
to input pins
(cherry picked from commit e02229a234
)
2022-04-07 09:35:23 -07:00
Jeff Young
c17b90c8dc
Run pinning on sides as well as corners.
...
Also fixes a bug in LIB_SHAPE's Normalize() which wasn't handling the
upside-down coordinate system.
Fixes https://gitlab.com/kicad/code/kicad/issues/11339
2022-04-07 11:51:58 +01:00
Seth Hillbrand
4b0b4c0ddc
Show non-driven error on single-pin nets
...
Better to have both the single-pin error message and the non-driven
error message when an input pin is not connected than miss error
messages when the pin is connected to a blank net
Fixes https://gitlab.com/kicad/code/kicad/issues/10430
(cherry picked from commit e740db61f5
)
2022-04-06 16:54:04 -07:00
Jeff Young
356d565d48
Normalize rectangular shapes before feeding to point editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11339
2022-04-06 18:18:29 +01:00
Jeff Young
67d54ecb4c
A bit of dialog layout cleanup.
2022-04-06 16:58:26 +01:00
Jeff Young
06df90636b
Rationalize negative line-width handling.
...
Make "don't stroke" an explicit property in the GUI.
Silently enforce line width to >= 0 when stroking.
Make layouts between dialogs more consistent.
Interpret unspecified fill colour as layer colour.
Fixes https://gitlab.com/kicad/code/kicad/issues/11279
2022-04-05 23:59:25 +01:00
Sylwester Kocjan
a9c61d21ca
eeschema: fix crash when closing simulation frame
...
Destructor of SIM_PLOT_FRAME calls sim->Attach( nullptr ) in order to destroy
circuit model (former netlist exporter). If this is skipped, eeschema crashes
when program is closed. nullptr is a valid parameter for Attach()
2022-04-05 19:28:05 +00:00
Jeff Young
1594df3498
Fix egregious typo.
2022-04-05 20:10:25 +01:00
Jeff Young
0bd3341f0f
Allow textboxes to have no text. (They still have a defined box.)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11286
2022-04-05 16:29:21 +01:00
Jeff Young
ed361925ba
Repair code that was supposed to be after LoadSymbol().
...
(Even the comment said so.)
Fixes https://gitlab.com/kicad/code/kicad/issues/11199
2022-04-05 14:38:05 +01:00
Jeff Young
68ca385e07
On-the-fly translations for pin electrical types.
...
Also add on-the-fly translation for editor title bars.
Fixes https://gitlab.com/kicad/code/kicad/issues/11324
2022-04-05 13:57:28 +01:00
Jeff Young
3196857449
Fix incorrectly initialized variable.
...
The SCH_ITEM default is LAYER_WIRE, which we don't want for a symbol.
Fixes https://gitlab.com/kicad/code/kicad/issues/11307
2022-04-05 13:57:28 +01:00
markus-bonk
dc8556726b
Fix building QA tests with options -DKICAD_USE_3DCONNEXION=ON
2022-04-05 06:47:49 +00:00
Jeff Young
3f9cfc0ac1
Fix incorrect m_SyncPinEdit setting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11331
2022-04-04 16:56:53 +01:00
Sylwester Kocjan
05fbe47a1b
eeschema: two fixes for simulation tuners
...
- fix irrelevant warning message box when tuners moved
too quickly and simulation was slow
- fix for rerun simulation when tuning and result tab was changed
2022-04-02 15:05:54 +00:00
Seth Hillbrand
0625e20fc0
Cleanup spacemouse plugin
...
Sets std:: convention and unifies the defined/non-defined interface
2022-04-01 15:14:41 -07:00
Jeff Young
a12f77b8f6
Don't render fills in black & white mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11303
2022-04-01 21:24:56 +01:00
Seth Hillbrand
5d5a2f9270
Allow common greek letters in passive regex
...
Adds common letters (µ and Ω) as prefix and unit
Fixes https://gitlab.com/kicad/code/kicad/issues/11289
(cherry picked from commit 15fe2f2fd0
)
2022-04-01 12:51:43 -07:00
Sylwester Kocjan
4719fdc9bf
eeschema: rename m_exporter to m_circuitModel
2022-04-01 19:28:31 +00:00
Sylwester Kocjan
f5dedd77c6
eeschema,sim: add SIMULATOR and SIM_MODEL interface
...
SIMULATOR has now an Attach() method, which should be called
with proper SIMULATION_MODEL that should be simulated, before calling Run()
Concrete class of SIMULATION_MODEL for ngspice is NGSPICE_CIRCUIT_MODEL,
renamed from NETLIST_EXPORTER_PSPICE_SIM. DIALOG_SIM_SETTINGS relies
on above mentioned object, so it was added as an argument of the constructor.
2022-04-01 19:28:31 +00:00
jean-pierre charras
be6379a8f6
Fix minor Coverity and compil warnings.
2022-04-01 20:43:21 +02:00
Jeff Young
6f818f4c2e
Editing support for sheet-pin fonts, text styles and text colors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11300
2022-04-01 19:26:27 +01:00
jean-pierre charras
5d9668938b
SYMBOL_EDITOR_CONTROL::DuplicateSymbol(): fix incorrect validation test.
...
DuplicateSymbol() is called both to duplicate and paste. Only duplicate
needs a test to know if a symbol is selected.
Fixes #11053
https://gitlab.com/kicad/code/kicad/issues/11053
2022-04-01 10:42:20 +02:00
Seth Hillbrand
49c48e2fe0
Consistently handle env/prj variables
...
User-defined variables cannot be used for internally-reserved variables
Fixes https://gitlab.com/kicad/code/kicad/issues/11232
(cherry picked from commit c23679d9bd
)
2022-03-31 17:05:53 -07:00
Jeff Young
6b99a937d8
Look for sheet pins inside sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11297
2022-03-31 22:10:45 +01:00
markus-bonk
1a9ef4bd0f
Add support for using a SpaceMouse to pan & zoom in the schematic editor.
2022-03-31 19:03:41 +00:00
Jeff Young
e8a543f1ea
Colors for text in PL_Editor and Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1952
2022-03-31 19:43:56 +01:00
Jeff Young
748cc1a59a
Pay better attention to aPlotter->GetColorMode().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11287
2022-03-30 20:38:24 +01:00
Jeff Young
7c21a0bdd4
Dirty text render caches in point editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11284
2022-03-30 16:32:23 +01:00
Jeff Young
5c7b022f40
Be more pedantic about setting GAL line width.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11280
2022-03-30 16:32:23 +01:00
Jeff Young
91ea0903d0
Add infobars for individual-item-color-overrides.
2022-03-29 20:41:03 +01:00
Jeff Young
8dc680adbb
Implement align-to-grid for sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11201
2022-03-29 19:31:02 +01:00
Seth Hillbrand
719874fe9c
Thread the connectivity vector updates
...
Now that we are dealing with individual connection elements that do not
update their connected elements as well, we can thread the update, just
being careful to guard any remaining updates (bus_enty/busLine) that
need reciprocal updating
Fixes https://gitlab.com/kicad/code/kicad/issues/10974
(cherry picked from commit 6a53e318e5
)
2022-03-28 15:36:55 -07:00
Seth Hillbrand
6a33bcdc78
Avoid generating SCH_CONNECTION if not needed
...
If the SCH_ITEM has already been processed, the extra time needed to
iterated over the memberset and get the SCH_CONNECTION when we won't use
it is not neccesary.
Fixes https://gitlab.com/kicad/code/kicad/issues/10974
(cherry picked from commit 776a28a10e
)
2022-03-28 15:36:55 -07:00
Seth Hillbrand
41f7354b7a
Handle connection vector inline
...
Normally, you will gain by resursing a nested loop only over the
pairs that are not already handled. In this case, however, you lose
time because you step outside of the cache by adding the reciprocal test
at each step.
Instead, we process one element at a time, keeping it cached and loop
over all other elements to add to the connection. This saves us about
75% of the time for larger loops (e.g. stacked power pins on a large
BGA)
Fixes https://gitlab.com/kicad/code/kicad/issues/10974
(cherry picked from commit 3a98eacdb9
)
2022-03-28 15:36:55 -07:00
Jeff Young
09ba7468ae
A better is-modified test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10791
2022-03-28 21:54:24 +01:00
Jeff Young
4ee6f9e138
Make sure setting the cursor gets put into the right tool context.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10141
2022-03-28 21:54:24 +01:00
Seth Hillbrand
8706bea3c6
Fix renamed flag
...
Snuck in between MR reviews
2022-03-28 13:50:44 -07:00
Mike Williams
2a726a882f
Schematic: new feature, force 45 degree lines
...
* New modes to force 45 deg angle at beginning or end of line
* Backspace will undo most recent segment added
* / will toggle posture of 90 and 45 degree lines
* Added alg::signbit for convenience
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10869
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9175
2022-03-28 16:07:23 -04:00
Mike Williams
e51ab86225
Schematic Drag: fixes and improvements
...
Fixes:
* Various special cases around junctions on pins and dragging.
* Some rotations of endpoints resulting in a 45 degree rotate.
* Some cases where it was possible to get a line with neither
endpoint selected, and also substractive unselecting only one of two
selected endpoints unselecting both.
* Use line midpoint for sorting. Start and endpoints aren't
consistent in the order they appear on the X or Y axis. So,
we need to use the midpoint for our position for consistent
sorting when dragging groups of parallel lines where some
have the start and end reversed.
Other:
* Rename TEMP_SELECTED TO SELECTED_BY_DRAG. This is the actual meaning
of the flag, and should reduce confusion as
to when it should be used.
* Move usage of TEMP_SELECTED as an algorithmic mark to CANDIDATE
instead.
* Fix mistaken clearing of START_POINT and ENDPOINT.
* Move endpoint setting and clearing out of narrowSelection, and into
selectPoint and selectMultiple.
* Don't show dangling end warnings on new lines
2022-03-28 16:02:48 -04:00
Jeff Young
47f4503564
SCH textboxes start/end -> at/size.
...
The at token can handle an angle; start/end does not.
Fixes https://gitlab.com/kicad/code/kicad/issues/11252
2022-03-28 11:16:39 +01:00
Jeff Young
343b2681d4
Midpoints for eeschema rectangles and text boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10362
2022-03-28 11:16:39 +01:00
Jeff Young
265ff90e19
Use selection highlight color for sel shadows even when brightened.
...
This allows Find & Change to show both matches and current match.
Fixes https://gitlab.com/kicad/code/kicad/issues/11101
2022-03-28 11:16:39 +01:00
jean-pierre charras
cfe0003ca4
Eeschema: fix misplaced nullptr test that prevent saving SCH_TEXT items.
...
Fixes #11250
https://gitlab.com/kicad/code/kicad/issues/11250
2022-03-27 18:48:55 +02:00
jean-pierre charras
38bd612c01
sch_sexpr_parser.cpp: allows reading a polyline descr with more than 2 points
...
In symbols, a polyline descr is already a true polyline / polygon descr.
In schematic, a polyline descr was restricted to only 2 points (a line).
A true polyline / polygon descr is now allowed in schematic that support already
polygons.
For compatibility reason, a 2 points polygon (SCH_SHAPE) is converted to a SCH_LINE.
2022-03-27 10:31:21 +02:00
Jeff Young
48dd810cd1
ADDED grouping of selected pins in Pin Table.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4956
2022-03-26 21:07:10 +00:00
Jeff Young
a54457386c
Enable immediate mode for pin tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10156
2022-03-26 21:07:10 +00:00
Sylwester Kocjan
53ccd8bd67
eeschema,sim: refactor NETLIST_EXPORTER_PSPICE_SIM creation
2022-03-26 15:50:15 +00:00
jean-pierre charras
9a342458fa
Fix a few Coverity and compil warnings.
2022-03-26 16:21:23 +01:00
Jeff Young
0652c7b429
More visible Synchronized Pins Mode informatics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10340
2022-03-26 15:16:08 +00:00
Jeff Young
1c158a4ea4
Use a standard HTML reporter for Symbol Checker.
2022-03-26 14:22:31 +00:00
Jeff Young
d5533e7999
ADDED unit-filtering for pin table.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9382
2022-03-26 11:53:48 +00:00
Jeff Young
e6c2b12ddf
ADDED allow pin conversion to be edited in Pin Table.
...
Added a De Morgan column.
2022-03-26 11:53:48 +00:00
Jeff Young
2681ad6cfc
Don't rely on HasConversion() for Symbol Properties in Symbol Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11200
2022-03-26 11:53:48 +00:00
Wayne Stambaugh
7da7864f5e
Fix some Coverity issues.
2022-03-25 15:51:05 -04:00