Commit Graph

2648 Commits

Author SHA1 Message Date
Jon Evans c973a447df Make sure board netinfo list is updated when net inspector renames a net 2021-04-20 21:15:42 -04:00
Jon Evans 8792d7288d Net inspector: Fix calculation of via length
We have a function for this in the BOARD_STACKUP now, and it returns
a more correct number (excluding the start and end copper layers)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8256
2021-04-20 20:03:38 -04:00
Jeff Young 3a6a919097 Improve clarity in the Print dialog around edge cuts layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/8200
2021-04-16 16:53:51 +01:00
Jon Evans 29c45743b7 Fix calculation of arc lengths; include them in net inspector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8140
2021-04-15 21:06:35 -04:00
Jeff Young 9a282f081a Document rules version clause.
Fixes https://gitlab.com/kicad/code/kicad/issues/8201
2021-04-15 10:23:38 +01:00
Jon Evans 433e148e08 Move some string formatting functions out of base_units
Keeping them in base_units means that we can't introduce
any dependence on these functions to anything that needs to
compile without one of the unit defines (EESCHEMA, PCBNEW, etc)
2021-04-14 23:21:10 -04:00
Jon Evans 36ef198610 Clean up nets from items when deleting in the inspector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8162
2021-04-12 21:17:42 -04:00
Jeff Young 6072f5831b Apply uniform spacing to orientation controls. 2021-04-11 10:33:26 +01:00
Jon Evans 7784d7cb12 PNS: Fix visible area restriction
VIEW::GetBoundary() returns the entire view area, not the visible area.
Surprisingly, we had no API for this, so I added one.

Also, changed the dragger behavior to toggle between optimizing just the
modified area and optimizing the visible area, i.e. we will now never
optimize off-screen portions of the dragged track.
2021-04-10 16:13:08 -04:00
Jon Evans 94afdcb92a PNS: Allow control of area-restricted drag optimization
CHANGED: The interactive router settings now include a switch to
         enable or disable optimization of the entire dragged track,
         which is now disabled by default.  When enabled, the router
         will reroute the entire track (from the dragged segment to
         the closest pad/via in each direction) to be more optimal.
         When disabled, only the area around the dragged segment
         will be modified.

CHANGED: The "optimizer effort" slider is removed from the interactive
         router settings dialog, as this setting did not have any
         meaningful impact in most cases and was a source of confusion.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5918
2021-04-10 15:17:39 -04:00
Jonathan Haas 846e4aed42 Fix selection filter in Edit Text and Graphics dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/7966

Fixes https://gitlab.com/kicad/code/kicad/issues/8149
2021-04-10 15:49:23 +00:00
Jeff Young dc0cf3b802 Clean up a confusing API.
AllowDRCViolations is kept in any mode as a *setting*, but only
controls router behaviour when the mode is mark obstacles.

Fixes https://gitlab.com/kicad/code/kicad/issues/7795
2021-04-10 11:08:02 +01:00
Jeff Young 176fcd43d8 Cleanup. 2021-04-10 10:04:02 +01:00
Jeff Young 252fad1cc7 These grids *must* have a border on OSX to render correctly. 2021-04-10 10:04:02 +01:00
Jeff Young f606069bf6 Formatting. 2021-04-10 10:04:02 +01:00
Ian McInerney 401bc53038 Move the DRC constraints page into a scrolled window
We seem to be getting a lot of these now, and it was
being cutoff by default - so make it a scrolled window
like the severities.
2021-04-09 00:56:31 +01:00
Jeff Young 5ea68c7694 Copy some bug fixes from DRC dialog across to Footprint Checker. 2021-04-08 22:37:14 +01:00
Jon Evans e0f26fd525 Make live 3D refresh optional
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8068
2021-04-07 22:39:30 -04:00
Ian McInerney 18f07024a6 Simplify UI event handling in pcbnew global edit dialogs
Instead of enabling/disabling the controls on every possible
UI event in these dialogs, only do it when the actual control
wants to know if it should change status.
2021-04-07 17:39:48 +01:00
Jeff Young 52ca7ed27c Naming conventions. 2021-04-04 10:43:56 +01:00
Jeff Young c1df77f59b Terminology. 2021-04-04 10:32:24 +01:00
Jeff Young 98e6a089ab Treat board edges same as graphics for locked/unlocked.
It would appear that not using the locked/unlocked graphics filters
is confusing too (see deleted comments in code).

Fixes https://gitlab.com/kicad/code/kicad/issues/8114
2021-04-04 10:27:26 +01:00
Jeff Young 2c3ee0d85f Don't forget CommitPendingChanges.
Fixes https://gitlab.com/kicad/code/kicad/issues/8083
2021-04-04 01:02:31 +01:00
Carsten Schoenert cb17c9f3dd Typo fix: Correct various misspelled words
agressive -> aggressive
decription -> description
miscellanous-> miscellaneous
rectange -> rectangle
Unkown -> Unknown
2021-04-03 13:39:50 +00:00
Jeff Young 52aea0a2c9 Consistent terminology. 2021-04-03 11:15:11 +01:00
Jeff Young 0c4184f1a4 Split lib tree initialization into a two-pass affair.
This is under the supposition that we can't set the column widths
on some Mac instances because the host controls haven't yet been
created.  This is primarily conjecture based on looking at things
that have the *possibility* of going wrong.  Why this only happens
in some installs is beyond me.

Fixes https://gitlab.com/kicad/code/kicad/issues/5479
2021-04-01 10:51:29 +01:00
Roberto Fernandez Bautista a530c22eff Shorten "Allow free pads" tooltip and rename button "Skip Locked Items" 2021-03-31 18:28:18 +00:00
Roberto Fernandez Bautista 7077e59395 Make moving pads independent of footprint much harder with new setting
It is still possible to move a pad independent of footprint through
the pad properties dialog. This is a much more conscious decision
than using the move tools.

ADDED: "Allow free pads" preference setting in pcbnew, default to off.
When enabled, allows moving unlocked pads independent of the footprint
(i.e. previous behaviour). When disabled (default), any attempt to move
a pad will move the parent footprint instead.

REMOVED: "Lock pads of newly added footprints" preference setting in
pcbnew. (Pad lock state is now loaded from the footprint definition)

CHANGED: There are now only two possible lock states for a footprint:
locked and unlocked. The lock state of the pads in the footprint is
now independent of the footprint lock state.

Also fixed a latent bug that would allow a pad to be moved when the
parent footprint was locked (see m_selectionTool->RequestSelection
lambdas in edit_tool.cpp)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7739
2021-03-31 18:28:18 +00:00
Jeff Young a2ffb45698 Update diff pair rule syntax to be clearer.
Fixes https://gitlab.com/kicad/code/kicad/issues/8010
2021-03-25 10:29:38 +00:00
firebladed 41839f7e3f Update panel_setup_rules_help.md diff pair clearance example to use new A.isCoupledDiffPair() function 2021-03-25 03:33:19 +00:00
Wayne Stambaugh b37b7d53b4 Fix geographic annotation bug when back annotating to schematic.
For some reason, the footprint UUID was being prefixed to the sheet path
which caused the symbol look up by sheet path to fail.  An option was
added to not do this when the geographical back annotation to the schematic
is performed.
2021-03-24 09:57:36 -04:00
Jeff Young f24f0d93a5 Make OK default in inspectors (and hook up to close window).
Fixes https://gitlab.com/kicad/code/kicad/issues/7831
2021-03-22 21:20:54 +00:00
Roberto Fernandez Bautista 7a255edc5f Panel Edit Options: Fix "Show Page Limits" tooltip message 2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista f6c4677189 ADDED Option to disable automatic zone filling in pcbnew
The new setting is stored as 'editing.auto_fill_zones' and controls
whether zones should be refilled after certain actions or not.
2021-03-21 20:13:20 +00:00
Jeff Young fe196771d8 Implement isCoupledDiffPair() DRC rule function.
Fixes https://gitlab.com/kicad/code/kicad/issues/7975
2021-03-20 23:07:36 +00:00
Jeff Young ce46fe6581 Add insideFrontCourtyard and insideBackCourtyard DRC functions.
Fixes https://gitlab.com/kicad/code/kicad/issues/7972
2021-03-20 21:53:30 +00:00
Jeff Young 07aea4339d Formatting. 2021-03-20 21:53:29 +00:00
Jon Evans c04e19f9ac Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
jean-pierre charras af88b01068 export_vrml: Better export of pad shapes, both on copper and paste layers.
It removes duplicate code between Pcbnew and the vrml exporter.
Remove also an useless option (plain board) that exported just the board body.
2021-03-18 20:43:27 +01:00
jean-pierre charras 074f0432f0 vrml exporter: more cleaning code and enhancements. Dialog exporter: Add option to use board center as coord origin. 2021-03-18 09:52:04 +01:00
Jeff Young 36259b1f6b Refresh lib trees after editing library tables.
Also make sure that we grab the library item descriptions from their
source rather than just the cached tree copy.

Fixes https://gitlab.com/kicad/code/kicad/issues/7875
2021-03-17 14:54:18 +00:00
Jeff Young 46d71f0d23 Go back to validate-on-OK, but stop doing design checks.
If we keep doing design validations at two different places, they can
only start to drift apart.  Board Setup should validate for malformed
data ONLY; everything else is the business of DRC.

This also fixes a bug where implementation validations would not allow
OK in the dialog, but wouldn't put up a message to say why.  We now use
the InfoBar impl from Jon's commit for that.
2021-03-16 14:49:03 +00:00
Jeff Young cad1cb0262 Improve naming. 2021-03-16 12:07:06 +00:00
Jeff Young b2ac9cc29f Formatting & naming conventions. 2021-03-15 19:04:59 +00:00
Jon Evans 2cbd7b5043 Reduce scope of some view repaints to improve performance 2021-03-14 11:42:09 -04:00
Jeff Young faf9cca938 Fix many cases of old mils flag getting interpreted as allowEval flag.
Fixes https://gitlab.com/kicad/code/kicad/issues/7883
2021-03-12 15:15:50 +00:00
Jeff Young ba46a8d12d Fix some layout issues resulting from wxWidgets version bump. 2021-03-12 14:54:54 +00:00
Jon Evans 18037e2f65 Rework bitmap system to load from archived PNGs
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.

Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz

The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.

Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.

Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Jeff Young 4b88d4beed Don't police the user.
There are too many holes and the police-state just makes it harder to
get back from error conditions.

Fixes https://gitlab.com/kicad/code/kicad/issues/7867
2021-03-11 10:38:32 +00:00
Jeff Young 60b17e727a Make sure pad locked flags get transferred on ExchangeFootprint.
They used to be in the footprint but were moved to the individual
pads a few months ago.

Also applies to text items.

Fixes https://gitlab.com/kicad/code/kicad/issues/7844
2021-03-09 12:29:14 +00:00