Commit Graph

6793 Commits

Author SHA1 Message Date
Jeff Young 7d6a749285 Implement a more aggressive re-entrancy check for SCH drawing tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/7259
2021-01-27 19:51:11 +00:00
Jeff Young df80f6484e Use canonical names when exporting fields to netlist.
Fixes https://gitlab.com/kicad/code/kicad/issues/7300
2021-01-27 13:52:24 +00:00
Sylwester Kocjan df62adf901 eeschema,sim: fix crash at simulation start
fixes: https://gitlab.com/kicad/code/kicad/-/issues/7277
2021-01-26 23:29:05 +00:00
Jeff Young 0967f8fc78 Fix typo. 2021-01-26 23:17:30 +00:00
Jeff Young de1c3a83fd Hittesting for background-body-filled shapes (and other fills).
Fixes https://gitlab.com/kicad/code/kicad/issues/7286
2021-01-26 23:17:30 +00:00
Jeff Young 0dd65d9cd1 Naming conventions and file order. 2021-01-26 23:17:30 +00:00
Jeff Young 06f85471a4 Fix copy/paste error. 2021-01-26 19:01:31 +00:00
Jeff Young f3047829e5 Mark document dirty after drag; don't wait for point editor deactivation.
Fixes https://gitlab.com/kicad/code/kicad/issues/7285
2021-01-26 19:01:31 +00:00
david-beinder 1598e870b6 Insert the same unit on all sheet instances when adding a symbol
Fixes https://gitlab.com/kicad/code/kicad/issues/5898 (C)
2021-01-26 18:12:49 +00:00
david-beinder 2e21489acf Copy unit numbers to symbol instances when pasting sheets
Fixes https://gitlab.com/kicad/code/kicad/issues/5898 (B)
2021-01-26 18:12:49 +00:00
david-beinder 4bcd56b1f6 Always include unit number when copying to clipboard
Fixes https://gitlab.com/kicad/code/kicad/issues/5898 (A)
2021-01-26 18:12:49 +00:00
Wayne Stambaugh 4619d5e112 Fix more broken Doxygen comment specifiers. 2021-01-26 12:17:52 -05:00
Jeff Young 3702f2e0a9 Add uuid r/w for sch pins, text, wires, etc.
Fixes https://gitlab.com/kicad/code/kicad/issues/7269
2021-01-26 10:56:19 +00:00
Jeff Young b576ccef61 Don't double-up tools on tool stack.
Also make sure move tool gets cancelled by other tools being
activated.

Fixes https://gitlab.com/kicad/code/kicad/issues/7259
2021-01-26 10:56:19 +00:00
Sylwester Kocjan 6a48e21eb2 simulator: update dialog to handle R, I & TEMP DC sweeps
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2370
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6195
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2386
2021-01-25 21:29:13 +00:00
Jeff Young f6b7817044 Init intersheet refs props when converting to global label.
Fixes https://gitlab.com/kicad/code/kicad/issues/7252
2021-01-25 13:20:16 +00:00
Jon Evans 9f18fee124 Fix ERC for nets with power input and input pins
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7264
2021-01-24 22:17:56 -05:00
Jeff Young 8dfd297ee2 Show all pages for intersheet refs, and use IDs in hypertext menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/7253
2021-01-25 00:55:38 +00:00
Jeff Young 0a1a5ea669 Fold annotation error reporting into ERC.
Fixes https://gitlab.com/kicad/code/kicad/issues/6938
2021-01-24 23:01:24 +00:00
Jon Evans 8ad448cbbc Don't leave point editor running when moving things in eeschema
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7227
2021-01-24 12:59:42 -05:00
Jon Evans 09bd66477d Make sure sheet field parents are up to date
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7251
2021-01-24 12:59:42 -05:00
Seth Hillbrand b2cd1fddf9 Prevent invalidating iterators
When iterating over RTree, we cannot modify the RTree without
invalidating our iterators, so we use a temporary structure to hold the
schematic items

Fixes https://gitlab.com/kicad/code/kicad/issues/7228
2021-01-23 13:41:00 -08:00
Jeff Young df2d0962c6 Drop hover selection in Symbol Editor after edit action.
Fixes https://gitlab.com/kicad/code/kicad/issues/7234
2021-01-23 17:12:34 +00:00
Jeff Young d770284fa2 Add a bus instead of a wire for bus junctions.
Fixes https://gitlab.com/kicad/code/kicad/issues/7231
2021-01-23 17:04:44 +00:00
Jeff Young 7a8a099259 Bump SCH file format version for "unconnected" -> "no_connect". 2021-01-23 17:04:44 +00:00
Jeff Young 0ba0160da9 Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT.
ADDED a new pin electrical type "free" for internally unconnected pins.

CHANGED the "unconnected" pin electrical type is now represented by
"no_connect" in files and netlists.  (The legacy syntax is also accepted
in files.)
2021-01-23 00:10:01 +00:00
Jeff Young 10c6e0bc46 Cache entries are dependant on setting of aForceNoConnect
Don't use a result cached when aForceNoConnect was false when
aForceNoConnect is true.
2021-01-23 00:10:01 +00:00
Jeff Young f5e35af1a5 Transmit pin electrical types through to pads. 2021-01-23 00:10:01 +00:00
Jeff Young 274fc60fe9 Formatting. 2021-01-23 00:10:01 +00:00
Roberto Fernandez Bautista 42cbcf7ef4 Don't allow empty page numbers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6698
2021-01-22 14:02:34 +00:00
Roberto Fernandez Bautista 4f0accb714 Allow only updating reference links during back-annotation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7190
2021-01-20 00:37:38 +00:00
Michael Kavanagh ab8bd8f8c7 Dont duplicate items in sheet pin properties combo
Fixes https://gitlab.com/kicad/code/kicad/issues/7132
2021-01-19 23:54:03 +00:00
Jeff Young 360953ba98 "comp" -> "symbol". 2021-01-19 23:50:40 +00:00
Michael Kavanagh d32c12b4b9 Banish new project from template to the menubar
+ remove inappropriate icon from Eeschema ctx menu
2021-01-19 22:57:25 +00:00
Michael Kavanagh 80dbc24326 Icons: remove superfluous icon
Remove icons where menu text gives context
2021-01-19 22:57:25 +00:00
Jeff Young 351074cc48 Better-encapsulate collector sources in the selection tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/7191
2021-01-19 21:10:43 +00:00
Seth Hillbrand 4da28cf8f4 Fix bad dereference
Fixes https://gitlab.com/kicad/code/kicad/issues/7188
2021-01-19 08:39:22 -08:00
Jon Evans 1491330596 Fix various memory leaks exposed by qa_eeschema 2021-01-18 22:40:58 -05:00
Jon Evans 4052b2153a Fix an ASAN issue in SCH_SHEET 2021-01-18 21:50:26 -05:00
Jon Evans 6cd4fcf30c Don't pick a name with a longer path to override with
Only triggered on some platforms because of compiler-dependent
unordered_set iteration

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7169
2021-01-18 21:50:26 -05:00
Jeff Young 1eb6902b82 Fix race condition between eeschema and cvpcb.
Fixes https://gitlab.com/kicad/code/kicad/issues/6969
2021-01-18 19:24:57 +00:00
jean-pierre charras d052524707 Eeschema: fix zoom change on undo/redo command.
It was a side effect of commit e10025 fixing another zoom issue.
Fixes #7170
https://gitlab.com/kicad/code/kicad/issues/7170
2021-01-18 16:26:30 +01:00
Jeff Young c016ed7940 Engage brain before coding.
Fixes https://gitlab.com/kicad/code/kicad/issues/7123
2021-01-18 15:20:15 +00:00
Jeff Young 2c9da4daa4 Make sure Check Pins works on a flattened copy of the part.
Also improved the reporting slightly (in particular for pins with
no names or pins with the empty flag ("~").

Fixes https://gitlab.com/kicad/code/kicad/issues/7165
2021-01-18 15:20:15 +00:00
Michael Kavanagh 479487ceb1 Tidy up context menus a bit
Try and put the common actions in the same places
2021-01-17 22:42:03 +00:00
Jeff Young 95ca5a0233 Don't record null drivers.
Fixes https://gitlab.com/kicad/code/kicad/issues/7155
2021-01-17 16:24:22 +00:00
Jeff Young f3a6d2655e Improvements to ERC and bus parsing.
1) Add some nullptr safety to ERC.
2) Allow unconnected flagging on bus/wire entries.
3) Allow commas in bus group definitions.

Fixes https://gitlab.com/kicad/code/kicad/issues/7155
2021-01-17 16:24:22 +00:00
Jeff Young f1221a9ca3 Resolve text variables in title blocks for outputing to netlist.
Fixes https://gitlab.com/kicad/code/kicad/issues/7153
2021-01-17 16:24:22 +00:00
Michael Kavanagh 65f90f141f Symbol editor: remove duplicate legacy code path
Fixes https://gitlab.com/kicad/code/kicad/issues/7139
2021-01-17 11:14:44 +00:00
jean-pierre charras e10025db64 Hierarchy navigation: keep the last used zoom level in a sheet when go back to this sheet.
Fixes #7107
https://gitlab.com/kicad/code/kicad/issues/7107
2021-01-17 09:41:49 +01:00
Jeff Young 68efdb2fff Push shared parts of GRID_HELPERs into common. 2021-01-16 23:18:10 +00:00
Roberto Fernandez Bautista ece0a5ec8e Make default color UNSPECIFIED for new sheets and allows "clearing" the color
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6697
2021-01-16 08:39:20 +00:00
Jeff Young e27bd5cf15 Add control over updating of symbol attributes.
ADDED Update Symbol from Library and Change Symbol can now specify
whether or not to update attributes (include in BOM and include on
board).

Fixes https://gitlab.com/kicad/code/kicad/issues/7123
2021-01-15 22:19:49 +00:00
Jeff Young bd786b578a Labels on pins should be considered "wire labels".
Fixes https://gitlab.com/kicad/code/kicad/issues/7120
2021-01-15 21:07:45 +00:00
Wayne Stambaugh 82cf747ca8 Symbol editor: fix broken pin table dialog OK button disable logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/7122
2021-01-15 09:28:36 -05:00
Jeff Young bae5825d1b Fix copy/paste error.
Fixes https://gitlab.com/kicad/code/kicad/issues/7119
2021-01-15 13:14:47 +00:00
Jon Evans 02681fcf0e Move no-connect processing to connection graph
This way the net names can be inspected in eeschema and cross-probing works.
Testcases updated for the name changes

CHANGED: all unconnected pins are now included in the netlist with no_connect_ prefixes
2021-01-14 20:55:49 -05:00
Jon Evans 9b69c1e198 Fix a bone-headed cause of non-determinism 2021-01-14 19:20:37 -05:00
Electro707 1c42f95ab3 Added visible column to pins table
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6761
2021-01-14 21:03:51 +00:00
Jon Evans 654e9a77db Connectivity: defer and parallelize item updates
Good for ~15% performance improvement in large designs
2021-01-14 12:21:19 -05:00
Jon Evans 6fb1ed2824 Make sure hierarchical overrides are deterministic
Without alphabetic sorting here, we are at the mercy of
the r-tree and multithreading.
2021-01-14 12:21:19 -05:00
Jon Evans b90e72ed07 Don't simplify hierarchical nets based on weak drivers
This behavior provided shorter net names, but was confusing if
the user gives an explicit strong driver in the subsheet but not
one in the parent sheet.

Testcases updated for net name changes; connectivity is the same

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4201
2021-01-13 22:10:56 -05:00
Jon Evans 24ff66f5a2 ERC: flag unconnected sheet pins
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1780
2021-01-13 19:47:28 -05:00
Jon Evans 693e40b5b0 Exclude buses from dangling label checks
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7017
2021-01-13 19:37:05 -05:00
Wayne Stambaugh 2d64613bbb Coverity fixes.
Reports 314745, 316271, and 316269.
2021-01-13 11:23:09 -05:00
Wayne Stambaugh e34756d596 Symbol editor: fix read only dialogs when symbol is from schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6968
2021-01-13 09:40:30 -05:00
Jeff Young bedd785546 Implement pin cross-probing now that EEschema can select them.
Fixes https://gitlab.com/kicad/code/kicad/issues/7084
2021-01-13 14:19:44 +00:00
Jeff Young 0bce280424 Make sure design rules get recompiled after netclass changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7082
2021-01-13 12:37:20 +00:00
Jon Evans ede500f117 Don't create multiple markers for the same issue
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7016
2021-01-12 23:24:13 -05:00
Jon Evans 5ceadbda3b Don't show redundant ERC markers from subsheets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7016
2021-01-12 23:24:13 -05:00
Ian McInerney ac3e677fae Cleanup some compile warnings 2021-01-13 02:12:59 +00:00
Jeff Young d23b5f89b3 Don't save sheet multiple times on undo stack.
Fixes https://gitlab.com/kicad/code/kicad/issues/7063
2021-01-12 23:56:35 +00:00
Seth Hillbrand c22921ee4f Fix spelling 2021-01-12 13:33:40 -08:00
Dominik Wernberger dc02ec9758 Remove a few const_cast 2021-01-12 20:51:31 +00:00
Dominik Wernberger 07635d2fc7 Minor adjustments 2021-01-12 20:51:31 +00:00
Dominik Wernberger ac94d72d2d Add more const specifiers 2021-01-12 20:51:31 +00:00
Dominik Wernberger ec0af24f13 Make wxFindReplaceData argument const 2021-01-12 20:51:31 +00:00
Dominik Wernberger bb2881a5ab Make RENDER_SETTINGS argument const 2021-01-12 20:51:31 +00:00
Konstantin Baranovskiy cd2c46e5c9 Make "... file is read only." warnings translatable. 2021-01-12 14:33:35 +00:00
Michael Kavanagh 8fba0c257b Icons: remove more inconsistencies around Select
Missed from 5d9b2d3fea
2021-01-11 23:31:24 +00:00
Jeff Young 50889a9ed6 Promote mouse drag settings to full enums. 2021-01-11 22:09:36 +00:00
Seth Hillbrand e4c77f3a47 Remove non-existant BOM plugins
Fixes https://gitlab.com/kicad/code/kicad/issues/7053
2021-01-11 13:50:15 -08:00
Wayne Stambaugh 1eee72ec65 Fix library tree behavior when duplicate project table entry is disabled.
Fixes https://gitlab.com/kicad/code/kicad/issues/5438
2021-01-11 07:46:07 -05:00
Jeff Young 6c648df4c6 Support 3 drag vs. select options, and unifiy with other drag prefs.
Fixes https://gitlab.com/kicad/code/kicad/issues/5493
2021-01-11 11:50:14 +00:00
jean-pierre charras 60152bc00e Spice sim: fix incorrect (very large) dialog size displaying the netlist.
It was previously fixed to 1500x900 pixels, that can be too large.
The window size and position is also now retained during a session.
Fixes #7043
https://gitlab.com/kicad/code/kicad/issues/7043
2021-01-11 10:06:33 +01:00
Mikolaj Wielgus a718416245 Fix cross-probe clearing Eeschema net
Fixes https://gitlab.com/kicad/code/kicad/issues/6915
2021-01-10 01:39:45 +00:00
Michael Kavanagh e3f205a3c4 Minor eeschema annotate dialog flow optimisation
Fixes https://gitlab.com/kicad/code/kicad/issues/4700
2021-01-10 01:03:58 +00:00
Jeff Young 753442c60a Don't select all of textfield on each focus.
GTK (at least) generates focus events when the app is reactivated so
the text keeps getting re-selected.

Fixes https://gitlab.com/kicad/code/kicad/issues/6757
2021-01-09 20:53:24 +00:00
Wayne Stambaugh 0655f2c436 Symbol editor: do not disable tools and grey symbols from schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/6968
2021-01-08 18:25:18 -05:00
Jeff Young 51e6846ca5 Don't edit fields when more than one is selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/7005
2021-01-08 20:43:02 +00:00
Jeff Young 3467e643e5 Move pad locking from footprint to pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/6997
2021-01-08 20:43:02 +00:00
Jeff Young c3d46c1cb5 Add ncPins to the list of no_connect_ nets.
This allows the info to be acted upon in PCBNew (for instance, clearance
rules).

Fixes https://gitlab.com/kicad/code/kicad/issues/6991
2021-01-07 21:56:04 +00:00
Jeff Young 8c8516b7b1 Remove formbuild URL from hypertext links.
Also adds a tooltip.

Fixes https://gitlab.com/kicad/code/kicad/issues/6982
2021-01-07 15:12:19 +00:00
Ola Rinta-Koski 87b2081807 Set sheet file name when Save as... succeeds
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6561
2021-01-06 19:29:18 +00:00
Seth Hillbrand b08555b924 Give blank schematics an output name
Plotting a blank schematic should have a placeholder name until the user
saves the file

Fixes https://gitlab.com/kicad/code/kicad/issues/6561
2021-01-06 11:11:26 -08:00
Seth Hillbrand db394286c7 Add missing rect hittest 2021-01-06 10:02:06 -08:00
Seth Hillbrand 20888681f8 Fix wording of interchangeable units 2021-01-05 17:37:08 -08:00
Michael Kavanagh 2a24886d47 Icons: remove more duplicates 2021-01-06 00:35:20 +00:00
Michael Kavanagh 54724096ea Icons: consistency between Eeschema and Pcbnew 2021-01-06 00:35:20 +00:00
Alexis Lockwood 6f228f9dea hpgl_plotter: correct formatting 2021-01-05 22:42:21 +00:00
Alexis Lockwood f5b7595675 Add user coordinate support to HPGL plotter 2021-01-05 22:42:21 +00:00
Seth Hillbrand f6578da824 UUID compare should always be last
It is, by definition, unique, so all comparisons should be made before
it or they won't be made at all.

Fixes https://gitlab.com/kicad/code/kicad/issues/5940
2021-01-05 10:01:21 -08:00
jean-pierre charras 7c29ff76f2 Fix a minor wxWidgets alert. 2021-01-05 15:07:23 +01:00
Michael Kavanagh b40e3a39f5 Minor cleanup. 2021-01-04 23:59:36 +00:00
Seth Hillbrand 87d5318187 Disable alternate pin assignments for DeMorgan
Instead of hiding the dialog, we diable the pane and dropdown with a
consistent tooltip explaining why the pin assignments are not available.
2021-01-04 15:57:59 -08:00
jean-pierre charras 51f40a3f2b DIALOG_EDIT_ONE_FIELD: use a SCH_FIELD_VALIDATOR for mandatory fields.
These fields do not accept some chars, and must be filtered.
2021-01-04 16:03:04 +01:00
Michael Kavanagh 39abf8964f Icons: fix simulator menubar 2021-01-04 01:44:01 +00:00
Jeff Young 6542960ba5 Fix failure to clear list before reusing it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6927
2021-01-04 00:33:42 +00:00
Jeff Young dc65166ee7 Implement algin-to-grid for fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/6530
2021-01-03 22:39:58 +00:00
Michael Kavanagh 154e19b6e7 Icons: use common prefix for small 16x16 2021-01-02 23:16:33 +00:00
Michael Kavanagh 6d3c1c7716 Icons: remove unused sources/duplicates + rename 2021-01-02 23:16:33 +00:00
Seth Hillbrand a69a4be853 Fix build error with icon names 2021-01-01 13:13:33 -08:00
Seth Hillbrand 5a0c3bf4bc Icons updates
- Remove 22px bitmaps
- Move 24px icons to icon_XXX_24 filenames
- Update convert icon thanks to MisterHW

Fixes https://gitlab.com/kicad/code/kicad/issues/6088
2021-01-01 11:00:15 -08:00
Seth Hillbrand 8de9cff4e0 Change environmental variables to human-readable
Versions specific variables that may point to objects that change
through versions, allowing multiple KiCad versions to operate correctly
(even on MSW) on the same machine.
2021-01-01 16:20:35 +00:00
jean-pierre charras 6a81113c2d Better comments in files related to my previous commit. 2021-01-01 17:09:32 +01:00
jean-pierre charras 93e186f53e SelectFootprintFromLibTree(): fix a issue similar to commit 27d47743.
Force immediate deletion of the APP_PROGRESS_DIALOG (do not use Destroy() )
because on Windows, APP_PROGRESS_DIALOG has some side effects on the event loop
manager. A side effect is the call of ShowModal() or ShowQuasiModal of a dialog
following the use of a APP_PROGRESS_DIALOG (if not deleted) has a broken behavior
(incorrect modal/quasi modal behavior).
2021-01-01 15:59:15 +01:00
jean-pierre charras 27d47743cd SYMBOL_TREE_MODEL_ADAPTER: fix an annoying issue on Windows.
Force immediate deletion of the SYMBOL_TREE_MODEL_ADAPTER (do not use Destroy() )
because on Windows, APP_PROGRESS_DIALOG has some side effects on the event loop
manager. A side effect is the call of ShowModal() of a dialog following
the use of SYMBOL_TREE_MODEL_ADAPTER creating a SYMBOL_TREE_MODEL_ADAPTER
has a broken behavior (incorrect modal behavior).
2021-01-01 13:09:50 +01:00
Roberto Fernandez Bautista b168b74919 CADSTAR Archive Importer: Fix position of multiline text with NO_ALIGNMENT in CADSTAR 2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista a33ccf48b9 CADSTAR Schematic Archive Importer: Load signal name even if no net label (global labels and power symbols)
Fixes error that prevented global net names from being loaded properly
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista f6ec173ba7 CADSTAR Schematic Archive Importer: Do not load blocks without a linked sheet
Fixes std::out_of_range error
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista 728792aa3c CADSTAR Schematic Archive Importer: Fix SIGLOC in JPT (Load labels in junctions)
Fixes but that refused to open file with a SIGLOC node in JPT
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista a5118df44c CADSTAR Schematic Archive Importer: Load Schematic Text Variables to KiCad project 2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista 9ed4780fec CADSTAR Archive Importer: Change architecture to Parse CADSTAR fields and store them in a static map
Architecture of the parser changed to have a shared PARSER_CONTEXT between all the individual parsers.
Parses CADSTAR fields such as <@DESIGN_TITLE@> or <@SHEET_NUMBER@> and replaces with an equivalent KiCad Text Variable.
2020-12-30 18:53:42 +00:00
jean-pierre charras 8a278a0579 update tuner_slider_base.fbp to our current wxFormBuilder version. 2020-12-30 19:03:31 +01:00
Marek Roszko db0f3b42b4 Stop the cursor from reverting away from the window select in eeschema
Fix #6590
2020-12-29 19:51:34 -05:00
Jon Evans 487aa37d2e Connectivity: don't rename things multiple times in subsheets
Depending on what order the subgraphs are processed in, it's
possible to hit a case where the parent sheet renames a bus
member before the bus neighbor renaming logic runs.  In this
case, we don't want to apply the bus neighbor logic as it will
break connectivity to the parent sheet if that bus was not
also renamed (for example, if the hier ports only make net
connections and not bus connections)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6887
2020-12-29 16:42:30 -05:00
Wayne Stambaugh 50b171fa33 Symbol editor: improve symbol library save as behavior.
ADDED: Radio button controls to symbol library editor save as file dialog
to allow the user to choose the appropriate symbol library table changes
to be made after the library is saved.

Fixes https://gitlab.com/kicad/code/kicad/issues/4911
2020-12-29 14:00:46 -05:00
Slawomir Siudym 157ceedc12 Fix offset of repeated pin in Symbol Editor 2020-12-29 18:32:46 +00:00
Jeff Young 07673d3c11 Don't access tools after they've shut down. 2020-12-29 17:29:24 +00:00
Marek Roszko 2a5cd08abb Fix another crash when using the simulator probe 2020-12-29 07:39:49 -05:00
jean-pierre charras 77f651639d Eeschema: fix crash using tune/probe function in spice simulator.
Fixes #6875
https://gitlab.com/kicad/code/kicad/issues/6875
2020-12-29 13:13:58 +01:00
Marek Roszko f2c5856124 Correct comment about the cast 2020-12-28 22:38:02 -05:00
Marek Roszko 230f3c2792 Fix crash when welcome panel was present in simulator and white background is toggled
Fix #6872
2020-12-28 22:33:20 -05:00
jean-pierre charras e66451c56e I18n: remove useless trailing spaces in strings. 2020-12-28 08:43:47 +01:00
Jon Evans e33a331095 Don't ERC check absorbed subgraphs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6861
2020-12-27 15:31:48 -05:00
Jon Evans ac1f7f93a2 Save context menu position for bus unfold
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6378
2020-12-27 13:07:16 -05:00
Jon Evans 0de924ab4c Fix deletion of bus aliases on subsheets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4364
2020-12-27 12:33:35 -05:00
Jon Evans 97a9f43a9f Fix import of schematic grid settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6705
2020-12-27 12:33:35 -05:00
Wayne Stambaugh 59c2bf19dc Symbol editor header clean up. 2020-12-27 11:55:32 -05:00
Wayne Stambaugh 5069d20768 Symbol editor: make library and symbol save as operations explicit.
Prior to this change the "Save As.." command would take a different action
based on the state of the editor which could be confusing.  There are now
separate commands for saving the currently selected library or symbol.

CHANGED: The implicit save as menu entry which would save the currently
selected library if no symbol was selected or the current symbol to a
different library.  There are now separate save as commands for libraries
and symbols to make it obvious what is being saved.
2020-12-27 11:55:32 -05:00
Jeff Young c16dda4027 Make sure added wires (from junctions) don't get left selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/6852
2020-12-27 13:17:03 +00:00
Jeff Young c0e5e8eeee Formatting. 2020-12-27 13:17:03 +00:00
Jeff Young 8a720ef305 Update naming. 2020-12-25 23:37:01 +00:00
Jeff Young 1648dd6f0e Fix various issues with save & editing symbols from schematic.
1) Zero out selection in tree when canvas captures focus so that
save/save as actions will go to canvas, not tree item.
2) Make save do a save to schematic when the canvas symbol is from
the schematic.
3) Copy fields when doing a save to schematic (setting the lib part
doesn't update them on its own).
4) Remove no-longer-necessary calls to update schematic after
saving symbols (the schematic symbols are no longer hot-linked).

Fixes https://gitlab.com/kicad/code/kicad/issues/6763
2020-12-25 11:58:58 +00:00
Jeff Young 9b43177e74 Remove highlight from colour preview.
It's more confusing than helpful.
2020-12-24 10:42:52 +00:00
Jeff Young ce700d4e16 Fix color preview issues: RTree and dangling flags.
Fixes https://gitlab.com/kicad/code/kicad/issues/6830
2020-12-24 10:36:29 +00:00
Michael Kavanagh eb1f07bade Icons: standardise `export_png` to match set 2020-12-24 01:02:03 +00:00
Michael Kavanagh d2018b122b Icons: unify export_svg with the rest of the set 2020-12-24 01:02:02 +00:00
Jeff Young 6b420b191a Use color theme backgrounds in page previews.
Also includes a *lot* of const fixing to make it happen.

Fixes https://gitlab.com/kicad/code/kicad/issues/6811
2020-12-23 23:18:38 +00:00
Jeff Young f722ba690f Don't crash when lib table has no rows.
Fixes https://gitlab.com/kicad/code/kicad/issues/6812
2020-12-23 22:10:34 +00:00
Jeff Young 3a3ef19ccb When rotating during a drag/move, only rotate user-selected items.
In particular, don't rotate wires that had to be picked up; just
keep them connected.

Fixes https://gitlab.com/kicad/code/kicad/issues/6789
2020-12-23 14:24:35 +00:00
Seth Hillbrand 61ac9c8d90 Add multiple size icons for programs
In theory, the WM should now choose the closest size icon for its
purpose, making it easier to distinguish in space-constrained settings

Fixes https://gitlab.com/kicad/code/kicad/issues/6798
2020-12-22 15:37:26 -08:00
Seth Hillbrand 54ca087999 Update icon resource sets
Updates the .icns, .ico and .png files used by various distros to show
KiCad and KiCad files.
2020-12-22 15:16:33 -08:00
Jeff Young 47ea51ec34 Allow both aui-manager-based infobars and window overlay infobars. 2020-12-22 21:36:39 +00:00
Jeff Young fb7ac450d9 Read-only dialogs for symbols in legacy libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/5211
2020-12-22 12:16:27 +00:00
Jeff Young f9bbdb31b0 Beginnings of legacy symbol locking.
Fixes https://gitlab.com/kicad/code/kicad/issues/5211
2020-12-22 00:14:54 +00:00
Jeff Young 93dc7feea3 Remove multi-threading for footprint loading.
Also don't load the footprints up front.  The whole purpose of the
footprint-info stuff is to have enough info about the footprints to
filter them *without* loading.  After that just load individual
footprints as we need them.

Fixes https://gitlab.com/kicad/code/kicad/issues/6177
2020-12-21 22:03:24 +00:00
Jeff Young 50e1e07f4b Put pasted part on canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/6793
2020-12-21 17:37:53 +00:00
Jeff Young 9bf952a695 Fix missing punctuation. 2020-12-21 17:37:53 +00:00
jean-pierre charras eb7dc6ddd9 Minor fixes. In stand alone show the frame as soon as possible.
Especially when running Pcbnew to open a complex board the frame is shown faster.
Add also a busy cursor when loading files and building the data.
2020-12-21 17:44:10 +01:00
Jon Evans 81ce1a07ee Fix a few issues with builtin color themes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6754
2020-12-20 14:43:41 -05:00
Wayne Stambaugh f311831c27 Coverity fixes.
280252, 314742, 314745, 314747, 314755, 314756, 314757, 314758,
314935, 314936
2020-12-20 13:24:47 -05:00
Jeff Young 7376c25ebe Fix a crash bug trying to update the view before it was ready. 2020-12-20 18:02:16 +00:00
Jeff Young 3d852372ca Handle nested unescaping (for buses in particular).
Also adds a few missing unescape() calls when showing netnames to the
user.

Fixes https://gitlab.com/kicad/code/kicad/issues/6400
2020-12-20 15:59:09 +00:00
Jon Evans 0830f87ef4 Break wire segments on bus-wire entry endpoints
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6173
2020-12-20 10:22:59 -05:00
Jeff Young 7bc42f387a Make sure splitter sashes are visible.
Also might fix 6791, although that's probably a long-shot.

Fixes https://gitlab.com/kicad/code/kicad/issues/6791
2020-12-20 12:35:41 +00:00
Marek Roszko 9b0a137d6c Stop bludgeoncompiling dialog_page_settings
Through the power of OOP!
Needs some more cleanup though
2020-12-19 10:40:37 -05:00
Seth Hillbrand 489db6adde Handle case where multiple pins are moved
When synchronized, if multiple pins are selected to be moved, we need to
match each to a matching pin in the new unit

Fixes https://gitlab.com/kicad/code/kicad/issues/2589
2020-12-18 15:48:34 -08:00
Seth Hillbrand 0fd920a94c Modify Synchronize Pins behavior
Consider a pin synchronized iff the names and electrical types match in
addition to the position, orientation and demorgan variant.

Also, only modify one matching pin per unit.  This prevents
moving/editing a full stack of pins on the same unit when synchonized.

Fixes https://gitlab.com/kicad/code/kicad/issues/2590
2020-12-18 15:48:29 -08:00
Jeff Young 2226e0b7aa Do grid snapping earlier to avoid inconsistencies.
Fixes https://gitlab.com/kicad/code/kicad/issues/5908
2020-12-18 19:57:44 +00:00
Jeff Young 189b1742f7 Naming conventions and formatting. 2020-12-18 19:57:44 +00:00
Jeff Young c0d2ad42ce Remember state of RefDes and Value checkboxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6755
2020-12-18 15:09:54 +00:00
Jeff Young 5d400a9e11 Improve symbol library messages.
Includes both error messages and ERC messages.

Fixes https://gitlab.com/kicad/code/kicad/issues/6302
2020-12-18 12:49:20 +00:00
Jeff Young bf632ad771 Pick up root sheet KIID from sheet instances.
Fixes https://gitlab.com/kicad/code/kicad/issues/6725
2020-12-18 12:49:20 +00:00
Jeff Young b68b1692ec Clean up some more user messages.
Mostly component -> symbol but also some I18N cleanup.
2020-12-18 12:49:20 +00:00
Alexis Lockwood 4ce91d3e92 HPGL improvements and optimizations for physical plotters
- Sort HPGL plots for speed
- Reduce HPGL circle precision for tiny circles
- Teach HPGL plotter about filled rectangles
2020-12-18 07:21:59 +00:00
Jeff Young 1c0d4ac02d Simplify some error messages. 2020-12-18 00:30:26 +00:00
Jeff Young 91ab540d18 Naming conventions. 2020-12-18 00:30:26 +00:00
Jeff Young c875efb635 Prevent modal deadlock by using QuasiModal mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/6779
2020-12-18 00:30:26 +00:00
Jeff Young bb232e6ac6 Unify LIB_IDs now that both are stored in sexpr files.
Fixes https://gitlab.com/kicad/code/kicad/issues/6764
2020-12-18 00:30:26 +00:00
Seth Hillbrand 7b9c21e290 Not connected pins should not get connected
This prevents splitting wires/busses on the NC pin end.  It also keeps
NC pins out of the netlist.

Fixes https://gitlab.com/kicad/code/kicad/issues/6777
2020-12-17 11:56:42 -08:00
Wayne Stambaugh aab3c936f0 Move headers from common folders to appropriate include folders round 2. 2020-12-17 11:44:03 -05:00
Jeff Young 11117a2d9a Fix invalid access into empty string. 2020-12-17 14:18:27 +00:00
Jeff Young a6085fa88d Consistency for gerbview toolbar icons and some other icon tweaks. 2020-12-17 14:02:23 +00:00
Wayne Stambaugh 08cf9a1e20 Move headers from common folders to appropriate include folders round 1. 2020-12-17 08:12:18 -05:00
Jon Evans a484d10470 Ensure schematic autosave works if sheet path is invalid 2020-12-16 21:17:48 -05:00
Ian McInerney fc20eaa083 Fix some compiler and Coverity warnings 2020-12-17 00:30:22 +00:00
Jeff Young 5761666ad6 Don't let the flattened symbol go out of scope before we're done with it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6760
2020-12-16 17:59:20 +00:00
Jeff Young 5f9ed2583c Don't put up double lock confirmation dialogs.
Also removes EditToolSelectionFilter which was misused in more places
than it was used correctly.  The original point of the client filter
was to move the logic to the point of use, which the
EditToolSelectionFilter sort of obviated anyway.

Fixes https://gitlab.com/kicad/code/kicad/issues/6751
2020-12-15 22:34:24 +00:00
Seth Hillbrand d05df4a9d4 Buffer bitmap buttons in pinmap for Mac
Mac bitmap buttons are not properly handled in wxWidgets, so the size of
the bitmap needs more buffer space to the button edge or the image will
clip
2020-12-15 12:47:03 -08:00
Jeff Young 92db1d35e1 Formatting. 2020-12-15 17:11:14 +00:00
Jeff Young 4cc43b3bd3 Don't print sheet backgrounds when printing in black & white.
Fixes https://gitlab.com/kicad/code/kicad/issues/6746
2020-12-15 17:11:09 +00:00
Jeff Young 10e68daa37 Fix some bugs in Change Symbol and Update Symbols.
In particular, there was a typo that kept library values from being
updated, and there was missing logic to fetch the various field names
from the library parts (and the change-to part).

Also implements some performance gains by desisting from copying
LIB_FIELDs around every time we want to look at them.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/6749
2020-12-15 16:12:17 +00:00
Franck Jullien 70cbf59846 eeschema/intersheet: don't list own page 2020-12-15 01:06:00 +00:00
Seth Hillbrand dad2e317e9 Modify edit text & graphics to use pencil 2020-12-14 17:03:35 -08:00
Jeff Young 22a6b36257 Don't allow dbl-click to leak through to other tools.
This only applies if the tool doesn't handle properties (which also
handles double-click events).

Fixes https://gitlab.com/kicad/code/kicad/issues/6735
2020-12-14 22:15:43 +00:00
Jeff Young 07bb2729f8 Clean up over-use of auto. 2020-12-14 22:15:43 +00:00
Jeff Young c1a74b427a Translucent magnifying glass on footprint & library browser icons.
Also renamed.
2020-12-14 22:15:43 +00:00
Jeff Young 797a588015 Aliases should inherit their descs, keywords, and fp filters.
Assuming they're not set locally, of course.

Also updates to new class structure order.

Fixes https://gitlab.com/kicad/code/kicad/issues/6051
2020-12-14 13:48:26 +00:00
Jeff Young 3b35bfc0a5 Don't write out synthetic severities (they're headings).
Fixes https://gitlab.com/kicad/code/kicad/issues/6726
2020-12-14 13:34:53 +00:00
Jeff Young 9dae57ae9d Fix several bugs in SCH color printing and plotting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6723
2020-12-13 22:43:09 +00:00
Jeff Young 9720fc80fe Print sheet background colour if specified. 2020-12-13 22:43:09 +00:00
Jeff Young 126d40f9d3 "Sheet label" too confusing w/ sheet names and fields. Use "sheet pin". 2020-12-13 22:43:09 +00:00
Jeff Young 40200ceab5 Clean up the symbol browser toobar a bit.
Fixes https://gitlab.com/kicad/code/kicad/issues/6712
2020-12-13 13:41:25 +00:00
Jeff Young 5b22cef984 Associate -> assign in the context of footprint assignments.
Fixes https://gitlab.com/kicad/code/kicad/issues/6708
2020-12-13 13:41:25 +00:00
Jeff Young bc99545eb2 ADDED Migrate Libraries button to Manage Symbol Libraries...
Allows easier conversion of legacy libraries.

Note that performance will be suboptimal as it must read/write each
library once for each symbol in the library.  Doing otherwise would
require modifying the PlugIn API, which probably isn't worth it for
a one-time migration.
2020-12-13 11:42:03 +00:00
Jeff Young 1db7ffad5e Formatting. 2020-12-13 11:42:03 +00:00
Marek Roszko d67cf2f9af Replace wxFile usage with wxFFile
Buffered libc wxFFile is better thinking about syscall wxFile going wrong.
2020-12-12 13:16:23 -05:00
Jon Evans 93d55e3d23 Tweak no-connect and label icons 2020-12-12 11:26:30 -05:00
Jon Evans 6544dca056 Ensure driver connections are always properly initialized
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6694
2020-12-12 10:43:30 -05:00
Jeff Young 7186a0c621 Remove canonical name column from view and make sash more obvious.
Fixes https://gitlab.com/kicad/code/kicad/issues/6693
2020-12-12 15:27:46 +00:00
Jeff Young b6e267b78d Naming conventions. 2020-12-12 03:43:41 +00:00
Michael Kavanagh cf6f0b9b92 Use trash icon where appropriate 2020-12-11 17:05:11 -08:00
Jeff Young 412c9c8c4e Save should be disabled only if the file is up-to-date.
Any other issues (such as locked files) need to produce a dialog
with info for the user.
2020-12-11 23:58:30 +00:00
Wayne Stambaugh e667d26854 Eeschema: use "board editor" instead of "PcbNew" in UI strings. 2020-12-11 15:24:42 -05:00
Wayne Stambaugh 4516aff43e Symbol Editor: don't show edit page number in context menu.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6711
2020-12-11 15:02:34 -05:00
Wayne Stambaugh 5d028b82ed Eeschema: tool tip improvements.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6708
2020-12-11 13:42:50 -05:00
Wayne Stambaugh dd4298bb94 Coverity fixes: 280374, 313611, 313648, 313649, and 314720. 2020-12-11 13:29:52 -05:00
Jeff Young 224697d0b3 Sheet navigator tooltip.
Fixes https://gitlab.com/kicad/code/kicad/issues/6680
2020-12-11 16:43:55 +00:00
Jeff Young 73b7b104cd Fix some issues with Infobar sizing.
This also commits to the new strategy as it wasn't really compatible
with if-def-ing anymore.
2020-12-11 12:39:40 +00:00
Jeff Young ee6f37bdc7 Headings and groupings for ERC severities.
Fixes https://gitlab.com/kicad/code/kicad/issues/6673
2020-12-09 22:19:06 +00:00
Wayne Stambaugh e61f768fbc Eeschema: add defensive code to symbol library cache I/O. 2020-12-09 11:46:10 -05:00
Marek Roszko ad1aae40ec Unify the saved file strings 2020-12-08 19:49:47 -05:00
Jeff Young f29f052aa7 Update an outlier from the component -> symbol rename. 2020-12-08 18:30:14 +00:00
Jeff Young b26a5972c5 LIB_TREE's SetFocus() override no longer getting called.
The KIPLATFORM stuff forces focus, but not through the SetFocus()
call.

Fixes https://gitlab.com/kicad/code/kicad/issues/6657
2020-12-08 17:46:10 +00:00
Jeff Young c611f62ade Get rid of annoying double-draw when choosing a new symbol. 2020-12-08 15:27:50 +00:00
Jeff Young 34be4b4666 Cleanup. 2020-12-08 15:27:43 +00:00
Jeff Young d1a9efa5fc Try out an animating, obscuring infobar. 2020-12-08 15:05:35 +00:00
Marek Roszko cbda1d7bf1 Remove more vestiges of old colored msg panel messages 2020-12-08 00:50:25 -05:00
Marek Roszko b45eb56ddf Cleanup some msg panel usage using the no longer support colors
The color was being passed to the aPadding param now.....
2020-12-08 00:34:36 -05:00
Marek Roszko abb5cb8310 Fix up msg panel status on save slightly
- pcbnew should use status bar on success like eeschema
- Add a helper to clear msgpanel and set it in one go to avoid redraw delays due to doing processing in between
2020-12-08 00:28:07 -05:00
Wayne Stambaugh ac32d6a4b6 Symbol editor: add tool tip to clarify interchangeable symbol units. 2020-12-07 17:52:01 -05:00
Jeff Young 893f1bb4c1 Clear view before deleting part.
Fixes https://gitlab.com/kicad/code/kicad/issues/6658
2020-12-07 15:49:57 +00:00
Jeff Young 78129aabeb Fix another case of 413ff4525b. 2020-12-07 14:25:55 +00:00
Jeff Young 59527dff2a Add infobar for derived symbol editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/6439
2020-12-06 22:44:30 +00:00
Jeff Young ad281f7538 Remove duplicated TestDanglingEnds routines.
Also adds a changedItemHandler so that the single remaining version
can update the view.

Fixes https://gitlab.com/kicad/code/kicad/issues/6581
2020-12-06 21:24:16 +00:00
Jeff Young 4f90c03c7d Allow snapItem to be re-activated.
Don't clear until another snapPoint is chosen.  This allows line
snapping to re-appear when they move back in range.

Fixes https://gitlab.com/kicad/code/kicad/issues/5973
2020-12-05 23:57:33 +00:00
Jeff Young a3406e7514 Make snapping more predictable.
In particular, allow grid positions to override line snapping if
they're a better match (and do this independently on x and y axes).
We already allow a nearer anchor to override, but that should be
based on a cartesian distance rather than independent axes.

Fixes https://gitlab.com/kicad/code/kicad/issues/6626
2020-12-04 22:50:30 +00:00
Jeff Young 9ece90a541 Fix off-by-one error in exporting netlist, and update testcases.
The golden file update entails the change to no-connects as well as
the introduction of natural number ordering.
2020-12-04 19:37:55 +00:00
Jeff Young 7b347d793b Change gears on no-connect net generation. See bug rpt.
Fixes https://gitlab.com/kicad/code/kicad/issues/6534

Fixes https://gitlab.com/kicad/code/kicad/issues/6615
2020-12-04 18:25:48 +00:00
Jeff Young 2050e05944 Formatting. 2020-12-04 14:48:48 +00:00
Franck Jullien 8d72a768e0 eeschema/intersheet: add print and plot functions 2020-12-04 14:46:42 +00:00
jean-pierre charras c47871e775 EDA_BASE_FRAME::ShowInfoBarMsg: add option to show a close button.
Same for EDA_BASE_FRAME::ShowInfoBarError and EDA_BASE_FRAME::ShowInfoBarWarning
2020-12-04 14:45:14 +01:00
Peter Montgomery 821128cb8e Eeschema: Make auto-decrementing net labels stop at zero
CHANGED: If you set the auto-increment value to a negative number,
created a net label and hit the insert key, when the name got below zero,
the net labels tried to go negative but created bad labels instead.
Now the code caps decrementing at zero,  warns users when it has
happened, and explains why.

Fixes https://gitlab.com/kicad/code/kicad/issues/6537
2020-12-04 12:48:32 +00:00
Jeff Young e882753ebf Grid snapping fixes.
1) Uniformly honour the GAL grid snap settings
2) Make more uniform use of GRID_HELPERs
3) Smarten EDIT_LINE for mid-point snapping

Fixes https://gitlab.com/kicad/code/kicad/issues/6558
2020-12-03 19:55:58 +00:00
Jeff Young a19028a396 Hook up EE_GRID_HELPER to some more tools.
Also implements EE_GRID_HELPER layers so that connectable things
snap to connectable things and graphics snap to graphics.

Fixes https://gitlab.com/kicad/code/kicad/issues/5641
2020-12-03 15:16:34 +00:00
Jeff Young e79df4a3ed Formatting. 2020-12-03 15:16:34 +00:00
Wayne Stambaugh fd3348690d Symbol editor: enable save command when only libraries are modified.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6445
2020-12-03 08:17:09 -05:00
jean-pierre charras cf6620f8fa eeschema: DIALOG_SYMBOL_PROPERTIES: fix crash when working on a old .sch file
Old .sch files do not store the symbol part description (stored in a cache lib)
So when using a .sch file, the part description can be not existing.
The fix tests for non existing part description.

Fixes #6580
https://gitlab.com/kicad/code/kicad/issues/6580
2020-12-03 10:45:47 +01:00
Marek Roszko e5f340d176 Use monospace (teletype) font in show simulator netlist
May need fixing again for gtk (see #6587)
2020-12-02 19:27:10 -05:00
Jeff Young 43fe228367 Hook up a bit more of the EE_GRID_HELPER.
Fixes https://gitlab.com/kicad/code/kicad/issues/5985
2020-12-02 23:18:33 +00:00
jean-pierre charras 64f555079a Code cleanup related to zoom:
- remove outdated code or comment coming from old drawing code using wxDC
- move zoom values lists to zoom_defines.h
- fix incorrect zoom max and min values (gal scaling factor limits).
2020-12-02 18:35:28 +01:00
jean-pierre charras fcce62f0a4 cleanup related to zoom definitions 2020-12-02 18:35:27 +01:00
Jon Evans b7564f6f05 Don't modify RTree while iterating over it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6582
2020-12-02 12:33:08 -05:00
Jeff Young 8d3d648975 Update Change Symbols dialog to Update/reset terminology...
... as used in the Change Footprints dialog.
2020-12-02 14:27:43 +00:00
Jeff Young 3d7c26b6bd Get fields out of SYMBOL, not LIB_PART.
Also make sure the match-mode is initialised before we try and fetch
all the field names.

Fixes https://gitlab.com/kicad/code/kicad/issues/6589
2020-12-02 14:27:43 +00:00
Jeff Young d8fa37d5c2 Remove old root-schematic hacks. They don't work anymore anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/6583
2020-12-02 14:27:43 +00:00
jean-pierre charras 71ab42e60a Minor fixes and cleanup related to zoom definitions.
Mainly move 2 define relative to Zoom from convert_to_biu.h to zoom_defines.h.
Will make some changes/fixes in zoom code more easy.
2020-12-02 10:14:35 +01:00
Jon Evans 05609dbc1d Update screen r-tree after mirror operation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6549
2020-12-01 19:19:12 -05:00
Jeff Young df262eaa06 Make prev/next marker work reliably on all platforms.
Requires us to move from arrow-keys to our own commands (the only
way that the OSX wxWidgets impl doesn't eat the keys when the dataVIew
has focus).

While there we might as well add a command to exlucde markers.

ADDED Prev Marker, Next Marker, Exclude Marker

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

Fixes https://gitlab.com/kicad/code/kicad/issues/5501
2020-12-01 22:37:07 +00:00
Jeff Young 3c521942ed Smarten isEmpty checks to include nothing-but-whitespace.
Fixes https://gitlab.com/kicad/code/kicad/issues/6567
2020-12-01 16:39:06 +00:00
Ian McInerney aa09418a14 Fixup memory lifespan of GAL options for the settings preview canvas
The canvas keeps a reference to the settings object, so we
can't pass one from the stack because it runs into lifetime
issues.

Also cleanup some loop-iterator problems.

Fixes https://gitlab.com/kicad/code/kicad/issues/6338
2020-12-01 01:12:07 +00:00
Seth Hillbrand 56fa5a23c3 SPICE export full precision data
Saving csv files loses precision when time/data steps are smaller than
10^-6.  This switches to engineering notation when dealing with higher
precision.

Ref KiCad Services ticket 281

(cherry picked from commit 938859f10a)
2020-11-30 13:27:38 -08:00
Jeff Young 3ad5bce67f Rewrite connected-lines dragger to not use EDA_ITEM flags.
We had some spurious bugs where both ends would get dragged to a
single point (making them disappear).  While I never caught it
in the debugger, I'm guessing that the flags weren't getting
cleared properly or were getting overwritten or something.  Anyway,
it now uses std::pair instead.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/6431
2020-11-30 19:30:03 +00:00
Roberto Fernandez Bautista b1270bc9ab eeschema page numbers: match print and plotting ordering to page number ordering
- new function SCH_SHEET_LIST::SortByPageNumbers() which uses SCH_SHEET::ComparePageNum for the sorting algorithm
- SortByPageNumbers() is called after every call to BuildSheetList()
2020-11-30 16:49:33 +00:00
Roberto Fernandez Bautista 9380d6f533 eeschema page numbers: match ordering in hierarchy navigator to sheet page number ordering
- update hierarchy navigator after any modifications to the SCH_EDIT_FRAME
- do not generate ghost selection events after updating hierarchy tree
- use Human Readable path in SCH_EDIT_TOOL::EditPageNumber
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5760
2020-11-30 16:49:33 +00:00
Roberto Fernandez Bautista afcaa60faa Remove "Order" field hack (partly reverts da1a89fc) 2020-11-30 16:49:33 +00:00
Jeff Young 3a9a6e22bc Fix issues in reporting netclasses.
1) make sure we get the default netclass when we want it
2) escape for HTML (particularly important for "<invalid>", but also
for reporting user rule names, netclass names, etc.)
2020-11-30 14:38:06 +00:00
Jeff Young 3da0ab1a9a Fix a couple of bugs in intersheet references.
1) init reference pages before trying to draw the SCH_FIELDs when
turning intersheet references on

2) don't double redraw because we accidentally cleared the last
hover item on a non-mouse-moved event.

3) make sure the root sheet gets a name for the hypertext menu.
2020-11-29 16:53:18 +00:00
jean-pierre charras 56bb91b042 French translation update 2020-11-29 13:40:48 +01:00
jean-pierre charras 09a1137f11 Fix a minor compil warning 2020-11-29 13:06:44 +01:00
Jeff Young 9922b7b738 Redraw canvas after preferences. (Needed for grid changes, etc.)
Fixes https://gitlab.com/kicad/code/kicad/issues/6433
2020-11-29 10:57:45 +00:00
Michael Kavanagh becc811775 Make path substitutions grid read only in lib table dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/5624
2020-11-29 09:51:53 +00:00
jean-pierre charras ebf0cb3612 symbol viewer: fix closing issue when opened in modal mode
Fixes #6509
https://gitlab.com/kicad/code/kicad/issues/6509
2020-11-29 09:38:42 +01:00
Sylwester Kocjan 095102614f Eeschema: Fix non-visible source types in SPICE model dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6540
2020-11-29 07:39:37 +00:00
Roberto Fernandez Bautista 6a28d6af27 CADSTAR Schematic Archive Importer: Fix loading of Schematic Sheet Pins and Orientation of Labels
- Find the intersection between the wire and the sheet and place the sheet pin there
- Fix orientation of hierarchical labels and global labels by applying opposite orientation to the connecting wire
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista ba77bf662c CADSTAR Schematic Importer: Fix loading of buses
Place bus labels and correctly group nets for the bus in a BUS_ALIAS
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista 0691e942f4 CADSTAR Archive Importer: Fix duplicate KIID for loaded elements
Don't use clone to copy an EDA_ITEM. Use Duplicate().
Even if you give the clone a new KIID, all its children will still be clones.
Create Duplicate() in LIB_PART
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista d2fbe12cfd CADSTAR Schematic Archive Importer: Parse SCALE token in Symbol and warn user this is not supported
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6463
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista a058e26ddc CADSTAR Schematic Archive Importer: Fix Loading of page numbers
Need to keep track of the hierarchy path in order to assign the page number
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista cba45ea257 CADSTAR Schematic Archive Importer: Fix orientation of components
- Fix the logic for the orientation of mirrored components
- Fix loading of angles/orientations from earlier versions of CADSTAR
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista 49a2926a34 CADSTAR Schematic Archive Importer: Fix loading of graphical arc segments
Load the arc segments as piece-wise straight segments
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista 71f9847601 CADSTAR Archive Importer: Only load the Master variant 2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista f2ba9f7ac3 CADSTAR PCB Archive Importer: Correctly load the pad numbers as per the original design
To load the pad numbers correctly we need to also check the PART DEFINITION for each component
2020-11-28 17:18:17 +00:00
Roberto Fernandez Bautista 73ad503db3 CADSTAR Schematic Archive Importer: Parse missing TERMATTR node 2020-11-28 17:18:17 +00:00
Jeff Young 13c63e3a50 Clearer warning about not back-annotating footprint deletes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6521
2020-11-26 19:30:16 +00:00
Jeff Young fc2bdc49de Once more into the depths of hell... er, I mean fix a focus issue.
So the new steals-focus protection stuff works well when there's a
focused control, but not as well when there's a modal dialog up which
happens not to have a focused control (or worse, a focusable control).

This adds a second mechanism for also checking to see if a modal dialog
is up (something that wxWidgets, true to form, makes very difficult).

Fixes https://gitlab.com/kicad/code/kicad/issues/6520
2020-11-26 16:47:40 +00:00
Jeff Young c85ef8eb69 Make updating netnames in backannotate more discrete.
Trying to be too smart was producing unexpected results.

Fixes https://gitlab.com/kicad/code/kicad/issues/6480
2020-11-25 22:16:56 +00:00
Ian McInerney d50d728d19 Cleanup compiler warnings 2020-11-25 00:08:09 +00:00
Jeff Young 71ce00c5ce Allow rotation of a single graphic line.
Fixes https://gitlab.com/kicad/code/kicad/issues/6487
2020-11-24 23:40:53 +00:00
Jeff Young 9c7c05c161 Mostly formatting cleanup but a few type-casting cleanups too. 2020-11-24 22:16:41 +00:00
Jeff Young 050d9e37ec Fix rotation bugs in Eeschema.
Rotate text using the Rotate90() function which gets the orientation
right.

Also, when calculating the center point for rotation, don't include
labels if the selection contains other stuff.  It just makes the
rotation odd, and tends to cause walking when continuing to rotate
(due to keep-upright being non-symmetrical).

Fixes https://gitlab.com/kicad/code/kicad/issues/git
2020-11-24 18:19:35 +00:00
Jeff Young 44850e9409 Fix nullptr crash. 2020-11-24 14:13:03 +00:00
Jeff Young 253f41c4f2 Fix minor dialog layout issue. 2020-11-23 23:57:26 +00:00
Jeff Young 78b505f36a Count head and tail lists as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/6461
2020-11-23 23:54:54 +00:00
Jeff Young bf04fc3b72 Process all symbol instances as the ref, value, etc. may be different.
Also makes sure that the instance fields get set for reference, value
and footprint, and not just the base SCH_FIELD.

Also makes the translations easier.

Fixes https://gitlab.com/kicad/code/kicad/issues/6459
2020-11-23 22:09:15 +00:00
Wayne Stambaugh e91a5b3f81 Symbol editor: prevent derived symbol elements from being moved. 2020-11-23 15:46:03 -05:00
Jeff Young 5f8a8c6850 Read/write "no net" (0) for pins with a no-connection marker.
Fixes https://gitlab.com/kicad/code/kicad/issues/2273

Fixes https://gitlab.com/kicad/code/kicad/issues/5587
2020-11-23 19:47:55 +00:00
Jeff Young c94001839b Minor performance improvements to connection graph. 2020-11-23 19:47:55 +00:00
jean-pierre charras 976c6262f4 French translation update (fix also trailing spaces in a few sentences) 2020-11-23 11:42:25 +01:00
Jeff Young dd60fd47b2 Cleanup and formatting. 2020-11-23 01:10:08 +00:00
Jeff Young baac9bfbf8 Don't try and rename lib entry when symbol is from board. 2020-11-22 15:40:44 +00:00
Jeff Young 1f5831185e Fix rotation of multiple global labels with intersheet references. 2020-11-21 23:44:26 +00:00
Jeff Young a9271e43cc Read global fieldNameTemplates for project but don't write them.
Writing responsibility goes to the preferences dialog handler.

Fixes https://gitlab.com/kicad/code/kicad/issues/6450
2020-11-21 23:10:54 +00:00
Jeff Young 3a4bd6fb8b Fix uninitialized variable. 2020-11-21 20:57:36 +00:00
Jeff Young 1391774f64 Re-factor boundary/courtyard checker error handling.
ADDED Footprint Checker dialog to display the results in.

Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-21 20:57:35 +00:00
jean-pierre charras 01b6cd08b5 lib_edit_tool.cpp: fix a wxWidgets 3.0.4 compatibility. 2020-11-21 11:56:32 +01:00
jean-pierre charras 64636601b8 Eeschema: fix a Unicode/UTF8 management when pasting items from Clipboard.
Copy to clipboard save items (using S expr description) using wide strings
(not UTF8 encoding).
But Paste from clipboard was not converting the wide string to UTF8 string
when getting the stored data to send it as std::string to the S expr reader.

Fixes #6449
https://gitlab.com/kicad/code/kicad/issues/6449
2020-11-21 10:59:25 +01:00
Seth Hillbrand 3ff22fc882 Order symbols by unit/convert
This keeps the output symbol names in human-readable order

Fixes https://gitlab.com/kicad/code/kicad/issues/6376
2020-11-19 15:19:55 -08:00
Seth Hillbrand c9fb595f64 Avoid assertion with invalid width
After adjusting col 0, the new width might be too large to handle.  In
which case, allow the system to choose our best width
2020-11-19 15:19:55 -08:00
Jeff Young 9e9946628a Go back to arrow cursor on a cancel (or finish).
Fixes https://gitlab.com/kicad/code/kicad/issues/6421
2020-11-19 20:09:28 +00:00
Jeff Young c2ba68cdfa Make sure intersheet references are updated on file-open. 2020-11-19 19:21:15 +00:00
Jeff Young 826e47dde3 Hook up excluded ERC marker persistence.
Fixes https://gitlab.com/kicad/code/kicad/issues/6425
2020-11-19 18:22:52 +00:00
Jeff Young 99796d359f Honour include-in-board flag when back-annotating.
Fixes https://gitlab.com/kicad/code/kicad/issues/6438
2020-11-19 15:29:53 +00:00
jean-pierre charras 801f385521 Eeschema: fix a UTF8 issue created by my commit 993a684 2020-11-19 14:37:51 +01:00
jean-pierre charras 754e8e912c Eeschema: some fixes in grid list and zoom list from config.
- slightly modify the zoom list.
- Do not use the values read from config: the user cannot change them,
so any issue in config cannot be easily solved.
Moreover, the grid list cannot be changed.
However the lists are still written in config, just in case.
2020-11-19 11:42:21 +01:00
Dominik Wernberger 99da663e82 Remove unused variables plus some more fixes from CppCheck
Remove unused variables plus a few more fixes from CppCheck

Remove unused variables plus a few more fixes from CppCheck
2020-11-19 02:28:47 +00:00
Jeff Young 7c344e9be6 Mirroring for intersheet references. 2020-11-18 23:34:27 +00:00
Jeff Young c61c7b62aa Start of impl for persisting ERC exclusions. 2020-11-18 23:34:27 +00:00
Jeff Young 293795fd46 Support rotation on intersheet references. 2020-11-18 23:34:27 +00:00
Werni 0e44f5128c Add const specifiers 2020-11-18 19:50:36 +00:00
Jeff Young f005335743 Resolve variables in Sheet Properties dialog's sheet path.
Fixes https://gitlab.com/kicad/code/kicad/issues/6409
2020-11-18 17:55:12 +00:00
Jeff Young 55d0b79746 Make sure current sheet gets set when creating BOM.
Fixes https://gitlab.com/kicad/code/kicad/issues/6418
2020-11-18 17:32:40 +00:00
Jeff Young c1d1c12b41 Simplify message panel code.
We've had the colours turned off for two releases now without any
screaming or gnashing of teeth, so it's time to clean up the code.
2020-11-18 17:32:40 +00:00
Jeff Young cb5ec8bce1 Make Eeschema cursors update without waiting for mouse movement. 2020-11-18 17:32:40 +00:00
Jeff Young bd1f262a6b Fix issues with Intersheet Ref highlighting and hover actions. 2020-11-18 17:32:40 +00:00
Marek Roszko 16e3e59495 Split out arrayDim and MIRROR templates from macros.h
These were not macros
2020-11-17 20:21:04 -05:00
Seth Hillbrand a4201ea833 Fix crash in libedit
LIB_ITEM is not derived from SCH_ITEM but they share a selection model
2020-11-17 14:28:56 -08:00
Jeff Young c89676e39d Require client to specify whether they want resolved values or not.
Fixes https://gitlab.com/kicad/code/kicad/issues/6408
2020-11-17 21:36:48 +00:00
jean-pierre charras 94a358c592 fix 2 compil issues 2020-11-17 19:32:20 +01:00
Jeff Young 8c5c902fa3 Re-write IntersheetRefs on top of SCH_FIELDs and textVars.
1) Generalize SCH_ITEM owners (SCH_COMPONENT, SCH_SHEET, and now
SCH_GLOBALLABEL)
2) Generalize hypertext items
3) Use SCH_FIELD autoplace infrastructure for placing intersheet
references
4) Use textVar infrastructure for buildin intersheet references.

As an important side-effect this also fixes the undo issues with
intersheet refs.
2020-11-17 16:05:49 +00:00
Jeff Young d616d5ad1f Naming conventions. 2020-11-17 16:05:49 +00:00
Jeff Young a207bd97bb Naming conventions. 2020-11-17 16:05:49 +00:00
Jeff Young dff5173baf Exorcise some instances of "modedit". 2020-11-17 16:05:48 +00:00
jean-pierre charras b9cc9b0f74 sch_sexpr_plugin.cpp: fix incorrect calculation of a relative path on Windows.
On Windows paths have a disk identifier. but MakeRelativeTo() was called with
wxPATH_UNIX option, thus creating sometimes incorrect (non existent) relative paths.
2020-11-17 16:24:03 +01:00
jean-pierre charras 9b2dac8df6 fix error in commit 993a684. 2020-11-17 14:56:34 +01:00
jean-pierre charras 993a684959 .kicad_sym files: Fix an issue when a symbol name contains a double quote.
This char (accepted in dialog) was escaped in some places, but not all.
So if a symbol name contained a double quote, the lib file was broken.
2020-11-17 12:33:46 +01:00
Ian McInerney 1db15052b0 Remove unused schematic settings filed
It was never written to the file and never used.
2020-11-15 21:30:50 +00:00
Jeff Young b21e07d759 Allow spaces in SheetPins (for bus definitions).
Fixes https://gitlab.com/kicad/code/kicad/issues/6379
2020-11-15 20:23:15 +00:00
Jeff Young b227d2b910 More component -> symbol. 2020-11-15 20:23:15 +00:00
Jeff Young 6e6e0aa644 Naming conventions (including some component -> symbol). 2020-11-15 20:23:15 +00:00
Jeff Young 4e8072b8c2 Prefer relative paths.
This also prevents us from leaking private information into netlists
and PCBNew files.

Fixes https://gitlab.com/kicad/code/kicad/issues/6361
2020-11-15 20:23:15 +00:00
Jeff Young 6654c03041 Embarking on the next adventure: component -> symbol. 2020-11-15 20:23:15 +00:00
jean-pierre charras 9aa6e40b79 Eeschema, fields_grid_table.cpp: fix a crash when the eeschema settings are not available.
It happens if the svhematic is not open when opening the symbol editor.
Fix also a compil warning.

Fixes #6384
https://gitlab.com/kicad/code/kicad/issues/6384
2020-11-15 13:50:10 +01:00
Jeff Young d094f86b1a Finish module cleanup (except for xpms). 2020-11-14 22:00:12 +00:00
Jeff Young d2a88234b6 Fix issue deleting footprint libraries from table.
wxWidgets pageChanged handler is evidently buggy.  Who would have
guessed?
2020-11-14 20:12:49 +00:00
Jeff Young 7bd31d5237 Naming conventions. 2020-11-14 18:26:03 +00:00
Jeff Young 8bae52d1c3 Correct naming conventions. 2020-11-14 14:29:11 +00:00
Wayne Stambaugh f35736cdd7 Eeschema: minor dialog and panel layout fixes. 2020-11-14 07:40:17 -05:00
Jeff Young 592cd99fd5 Pin dialog min size so that we don't wrap our (hacked) overbars.
Fixes https://gitlab.com/kicad/code/kicad/issues/6371
2020-11-13 17:55:54 +00:00