Jeff Young
3a8d6dffba
Don't close ERC window when changing sheets.
...
This Reset() override was originally added to fix a bug when opening
a new schematic in stand-alone. However, we now do that sort of
cleanup in SCH_EDIT_FRAME::doCloseWindow().
Fixes https://gitlab.com/kicad/code/kicad/issues/14470
2023-04-02 11:48:23 +01:00
Wayne Stambaugh
28776f5745
Text attributes object improvements.
...
* Add compare method to COLOR4D object.
* Add unit test to validate COLOR4D comparison method.
* Add missing color test in text attribute comparison method.
* Add unit test for text attribute object.
* Remove unnecessary headers from text attribute header.
* Move text attribute code into separate source file.
2023-03-29 12:53:45 -04:00
Ian McInerney
016c958021
Always build spice simulator support
...
The simulator has advanced considerably, and it is seeing lots of active
development, so make it a required part of KiCad. Additionally, the
build without the simulator has actually been broken for a while, so no
one clearly is building without ngspice right now.
2023-03-20 16:54:32 +00:00
jean-pierre charras
5bd491bd74
Avoid schematic editor frame to go on top when selecting a symbol.
...
It was s side effect of a CrossProbe called on a symbol selection.
This also replace commit e51594cdf5
.
Fixes #14316
https://gitlab.com/kicad/code/kicad/issues/14316
2023-03-17 16:37:49 +01:00
Jeff Young
6d296038f3
Improve simulation error reporting.
...
1) More REPORTER, less exception processing
2) Remove UI calls from SPICE_MODEL
3) Don't replace netlist with errors; show both
4) Don't bail out of netlist generation after single error
Fixes https://gitlab.com/kicad/code/kicad/issues/14295
2023-03-16 16:12:29 +00:00
Wayne Stambaugh
66f6168163
Fix mode-less dialog issues.
...
Don't assume the dialog is mode-less and call Destroy() from within a
dialog method. This will most assuredly crash if the dialog is shown
modally or quasi-modally.
Don't leak memory for mode-less dialogs created on the stack. Make sure
when the parent frame window is closed that all mode-less dialog memory
is cleaned up. Dialogs are not child windows like controls and toolbars
so their memory does not automatically get cleaned up when the parent
window is destroyed.
Do not directly access frame parent window's pointer in dialog destructors.
Apparently the tear down order when destroying mode-less dialogs is not
guaranteed so the parent window may get deleted before the dialog causing
a crash when accessing the parent window pointer from the dialog dtor.
Do not close mode-less dialogs in the parent frame's destructor. This
doesn't guarantee that the dialog(s) will be destroyed before the parent
but it may reduce some careless mode-less dialog event handling in the
future.
2023-03-13 12:04:01 -04:00
Jeff Young
c4ef08bead
Exercise more caution with user filenames.
...
In particular, don't assume "1" is an extension in "Schematic_1.1".
Fixes https://gitlab.com/kicad/code/kicad/issues/14263
2023-03-12 15:52:45 +00:00
Jeff Young
74f064d3aa
Don't keep smart pointers to wxWindows, particularly modeless ones.
...
wxWindows have their own lifecycle management.
2023-03-11 19:36:01 +00:00
Jeff Young
9546a40662
Correct usage of elipses after menu items.
...
(They should only be used when we collect more info before performing
the command. If the command is something like showing the simulator,
then there should be no elipsis as we don't collect more info before
showing the window.)
Also improves a few of the menu tooltips.
2023-03-10 21:33:06 +00:00
Jeff Young
bc0d59801a
Graphical diff for schematic vs library symbols.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13736
2023-03-09 18:04:52 +00:00
Jeff Young
2d6ab62da4
ADDED: schematic/library diff for symbols.
2023-03-09 18:04:52 +00:00
Jeff Young
98d7b14dbc
A better solution to keep SPICE netlist from being entirely selected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14177
2023-03-06 18:46:01 +00:00
Wayne Stambaugh
a1fb8e1b1d
Coverity fixes and code cleaning.
2023-03-06 07:12:18 -05:00
Alex
d2bd7e33b9
Remove extra canvas redraws when changing sheets.
2023-03-05 04:33:07 +03:00
Jon Evans
610e787ada
Move to requiring explicit action to save project settings
2023-03-04 14:25:07 -05:00
Jeff Young
b6d0b65261
Naming conventions and commenting. No functional changes.
2023-03-04 00:10:01 +00:00
Seth Hillbrand
48740dd3f8
Clean exposure of CONNECTION_SUBGRAPH
...
Removes internals from public consumption.
2023-03-03 14:07:17 -08:00
Jeff Young
766b1a1ca8
Continue rationalisation of vector, trace and signal names.
...
Also add a little bit more code so user-defined signals can be edited
without resetting their properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/14072
2023-02-27 21:11:31 +00:00
Jeff Young
551773bf17
Save plot prefs (legend, grid, and dotted-secondary).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13940
2023-02-26 11:57:49 +00:00
Jeff Young
ddf8d115c4
Handle de-highlighting items outside selection when selection changes.
...
Also adds selection cleared event to handled events.
And a small performance boost to not scan items for selection changes
when find is not seleciton-based.
2023-02-24 12:44:55 +00:00
Mike Williams
ca5004b1d2
Power Symbols: rename IsPowerConnection to IsGlobalPower
...
It's kind of confusing because we have power type pins, and pins that
make global power nets as part of power symbols.
2023-02-22 18:01:47 +00:00
Chris Morgan
80b55f5980
Symbol editor: simpler creation of a new derived symbol
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13407
2023-02-22 01:49:46 +00:00
Jeff Young
6fcb95b24e
ADDED user-defined signals.
2023-02-21 13:32:01 +00:00
jean-pierre charras
b05b33a9ff
Fix a compil issue with gcc12.2 and Coverity warnings.
2023-02-21 11:54:38 +01:00
Marek Roszko
aacc9746e3
Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere
2023-02-18 22:57:18 -05:00
Jon Evans
fc68b8d71a
Make selected background layers translucent
...
We can't render them underneath other objects, but we can at least
make it possible to see other objects through them.
2023-02-16 22:45:29 -05:00
Alex
ecb28ddf1c
Prevent ghost image after canceling bitmap placement.
2023-02-17 03:53:44 +03:00
Jon Evans
053d20e13d
Fix selection overlay being wiped when changing sheets
2023-02-16 17:14:08 -05:00
Jon Evans
0f18a36f8f
Fix handling of selection overlay in schematic editor
...
We weren't actually using the overlay group at all
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11142
2023-02-15 21:16:58 -05:00
aris-kimi
dca1281263
Fix some typos
2023-02-14 23:47:05 +02:00
Mike Williams
18df4442bc
Schematic: Find and Replace on Selection
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9293
2023-02-14 14:04:59 -05:00
Mike Williams
4b07e3e413
Common Actions: Find Previous
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8968
2023-02-14 08:21:37 -05:00
Mike Williams
3e715c99c8
Swap: take S key now that it's available
2023-02-14 07:42:06 -05:00
Jeff Young
bc108023b3
ADDED operating point overlay for SCH_EDIT_FRAME.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11253
2023-02-11 21:11:07 +00:00
Jeff Young
09822c7f18
ADDED direct access to signals & cursors.
...
ADDED differential cursors.
Fixes https://gitlab.com/kicad/code/kicad/issues/4447
Fixes https://gitlab.com/kicad/code/kicad/issues/6221
2023-02-11 21:11:07 +00:00
Jeff Young
b000d68def
Move simulator to tool framework.
2023-02-11 21:11:07 +00:00
Jeff Young
7bc79c17d4
Make sure screen RTrees are updated when changing bounding boxes.
2023-02-11 20:43:00 +00:00
Jeff Young
2e9ed67e05
Don't dirty connectivity when moving non-reference SCH_FIELD.
2023-02-11 20:43:00 +00:00
Chris Morgan
e14f0848fa
SCH_EDITOR_CONTROL::Paste() - Adjust refdes behavior to match when creating new symbols
...
Pass 'false' as aStartAtCurrent to ReannotateByOptions(). Causes Pasing() symbols to start at the first available refdes after the currently
configured annotate start number, m_annotateStartNum.
Fixes #13342
2023-02-06 14:05:04 +00:00
jean-pierre charras
92724ff09f
Coding style fix.
2023-02-06 07:59:17 +01:00
Jeff Young
3ecd6ec186
Fix variable updating in SCH_FIELDs (which are not directly in the view).
2023-02-05 20:51:03 +00:00
jean-pierre charras
fb225acefc
Eeschema, ExportSymbolsToLibrary(): fix not working replace library.
...
When exporting symbols of the schematic to a new library, if this library
exists the dialog ask for overwriting it, but it did not work.
Fixed now.
2023-02-05 18:41:58 +01:00
JamesJCode
71002dce28
Eeschema: Fix export symbols to new library
...
Exporting symbols to new library now saves the library and forces
update of symbol links
Fixes #13494
2023-02-02 11:31:18 +00:00
vinsfortunato
5b9b555fdf
eeschema: fix sheet symbol pins changing side when resizing
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13719
2023-02-01 15:53:59 +00:00
jean-pierre charras
29fd1b45d6
Ensure the DATASHEET field value only is used to know the datasheet URL.
...
previously, if the field option "show name" is set, the field name was
added to the URL, that broke it.
Fixes #13729
https://gitlab.com/kicad/code/kicad/issues/13729
2023-02-01 11:37:07 +01:00
Mike Williams
29a4e2c7fe
Schematic: fix reversed tooltips for navigation buttons
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13707
2023-01-31 13:05:37 -05:00
JamesJCode
8590745e9c
Allow simulation probe of junctions
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13712
2023-01-30 23:15:55 +00: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
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
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
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
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
Marek Roszko
57c66a50ac
Add some missing wxS wraps
2023-01-15 20:24:29 -05: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
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
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
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
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
Jeff Young
f8ef15f174
Fix over-zealous delete.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13476
2023-01-11 12:16:28 +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
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
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
22144ae0d0
Fix bogus format string replacement type.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13426
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
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
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
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
Wayne Stambaugh
d99e09014b
Rename SYMBOL_INSTANCE_REFERENCE to SCH_SYMBOL_INSTANCE.
2023-01-04 15:39:50 -05:00
Mike Williams
bd5d10cd7b
Schematic: remove more extraneous dangling symbols
2023-01-04 11:07:23 -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
Jeff Young
7f35323416
Re-enable sim model ERC testing.
2023-01-03 00:59:14 +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
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
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
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
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
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
Wayne Stambaugh
78e2f0fd4d
Sheet instance handling improvements.
2022-12-26 08:30:03 -05: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
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
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
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
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
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
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
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
65552df6ce
Quite Coverity.
2022-12-16 19:11:34 +00:00
Jeff Young
24786fe0e9
Fix multi-unit symbol bugs.
...
1) SPICE pins need to include all units
2) Already-seen-unit-x needs to be reset when getting netlist again.
Fixes https://gitlab.com/kicad/code/kicad/issues/13164
2022-12-16 13:57:46 +00:00
Jeff Young
af71c2d877
Clear hover selections after command.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13073
2022-12-15 13:47:56 +00:00
Jeff Young
50ccc4e6da
Fix issue converting legacy SPICE models.
...
1) if a legacy model references a library then we need to see if said
libraray exists and read model from it if so
2) legacy node ordering is by index, not pin name
3) we can't auto-generate a pin map when we don't know the pin names,
so don't try
2022-12-14 13:36:28 +00:00
Mike Williams
af4e9968fc
Schematic: remove internal Change Sheet action from hotkeys
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13157
2022-12-13 13:55:23 -05:00
Mike Williams
5e72a1008b
Schematic: don't trim unchanged segments that are connected
...
Previously if you had a wire with two unconnected ends and dragged the
end of another wire to connect with one end, it would delete the first
wire.
2022-12-13 09:03:23 -05:00
Marek Roszko
6eedbe4a14
Allow taking hidden fields into account for symbol unit bounding box
...
Even the GUI export of svg wasn't taking fields into account which rendered the fields regardless of status
2022-12-12 22:47:56 -05:00
Mike Williams
243727428a
Selection: non-greedy box selection of wires ends only when dangling
...
See discussion:
https://gitlab.com/kicad/code/kicad/-/issues/13022#note_1205902448
2022-12-12 15:04:33 -05:00
Mike Williams
d824b7f506
Schematic: move wires always moves the whole line
...
Discussion here:
https://gitlab.com/kicad/code/kicad/-/issues/13022#note_1205922621
2022-12-12 14:45:06 -05:00
Mike Williams
5ce0fe5998
Selection: drop non-greedy full line selection from middle
...
It's too inconsistent to have greedy and non-greedy mode, and also have
tweaks to the non-greedy mode that make it greedier.
2022-12-12 14:45:06 -05:00
Jeff Young
2459b61aa6
Don't add second half of line and new juction to screen twice.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13129
2022-12-12 13:44:47 +00:00
Jeff Young
45eae3e594
Don't Simplify() polys with arcs in them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13134
2022-12-12 12:54:34 +00:00
Jeff Young
fbd2d66a75
Convert formatting constructs for SPICE consumption.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11383
2022-12-11 15:53:26 +00:00
Mike Williams
f4fb70e04c
Schematic: re-allow partial selection of line ends
...
Also fix some XOR selecting issues.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13022
2022-12-10 13:17:42 -05:00
Jeff Young
6535f407a6
Remove version guard from sim migration, and add migration to paste.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13080
2022-12-08 23:57:42 +00:00
Mike Williams
0e75bf02fa
Selection: refactor modifier checking
2022-12-08 14:12:12 -05:00
Mike Williams
4b02e5efb4
Schematic: allowing ctrl/shift-clicking point editor points
2022-12-08 14:12:12 -05:00
Barabas Raffai
add082548d
Move timer used by SCH_EDITOR_CONTROL to member variable
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2430
2022-12-08 17:33:19 +00:00
jean-pierre charras
6130ce5d66
symbol_editor_control: fix incorrect bounding in SVG export.
...
Fixes #13093
https://gitlab.com/kicad/code/kicad/issues/13093
2022-12-07 13:13:35 +01:00
Wayne Stambaugh
5001555f0e
Fix crash in Altium schematic importer.
...
The crash was caused by an unhandled exception. The uncaught exception
caused a cacophony of null configuration setting pointers so guards were
added to prevent crashes should other exceptions occur that do not get
handled correctly.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13046
2022-12-05 20:20:01 -05:00
Jeff Young
b7d41e0e56
Update simulator with NUMERIC_EVAL, decimal separator processing, etc.
...
Also includes fixes for instance data and resolving of textvar
references.
Also includes virtual d'tors for IBIS parser to get rid of all the
compile warnings on CLang.
Fixes https://gitlab.com/kicad/code/kicad/issues/12357
2022-12-05 12:40:29 +00:00
Graham Keeth
ef83d01455
Minor string changes: "eeschema" / "pcbnew" in tooltips, and power port terminology
2022-12-04 14:29:57 +00:00
Jeff Young
96819f6c01
Better cache invalidation for text objects with references.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
Mike Williams
8f646fa9fb
Schematic: fix XOR unselecting one end of fully selected line
2022-12-01 15:00:06 -05:00
Mike Williams
5b2020daf5
Schematic: only delete dangling lines not created directly by the user
2022-12-01 13:13:45 -05:00
Seth Hillbrand
01cf6d76d8
Remove newly dangling lines when dragging
...
These lines are remnants from drag operations that should be cleaned
after commiting the new line positions
Fixes https://gitlab.com/kicad/code/kicad/issues/12870
2022-11-30 13:46:38 -08:00
Wayne Stambaugh
0a62c17040
Remove schematic symbol value and footprint field instance data.
...
https://gitlab.com/kicad/code/kicad/-/issues/12933
2022-11-30 11:47:13 -05:00
Seth Hillbrand
4f4e355ce5
Reset existingRefs on cancel
...
When placing, we need to keep our static pointer map valid. If we
cancel the placement after annotation, we need to remove the annotated
symbol. The safer way is to just recreate the map
Fixes https://gitlab.com/kicad/code/kicad/issues/12983
2022-11-29 13:37:23 -08:00
Jeff Young
b2177718a1
Tighten up refresh logic for net & netclass references.
...
Also tightens it up a bit for text variables which can reference things
like netnames and netclasses, but also board settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/13032
2022-11-29 15:18:36 +00:00
Jeff Young
7e0ba42f0e
Bug fixes for dragging labels attached to wires in orthogonal mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12677
2022-11-25 15:05:15 +00:00
Jeff Young
651b3f1349
SCH_FIELDs are in parent's coord system.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12979
2022-11-23 13:22:50 +00:00
Wayne Stambaugh
4a27d856f7
Move schematic sheet instance information into file sheet definition.
...
This will make it possible to maintain sheet instance information when
copying and pasting from any sheet other that the root sheet of a
project.
Setting and getting sheet page numbers must now be performed using a
sheet path. This was done to ensure that the instance paths were not
getting changed unexpectedly from different code paths.
2022-11-22 16:45:38 -05:00
Seth Hillbrand
e3cc0a5bc7
Prevent crashes when pasting symbols
...
When pasting a symbol that originates in a non-standard library, the
symbol may _only_ have an instance in the sheet and so adding it to the
sheet updates the instance data and needs to be refreshed before
annotating
2022-11-21 13:30:06 -08:00
Alex
12a55f20d3
Fix a mistake in grip margin.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12952
2022-11-21 00:25:19 +05:00
Jeff Young
2919490e92
Use hash (not page no) to determine when we've found the current sheet.
...
Also enforces strict ordering in another page number sorter, although
this has nothing to do with the bug below.
Fixes https://gitlab.com/kicad/code/kicad/issues/12043
2022-11-20 13:12:44 +00:00
Jeff Young
3747cae7dc
Reinstate marker searching.
2022-11-20 13:12:44 +00:00
Jeff Young
b84066610e
Use drag origin instead of current mouse pos for drag checking.
2022-11-19 21:01:45 +00:00
Jeff Young
bc271a8d15
Protect move tool from re-entrancy.
...
m_dragInProgress is usually sufficient, except when we haven't started
one yet. In any case, conflating the two is probably a bad idea.
Fixes https://gitlab.com/kicad/code/kicad/issues/12936
2022-11-18 17:08:38 +00:00
Jeff Young
9d8fdd8d53
Fire selection events from SelectAll().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12896
2022-11-13 22:59:21 +00: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
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
5aa8f9880e
Honour aQuitOnDraw flag when cancelling a segment.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12832
2022-11-05 10:23:12 +00:00
jean-pierre charras
504adb3467
Eeschema Back annotation: fix broken handling of full sheet paths of symbols.
...
Fixes #12767
https://gitlab.com/kicad/code/kicad/issues/12767
2022-11-03 11:15:23 +01:00
Wayne Stambaugh
6a0db3e7e2
Fix Coverity warnings.
2022-10-26 14:39:44 -04:00
Jeff Young
6c9d8f1ae7
GUI improvements to hierarchy navigator.
...
(1) and (3) from the linked issue.
Fixes https://gitlab.com/kicad/code/kicad/issues/11762
2022-10-24 23:00:44 +01:00
Jeff Young
3cb6a80954
Don't delete pin out from under selection & move tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12610
2022-10-24 20:49:34 +01:00
Jeff Young
4a489a5d16
Respect CTRL key when resizing rects and textboxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12732
2022-10-24 11:36:20 +01:00
Wayne Stambaugh
598b09821a
Coverity fixes.
2022-10-17 15:30:20 -04:00
Jeff Young
f9a791e2b0
Copy font across when changing text type.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12629
2022-10-12 23:49:40 +01:00
Jeff Young
8dea227da7
Special cases for sheet-pin dragging.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11949
2022-10-12 16:36:54 +01:00
Jeff Young
3231bc5be3
Formatting and cleanup.
2022-10-12 16:36:54 +01:00
Mikolaj Wielgus
d9eb76eae0
Sim: Refactor SPICE_GENERATOR methods to accept a single SPICE_ITEM
2022-10-11 02:22:59 +02:00
Jeff Young
1825905011
Replace more-than-half-line algorithm with greedy/stingy check.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10860
2022-10-10 20:23:48 +01:00
Jeff Young
cb20a39693
Always select whole lines with greedy selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10869
2022-10-10 20:17:15 +01:00
Mikolaj Wielgus
994274fe9f
Move IBIS model Spice code generation to SIM_MODEL_KIBIS
...
IBIS drivers are temporarily broken. Will fix is subsequent commits.
2022-10-08 03:01:52 +02:00
Seth Hillbrand
a5da46459c
Be sure to update UUID when placing new elements
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12588
2022-10-07 16:32:41 -07:00
Mikolaj Wielgus
b95f4ec6bb
Sim: Use the new library manager class in Spice netlist exporter
...
Temporarily comment out IBIS processing.
2022-10-06 09:49:29 +02:00
Mikolaj Wielgus
44799c830d
Sim: Create a class to manage sim libs and inherited models
2022-10-05 17:19:28 +02:00
Wayne Stambaugh
03d847118a
Fix crash when copying symbol in schematic editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12574
2022-10-04 17:51:58 -04:00
Jeff Young
c5f8587898
Use closest point for duplicate anchor rather than top-left.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10004
2022-10-03 23:28:58 +01:00
Jeff Young
7bb0275d3c
Fix incompatibility with old rubber-band wire algo and new ortho wire drag alog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11948
2022-10-03 22:12:23 +01:00
Jeff Young
c6284f4835
Formatting.
2022-10-03 22:12:23 +01:00
Jeff Young
e335c1c612
Fix for LIB_TREE hotkeys over canvas and possible fix for over LIB_TREE itself.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11034
2022-10-02 22:22:21 +01:00
Jeff Young
c089afb408
Improve default net pattern to be all members of bus instead of first member.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12546
2022-10-01 22:58:11 +01:00
Mike Williams
c1da59b560
Swap: disallow swapping tracks / wires
...
Also fix missed shortcut change for S -> Shift-S
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12538
2022-09-29 17:04:43 -04:00
Alex
df59f6cfdb
Update connectivity for net highlighting on demand.
2022-09-27 21:24:01 +00:00
Jeff Young
83a7ab2449
Initialize resolved status of newly created wires during drag operation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12522
2022-09-27 14:12:06 +01:00
Jeff Young
d0ff90eb6e
Support mirroring of multiple SCH_FIELDs at once.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12512
2022-09-26 17:44:52 +01: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
Alex
f75266d130
Keep selection order in SCH->PCB cross-selection.
2022-09-22 11:43:37 +00: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
Jeff Young
8eb68ee472
Add pin/unpin context menu to Symbol Chooser and Footprint Chooser.
...
Also moves some more code down into common so it can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12384
2022-09-21 14:45:12 +01:00
jean-pierre charras
fd4cd17f4f
fix a compil warning
2022-09-20 18:55:20 +02:00
Jeff Young
30a4d3d2de
Coverity fixes.
2022-09-20 00:19:15 +01:00
jean-pierre charras
5990595619
When adding a bitmap, do not clone it during moving.
...
Cloning is not necessary, and is memory consuming.
2022-09-19 17:41:47 +02:00
Mike Williams
9304607624
TOOL_EVENT: make command string non-optional
...
We're getting segfaults in places where this isn't checked. Also, add
some asserts so we can catch bad tool push/pop.
Removes all uses of GetCommandStr() and makes it private.
2022-09-19 10:23:09 -04: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
Jeff Young
e6c8cf0f03
Don't escape spaces in bus groups and transfer hyperlinks.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12451
Fixes https://gitlab.com/kicad/code/kicad/issues/12452
2022-09-17 20:56:50 +01: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
Jeff Young
907cafef6d
Update font size before querying properties dependent on it (like the text margin).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12444
2022-09-16 18:57:12 +01: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
lulu731
0180bcf90a
ADDED: Implement Drag and Drop
...
dropping files to Kicad manager :
*.kicad_pro, *.pro -> open project;
gerber and job files -> open in Gerbview editor;
Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00: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
Mike Williams
9cda5e200c
Hotkeys: Swap on Shift S and revert old actions back to S
2022-09-12 14:18:54 -04:00
Mike Williams
37d2addf0e
Icons: add swap
2022-09-12 11:11:49 -04:00
Mike Williams
f70e1d0f22
SCH/PCB: Set Swap hotkey to 'S'
...
* Move Add Sheet to Shift+S in Schematic Editor
* Move Set Grid Origin to Shift+S in PCB Editor
2022-09-12 11:11:49 -04:00
Mike Williams
926f979ebc
Schematic: Add swap action
2022-09-12 11:11:49 -04:00
Jeff Young
bb0bd29715
Improve tooltips.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10843
2022-09-10 19:04:38 +01:00
Jeff Young
b2a29e08a4
Improve repeat-last-item to handle unfold-from-bus.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12018
2022-09-09 18:09:09 +01:00
Jeff Young
f2abf0832a
Filter pins by unit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12076
2022-09-09 13:41:13 +01:00
Jeff Young
b874aaac5e
Add display options to Symbol Browser toolbar.
...
Particularly important on Mac where the menubar is disabled when the
frame is used in modal mode.
Also adds a display control to override the symbol's show pin numbers
setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/7789
2022-09-08 00:28:30 +01:00
Alex
d67c81a657
When deselecting items, pick only selected ones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10292
2022-09-06 19:44:29 +00:00
Jeff Young
c337c12410
Don't double-flip justification. (The transform already flips it.)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11673
2022-09-06 13:59:52 +01:00
Wayne Stambaugh
1079a4144a
Eeschema: warn user that missing symbol link indicators cannot be edited.
2022-09-04 10:00:03 -04:00
Jeff Young
efae2bbb4c
Better feedback for netclass assignment patterns.
2022-09-03 21:33:56 +01: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
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
ebe9617e77
More EDA_RECT expungification, and an attempt to fix the python test.
2022-08-31 17:19:48 +01:00
Jeff Young
5679b9dbdc
Remove a few EDA_RECT instances.
2022-08-31 01:22:49 +01:00
Jeff Young
0c8787cbb9
Some more wxPoint/EDA_RECT yeeting.
2022-08-31 00:44:33 +01:00
Seth Hillbrand
b736460e71
Move optional access from value() to *operator
...
`value()` throws. Where we check for existence, we don't need to use
the throwing version and should just use the unprotected variant
2022-08-30 13:59:39 -07:00
Jeff Young
6bad88e592
Make external hypertext links show a menu before executing.
2022-08-27 23:58:13 +01:00
Jeff Young
c0d2052e4b
PDF hypertext menus for intersheet references.
2022-08-27 23:58:13 +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
516c4cb2d3
wip refactoring: use virtual page numbers for page navigation
...
"Real" page numbers are just strings and could be duplicated. Virtual page
numbers are guaranteed to be unique, since they indicate a sequence.
2022-08-27 19:17:43 +01:00
Wayne Stambaugh
7c6d9f67f9
Eeschema: fix broken instance data when adding new symbol.
...
Pass the current SCHEMATIC object pointer in SCH_SYMBOL ctor so that
newly created symbols will update the current instance data on creation
when the current sheet instance is being displayed.
This is a better fix for the master branch and cherry-picking from 6.0
was a mess.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12190
2022-08-26 13:35:49 -04: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
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
Jeff Young
9657b23139
Allow selected RefDes as proxy to selected symbol for annotate selection.
...
Also fixes some likely bugs regarding collection of power symbols and symbols
with no lib link for annotation.
Fixes https://gitlab.com/kicad/code/kicad/issues/12259
2022-08-24 11:31:13 +01: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
142229089f
Don't look for connections when we're just clearing the highlight.
...
This can happen before connectivity has been updated, and the only
reason we're looking for it anyway was to make the logic simpler.
Fixes https://gitlab.com/kicad/code/kicad/issues/12037
2022-08-23 12:57:55 +01:00
Alex
3a76d42630
Cross-probing/selection for multiple items (PCB -> SCH)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
2022-08-22 19:33:39 +00:00
Jeff Young
03454684fa
Commenting.
2022-08-22 12:43:57 +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
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
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
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
Seth Hillbrand
28876bef90
Don't close blocking dialog in backannotate
...
Back annotate is called from a dialog, so this will close itself but not
exit, locking the UI
2022-08-20 08:17:53 -07:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07: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
BugRepellentExtraStrong
02a6566438
eeschema: Fixes wrong displayed secondary worksheet
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12017
2022-08-14 14:52:23 +00:00
Seth Hillbrand
225b03d702
Move sheetpins by their connection point
...
Need to calculate the sheet pin anchor position in order to get it
aligned to the grid while moving
Fixes https://gitlab.com/kicad/code/kicad/issues/12134
2022-07-31 20:02:57 -07: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
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
Mike Williams
d9449b9beb
Annotation: annotate all sheet instances for new symbols
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11841
2022-07-25 18:44:55 +00:00
Mike Williams
bf550afa8c
Annotation: use full hierarchy for sheet based numbering on paste
2022-07-25 18:44:55 +00:00
Mike Williams
17f6c0ecf1
Annotate: correctly annotate duplicated items across reused subsheets
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11840
2022-07-25 18:44:55 +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
e36491f231
Make EEschema highlight net consistent with PCBNew.
...
In particular, highlight net on an already highlighted net clears
highlight.
Fixes https://gitlab.com/kicad/code/kicad/issues/11016
2022-07-24 09:16:31 +01:00
jean-pierre charras
0604d7b813
Fix minor compil and Coverity warnings.
2022-07-24 09:33:43 +02:00
Jeff Young
3aabea5191
Add side handles to sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11525
2022-07-23 23:57:31 +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
f48755cc67
Restore unique-item filtering when collecting nearby items from view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12076
2022-07-23 15:09:58 +01:00
Jeff Young
cb77e68076
Don't assume a SCH_EDIT_FRAME in EE_SELECTION_TOOL.
...
It's also used in the symbol editor.
But in any case, pins of other units have no business being in an
SCH_SYMBOL anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/12076
2022-07-23 14:28:07 +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
Jeff Young
def87c969e
Redo the pinned-libraries storage architecture.
...
1) always use preferences directly
2) allow nicknames from either preferences or project
3) store-after-modify
Fixes https://gitlab.com/kicad/code/kicad/issues/12000
Fixes https://gitlab.com/kicad/code/kicad/issues/11892
2022-07-22 09:31:10 +01:00
Jeff Young
bdffbbd43b
Handle rotation while moving from move tool.
...
This keeps us from getting CancelInteractive events in the move tool
when the EditTool runs to do the rotate.
Fixes https://gitlab.com/kicad/code/kicad/issues/12004
2022-07-22 09:31:09 +01:00
Jeff Young
9652dcf96d
ADDED conversion between textbox and other text types.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12031
2022-07-22 09:31:07 +01:00
Seth Hillbrand
f78671fc2e
Make textbox placement modal
...
Placing a symbol from symbol editor starts the TwoClickPlace in a
different context. We need to prevent multiple contexts of the same
tool
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
2022-07-19 09:20:43 -07:00
Jeff Young
45393f228a
Promote pin selections to symbols when preference is set.
...
Also make additional line slop zoom-relative.
Fixes https://gitlab.com/kicad/code/kicad/issues/12034
2022-07-19 10:31:49 +01:00
Jeff Young
e5a664c6b3
Try a slightly different tack for cancelling net highlighting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12029
2022-07-19 10:31:49 +01:00
Alex
c6d9dcdad5
Schematic editor: allow box-selecting pins.
2022-07-18 18:51:52 +00:00
Alex
d343d87b73
Speed-up EE_SELECTION_TOOL::RequestSelection.
2022-07-18 18:51:52 +00:00
Seth Hillbrand
93fb00d815
Protect the Kiway dereference
...
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.
Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame. This allow
for the cleanup actions onClose() to happen prior to the next action
starting
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
2022-07-14 11:37:45 -07: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
Mike Williams
1f4079802c
Schematic: drop undefined/unused function
2022-07-14 11:23:23 +00:00
Seth Hillbrand
b5bf1da251
Keep track of blocking windows
...
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
Fixes https://gitlab.com/kicad/code/kicad/issues/11772
2022-07-13 19:25:24 -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
d24e6c3408
Auto-annotate (and then don't re-annotate) power symbols.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11942
2022-07-11 21:46:01 -06:00
Jeff Young
57acce9e55
Share more code between selection tools.
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
4685dc49cc
Show more than 9 items in disambiguation menu.
...
(But only the first 9 get hotkeys.)
Fixes https://gitlab.com/kicad/code/kicad/issues/11966
2022-07-10 20:11:22 -06:00
Jeff Young
b759d860c0
Don't disambiguate if the user is dragging a multiple selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10108
2022-07-10 19:45:56 -06:00
Jeff Young
e122dc38bd
Add context menu item for clearing net highlighting.
...
In selection tools, drawing tools, router tool, line_wire_bus tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/11920
2022-07-10 17:15:20 -06:00
Jeff Young
00fc225306
Give <esc>-with-no-selection-clears-net-highlight a test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-07-09 11:56:16 -06:00
Jeff Young
70aec5d576
Don't drag both ends after Break Wire.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11915
2022-07-08 23:03:41 -06:00
jean-pierre charras
7b28804f67
Fix a minor compil and Coverity warning
2022-07-06 13:54:17 +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
66b3b48e93
Library Editor: Fix missing automatic annotation
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11818
2022-06-29 14:17:21 +00: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
1140fd0fb0
Eeschema, context menus: move edit value, ref and footprint to a submenu.
...
remove also Select All menuitem from the move context menu.
2022-06-13 11:35:17 +02:00
Jeff Young
29900cad34
Add create-wire logic to labels.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11768
2022-06-10 22:38:01 +01:00
jean-pierre charras
e0f0bb2edd
Eeschema: Fix issues when converting a label/text to another label text type.
...
- make convert to/from SCH_DIRECTIVE_LABEL working.
- Autoplace fields of new labels
Fixes #11779
https://gitlab.com/kicad/code/kicad/issues/11779
2022-06-10 14:13:22 +02:00
Jeff Young
bce1fd337b
Second tool hotkey accepts action (ie: acts as click).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11729
2022-06-09 16:54:04 +01:00
jean-pierre charras
35bde4710c
Eeschema, context menu selection: move convert to ... menuitems to a submenu.
...
Add also missing icons in a few menuitems.
Fixes #11776
https://gitlab.com/kicad/code/kicad/issues/11776
2022-06-09 16:46:21 +02:00
Jeff Young
c55a0e4561
Separate last-created-params for textboxes from shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11755
2022-06-08 15:25:13 +01:00
jean-pierre charras
185016b84b
Eeschema, Hierarchy navigator: add tool to Hide/show the panel.
...
Add also a close button to the pane.
2022-06-07 11:11:10 +02:00
jean-pierre charras
9f38fa43cd
Fix some minor compil and Coverity warnings.
2022-06-05 11:44:49 +02:00
Jeff Young
718bb461d2
Textbox defaults for libedit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11739
2022-06-04 21:25:37 +01:00
Roberto Fernandez Bautista
78e465bbd8
Fix crash in sch_navigate_tool when history was empty
2022-06-03 23:07:12 +02:00
Jeff Young
ce79a16ed8
Use default schematic text size for textboxes.
...
Also adds support for remembering stroke info, fill info, and
spin style for sch text boxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/11739
2022-06-03 21:48:12 +01:00
Mike Williams
8d51b6b6d3
Schematic: Add icons for Any/90/45 angle modes
...
Also add a dark mode icon for existing 45hv icon.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11332
2022-06-03 15:04:52 +00: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
Jeff Young
abba1b04bd
Add "Enter Sheet" to Sheet tool (context menu & double-click).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11531
2022-05-30 14:08:26 +01:00
Jeff Young
d5d8d36d86
Implement expanding Select Connection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8579
2022-05-29 22:51:33 +01:00
Mike Williams
f2cf934083
Schematic: Annotation Tweaks
...
Fix newly placed symbols to be annotated and not show a ? until
placement.
2022-05-27 15:54:00 +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
85516a4691
Schematic: add automatic annotation toggle
2022-05-27 15:54:00 +00:00
Mike Williams
dabd42bbc4
Schematic: Automatic Symbol Annotation
2022-05-27 15:54:00 +00:00
Miklós Márton
487c8f8e39
symbol editor: Improve pin duplication
...
When duplicating pins in the symbol editor the duplicated pins will have
unique pin numbers assigned if the duplication target had the pin number
specified
2022-05-25 00:02:16 +00:00
Roberto Fernandez Bautista
ea29c66608
Fix formatting
2022-05-22 07:14:24 +00:00
Chetan Shinde
4e5febdb19
Fixes the import pin issue, that the they are shown in two different way https://gitlab.com/kicad/code/kicad/-/issues/11391
2022-05-22 04:42:22 +00:00
Jeff Young
8e94c307d2
Provide default case for mirroring single objects.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11649
2022-05-21 22:50:55 +01:00
Jeff Young
23fb4c7433
Uniformly use a single facility for location-less prime events.
...
Also implements a uniform mechanism for avoiding auto-scroll after
a prime event or dialog which results in a mouse position at the
edge of the canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/11057
2022-05-16 23:43:00 +01:00
Jeff Young
f2fc78f380
Don't copy modifiers to prime events.
...
The modifiers go with the hotkey, not with the action.
Fixes https://gitlab.com/kicad/code/kicad/issues/11618
2022-05-16 13:51:40 +01:00
Jeff Young
79a0ce9137
Unset forced cursor before leaving two-click place.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11607
2022-05-14 22:38:54 +01: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
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
jean-pierre charras
4bd349d922
Update some demos
2022-05-09 19:06:14 +02:00
Miklós Márton
7e20c0ed9c
eeschema: removed unused code
...
Fixes #11533
2022-05-06 17:17:55 +00:00
jean-pierre charras
32077673e8
Symbol editor crash: Fix use of a null pointer.
...
LIB_TEXT::Clone() did not copy a member set to nullptr.
Fixes #11569
https://gitlab.com/kicad/code/kicad/issues/11569
2022-05-06 12:51:26 +02:00
Jeff Young
1751c8e1cf
Save selection *before* clearing it. Saving after doesn't do much good.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11242
2022-05-06 00:06:00 +01:00
Simon Richter
bd7447cff3
Fix variable name
...
This is the top left position, not the top right.
2022-05-05 10:27:19 +00:00
Jeff Young
babfb29c54
Formatting cleanup.
2022-05-03 13:39:14 +01:00
Jeff Young
67f352717e
Fix dodgy type-cast and init line-widths to "inherit".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11535
2022-05-03 13:39:14 +01:00
jean-pierre charras
3f470359a2
Eeschema, backannotate: fix minor issues in displayed messages.
...
Fixes #11530
https://gitlab.com/kicad/code/kicad/issues/11530
2022-05-03 09:20:46 +02:00
Jeff Young
f6f316bd8c
Promote field selection to field-owner for Autoplace.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11529
2022-05-02 20:11:21 +01:00
jean-pierre charras
ece15b6472
Fix a compil warning (shadowed var).
2022-05-02 15:25:55 +02:00
jean-pierre charras
40c75c74fa
EEschema/Cvpcb: make assign footprints from CvPcb undoable.
...
Fixes #11508
https://gitlab.com/kicad/code/kicad/issues/11508
2022-05-02 12:49:14 +02:00
Jeff Young
772bdc4bbf
Turn off auto-dialog for text objects when immediateActions == false.
2022-05-02 11:25:40 +01:00
Jeff Young
de0bb26c4c
Init global label's intersheet ref's visibility from schematic settings.
2022-05-02 09:42:38 +01:00
Miklós Márton
7ebdb4853c
Do not open label edit dialog when adding label to an already named wire
2022-05-02 08:42:15 +00:00
Jeff Young
8a97a46e6b
Release file before re-loading it for Revert.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11481
2022-04-26 22:28:35 +01:00
Jeff Young
e0f2a5f07c
Update findnext to handle new instance data architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11424
2022-04-26 20:21:15 +01:00
Seth Hillbrand
25474b347c
Fix frustration with mirroring autoplaced fields
...
When the user asks to mirror a symbol is is frequently to get the
reference/value on the other side of the symbol for placement purposes.
Autoplacing the fields here keeps the text where they were initially
which can be frustating to work around.
This commit treats the mirror command as a user request to change where
the fields are
2022-04-25 12:50:45 -07:00
Jeff Young
f5d612eaed
Switch <insert> replacement on OSX to <f1>.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11413
2022-04-25 10:01:33 +01:00
Jeff Young
90bfe2d94b
Remove Save Copy As from fp editor, and rename to Save a Copy elsewhere.
...
It's still used by Eeschema and PCBNew when not in stand-alone mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/9185
2022-04-24 19:46:57 +01:00
jean-pierre charras
3bc34590c7
Eeschema: fix missing call to UpdateMessagePanel() due to commit e09147db
.
...
EE_INSPECTION_TOOL::UpdateMessagePanel was called by EVENTS::SelectedEvent
But This event after commit calls E_INSPECTION_TOOL::CrossProbe(),
and no longer UpdateMessagePanel.
So CrossProbe() now calls UpdateMessagePanel.
Fixes #11447
https://gitlab.com/kicad/code/kicad/issues/11447
2022-04-24 18:40:10 +02:00
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
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
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
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
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
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
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
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
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
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
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
jean-pierre charras
be6379a8f6
Fix minor Coverity and compil warnings.
2022-04-01 20:43:21 +02: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
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
8dc680adbb
Implement align-to-grid for sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11201
2022-03-29 19:31:02 +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
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
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
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
a54457386c
Enable immediate mode for pin tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10156
2022-03-26 21:07:10 +00: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
Wayne Stambaugh
7da7864f5e
Fix some Coverity issues.
2022-03-25 15:51:05 -04:00
jean-pierre charras
21144481d2
PLOTTER: do not clamp coordinates to an arbitrary value.
...
Previously, coordinates were clamped to +- 60 inches. It makes no sense to
clamp them at plotter level: max cooed depends on the editor (schematic/board...)
Rename MAX_PAGE_SIZE_MILS to MAX_PAGE_SIZE_EESCHEMA_MILS and use it only for Eeschema.
Fixes #11196
https://gitlab.com/kicad/code/kicad/issues/11196
2022-03-22 10:32:36 +01:00
Jeff Young
4f62960334
Update message panel from PCB point editor and SCH drawing tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11186
2022-03-21 10:32:36 +00:00
Jeff Young
63b5ad7df1
Fix some issues with global-label fields' bounding boxes.
2022-03-19 19:37:01 +00:00
jean-pierre charras
77c52ad5df
Fix a compil warning (shadowed var).
2022-03-17 20:13:17 +01:00
Jeff Young
400cff994d
Update value & footprint from clipboard whether keeping annotation or not.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11116
2022-03-17 18:19:13 +00:00
Jeff Young
05bca282f7
Re-entrancy blocker for line/wire/bus tool.
...
Also clear infobar messages after a cancelInteractive.
Fixes https://gitlab.com/kicad/code/kicad/issues/11155
2022-03-17 15:27:33 +00:00
Jeff Young
e68e2e973e
Separate Line Properties dialog from Bus/Wire, and handle Junctions in Bus/Wire.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9979
2022-03-16 14:56:32 +00:00
Jeff Young
ec44dfa60f
Unescape value fields when pasting from legacy schematics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11124
2022-03-13 22:17:44 +00:00
Jeff Young
1f745b000d
Special-case synthetic click after tool selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11057
2022-03-07 20:30:50 +00:00
Jeff Young
39fa4e2065
Include textbox in movable objects.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11058
2022-03-07 10:33:59 +00:00
jean-pierre charras
dbfdd3fb56
Fix some Coverity warnings.
2022-03-06 09:48:33 +01:00
Seth Hillbrand
7ecc70a79d
Duplicate from selected or current
...
When double-clicking to open a symbol, it is no longer selected in the
tree. We need to use the `GetTargetLibId()` to pick the correct symbol
(first selected, then current) when using the duplicate command
Fixes https://gitlab.com/kicad/code/kicad/issues/11034
(cherry picked from commit 802d20c409
)
2022-03-03 16:04:22 -08:00
Seth Hillbrand
548936bb22
Fix broken unit select context menu
...
The fix for https://gitlab.com/kicad/code/kicad/issues/10529 kicked the
subsequent IDs for unit selection off the maximum ID value for popup
menus. This increases the maximum popup number (integers are free)
(cherry picked from commit 79b6991d7b
)
2022-03-02 16:33:28 -08:00
Mike Williams
5503afc09a
Schematic: disallow center rotation, allow both endpoint rotations
...
Center rotation will often misalign lines to the grid, which is bad
until fix off grid items on the schematic.
We can rotate a connection end into a new connection or to become
collinear with an existing line, so we need to check for this at the end
of rotation.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10565
(cherry picked from commit 7d4cb91f39
)
2022-02-28 08:50:12 -08:00
Jeff Young
c4d2ac570f
Don't allow break commands (or labelling cmds) on multiple wire selections.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10934
2022-02-27 23:15:07 +00:00
Seth Hillbrand
535ea800c0
Honor modifier keys in diambiguation
...
Needs to be reset for the new action before selecting elements at a
point.
Fixes https://gitlab.com/kicad/code/kicad/issues/9712
(cherry picked from commit a30ad0b54a
)
2022-02-25 16:16:15 -08:00
Seth Hillbrand
faa3829ad4
Add MRU to image placement tools
2022-02-25 13:18:43 -08:00
Jeff Young
6d8507d44f
Formatting.
2022-02-25 17:36:35 +00:00
Mike Williams
e35c3f2b99
Schematic: handle switching h/v mode better while drawing lines
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10859
2022-02-21 17:03:43 +00:00
Jeff Young
a2772b3363
Don't crash on highight net during drag.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10866
2022-02-21 13:30:15 +00:00
Jeff Young
b0d7c82e64
Disable grid when ctrl/cmd key is down.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9995
2022-02-20 16:50:30 +00:00
Mike Williams
d0749c4e9a
Schematic: more drag undo fixes
...
Drag was not clearing IS_CHANGED status of items that were moved by the
drag, but weren't selected or created by it.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10845
2022-02-20 11:49:18 +00:00
Seth Hillbrand
d1a4daefbb
wxPoint->VECTOR2I correction for master
2022-02-19 19:14:41 -08:00
Seth Hillbrand
24ac516135
Trim wires based on how many pins they intersect
...
If a wire intersects more than 2 pins from the same symbol, we don't
trim connections. If the wire intersects exactly two pins from a single
symbol, we remove the wire between the pins.
We avoided doing this before because we didn't have a good metric for
trimming vs. not. But the per-symbol calculation feels like the least
surprising option.
Fixes https://gitlab.com/kicad/code/kicad/issues/10909
Fixes https://gitlab.com/kicad/code/kicad/issues/1857
(cherry picked from commit 75a4036e45
)
2022-02-19 16:54:45 -08:00
Jeff Young
510dc28a5c
Resolve text variables before attempting to open datasheet.
2022-02-19 14:59:50 +00:00
Mike Williams
567168fffc
Schematic: make grabbing whole lines more intuitive
...
Selecting end and midpoint will select whole line. Some changes for
orthogonal dragging made this worse than in 6.0.
Improves, but does not fully resolve:
https://gitlab.com/kicad/code/kicad/-/issues/10860
2022-02-16 19:15:55 +00:00
Mike Williams
97797c44b9
Schematic: added drag wires undo/redo fix
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10845
2022-02-15 19:31:17 +00:00
Seth Hillbrand
45a1a9a715
Replace awkward double cast with binary logic
...
The use of XOR with integers here is needed as MSVC doesn't implement
the use of std::signbit for integers and casting up to double just to
get the signbit feels wrong
2022-02-15 10:13:59 -08:00
Marek Roszko
3129f96686
Add awkward cast to double due to msvc conflict
...
https://github.com/microsoft/STL/issues/519
2022-02-14 21:43:11 -05:00
Mike Williams
9c59c4ee12
Schematic: orthogonal drag bends should depend on move direction
...
Prevents overlapping lines when possible.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10844
2022-02-14 22:52:34 +00:00
Jeff Young
4e5b30ad80
Rewrite autostart to not need connectivity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10579
2022-02-14 01:15:06 +00:00
Mike Williams
013d6d088f
Eeschema: fix pin starting wire bus bug
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10819
2022-02-13 15:02:09 +00:00
Jeff Young
33e57930bc
Implement undo for Eeschema find/replace.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10824
2022-02-11 22:09:22 +00:00
Mike Williams
21b59b4b6a
Eeschema: fix bus label drag adding a line
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10822
2022-02-11 21:30:50 +00:00
Mike Williams
a5e8575091
Eeschema: Implement orthogonal dragging
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1956
2022-02-10 18:38:40 +00:00
Mike Williams
7c91cd73e3
Eeschema: unconnected ends of wire entries should allow auto start wires
2022-02-07 23:31:24 +00:00
Jeff Young
cc69849719
Fix definition of nonFields to include textboxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10771
2022-02-06 19:43:25 +00:00
Jeff Young
8d3e1639d0
Update text variables when they change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10734
2022-02-04 12:52:46 +00:00
Seth Hillbrand
3badd53a96
Setup selection when repeating
...
We need the item to be currently selected when repeating the last symbol
insert. This ensures we have a valid selection before starting the move
tool and possibly getting odd system behavior from mouse positions
Fixes https://gitlab.com/kicad/code/kicad/issues/10619
(cherry picked from commit 7642a9db79
)
2022-02-03 17:09:59 -08:00
Jeff Young
f3cd36d1d7
Bring EEschema textboxes in line with PCBNew's.
...
Also adds Border checkboxes and fixes a bunch of bugs.
2022-01-31 21:46:40 +00:00
Seth Hillbrand
38706fdd95
Fully select a line for transformation
...
When not trying to select points, we need to ensure that the full
line is selected for transformation
Fixes https://gitlab.com/kicad/code/kicad/issues/10566
(cherry picked from commit 70d00689ca
)
2022-01-29 17:37:30 -08:00
Wayne Stambaugh
b36e31c49f
Factor out common and remove dead legacy symbol library code.
2022-01-29 14:13:00 -05:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Mike Williams
ecb32b1fb0
Eeschema: hover start from wire end should copy wire properties
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10128
2022-01-27 17:17:45 +00:00
dsa-t
bc1ff6756f
Cross-probing/selection for multiple items (SCH->PCB)
2022-01-16 20:29:03 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Seth Hillbrand
5a3d53d9e4
Catch default autowire case
...
Since we are dereferencing the optional, we need to ensure it exists in
all cases
Fixes https://gitlab.com/kicad/code/kicad/issues/10394
(cherry picked from commit 56d87a8613
)
2022-01-12 09:03:44 -08:00