Commit Graph

5648 Commits

Author SHA1 Message Date
Jon Evans 282fcd5f3c Connectivity optimizations
Don't copy the recursion test cache when copy-constructing
SCH_SHEET_PATHs as it's not needed in connectivity

Fix a few places that were copying unnecessarily
2020-07-08 17:42:12 -04:00
Jeff Young 741481591e NetClass settings for Eeschema.
ADDED Eeschema-specific netclass settings including wire and bus
thickness, color, and line style.

Netclasses override individual wire & bus colors and line styles.
If that proves an issue we might look at something more sophisticated
with inheritance.

Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-08 21:23:25 +01:00
Jeff Young d292db866a Fix mismatch between dialog and code.
(The code was updated to use INDETERMINATE_ACTION, but the dialog
wxChoice still specified an entry of "...".  This moves both to the
code so it's harder for them to get out of sync.)
2020-07-08 19:31:44 +01:00
Wayne Stambaugh 41dd31babf Symbol editor: fix unnecessary "Save As..." prompt.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4818
2020-07-08 14:06:10 -04:00
Ian McInerney 37ce9fb847 Tell wx that we really want a transparent background
Try more options for telling wxWidgets that we want the area
to have a transparent background. Also, fix some spacing issues.

Fixes https://gitlab.com/kicad/code/kicad/issues/4842
2020-07-08 16:29:04 +01:00
Wayne Stambaugh 4c383c51fa Eeschema: add update symbol from library command to context menu.
Rather than displaying dialog that has every update option possible like
updating footprints in the board editor, this change updates the library
symbol immediately using the symbol library identifier and requires no
additional input from the user.

ADDED: Context menu entry for schematic symbols to update the symbol from
the symbol library using the existing library identifier.
2020-07-08 10:15:24 -04:00
Jon Evans 7f1e1a4abb Fix missing pin table visible columns setting
This got missed in the settings merge
2020-07-07 20:59:55 -04:00
Jon Evans 788f31d743 Fix import of Eagle schematics
Old project needs to be unloaded before schematic is reset,
then new project has to be loaded before doing the import

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4836
2020-07-07 20:48:32 -04:00
Ian McInerney 908377f9c4 Remove incorrect factor of 2 scaling
This was a copy-paste error that caused the junction dots
to be twice as small as they should be.

Fixes https://gitlab.com/kicad/code/kicad/issues/4834
2020-07-08 01:45:11 +01:00
Ian McInerney c6eb072726 eeschema: Fix cutoff text in pinmap
Ensure the proper bounding box is used when computing the amount
of space taken by angled text in the control.

Fixes https://gitlab.com/kicad/code/kicad/issues/4761
2020-07-07 23:12:17 +01:00
Ian McInerney f481be3358 Set a proper default for the schematic junction size
Fixes https://gitlab.com/kicad/code/kicad/issues/4834
2020-07-07 23:12:17 +01:00
Ian McInerney ccc0ceb32f Remove deleted item global variables
Fixes https://gitlab.com/kicad/code/kicad/issues/4819
2020-07-07 23:12:17 +01:00
Seth Hillbrand 7cea4b23f1 ADDED: Expand selection in context menu
Break out the context menu with heuristically limited choices being
appended to the main list rather than re-selecting

Fixes https://gitlab.com/kicad/code/kicad/issues/4799
2020-07-07 14:18:35 -07:00
Jon Evans 84b02e51f1 Fix overly aggressive ERC check
It helps to only check for the pintypes I care about
2020-07-07 17:08:07 -04:00
Jeff Young 358cccfd73 A bit of safety if realtime connection updating isn't on. 2020-07-07 14:45:14 +01:00
Jeff Young e66523586b Add Assign Netclass... to context menu.
ADDED Assign Netclass feature to EEschema.

Netclass assignments also now shown in status bar.

Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-07 14:23:39 +01:00
Jon Evans d8be5f9ecf Don't allow pins with NC electrical type to join other nets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1826
2020-07-06 20:27:38 -04:00
Jon Evans 23ce2d2e36 Re-add missing include 2020-07-06 19:47:07 -04:00
Seth Hillbrand 66f38dfc10 Remove assert that fires in normal operation
The missing symbol happens normally when the user does not have their
cache file available.  This should not be an assert
2020-07-06 14:37:03 -07:00
Jon Evans 0410fdd9fb Push a few missed project settings out of the frame
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4823
2020-07-06 17:30:27 -04:00
Jeff Young 3939b31027 Integration of netclasses into Eeschema.
This is mostly architecture, with the hookup of the Schematic Setup
dialog's Net Classes page.  Things like assigning to a net on the
canvas to follow.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-06 20:00:50 +01:00
Jeff Young b917e9aa72 Implement import from... for pin conflicts map. 2020-07-06 20:00:50 +01:00
Jeff Young b0ca7d5140 Netclass setup for Eeschema.
ADDED netclass panel in Schematic Setup dialog.

Fixes https://gitlab.com/kicad/code/kicad/issues/2132
2020-07-06 20:00:50 +01:00
Tomasz Wlostowski c1d5394e46 properties: post-rebase fixes 2020-07-05 22:44:38 +02:00
Jeff Young 509cd8f495 Remove duplicate fix not found by merge. 2020-07-05 21:01:19 +01:00
Jeff Young ec6c1b80b7 Fix a couple of bugs in the CurrentSheet architecture. 2020-07-05 19:53:04 +01:00
Jon Evans e9b99cc8b7 Fix grabbing connections from power components 2020-07-04 20:59:35 -04:00
Jon Evans 04a51a5ba4 Push current sheet handling to SCHEMATIC
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4803
2020-07-04 20:59:35 -04:00
jean-pierre charras 9e669db5b4 Eeschema: fix a name collision with a Windows header.
the member ERROR of the class PIN_ERROR was colliding: changed to PP_ERROR
2020-07-04 17:51:00 +02:00
Jon Evans d143e14694 Fix memory leaks in color theme editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4794
2020-07-03 22:34:41 -04:00
Jon Evans f725248fd8 Fix ERC pin checking logic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:51:20 -04:00
Jon Evans b94e29e3b1 Persist ERC pin table in project settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2066

Also a partial fix for https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:11:42 -04:00
jean-pierre charras cf38d382c7 Eeschema: ensure the netlist data is up to date before generating the netlist
Fixes #4779
https://gitlab.com/kicad/code/kicad/issues/4779
2020-07-03 21:08:38 +02:00
Jon Evans 0201cb4e7e Fix schematic reload in standalone mode 2020-07-03 10:43:23 -04:00
Jon Evans 05771f74f7 Fix netlist QA test 2020-07-03 08:21:19 -04:00
Jon Evans 1c72042fc4 Clean up stale nested settings when changing project pointer 2020-07-02 23:55:46 -04:00
Jon Evans 498fa8d8ba Fix some things about template fieldname synchronization 2020-07-02 23:42:36 -04:00
Jon Evans 4dbbe1cf68 Project settings fixes from review
- Fix file extension for new project
- Fixes for exceptions on MSW
- Fix some ASAN issues
- Allow SETTINGS_MANAGER to run headless
- Don't flag schematic as modified after schematic setup is closed
- Don't automatically unload projects when LoadProject is called
- Don't unload project if it's the same as the current one
- Make sure to properly init/de-init template field names
2020-07-02 22:08:54 -04:00
Jon Evans fe5959b625 Remove the schematic and board backup file system
Per discussion on the developers list, this old system
no longer provides much value and is seen as annoying
by many users.  The new save logic should prevent any
cases of file corruption on save, which was a major
reason for the backup file system existing.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2012
2020-07-02 22:08:54 -04:00
Jon Evans 12b4a55ae8 Port Eeschema to new project settings
DRC/ERC error serialization changed to use explicit tokens
Old stored severities and ignored errors are discarded
2020-07-02 22:08:54 -04:00
Jon Evans c0aa6965de Migrate PcbNew project settings to new framework
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.

ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
Jon Evans 0e2f9cb1bd Migrate CvPcb project parameters 2020-07-02 22:08:54 -04:00
Jon Evans a4fadfcdf2 Begin moving project file load to new system 2020-07-02 22:08:54 -04:00
Jon Evans a7708fa6dc Add PROJECT_FILE and basic load/unload methods 2020-07-02 22:08:54 -04:00
Ian McInerney f7156a9d49 eeschema: Only warn user about off-grid pins if the position has changed
Fixes https://gitlab.com/kicad/code/kicad/issues/4673
2020-07-03 02:11:47 +01:00
Jeff Young e91acfb67b Correct SHEETNAME validation exclusions which were for SHEETFILENAME.
Fixes https://gitlab.com/kicad/code/kicad/issues/4748
2020-07-02 21:38:37 +01:00
Jeff Young 7b042f4a75 Add rectangle tool to PCBNew toolbar in favour of Aux Origin.
ADDED new rectangle graphics tool for PCBNew and Footprint Editor.

Also adds rectangle tool to both Footprint Editor and PCBNew Place
menus.

The Aux Origin tool can come back once we have multi-select toobar
buttons.

Also collapses an unnecessary level out of the auxOrigin and gridOrigin
settings.

Fixes https://gitlab.com/kicad/code/kicad/issues/2246
2020-07-01 13:31:30 +01:00
Jeff Young 6d56ba2072 Minor cleanup to edit label dialog. 2020-06-30 19:55:04 +01:00
Jeff Young 61b5a12362 Don't allow component & sheet field IDs to collide.
Fixes https://gitlab.com/kicad/code/kicad/issues/4748
2020-06-30 19:17:28 +01:00
Ian McInerney bb1afb747a Remove bus entry shape
The shape isn't needed anymore, since bus entries can be rotated
and mirrored like other items.

Fixes https://gitlab.com/kicad/code/kicad/issues/4588
2020-06-30 02:09:33 +01:00
Jon Evans 8a0277eb2e Fix null graph in some connections
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4747
2020-06-29 20:27:08 -04:00
Seth Hillbrand 67bd49b4a8 Fix order-of-ops issue in sim plot 2020-06-27 19:59:49 -07:00
Jon Evans bd19c580f4 Add configuration for cross-probing behavior
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2317
2020-06-27 22:48:48 -04:00
Jeff Young 6acd35c981 Cleanup. 2020-06-27 20:07:26 +01:00
jean-pierre charras 0f0627a53e Eeschema: add 4 new zoom levels (0.1, 0.15, 0.2, 0.3) in context menu.
However, to see them in context menu, the old eeschema.json
config file must be deleted, because it contains the list of allowed zooms.
2020-06-27 20:35:54 +02:00
Jeff Young 32c3ea4edd Flags cleanup.
Remove extraneous use of FLAG0 from tracks cleaner (it was checked but
never set).

Fix issue in expand connections where two parts of it couldn't agree
on the same flag (BUSY vs SKIP_STRUCT), and where the second part was
clearing the flag instead of setting it.

Remove obsolete HIGHLIGHT infrastructure (we now use selection).

Remove extraneous use of BUSY flag in several places (it was never
set).
2020-06-27 17:53:04 +01:00
Ian McInerney fb10406e67 Add right-click context menus for toolbar items 2020-06-26 21:29:03 +00:00
Ian McInerney 52856a8ce4 Move scaled toolbar separator into ACTION_TOOLBAR
* Ensure all separators are scaled separators
* Clean up toolbar creation functions
2020-06-26 21:29:03 +00:00
Wayne Stambaugh 2078e629c5 Eeschema: allow editing of junction properties diameter and color.
Add missing plot and print changes for the new bus entry properties.

ADDED: Junction properties diameter and color can now be edited.

Fixes: https://gitlab.com/kicad/code/kicad/issues/4593
2020-06-24 13:36:17 -04:00
Wayne Stambaugh 853cf2c9b9 Eeschema: make bus wire entry properties editable.
CHANGED: Bus to wire entry object properties line color, width, and style
can now be edited.

Fixes: https://gitlab.com/kicad/code/kicad/issues/4591
2020-06-24 13:36:17 -04:00
Wayne Stambaugh b15ee1086f Eeschema: factor out line stroke property object.
The line stroke property object STROKE_PARAMS was factored out an used in
the schematic line object.  This will allow it to be used in other objects
that require line stroke properties so every object does not need to have
it's own definition for line stroke properties.
2020-06-24 13:36:17 -04:00
Tormod Volden e82e30d215 bom2grouped_csv.xsl: Fix sorting of grouped references
Commit a96ebe8f seems to have missed a dollar sign.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/940
hopefully for good this time.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
2020-06-23 15:48:59 +02:00
Jon Evans 158f6ad526 Fix net highlighting 2020-06-22 12:02:58 -04:00
Jon Evans 40e0a4295d Re-add netlisting logic inadvertently removed during refactor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4692
2020-06-21 21:43:24 -04:00
Jon Evans 202b55f4d2 Plot sheet background colors if present
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4697
2020-06-21 20:43:47 -04:00
Jon Evans 09cb75b8a1 Use a temporary file when saving boards/schematics to make the operation more atomic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4517
2020-06-19 23:31:26 +00:00
Jon Evans dd42a19319 Prevent grid axes from inadvertently turning on in eeschema
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4680
2020-06-19 17:22:25 -04:00
Jon Evans 6d2f30005e Don't blow up the sheet path when selecting an ERC item
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4685
2020-06-19 17:00:41 -04:00
Jeff Young ee9d8fcd15 Collapse Pcbnew & ModEdit display and edit settings.
(Prep work for reusing them with a custom shape editor.)
2020-06-18 15:38:01 +01:00
Jon Evans 15b95f2980 Fix project references in eagle importer after SCHEMATIC object
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4672
2020-06-17 17:30:24 -04:00
Jeff Young a7703d1207 Cleanup Graphics to parallel Cleanup Tracks & Vias.
This also allows for easier migration to DRAWSEGMENT::S_RECTs by
auto-converting 4 rectilinear lines to a rectangle.
2020-06-17 18:44:39 +01:00
Seth Hillbrand 4480759599 Remove unused variable 2020-06-15 12:40:02 -07:00
Jeff Young ad12c42e8b Push grid settings dialogs down into common.
This also gives support for fast grid switching and a user grid
to eeschema.

Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
jean-pierre charras a8d5d9b690 panel lib tables: avoid crash when deleting the last entry in list. 2020-06-14 17:39:32 +02:00
Jeff Young e16426987a Fix wxWidgets alert on integer overflow. 2020-06-13 22:44:16 +01:00
Jeff Young c48f4272f3 Collapse a level out of the zoom settings.
The APP_SETTINGS_BASE now holds the list of zoom factors, and
the old legacy (screen-based) code has been removed.
2020-06-13 22:44:16 +01:00
Seth Hillbrand a02d8a5993 Fix a number of signed/unsigned comparisons 2020-06-13 11:55:59 -07:00
Jeff Young f84406009b Push a couple of layers of indirection out of grid settings. 2020-06-13 11:35:56 +01:00
Ian McInerney a97f14e217 Propagate exclude from board to all units of a component
Fixes https://gitlab.com/kicad/code/kicad/issues/4650
2020-06-12 14:26:11 +01:00
Wayne Stambaugh 037898f6fb Eeschema: add support for excluding symbols from board.
ADDED: Support for excluding symbols from board during.  This allows for
creating bill of materials only symbols.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2522
2020-06-10 10:57:28 -04:00
Jeff Young 79cdd608af Make sure Footprint ID gets initialized when calling chooser.
Also make some of the labels in the dialog more explicit.
2020-06-09 20:10:39 +01:00
jean-pierre charras 2401ed587e eeschema, pcbnew: fix too narrow window showing the item color list
Fixes #4610
https://gitlab.com/kicad/code/kicad/issues/4610
2020-06-09 20:05:38 +02:00
jean-pierre charras 64231a8491 fix a minor wxWidgets alert and a outdated comment. 2020-06-09 14:12:38 +02:00
Ian McInerney 9d0ea66a96 Don't use the accelerator table in the menubars
It seems that the accelerator table causes issues with
keyboard events on MSW.

Fixes https://gitlab.com/kicad/code/kicad/issues/1941
2020-06-06 22:50:35 +00:00
jean-pierre charras eef81e84b2 Avoid marking a default name translatable: after translation the result
can be unexpected and broken.
2020-06-06 20:51:50 +02:00
Ian McInerney 4357c1d3b3 Coverity and compiler warning fixes
* Initialize variables
* Test dynamic casts

Fixes https://gitlab.com/kicad/code/kicad/issues/4620
2020-06-05 12:50:56 +01:00
Wayne Stambaugh c27ca90c13 Symbol library editor: fix broken "Save As..." feature.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4590
2020-06-04 13:25:53 -04:00
jean-pierre charras a29b3eb017 Eeschema, DIALOG_EDIT_ONE_FIELD: fix incorrect behavior for footprint field,
when initialized from the footprint viewer.

Fixes #4609
https://gitlab.com/kicad/code/kicad/issues/4609
2020-06-04 18:47:12 +02:00
Jon Evans ae852e17f9 Re-add null component checking in UpdateNetHighlighting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4606
2020-06-03 20:36:30 -04:00
Wayne Stambaugh 3fa2bad3c5 Symbol editor: disable tools and menu entries for derived symbols. 2020-06-03 16:57:08 -04:00
Wayne Stambaugh 616ac50cfb KiCad: add support for missing file format extensions.
Don't rename symbol libraries when performing a project "Save As.."
except for the legacy cache library.  Changing library file names
breaks the symbol library table.  This was the less painful  option
than updating the symbol library table.

Fixes https://gitlab.com/kicad/code/kicad/issues/4605
2020-06-03 16:13:42 -04:00
Wayne Stambaugh 0032845f9e Fix clipped bitmap buttons with GTK on Linux.
A note to developers, please do not set the minimum and/or size of bitmap
buttons.  It causes bitmaps to get clipped using GTK on Linux.  If the
bitmap button size is not acceptable, then supply an appropriately sized
bitmap rather than attempt to force the wxWidgets sizing mechanism to do
what you want.  This almost always causes platform differences that do
not work well.
2020-06-03 14:01:44 -04:00
Wayne Stambaugh 77a59fb5d3 Eeschema: add support for excluding symbols from bill of materials.
This provides a method to add symbols that represent footprints on the
board that do not have an associate component such as mounting holes,
fiducials, logos, etc that should be excluded from the bill of materials.
It also prevents those footprints from being removed from the board
accidentally when updating the board from the schematic.

ADDED: Support to exclude schematic symbols from bill of materials
export.
2020-06-03 08:55:13 -04:00
Jeff Young 5d493abea7 Check for duplicate field names.
Fixes https://gitlab.com/kicad/code/kicad/issues/4219
2020-06-02 21:44:03 +01:00
Jeff Young c01046c12f Give new sheets an initial name and filepath.
Fixes https://gitlab.com/kicad/code/kicad/issues/4516
2020-06-02 20:28:20 +01:00
Jeff Young 10add93d16 Fix clang compile warnings. 2020-06-02 20:27:22 +01:00
Jeff Young aadc926740 Coverity fixes and "auto" removal. 2020-06-02 17:22:23 +01:00
Wayne Stambaugh 354d53a6c5 Handle derived library symbol optional field inheritance.
CHANGED: Derived library symbols will inherit optional fields defined by
their parent symbol and override existing optional fields.

CHANGED: The symbol editor will now only display the fields defined in
derived symbols rather than show mandatory fields inherited from the
parent symbol.  Showing fields that cannot be edited would be confusing.
2020-06-02 14:21:11 +00:00
Wayne Stambaugh 52078a4b1b Allow setting mandatory derived symbol field properties.
CHANGED: All mandatory fields in derived symbols can be edited.  This
not only includes the field value but also all text properties.

Kill the dual datasheet variable storage which caused many datasheet
bugs over the years.  The datasheet is now always stored in the data
sheet field.
2020-06-02 14:21:11 +00:00
Wayne Stambaugh dd1a7627f8 Move setting derived symbol field properties from parent symbol.
In order allow the new file format to support derived symbols with
field properties that are different than the parent symbol, the code
that copied the parent field properties to the derive symbol field
properties had to moved out of LIB_PART::SetParent() into the legacy
symbol library plugin and the symbol library editor add new symbol
code to preserve the current behavior and not overwrite derived
symbol field properties.

This lays the ground work for allowing field properties of derived
symbols to be different than their parent symbol.
2020-06-02 14:21:11 +00:00