Commit Graph

3634 Commits

Author SHA1 Message Date
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
Dominik Wernberger e2aa7be4b3 Added a lot of consts and refactored a few lines 2021-03-08 12:49:48 -08:00
Jon Evans 720147d272 Remove transitive inclusion of bitmaps.h 2021-03-07 16:08:57 -05:00
jean-pierre charras d57f5b1a2c DIALOG_GENDRILL: fix incorrect initialization of drill coord origin option
Fix also missing board change mark when drill plot settings are modified.
2021-03-06 09:47:42 +01:00
Jeff Young 528f933ad5 Don't revert commit after user has OK'ed the dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/7799
2021-03-04 19:16:43 +00:00
Jonathan Haas f90164f7cf Fix some typos and improve wording 2021-03-02 19:13:49 +01:00
Jeff Young 7760570d76 Treat action buttons in Symbol/Footprint Properties as OK, not Cancel.
Fixes https://gitlab.com/kicad/code/kicad/issues/7001
2021-03-01 20:37:04 +00:00
Jeff Young 1a9f55872c Don't leave a pad with a netinfo pointer from the footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/7766
2021-03-01 11:12:51 +00:00
Jon Evans 65531accf6 DRC: allow testing against particular diff pair membership 2021-02-27 19:54:55 -05:00
Jeff Young 2606ecc619 Add isDiffPair() to custom rule syntax examples.
Fixes https://gitlab.com/kicad/code/kicad/issues/7746
2021-02-27 19:45:03 +00:00
Jon Evans ccba4b1462 Pcbnew: don't show project warning on stackup pages
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5568
2021-02-27 14:28:24 -05:00
Jeff Young 14e670408e Fix some bugs in rule examples and add some more examples.
Fixes https://gitlab.com/kicad/code/kicad/issues/7744

Fixes https://gitlab.com/kicad/code/kicad/issues/6884
2021-02-27 19:21:41 +00:00
Seth Hillbrand f952434aee Replace "pours" with "fill" in Rule Area
KiCad terminology refers to copper "Fill" rather than copper "Pour".

Also adds some tooltips for the various options

Fixes https://gitlab.com/kicad/code/kicad/issues/7740
2021-02-27 08:32:05 -08:00
Jeff Young 86aaa2e9cb Rationalize footprint bounding boxes and cache all of them.
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 13:50:27 +00:00
Jeff Young b8c95345d0 Make sure reporters have a better default path than /bin. 2021-02-25 15:05:26 +00:00
Jon Evans bba7fae104 Coverity fixes 2021-02-24 22:55:11 -05:00
Jeff Young d384316335 Fix some layout issues in board stackup pane.
Also decided the extra paramaters on the right weren't working out
on smaller screens and so moved Board Finish to its own panel.
2021-02-24 21:42:00 +00:00
Jon Evans 887ad1c30d CHANGED: Copper layer count is now set on physical stackup page
REMOVED: Board layer stackup presets that were not very useful

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6765
2021-02-23 21:31:12 -05:00
Jeff Young f30eab422e Don't allow footprint text item columns to be resized.
We auto-size them in the code and doing both produces nothing but a
mess.

Also improves the auto-sizing for the layers drop-down (particularly
needed for the new, somewhat longer, layer names.

Fixes https://gitlab.com/kicad/code/kicad/issues/7671
2021-02-23 17:46:15 +00:00
Jeff Young a3b9e8ddb4 Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
Jeff Young cad5198ab7 Worksheet -> (industry standard) Drawing Sheet. 2021-02-22 17:35:46 +00:00
Seth Hillbrand a6263fc595 Remove superfluous "Rebuild Ratsnest" button
This happens when clicking OK already and there is nothing to change
before then.
2021-02-22 09:16:20 -08:00
david-beinder c1aa50e522 Notify control when removing items without parent
Fixes https://gitlab.com/kicad/code/kicad/issues/7441
2021-02-22 14:00:13 +00:00
Jeff Young 2d28ed8eda Move canvas backend selection to Preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/7630
2021-02-21 20:12:43 +00:00
Seth Hillbrand 8a12aa4e3a Handle unit changes in the netlist
Each symbol unit in eeschema has a unique identifier.  But we don't have
a unique identifier for the entire symbol.  So changing which symbol
instance was unit A (our default base for matching), changed the UUID
that we were using to match the footprints.

This commit adds all UUIDs to the netlist, allowing us to match symbol
to footprint without worrying about which unit is referenced.

This still does not handle changing different units on different sheets.

Fixes https://gitlab.com/kicad/code/kicad/issues/7604
2021-02-20 20:11:49 -08:00
Marek Roszko 622baa6531 Silence more unused exception var warnings 2021-02-20 12:01:51 -05:00
jean-pierre charras be25b7a132 Use ShowQuasiModal to show a few dialogs.
This change is mainly due to the fact Modal dialogs do not work when our
current tool is the tool used to create new item (text, zone, graphic).
If when this tool is active, one try to edit the properties of the new item
being created (or being placed) the modal dialog does not capture the event tool
and hangs (cannot be dismissed)
Our quasi modal dialogs have their own event loop and work.
Fixes #7585
https://gitlab.com/kicad/code/kicad/issues/7585
2021-02-20 14:24:57 +01:00
Zoltan Gyarmati bbe2ee39a0 pcbnew: actually reload DRC parity checkbox value in project mode
Fixes https://gitlab.com/kicad/code/kicad/issues/7551
2021-02-19 00:37:29 +00:00
Jeff Young 66b33834b5 Always enable save; move dirty bit to asterisk in title bar.
Also unifies PCB Editor and Schematic Editor names with other
locations in the GUI (which were still Pcbnew and Eeschema).

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

Fixes https://gitlab.com/kicad/code/kicad/issues/7594
2021-02-18 16:05:42 +00:00
Jeff Young 59b81462ab Fix button lay out issue on OSX. 2021-02-18 11:53:36 +00:00
Jeff Young 6a5bba2a80 We don't really want users hand-editing library table files.
Fixes https://gitlab.com/kicad/code/kicad/issues/7591
2021-02-18 11:53:36 +00:00
Jeff Young b6a7981e62 Write changes back to grid after using file explorer.
Fixes https://gitlab.com/kicad/code/kicad/issues/7361
2021-02-17 14:08:53 +00:00
Jon Evans 14cba9723f Allow selection filtering in global Pcbnew edits also 2021-02-15 22:14:28 -05:00
Seth Hillbrand 9212197c26 Grammar 2021-02-15 15:18:13 -08:00
Jeff Young 6ee5476fba Remove misleading help text for now.
Fixes https://gitlab.com/kicad/code/kicad/issues/7536
2021-02-14 23:51:51 +00:00
Jon Evans ab34d94f36 Add a less-intrusive validation system to board setup
For some kinds of issues, we want a way to point them out but
we don't need to keep the user from being able to close the
dialog.  A separate Validate button lets the user check for
issues if desired, but these issues are not "fatal" and can
be ignored if the user wishes.
2021-02-11 22:19:46 -05:00
Jeff Young 05d2053ded Put MSW bug fix back in. 2021-02-10 12:37:13 +00:00
jean-pierre charras d738c91dd7 minor fix in DIALOG_SYMBOL_PROPERTIES: make m_cbPreservePads ON the default
Keep Through Hole pads on external layers should be ON by default, because
such a pad does not allow soldering/unsoldering, if this option this option is OFF
Also rename dialog_enum_pads.fbp as dialog_enum_pads_base.fbp, as usual
2021-02-10 12:47:11 +01:00
Seth Hillbrand 09be44a352 Use Jeff's method+font for monospace 2021-02-09 12:14:17 -08:00
Jeff Young 65c41cff42 Another way to set fixed-width font (that works on OSX). 2021-02-09 18:46:04 +00:00
Seth Hillbrand 6f0424d742 Use monospace font for textboxes
Matches the spacing of our stroke font so the tabs are correctly
displayed in WYSIWYG

Fixes https://gitlab.com/kicad/code/kicad/issues/1807
2021-02-08 15:59:58 -08:00
Seth Hillbrand 624a231cc0 Remove unused line width option
You had to set the line width in the SVG export dialog in order to
change the displayed line width in the 3d viewer.  The line width did
not affect the SVG export.  Removing in favor of the Board design
settings for line widths
2021-02-06 06:44:53 -08:00
Jeff Young 6dee7f30fa Whack-a-mole on another case of "module". 2021-02-03 10:53:24 +00:00
jean-pierre charras c98c7cf200 Fix minor wxWidgets alerts 2021-02-02 10:01:19 +01:00
Marek Roszko ee2c5bb489 Remove memory leak when importing settings for a board 2021-02-01 19:23:23 -05:00
Marek Roszko 991c8fbf8f Use the new nudge path for the footprint lib table, save global and project mru differently 2021-01-31 19:01:33 -05:00
Marek Roszko 051621a2ca Use M_SQRT1_2 in place of the number 2021-01-31 15:47:23 -05:00
Jon Evans abf0a46dce Refactor PICKER_TOOL and push up snapping disable functionality
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7348
2021-01-31 09:50:41 -05:00
Jeff Young a235103e48 Redo pad & via painting (again).
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.

Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.

Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast.  The hole wall
is drawn in high contrast.  This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).

Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31:27 +00:00
Jeff Young 1a7b7e84c6 Use consistent terminology for component placement files.
CHANGED footprint positions files -> component placement files.

Not all footprints get placed, so component is a more neutral word.
Use of "placement" instead of "positions" removes the double-plural
that makes footprint positions files such a mouth-full.

Fixes https://gitlab.com/kicad/code/kicad/issues/7097
2021-01-28 19:24:55 +00:00
Marek Roszko e6dd95e83a Create a default user projects folder 2021-01-27 19:12:18 -05:00
Wayne Stambaugh 6a39b81647 Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
Jon Evans 79f94c096e Rename legacy selection filter action to avoid confusion
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7290
2021-01-26 18:15:36 -05:00
Seth Hillbrand aefc107d86 Fix button sizing 2021-01-26 13:42:02 -08:00
Seth Hillbrand 9a51a75403 Confirm when cancelling a changed custom rule 2021-01-26 08:18:38 -08:00
jean-pierre charras 2e58826338 Minor fix: remove an unwanted font setting from panel_setup_constraints_base.fbp
that cannot be removed using wxFormBuilder due to a bug in wxFormBuilder.
2021-01-26 14:03:12 +01:00
Jeff Young 5a5f96bd9f More consistent naming. 2021-01-26 11:41:47 +00:00
Jeff Young b165ae6519 Fix note formatting issues.
Also removes the "tip" icon which doesn't work on OSX and isn't as
important as the graphics which actually convey information.  Replaced
with the more generic "Note: " string.

Fixes https://gitlab.com/kicad/code/kicad/issues/7281
2021-01-26 11:29:30 +00:00
Jeff Young dca7e44455 Fix a missed Module -> Footprint. 2021-01-26 10:56:19 +00:00
jean-pierre charras 96af236493 Code cleanup: remove include wx.h from pcb_plot_params.h.
including wx.h is useless for this file, and include wx.h in a lot of other files.
Include wx.h must be made only when needed in a given file, because on Windows
it include some headers that frequently create collision with kicad declarations
2021-01-25 16:18:46 +01:00
Jeff Young d40fe127aa Update pad locked status when adding footprints from schematic.
Also fixes some latent bugs with not updating the local ratsnest
visibility in other places, and the netcode in update PCB from schematic.

Fixes https://gitlab.com/kicad/code/kicad/issues/7202
2021-01-25 01:20:36 +00:00
Jeff Young d5d9372839 Don't cancel dialog when esc-ing out of autocomplete. 2021-01-23 22:55:03 +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
jean-pierre charras cbff706916 Update the .fpb file to be able to open it with wxFormBuilder 3.9, used by Kicad 2021-01-21 20:28:05 +01:00
qu1ck 07d4a28024 Improvements to pcbnew action plugins settings panel
1. Add open plugins directory button (same as in tools menu)
2. Add show plugin errors button to help debug issues
2021-01-20 09:09:53 +00:00
Jeff Young 25ff0fa662 Fix typo in unit label assignment and some minor layout improvements. 2021-01-19 16:09:44 +00:00
Jeff Young e9dc1824d6 Minor improvements to layout. 2021-01-19 16:09:44 +00:00
Jeff Young 06dec36625 Improve layout and terminology in PCBNew/FPEditor edit settings. 2021-01-19 13:16:26 +00:00
Jeff Young 1ac47c2ac6 Fix misleading tooltip. 2021-01-19 11:05:25 +00:00
Jeff Young 26bc29808a Clean up Text Properties dialog.
It's no longer used for dimensions so doesn't need the line thickness
controls.

The spacing was a bit wonky.

Changed to disabling rather than hiding visibility checkbox.  The less
the GUI moves around the better.
2021-01-18 15:20:15 +00:00
Jeff Young 965482bd7f Improve some tooltips.
Fixes https://gitlab.com/kicad/code/kicad/issues/7116
2021-01-14 22:35:32 +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
jean-pierre charras 76cc7b98a7 Fp editor, DIALOG_PAD_PROPERTIES: do not disable posX and posY settings.
When a pad is locked,  posX and posY settings in DIALOG_PAD_PROPERTIES must
be locked only for the board editor, not in the fp editor.
2021-01-12 20:33:52 +01:00
jean-pierre charras d4c36230d2 Pcbnew, Graphic items: show the locked status in msg panel and dialog properties. 2021-01-12 10:00:21 +01:00
Michael Kavanagh a00b9cc821 Icons: general tweaks and pixel alignment
+ minor rename
+ fix missing bitmap in DRC panel
2021-01-11 23:31:25 +00:00
Michael Kavanagh dc83cb7a41 Icons: general tweaks and pixel alignment
+ remove some unused icons
2021-01-11 23:31:25 +00:00
Seth Hillbrand c09dc5abdd Prevent locking items in footprint editor
Adding footprints to the board now has a preference for whether we want
pads locked or unlocked by default
2021-01-11 11:23:26 -08:00
Jeff Young a4d417f5c0 Get rid of "drill" terminology when talking about finish hole size.
Fixes https://gitlab.com/kicad/code/kicad/issues/7044
2021-01-11 13:49:43 +00:00
RigoLigoRLC 493a784b62 Fix Pcbnew search "not found" prompt not displayed
Before this, "Searching..." prompt will not go away if nothing was found
in a search session. A bug I noticed while working on !611. After this
fix, "foo not found" will be displayed when Pcbnew cannot find the
given text.
2021-01-11 13:48:20 +00:00
RigoLigoRLC dd328d230b Make Pcbnew search about zone names, fixes #6951
I put zones in "other text items" category of searching as I thought it
would be the appropriate one.

Fixes https://gitlab.com/kicad/code/kicad/issues/6951
2021-01-11 13:48:20 +00:00
Jeff Young 7134ff2da6 Try a different arrangement of Board Setup pages. 2021-01-11 11:50:14 +00:00
Jeff Young 9ce6c2be80 Group global editors under tools menu.
Also improves some terminology in Remove Unused Pads.
2021-01-11 11:50:14 +00:00
jean-pierre charras daae68a6b8 French translation update.
Fix also a typo in 2 I18n strings.
2021-01-09 14:54:43 +01:00
Jeff Young 7716f20a5b Disentagle board edges from graphics in global delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/7024
2021-01-09 13:47:24 +00:00
Jeff Young 8fffb75347 Allow custom pads with 0-sized anchor pads.
(Surprisingly we used to in 5.1, so this is a regression.)

Also had to go back to the nag dialog as on a small screen the infobar
comes up behind the dialog.  A lot of the errors have also been turned
into warnings, so the overall effect should still be to reduce nagging.

Fixes https://gitlab.com/kicad/code/kicad/issues/6992
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
jean-pierre charras bf332b3189 Fix minor compil warnings 2021-01-07 20:55:24 +01:00
Jeff Young 01fe3b91e9 Implement locking for graphic shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6972
2021-01-07 17:39:18 +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
Jeff Young ad8136541b Improve layout and terminology of Remove Unused Pads.
Also removes the limitation of removing outside layers for pads.
It's already supported in Pad Properties so it's odd to not support
it here.
2021-01-07 01:27:12 +00:00
Jeff Young f372c8025b Better sizing for some conditional dialogs.
These dialogs don't have growable features but do have conditional
features, so the size is better adjusted automatically by the code
then by the user.
2021-01-07 01:27:12 +00:00
Jeff Young 8aeaaf99ef Disable net selector for non-free vias.
Also moves the checkbox up so this relationship is clearer.

Fixes https://gitlab.com/kicad/code/kicad/issues/6967
2021-01-06 15:49:12 +00:00
Jeff Young 366c7096b3 More double- and triple-pointer erradication. 2021-01-06 14:37:38 +00:00
Jeff Young 426536c381 Don't show empty-net synthetic net in Net Inspector.
Also fixes an assert when deleting a net inspector row with no
parent row.

Fixes https://gitlab.com/kicad/code/kicad/issues/6962
2021-01-06 14:27:02 +00:00
Jeff Young c09d3b765a Slight improvement to error text for when drill is same size as pad. 2021-01-04 00:03:21 +00:00
Jeff Young 491fc2c8f2 Save DXF plot params to file and remove some dead code.
Fixes https://gitlab.com/kicad/code/kicad/issues/6720
2021-01-03 14:22:25 +00:00
jean-pierre charras a1d7a959f7 more fixes and enhancements in DIALOG_EXPORT_STEP. 2021-01-03 11:38:09 +01:00
jean-pierre charras 5db75805bd Step exporter: better values for min distance between 2 points to merge them.
- The default value is 0.01 mm (according to comments and similar to the 3D viewer
 settings that uses 0.02 mm)
- The export dialog  has now 3 values 1 micron, 0.01mm (default) and 0.1 mm
The 0.1 micron option is removed: it makes no sense for a mechanical tolerance.
2021-01-03 11:01:03 +01:00
Michael Kavanagh 154e19b6e7 Icons: use common prefix for small 16x16 2021-01-02 23:16:33 +00:00
Jeff Young 419d8dcd6f Minor cleanup. 2021-01-01 23:42:44 +00: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
Seth Hillbrand f8f34982c0 Escape PCB text
Also keep a fail-safe for unescaping strings that are not previously
escaped

Fixes https://gitlab.com/kicad/code/kicad/issues/6901
2020-12-31 17:17:27 -08:00
jean-pierre charras a6a2dae480 Footprint editor: ensure the pad editor is closed before load a new footprint.
When editing a new footprint from the board editor, if the Footprint editor has the pad editor
open, there is a risk of crash when replacing the footprint in edit.

Fixes #6892
https://gitlab.com/kicad/code/kicad/issues/6892
2020-12-31 10:53:14 +01:00
Seth Hillbrand 5a3e5781bf Allow polygon drawing on edge cuts and courtyard
Prevents line splitting behavior needed in v5 when drawing polygons on
courtyards. Also provide property dialog with some smarts to handle
special layers

Fixes https://gitlab.com/kicad/code/kicad/issues/6900
2020-12-30 14:10:30 -08:00
Jeff Young efd16dca66 Fix a bunch of issues with group selection and highlighting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6686
2020-12-29 12:41:24 +00:00
Jeff Young f7a6dc26e9 Give GROUP_PROPERTIES_DIALOG its own files. 2020-12-29 12:41:24 +00:00
Jeff Young 1fc4523711 Remove pad-size-setting hack from PCB_PAINTER.
Also improves the pad warning and error messages, and moves a few
remaining nags from the setting infrastructure to the warning
infrastructure.

Fixes https://gitlab.com/kicad/code/kicad/issues/6141
2020-12-27 21:11:27 +00:00
Jeff Young 1579ce9f9e Separate net updating from Edit Tracks & Vias into a second pass.
Fixes https://gitlab.com/kicad/code/kicad/issues/6858
2020-12-27 16:35:38 +00:00
Jeff Young 7a081b7c04 Naming consistency. 2020-12-25 16:59:41 +00:00
Jon Evans 8a2667c4c3 PNS: Fix all segments by default (and make optional)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5920
2020-12-23 21:55:43 -05:00
Jon Evans 8c247fc97c PNS: Add a setting to disable posture solver
PNS: Prevent autoposture flutter when trail has little area

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6797
2020-12-23 21:02:17 -05:00
Jeff Young f30fa60ed7 Need to start with full layer set if we want to end up with any.
Fixes https://gitlab.com/kicad/code/kicad/issues/6822
2020-12-23 15:15:09 +00:00
Jeff Young e7f9f19469 Tie dimension properties together for better comprehension. 2020-12-22 16:03:20 +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 6848b1055e Make sure sorting is honoured on first display.
Fixes https://gitlab.com/kicad/code/kicad/issues/6295
2020-12-21 19:47:36 +00:00
Jon Evans 70c397a9b4 Implement free vias fully
CHANGED: manually-placed (stitching) vias won't have their nets automatically updated
(unless the via is placed directly on a track segment)

CHANGED: stitching vias can be placed on footprint pads and pick up their nets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5484
2020-12-20 16:29:50 -05: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
Jeff Young 06d4476d7a Fix graphics snapping in Footprint Editor.
Also improves the help text for the various selection modifier
options.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/4745
2020-12-19 00:21:28 +00:00
Jeff Young 01f6c90fac BOARD_CHANGED is only called after the previous board has been freed.
There is therefore no reason to remove the listener (and every reason
not to try).

Fixes https://gitlab.com/kicad/code/kicad/issues/6666
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 4bc12e7dcd Don't include plotters_specific.h where not needed
This avoids some very large rebuilds when a plotter class is changed.
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 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
Wayne Stambaugh aab3c936f0 Move headers from common folders to appropriate include folders round 2. 2020-12-17 11:44:03 -05:00
jean-pierre charras e4b60b03d1 fp editor: fix incorrect initialization of arc center when edited by the
graphic item properties dialog.
The arc center (in local coordinates) was initialized before the actual
value was calculated.
Fixes #6772
https://gitlab.com/kicad/code/kicad/issues/6772
2020-12-17 16:32:10 +01:00
Wayne Stambaugh 08cf9a1e20 Move headers from common folders to appropriate include folders round 1. 2020-12-17 08:12:18 -05:00
Jeff Young 1ca75c8fda Fix from code review for https://gitlab.com/kicad/code/kicad/-/merge_requests/562.
Fixes https://gitlab.com/kicad/code/kicad/issues/6747
2020-12-16 22:02:19 +00:00
Konstantin Baranovskiy 08730cf952 pcbnew: search hits counting fix
Fixes #6747
2020-12-16 18:02:24 +00:00
Jeff Young acfbcb4beb Make distinction between PCBNew-wide tools and Board-specific tools.
The old names were really hard to keep straight (even for me, who named
many of them).
2020-12-16 13:32:46 +00:00
jean-pierre charras dd3b5512ee PANEL_SETUP_LAYERS:do not disable the button "Add User Defined Layer".
For boards having 2 or 4 layers this button was disabled, that make no sense.
2020-12-14 17:47:55 +01: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 1db7ffad5e Formatting. 2020-12-13 11:42:03 +00:00
Jeff Young af841d1318 Pay attention to flashed layers when doing DRC layer switch.
Fixes https://gitlab.com/kicad/code/kicad/issues/6710
2020-12-11 17:58:36 +00:00
jean-pierre charras 224e33f8e1 DIALOG_TEXT_PROPERTIES: allows text rotation in 0.001 degree.
Fix also incorrect rotation (truncation) when displaying info in message panel
fot texts and pads.
2020-12-11 16:26:58 +01:00
Marek Roszko a4879e740a Don't request a full frame refresh when editing text properties (stop apperance flickering)
Seems like dead code, the commit should trigger just a canvas refresh.
2020-12-09 21:14:48 -05:00
Ian McInerney be4b6ec06a Cleanup compiler warnings 2020-12-09 23:13:33 +00:00
Wayne Stambaugh e0fb12488b Pcbnew: fix more minor text properties dialog layout issues. 2020-12-09 09:18:55 -05:00
Wayne Stambaugh ad02156aea Pcbnew: fix minor text properties dialog layout issues. 2020-12-09 07:58:32 -05:00
Seth Hillbrand fbc70511c7 GTK-require two-step in dataview
The before reset needs to be called in GTK prior to reseting the tree
otherwise, we will dereference items that may be cleared.

Fixes https://gitlab.com/kicad/code/kicad/issues/6672
2020-12-08 16:42:28 -08: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 b1f0bf7334 More consistent naming. 2020-12-08 13:05:39 +00:00
Marek Roszko e88d41f764 Add bulk add/remove mode flag to the BOARD_LISTENER
This attempts to fix performance when importing large changesets from schematics.
The appearance control is a BOARD_LISTENER that would otherwise redraw per item imported which may cause lockups
2020-12-07 22:04:13 -05:00
Jeff Young 1f3cdffe6b Fix clipping of optimizer slider on OSX. 2020-12-08 00:13:29 +00:00
jean-pierre charras 588fd5e267 Better fix than 86b631b3 2020-12-07 18:28:32 +01:00
Jeff Young 78129aabeb Fix another case of 413ff4525b. 2020-12-07 14:25:55 +00:00
jean-pierre charras f53958dd54 Pcbnew, PANEL_EDIT_OPTIONS: add helper messages to display info about LMB
click and the modifier keys actions.
2020-12-05 16:04:42 +01: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 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 e09271ca0e Fixes for hole clearance and hole-to-hole tests.
1) Separate out CONSTRAINT types
2) Filter both source and dest pads/vias for drilled holes when doing
   hole-to-hole checks.  We were checking the items being put into the
   DRC RTree, but not the items we were scanning.
3) Add hole clearance to Board Setup Constraints panel.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/4683
2020-11-29 23:35:23 +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
Jeff Young d3c952b122 Commit pending changes from grids.
Fixes https://gitlab.com/kicad/code/kicad/issues/6527
2020-11-28 11:44:05 +00:00
Jeff Young b3204a06fd Minor layout improvements to Router Settings dialog. 2020-11-26 17:41:09 +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 94de8ada97 Formatting and naming conventions. 2020-11-26 16:47:40 +00:00
Jeff Young 09587ef4fb Another attempt at GTK fix. 2020-11-26 00:05:57 +00:00
Jeff Young 96acb12295 Attempt to fix GTK compile issue. 2020-11-25 23:07:49 +00:00
Jeff Young b8414174af Duplicate Eeschema's select-ref-number strategy in PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/6504
2020-11-25 17:13:00 +00:00
Ian McInerney d50d728d19 Cleanup compiler warnings 2020-11-25 00:08:09 +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 2f3f4c209e Make sure DRC reports a missing board outline.
Fixes https://gitlab.com/kicad/code/kicad/issues/6481
2020-11-24 14:22:27 +00:00
Jeff Young da0d89645f Default to updating 3D models.
Also cleans up some user strings to try and make this clearer, and to help
translators make it clearer (neither of which is easy to do).

Fixes https://gitlab.com/kicad/code/kicad/issues/6475
2020-11-24 13:48:33 +00:00
Jeff Young 41aa97d0d2 Make translations a bit easier. 2020-11-23 22:09:15 +00:00
Jeff Young c9524e707e Don't load preferences from disk when init'ing PANEL_COLOR_SETTINGS.
It wipes out any changes that have been made in the SETTIGNS_MANAGER.

Fixes https://gitlab.com/kicad/code/kicad/issues/6339
2020-11-22 14:24:55 +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
Jeff Young b123318cf6 Encourage use of full DRC for board & footprint malformed outlines.
It shows much more detail.  Removes some nag dialogs and places
hypertext links in others.

Also fixes the auto-layer-showing to correctly show Edge.Cuts or
F.CrtYd or B.CrtYd for errors relating to them.

Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-20 17:24:52 +00:00
Werni 0e44f5128c Add const specifiers 2020-11-18 19:50:36 +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
Jeff Young 54427fd594 Make sure deleted text items are removed from view and selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/6407
2020-11-17 20:48:15 +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
Jeff Young 7933935b4a Naming conventions. 2020-11-16 00:04:55 +00:00
Jeff Young 42687a33ff Terminology and layout cleanup in PCBNew Edit Options 2020-11-15 20:23:15 +00:00
Jeff Young 61821f3ee4 GUI guidelines in PCBNew origin setup. 2020-11-15 20:23:15 +00:00
Jeff Young d094f86b1a Finish module cleanup (except for xpms). 2020-11-14 22:00:12 +00:00
Jeff Young 6e6f6a2d72 Use legacy boardThickness for via length when we don't have a stackup 2020-11-14 21:22:35 +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 666c11965a Clean up some more MODULE terms. 2020-11-14 19:56:06 +00:00
Jeff Young 7bd31d5237 Naming conventions. 2020-11-14 18:26:03 +00:00
Jeff Young ec020dd19f First-class support for filled shapes. 2020-11-14 01:40:32 +00:00
Jeff Young bdbb68f813 MODULE -> FOOTPRINT. 2020-11-13 16:04:03 +00:00
Jeff Young 3451ac3088 PCB_MODULE_T -> PCB_FOOTPRINT_T 2020-11-13 15:16:24 +00:00
Jeff Young 63a54d003e More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 522d64968e Yet more module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 9106cc19bf Yet another tranche of module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 2cc9dad4ff More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young fc9cf1d827 More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young 52a46341db More module -> footprint. 2020-11-13 15:16:24 +00:00
Jeff Young f5443de7f9 D_PAD -> PAD. 2020-11-13 15:16:24 +00:00
Jeff Young 84dd5108ba Remove some "class_" prefixes from files. 2020-11-13 15:16:23 +00:00
jean-pierre charras 72beaf1538 Pcbnew, DIALOG_BOARD_REANNOTATE: fix some cosmetic issues.
Fixes #6370
https://gitlab.com/kicad/code/kicad/issues/6370
2020-11-13 08:59:23 +01:00
jean-pierre charras 4d7aa2f9c9 Pcbnew, Pad properties dialogs: fix some issues related to chamfered rect shapes. 2020-11-12 20:13:28 +01:00
Wayne Stambaugh 43a4cf7957 Coverity fixes.
CIDs 309391, 310711, 310712, and 313055.
2020-11-12 08:15:49 -05:00
Jan Mrázek fc8bf6f0fe
Allow a user to remap layers in Eagle import
ADDED Allow for user mapping of layers in Eagle import
ADDED Support required and optional layers in the layer mapping dialog
ADDED Add base class for plugins supporting remappable layers
2020-11-12 11:37:04 +01:00
Jeff Young f7333ad64a Update some classnames including archaic zone names. 2020-11-12 10:31:25 +00:00
jean-pierre charras c78c8aadcf Pcbnew: fix incorrect tool tip.
Fixes #6356
https://gitlab.com/kicad/code/kicad/issues/6356
2020-11-11 18:39:28 +01:00
Wayne Stambaugh 87da9271a4 Minor Pcbnew dialog layout fixes. 2020-11-11 11:08:54 -05:00
Jeff Young 43001cae38 Simplify Net Inspector. (Remove via length and group sorting ctrls.)
Also renames files & classes to fit dialog title and updates method
names to match coding guidelines.
2020-11-11 14:41:17 +00:00
Ian McInerney d88eaaf477 Fix various compiler and Coverity warnings 2020-11-11 00:41:02 +00:00
Jeff Young 3a35a5d5f8 Make use of polymorphism for locking/unlocking.
Fixes https://gitlab.com/kicad/code/kicad/issues/6350
2020-11-10 22:12:48 +00:00
Jeff Young 13e939ffa0 More Module -> Footprint. 2020-11-10 21:20:03 +00:00
Wayne Stambaugh 48ab3a2819 Pcbnew: minor pad properties dialog layout fixes. 2020-11-10 15:44:23 -05:00
Wayne Stambaugh 010e147700 Pcbnew: minor geographical annotation dialog layout fixes. 2020-11-10 15:23:11 -05:00
Wayne Stambaugh bc0dcdd5ce Pcbnew: minor P&S router dialog layout fixes. 2020-11-10 14:56:29 -05:00
Wayne Stambaugh 3589efd759 Pcbnew: minor plot dialog layout fixes. 2020-11-10 14:40:45 -05:00
Wayne Stambaugh 4ea3914d4e Coverity fixes.
CIDs: 312996, 305508, 305509, 305510, 312992, 312997, 312994, 312995,
312968, and 306650.
2020-11-10 08:50:16 -05:00
Jeff Young 67095af043 Handle dimensions in Edit Text and Graphics Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/6340
2020-11-09 20:32:37 +00:00
Jeff Young 4dc877d0e9 Module -> Footprint. 2020-11-08 21:43:19 +00:00
Jeff Young 0ebea4be53 Cleanup and naming conventions. 2020-11-07 18:50:30 +00:00
Jeff Young bfd8a62852 Formatting and naming conventions. 2020-11-07 18:50:30 +00:00
jean-pierre charras 37fb422516 Pcbnew: make DIALOG_FIND translatable.
Fixes #6306
https://gitlab.com/kicad/code/kicad/issues/6306
2020-11-05 19:44:09 +01:00
Jeff Young a6552f14f1 Improve SNR (code, status bar and user messages).
Fixes https://gitlab.com/kicad/code/kicad/issues/6304
2020-11-05 16:38:04 +00:00
Jeff Young 82e495d202 Be more explicit about pad types to reduce fragility.
Fixes https://gitlab.com/kicad/code/kicad/issues/6300
2020-11-05 11:56:50 +00:00
jean-pierre charras 2b438cc909 French translation update and very minor I18n fixes. 2020-11-05 11:27:58 +01:00
Jeff Young daa0c3aaa1 Switch pad preview canvas to that of parent.
Fixes https://gitlab.com/kicad/code/kicad/issues/6228
2020-11-04 21:06:46 +00:00
jean-pierre charras 2ffa88d076 DIALOG_PAD_PROPERTIES: fix a few issues and a crash when no copper layers selected.
Fixes #6280
https://gitlab.com/kicad/code/kicad/issues/620
2020-11-04 13:13:08 +01:00
Marek Roszko 19deb7051a Fix C++17 form of static_assert added by a238209f3 (why does GCC allow it?) 2020-11-04 00:17:17 -05:00
Jon Evans 5579500bfa Code style fixes 2020-11-03 22:31:43 -05:00
Jon Evans 63059611f0 Minimize distinct translated strings 2020-11-03 21:53:06 -05:00
Oleg Endo a238209f3f Add group-by-suffix display option in net inspector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2469
2020-11-04 02:49:19 +00:00
Ian McInerney d5f83d2685 Ensure dimension units are updated when being placed
* Fix the display of dimension units in the properties dialog. It was
  previously not showing automatic units in the dialog.
* When placing dimension items (e.g. from paste or append), update the
  units to the board units when the dimension uses automatic units.

Fixes https://gitlab.com/kicad/code/kicad/issues/6267
2020-11-04 01:31:52 +00:00
jean-pierre charras 89e21d28f0 French translation update, and minor I18n fixes 2020-11-02 20:23:01 +01:00
Jeff Young 3b10d15835 Don't run hole offset check for pad with no copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/6255
2020-11-02 12:53:02 +00:00
Wayne Stambaugh 042e5956c2 Fix library table dialog tab labels. 2020-11-01 09:13:55 -05:00
Wayne Stambaugh cf59468de2 Fix library table dialog tab appearance in dark mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6236
2020-11-01 08:30:27 -05:00
Jeff Young 115fd1d7f3 Move track-to-zone testing to RTrees.
Also implemente pad-to-zone testing and removes the control in the
GUI (now that it's fast).
2020-10-31 15:45:41 +00:00
Jeff Young f1e9ecad41 Display full count in tab headers (even if actual list is truncated). 2020-10-31 15:45:41 +00:00
Seth Hillbrand 7e7ef82f55 Footprints not Modules 2020-10-30 16:52:17 -07:00
jean-pierre charras 4314e4dc93 Update French translation and fixes minor I18n issues. 2020-10-30 21:01:15 +01:00
Seth Hillbrand 238b3562d4 Don't translate HTML 2020-10-30 12:51:24 -07:00
Seth Hillbrand 7c94983758 Fix translation issue
We cannot use verb-based substitution in translated strings
2020-10-30 12:48:22 -07:00
jean-pierre charras 536bba294b Do not round a rotation angle to 0.1 degree.
Also ensure the rotation angle is not truncated when displaying
info for Footprints and Pads

Fixes #6058
https://gitlab.com/kicad/code/kicad/issues/6058
2020-10-30 17:59:04 +01:00
Seth Hillbrand 9ed6cdd943 Remove GITHUB plugins
KiCad github downloads are no longer supported

Fixes https://gitlab.com/kicad/code/kicad/issues/6182
2020-10-29 16:45:04 -07:00
jean-pierre charras 0ef480dc84 DIALOG_FOOTPRINT_PROPERTIES: fix an issue when selecting 0.0 orientation.
Allows also entering a rotation angle in 0.001 degrees
(The limitation to 0.1 degree is outdated since years)
2020-10-29 18:33:28 +01:00
jean-pierre charras 95811f9f22 Replace Module by Footprint in UI sentences. 2020-10-28 08:06:16 +01:00
jean-pierre charras a7ba5ea9c8 DIALOG_PAD_PROPERTIES: fix a few issues found for flipped pads after edition:
Incorrect y offset.
Incorrect rounded/chamfered corner positions
2020-10-27 15:32:29 +01:00
Roberto Fernandez Bautista 4ea8f29a43 Fix typo causing custom shaped pads to be flipped when opening the pad properties dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6180
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista d75151a847 Replace some errors with warnings in pad properties dialog 2020-10-27 11:33:35 +00:00
Werni a7d5d1f091 Add more consts all over the place 2020-10-27 11:03:35 +00:00
Jeff Young ce5fbb0c58 Small performance boost and fix a bug between tracks and arcs. 2020-10-26 15:36:07 +00:00
Jeff Young 9b79272111 Fix firstRun special case so we don't continue to check zones.
Also don't leave up zone checking progress reporter after it has
been cancelled.

Fixes https://gitlab.com/kicad/code/kicad/issues/6077
2020-10-26 15:36:07 +00:00
Marek Roszko 14c18b7e64 Move ui functions out of common and into ui_common 2020-10-25 20:01:12 -04:00
Marek Roszko 91e5611341 Move dialog_configure_paths.h and dialog_edit_library_tables.h to dialogs folder 2020-10-25 20:01:12 -04:00
Marek Roszko e49ac45b84 HTML_MESSAGE_BOX is a dialog 2020-10-25 20:01:12 -04:00
jean-pierre charras d6f91c810f Fix a few compil and Coverity warnings. 2020-10-25 10:02:07 +01:00
Marek Roszko e928b2d8fd Split EDA_UNITS out from common. 2020-10-25 00:02:52 -04:00
Marek Roszko 81a7afc76e Use kicad_algo directly rather than common.h 2020-10-24 08:53:11 -04:00
Marek Roszko 304e5faf36 Move wxStringSplit to kicad_string 2020-10-24 00:17:07 -04:00
Marek Roszko 1d559108c8 Move LOCALE_IO out of common.h 2020-10-23 21:49:42 -04:00
Jeff Young b683871d93 Commit file missing from earlier commit. 2020-10-23 23:55:45 +01:00
jean-pierre charras 15369915cc Minor code cleanup: move "extern" declarations to convert_drawsegment_list_to_polygon.h 2020-10-23 08:48:52 +02:00
Wayne Stambaugh d8ffea881e Improve dialog static sizer box consistency.
Remove colons from the end of static sizer box labels from a few dialogs so
they are consistent with all dialogs.
2020-10-22 22:00:04 -04:00
Jeff Young 82ede1d767 Fix a couple more instances of "auxilary origin".
Fixes https://gitlab.com/kicad/code/kicad/issues/5394
2020-10-22 22:31:07 +01:00
Jeff Young 27e156917e Fix tooltip. 2020-10-22 21:47:23 +01:00
Jeff Young cce557b9ad Redo the board-edge-building logic to return better error reports.
Fixes https://gitlab.com/kicad/code/kicad/issues/6119
2020-10-22 21:29:04 +01:00
jean-pierre charras c87faad344 Python compatibility: move DXF_PLOTTER::DXF_UNITS to DXF_UNITS in pcb_plot_params.h
Fixes #6034
https://gitlab.com/kicad/code/kicad/issues/6034
2020-10-21 18:29:53 +02:00
Seth Hillbrand f8a4edb1c9 First pass renaming module to footprint
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Ian McInerney 06bf7943b7 Minor warning fixes 2020-10-21 00:30:50 +01:00
Jeff Young f6f4768b64 Add some escaping to syntax help. 2020-10-20 22:26:47 +01:00
Jeff Young 3d1ab10eb5 String consistency.
Fixes https://gitlab.com/kicad/code/kicad/issues/5394
2020-10-20 22:26:47 +01:00
Seth Hillbrand 2a43b88115 Standardize PostScript capitalizaiton 2020-10-20 13:09:13 -07:00
Seth Hillbrand 4085757aeb Remove beginning/ending spaces in translations
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Jeff Young 229a505b11 Only suppress all-green (0) error counts when DRC hasn't been run. 2020-10-20 16:57:56 +01:00
Jeff Young f772e49d25 Adjust DRC badge spacing on OSX.
Also added dynamic badge sizing based on number of digits.
2020-10-20 16:57:56 +01:00
Ian McInerney 7c9acc605d Introduce a new number badge UI element for DRC and ERC reporting
This new badge allows for proper UI scaling and will not cut off
the number being displayed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5734
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6011
2020-10-20 02:35:48 +01:00
Jeff Young 725082786e Move ERC dialog to DRC architecture.
This is mainly to remove the annotation nag dialogs in favour of the
HTML links.  But it also allows you to see more than a few messages,
and implements a progress reporter architecture if the ERC checks ever
get slow enough to benefit from it.
2020-10-19 15:17:49 +01:00
Jeff Young b12937af65 Accurately reflect disabled router settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/5999
2020-10-19 12:49:33 +01:00
Michael Kavanagh e826a4494a Auto-select first item in layer mapping dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/5942
2020-10-18 23:50:07 +00:00
Jon Evans 2e50723781 Ensure preview pad has access to parent board design settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6057
2020-10-18 15:27:30 -04:00
jean-pierre charras f6b4b66a86 Avoid include wx/wx.h in many files that do not actually use this include.
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Jeff Young 8c68857f02 Add immediate mode to WX_HTML_REPORT_BOX for use as progress messages.
Fixes https://gitlab.com/kicad/code/kicad/issues/6052
2020-10-18 14:20:36 +01:00
Jeff Young c5d45f8a78 Move DRC dialog to same DRC rule reporting mechanism as inspectors. 2020-10-17 20:40:05 +01:00
Jeff Young 51ab639ce4 Implement a better interface between inspectors and DRC rule editor. 2020-10-17 10:58:08 +01:00
Jeff Young eea7957e16 Inform user of bad DRC rules when filling zones.
ADDED: facility for hypertext links in infobar.

Also made use of this for via constraint errors when routing.

Fixes https://gitlab.com/kicad/code/kicad/issues/5800
2020-10-16 12:44:20 +01:00
Jeff Young 834c7bbe05 Report lexer issues through error reporter. 2020-10-16 12:44:20 +01:00
Jon Evans 4b436fa573 PcbNew: Improved DRC marker display
Add shadows and slightly reduce size

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5936
2020-10-15 22:39:13 -04:00
Marek Roszko a1c75748a0 Remove GetChars(), a wxWidgets 2.9 compatibility hack 2020-10-15 20:53:25 -04:00
Marek Roszko b9f1601418 Rename PLOT_MODE to OUTLINE_MODE 2020-10-15 19:33:18 -04:00
Marek Roszko eb33c33f15 Rename EDA_DRAW_MODE_T to PLOT_MODE 2020-10-15 19:30:07 -04:00
Marek Roszko 52a12c6ccd Remove kicad_string.h from footprint_info.h 2020-10-15 18:39:43 -04:00
Jeff Young 92d84b0d67 Naming updates. 2020-10-15 01:35:16 +01:00
Marek Roszko 12d21e34e2 Remove trigo.h from eda_text.h 2020-10-13 23:37:48 -04:00
Jon Evans 19fb1a92ce Expose grid axes color control
Note: axis thickness is currently calculated from grid line
thickness.  I'm not adding a separate control for it as
requested in the original issue right now, but if we determine
that we need a separate control it can be added.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2353
2020-10-13 21:27:09 -04:00
Marek Roszko 2c86363aa0 Relocate the page_layout includes to a page_layout folder 2020-10-13 20:33:33 -04:00
Jeff Young 505d764f25 Set board modify bit only when necessary after Board Setup.
Fixes https://gitlab.com/kicad/code/kicad/issues/5685
2020-10-13 23:11:29 +01:00
Jeff Young ef3b7052e0 Remove layer nag dialogs and just ignore non-shapes on Edge_Cuts.
Fixes https://gitlab.com/kicad/code/kicad/issues/5812
2020-10-13 20:22:31 +01:00
Jeff Young 58ba5a5cc1 Add some more syntax examples.
Fixes https://gitlab.com/kicad/code/kicad/issues/5963
2020-10-13 10:18:34 +01:00
Jeff Young 1024584cac Don't show netclass placeholders in track & via props dialog.
We have a separate checkbox for that.

Fixes https://gitlab.com/kicad/code/kicad/issues/5951
2020-10-12 18:57:00 +01:00
Jeff Young 32dffd27ab Add silk clearance to board setup constraints. 2020-10-12 18:31:00 +01:00
Michael Kavanagh c40483d18a Cleanup: Move KiCad files into plugins folder 2020-10-12 16:36:08 +00:00
Jeff Young 42eecdfd3a Collapse silk constraints down to one.
Also updates the rule syntax help and code-completion with a bunch
of diff-pair and other stuff that hadn't been updated yet.
2020-10-11 13:19:23 +01:00
Jeff Young 614d452f12 Resolve trackwidth[0]/viasize[0] to be the netclass values.
If we don't have a netclass use the default netclass.

Fixes https://gitlab.com/kicad/code/kicad/issues/5957
2020-10-11 00:54:49 +01:00
jean-pierre charras 213a74cbe6 Gerber, Dialog plot: add option to disable Aperture Macro use.
Some broken Gerber readers cannot handle Aperture Macros without errors
although this feature exists since the beginning of RS274X format.
2020-10-10 16:42:21 +02:00
Jeff Young e1eabac5e2 Fix name-change in DRC rules syntax help. 2020-10-09 11:31:30 +01:00
jean-pierre charras 7f1c376128 Fix a minor wxWidgets alert 2020-10-09 08:40:47 +02:00
Jeff Young 5ee302d2dc Fix spacing issue in Plot dialog. 2020-10-08 18:11:06 +01:00
Jeff Young 2f49db49bf Fix fly-off arc handles and move Arc Properties to start/end/angle.
Fixes https://gitlab.com/kicad/code/kicad/issues/5791
2020-10-08 11:33:32 +01:00
Jeff Young 75185f6723 Don't allow negative line widths for grahpic shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/5599
2020-10-07 18:30:55 +01:00
Jeff Young cfc636d25f Minor adjustments to DRC syntax help. 2020-10-07 16:31:55 +01:00
Michael Kavanagh 42496a7d62 Convert DRC rules syntax help to markdown
Note, the original markdown spec specifies using 4 spaces to indent a
code block (https://daringfireball.net/projects/markdown/syntax)

Wrapping with three backticks doesn't work with this lib. Wrapping
with a single backtick for span elements works ok.
2020-10-06 17:18:35 +00:00
Ian McInerney 43c14face0 Switch to showing metric/imperial units in comboboxes and menus
This will always show 1 unit from each system, with the primary unit
being the current frame unit and the secondary unit being the
most recent unit used from the other system. These are saved in
the settings, so they are saved between runs.
2020-10-05 20:26:33 +01:00
Jeff Young 37906511f5 Class renaming.
DRAWSEGMENT  -> PCB_SHAPE
EDGE_MODULE  -> FP_SHAPE
TEXTE_PCB    -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Ian McInerney 8b0fb9f4cf Remove units and polar settings from the preferences panels
These options are already available in menus, toolbars and hotkeys,
so having them in the preferences pane is more trouble than it is
worth.
2020-10-04 17:53:55 +01:00
Ian McInerney 5828416960 Simplify area printing in the board statistics dialog
Store the board area in IU, and then convert it to the user
units on display using the common unit printing functions.
2020-10-04 17:53:55 +01:00
Ian McInerney ad29a2f3b4 Update more places to properly display mils 2020-10-04 17:53:55 +01:00
Jeff Young 7a4900b8dc PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Jeff Young 85c6cebd77 Rework silk-to-pad checker to handle all solder mask clipping of silk.
Fixes https://gitlab.com/kicad/code/kicad/issues/5851
2020-10-04 13:21:01 +01:00
jean-pierre charras ba8b8d2738 Fix incorrect vertical position of some ckeckboxes in some wxGrid used in dialogs 2020-10-04 10:34:31 +02:00
Mikolaj Wielgus d14761bee6 Fix inches being sometimes used instead of mils 2020-10-03 20:06:56 +00:00
Mikolaj Wielgus 400c15b8eb Add mils to units, remove useMils variables 2020-10-03 20:06:56 +00:00
jean-pierre charras 3144bab36f final cleanup about removing useless include 2020-10-03 16:40:36 +02:00
Jon Evans 716598ac24 Layout tweaks to CADSTAR layer mapping dialog 2020-10-02 22:17:08 -04:00
Roberto Fernandez Bautista 72d9a36fd6 ADDED: Dialog to handle import of unmatched layers from CADSTAR 2020-10-03 01:21:57 +00:00
Jon Evans 45d7f2b6f5 Expose via holes to color theme properly 2020-10-02 21:12:59 -04:00
jean-pierre charras 8285110c2a more cleanup about removing useless include 2020-10-02 08:58:19 +02:00
Jeff Young 803f53d6b2 Don't reload DRC lists on activate event.
Fixes https://gitlab.com/kicad/code/kicad/issues/5701
2020-10-01 22:45:54 +01:00
Jon Evans 4dda3a1715 Don't allow editing design rules without a project
Also fix a crash initializing DRC engine on an empty board

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5835
2020-09-30 19:12:26 -04:00
Jon Evans 8fad4bb34c Remove ratsnest visibility from PcbNew preferences
Ratsnest visibility is a quick toggle, not a preference

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5261
2020-09-30 19:12:26 -04:00
Jeff Young 6abe68fff0 Cleanup. No changes to execution. 2020-09-30 23:07:12 +01:00
jean-pierre charras 3f8c9d49f8 Revert "Code cleanup: remove useless wx/wx.h include inside a few files."
due to compil issue on Linux

This reverts commit cffccc3970.
2020-09-30 20:47:20 +02:00
jean-pierre charras cffccc3970 Code cleanup: remove useless wx/wx.h include inside a few files.
in most of files, including wx.h is not necessary, when only 2 or 3 wx files must be included.
Moreover, on windows, including wx.h sometimes create compil warnings about
shadowed vars defined in some specific windows headers.
2020-09-30 20:03:27 +02:00
Seth Hillbrand 12a30c43de Fix missing refactor 2020-09-30 08:42:58 -07:00
Seth Hillbrand bf3cb0b1d0 Standardize pad type enums 2020-09-30 08:38:35 -07:00
Jon Evans 31549cdc10 Clean up some things about pad locking
Allow selecting pads on a locked footprint (but not editing)
Don't create point editor for pads that should be locked

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5829
2020-09-29 18:53:49 -04:00
jean-pierre charras 39d2a46b30 Avoid Pcbnew crash when double clicking in DIALOG_DRC on a error item. 2020-09-28 21:07:51 +02:00
Jeff Young f8875bc5a6 Move std::contains to alg::contains. 2020-09-26 14:42:40 +01:00
Jeff Young d7e80f8008 Add std::contains() to simplify a lot of code. 2020-09-26 12:40:32 +01:00
Jeff Young e32c113249 A bit more syntax help for layers. 2020-09-26 10:20:10 +01:00
Jeff Young b4672c64ea Fix Group Properties dialog grow behaviour. 2020-09-25 21:14:08 +01:00
Jeff Young 6fde9ea8a5 Don't leave stale pointers in groups when exchanging modules.
Also simplifies groups so that other areas of code that have to know
about them at least don't have to know as much. One of the simplifications
is to not worry so much about empty groups until save time; others are in
the access logic to parent groups.

Also simplifies user model slightly by removing Merge and Flatten
(which are just ungroup/group and ungroup/ungroup/.../group).

Also allows multiple groups to have the same name.  This is useful when
using groups for a classification system.

Fixes https://gitlab.com/kicad/code/kicad/issues/5788
2020-09-25 18:43:19 +01:00
Jon Evans 0783669633 CHANGED: Design rules files now use .kicad_dru extension
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5763
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5444
2020-09-24 21:26:23 -04:00
Seth Hillbrand 9937f52f06 Fix crash when not wrapping search
The iterator at the end of the search is already set the end(), so we
cannot increment it safely
2020-09-24 15:57:49 -07:00
Wayne Stambaugh feeb925e61 Pcbnew: add user defined layer colors to color preferences panel. 2020-09-24 13:51:18 -04:00
Wayne Stambaugh 564f363c57 Pcbnew: fix user defined layer bugs. 2020-09-24 10:19:10 -04:00
Jeff Young 5ad76a237e Moving checking the rules up a level so we can properly exit DRC dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/5778
2020-09-24 15:17:46 +01:00
Jeff Young dba42ebed0 ADDED Properties Dialog for groups.
ADDED memberOf() function for DRC rule expressions.

Also fixes a bug in several of the pickers where the event wasn't
being correctly passed.

Fixes https://gitlab.com/kicad/code/kicad/issues/5647
2020-09-24 14:41:02 +01:00
jean-pierre charras aa6158a9fb fix a minor wxWidgets alert 2020-09-24 10:18:28 +02:00
Wayne Stambaugh 188232de6f Pcbnew: add user defined layers and allow all layers to have user names.
This changes the file format.  All previous copper layers that had a user
defined name are forced back to the canonical name and the user defined
name is stored as an optional quoted string in the layer definition and
only used for UI and plotting purposes.  All copper object layer names
are now the canonical name for internal file use.

ADDED: Nine new user definable non-copper layers that can be optionally
added to the board layer stack.

CHANGED: All board layers can now be renamed by the user.

CHANGED: User defined layer names can now contain space characters.

Fixes https://gitlab.com/kicad/code/kicad/issues/1969
2020-09-23 15:41:43 -04:00
Jeff Young 660cdcb056 More defensive coding for wxDataViewCtrl selection access.
Fixes https://gitlab.com/kicad/code/kicad/issues/5747
2020-09-23 20:31:48 +01:00
Jeff Young e0ee420cb6 Add cross-reference processing to dimension prefix and suffix.
Fixes https://gitlab.com/kicad/code/kicad/issues/5752
2020-09-23 18:01:50 +01:00
Jeff Young 8b2dd76efe Update syntax help. 2020-09-23 17:52:44 +01:00
Jeff Young 6dae769944 Progress reporting for connectivity tests.
Also makes via annulus terminology more consistent.
2020-09-23 16:28:00 +01:00
Jeff Young 167ae374fd Don't allow two DRC runs at the same time.
Fixes https://gitlab.com/kicad/code/kicad/issues/5745
2020-09-23 14:10:07 +01:00
Jeff Young 6d18f20093 ADDED constraints reporter for diagnosing constraints.
Also fixes an issue with via type property and makes property
comparisons in rule case-insensitive.

Fixes https://gitlab.com/kicad/code/kicad/issues/5754
2020-09-23 01:14:35 +01:00
Jon Evans 18e17abd6a Rename "Keepout" to "Rule Area"
These objects can now be used in advanced DRC rules and
not just for keeping things out.  Also remove the restriction
that at least one of the "basic" keepout rules must be set,
so that these areas can be used for more advanced rules.
2020-09-21 23:55:02 -04:00
Ian McInerney b1160660d9 Check return value for zone fill in VRML exporter
If the zone fill failed, then don't add the zone to the
exported VRML because it might not be correct.

Also test that the Python command in DIALOG_SCRIPTING worked.
This dialog actually isn't used anywhere currently, so it
could in theory be removed - but it is simple enough and
it provides a decent testing dialog that it is more work to remove
it.
2020-09-21 12:32:30 +01:00
Jeff Young 6020b70596 Display green badge for zero errors or zero warnings.
Fixes https://gitlab.com/kicad/code/kicad/issues/5735
2020-09-21 11:59:27 +01:00
Jeff Young c6fb799fcd Restore severity in saved DRC/ERC reports.
Fixes https://gitlab.com/kicad/code/kicad/issues/5733
2020-09-21 11:59:27 +01:00
Jeff Young 1b77c4c270 Mention rule priority system in Syntax Help and Clearance Report.
Fixes https://gitlab.com/kicad/code/kicad/issues/5647
2020-09-21 11:59:27 +01:00
Jeff Young 865249c227 Handle two panels both referencing same colour theme.
Fixes https://gitlab.com/kicad/code/kicad/issues/5185
2020-09-21 11:59:27 +01:00
Jeff Young 650cff5b39 Shorten solder mask alert and provide a link for fixing.
Fixes https://gitlab.com/kicad/code/kicad/issues/4798
2020-09-20 21:26:39 +01:00
Dominik Wernberger 884bed7e12 Fix that all file types are shown in file dialog 2020-09-20 16:04:44 +00:00
Jeff Young 1039fb1bc5 Minor refinement to Import Settings from Board dialog.
Also some defensive code to protect against an ASAN stack buffer
underflow.

Fixes https://gitlab.com/kicad/code/kicad/issues/5660
2020-09-20 13:55:59 +01:00
Jeff Young ad2407867a Disable Save Report while DRC is running.
Fixes https://gitlab.com/kicad/code/kicad/issues/5723
2020-09-20 13:55:58 +01:00
Jeff Young e27ff1dd3c Add Select All to multi-line text properties. 2020-09-20 13:55:58 +01:00
Ian McInerney 89dcc46898 Coverity cleanup and remove unused variables 2020-09-20 02:20:41 +01:00
Jeff Young 4558aff24b Add textVar cross-reference support to Dimensions.
Also adjusts spacing in the dialog.

Fixes https://gitlab.com/kicad/code/kicad/issues/5664
2020-09-19 20:42:30 +01:00
Jeff Young 0763a8962c Implement boolean not processing in expression language.
Also adds some more error catching to be more robust in the face
of malformed customer rules.

Fixes https://gitlab.com/kicad/code/kicad/issues/5694
2020-09-19 12:08:18 +01:00
Jeff Young 2799faf52b Add syntax example using "not".
Fixes https://gitlab.com/kicad/code/kicad/issues/5694
2020-09-18 22:39:51 +01:00
Jeff Young 67b5d24995 Support ESC & Cancel for DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/5698
2020-09-18 22:14:00 +01:00
Jeff Young f340636f70 When knocking out higher-priority zone use fill, not outline.
Also fixes a bunch of naming issues, primarily with lowercase for
protected variables, but also some for consistency with other parts
of the code.

Also changes the zone fill radio buttons in Board Setup to be more
generic referring to legacy vs. current, and to have tooltips.

Fixes https://gitlab.com/kicad/code/kicad/issues/5583
2020-09-18 16:45:41 +01:00
Jeff Young e202dba386 Be careful not to unload current project if settings imported from it.
Fixes https://gitlab.com/kicad/code/kicad/issues/5684
2020-09-17 20:56:51 +01:00
Jeff Young 7b2a111a1c Implicit rules go first so that other rules will take priority.
Fixes https://gitlab.com/kicad/code/kicad/issues/5687
2020-09-17 20:13:39 +01:00
Jeff Young a3d65a2b43 Smoother progress reporting for DRC checks.
Also moves Messages tab out to an overlay, and restores the longer
messages now that messages are no longer a textbox in the upper right.
2020-09-17 20:13:39 +01:00
Jon Evans e9b627bfd8 ADDED: Center marker dimension type 2020-09-16 20:55:11 -04:00
Jeff Young 2b43ffd12d Better error reporting; better nullptr safety.
Also clears the marker lists before running a DRC, and sets
the drcRun flags afterwards so that the notebook tab counts
get updated.

Fixes https://gitlab.com/kicad/code/kicad/issues/5659
2020-09-16 22:14:41 +01:00
Jeff Young ce3819abf8 Remove redundant clearances from DRC dialog. Fold progress bar in. 2020-09-16 16:06:29 +01:00
Jon Evans 75ffce1a0b ADDED: Leader dimension object
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5555
2020-09-15 23:37:38 -04:00
Jeff Young cdbe2fd2d2 User terminology specific to Change Footprint/Symbol.
Also implements separate session settings for the reset checkboxes
for Change Footprint and Update Footprint.

Fixes https://gitlab.com/kicad/code/kicad/issues/5614
2020-09-16 00:15:26 +01:00
Jeff Young b6a8e165c3 Don't allow schematic/pcb DRC tests when in standalone mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/5635
2020-09-15 21:14:11 +01:00
Jeff Young e2e229da96 Finish exorcising the old DRC system.
This moves the various BOARD_ITEM calls to the new system, and make
the DRC_ENGINE long-lived so that it can field those queries.
2020-09-15 20:15:46 +01:00
Jeff Young 514da2f886 Move DRC dialog to new DRC engine. 2020-09-14 22:39:36 +01:00
jean-pierre charras 4cda653dbd dialog_drc: fix a minor issue when saving dialog drc options.
Fixes #5623
https://gitlab.com/kicad/code/kicad/issues/5623
2020-09-14 17:45:39 +02:00
Jon Evans 2380c4384a Fix alignment of label in dimension properties 2020-09-12 13:16:20 -04:00
Jon Evans 3940e20fcb Expose extension offset and zero suppression settings 2020-09-12 11:52:59 -04:00
Jon Evans 0347515cec Support text expansion in dimensions 2020-09-12 10:23:19 -04:00
jean-pierre charras a98ea2fb2e Fix a minor wxWidgets alert. 2020-09-12 10:52:12 +02:00
Jon Evans 0e9997d9ca Add new dimension features to board design defaults 2020-09-11 21:12:36 -04:00
Jon Evans 76c4c959e6 Implement new dimension properties
- Automatic units mode (follow UI units)
- New text and number formatting options
- Automatic/manual text orientation control
- New text positioning options (inline and manual)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4280
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4497
2020-09-11 21:12:36 -04:00
Jon Evans f1b7903a7d WIP: Implement new dimension properties 2020-09-11 21:12:36 -04:00
Jon Evans ae7877c6cb Migrate dimension precision 2020-09-11 21:12:36 -04:00
Jon Evans b11e315d10 Refactor DIMENSION to hide internal details; add some new properties
This is a board file format change to account for the new properties.
Also, we now only store the critical information about the dimension's
geometry in the board, rather than storing every drawn line.

The DIMENSION object is now an abstract base, and ALIGNED_DIMENSION
is the implementation that exists today (we will add more dimension
types in the future)
2020-09-11 21:12:36 -04:00
Jon Evans 50b92379c8 Add new dimension properties dialog 2020-09-11 21:12:36 -04:00
Jeff Young cc86630f11 Start pulling new DRC engine into Kicad. 2020-09-11 16:04:11 +01:00
Jeff Young e31705d4b3 More source reporting for clearance rules. 2020-09-10 20:58:38 +01:00
Jeff Young 59c6635286 Add restrictions on copper layers for NPTH pads.
Also updates the stackup graphics to include NPTH pads.

Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-09 10:22:17 +01:00
Jeff Young c090f1b646 Add restrictions on copper layers for NPTH pads.
Also updates the stackup graphics to include NPTH pads.
2020-09-09 01:49:50 +01:00
Jeff Young ab71ef9ec5 Try a different strategy at getting wxWidgets to honor stackup bitmaps.
Fixes https://gitlab.com/kicad/code/kicad/issues/5559
2020-09-08 23:34:43 +01:00
Jeff Young 0ec4c4fe65 A more targetted fix at the focus issue.
Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-08 22:35:04 +01:00
Jeff Young 5d304cfa2a Uniformly apply focus hack to auto-preview.
Since the feature is controversial this also moves it into a single
function so that it's easy to disable.

Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-08 22:19:29 +01:00
jean-pierre charras 2335a58f5d DIALOG_FOOTPRINT_XX_EDITOR: fix incorrect position of checkboxes.
In 3D settings panels, due to a bug in wxWidgets 3.1.4, the checkboxes
controlling the 3D model visibility were not correctly put at the right Y position
2020-09-08 16:11:00 +02:00
Jon Evans 11e61db03d Don't change preview notebook selection when editing
This causes focus change (on GTK at least), plus the user might
not want the notebook to change in the first place.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5477
2020-09-07 12:08:40 -04:00
Michael Kavanagh ad1ef9f4c9 Pcbnew: Enable resize of net inspector columns
Fixes https://gitlab.com/kicad/code/kicad/issues/5467
2020-09-07 05:34:37 +00:00
Jeff Young a1e8ecc616 Beat wxWidgets into submission.
Fixes https://gitlab.com/kicad/code/kicad/issues/5534
2020-09-06 22:38:23 +01:00
Jeff Young 5b81c6c70f Fix typo. 2020-09-05 18:51:19 +01:00
Jeff Young e782794f96 Flesh out object properties and DRC Rule syntax help. 2020-09-05 17:44:59 +01:00
Jeff Young 5e9ec82642 Correctly resolve textVar refs in worksheet items in ERC.
Also fixes a null-ptr bug in DRC.

Fixes https://gitlab.com/kicad/code/kicad/issues/5506
2020-09-04 21:38:07 +01:00
Jeff Young 3573c8b967 ADDED hotkey for comment/uncomment line(s) in Scintilla.
Useful primarily for DRC Rules editor.

Fixes https://gitlab.com/kicad/code/kicad/issues/5480
2020-09-03 20:37:05 +01:00
Jeff Young e535489a0a Pad settings need to be copied to both master *and* edited pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/5447
2020-09-03 15:03:09 +01:00
Jeff Young eccb1e612e Refresh net annotations on tracks, pads, etc. when name changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/5466
2020-09-03 15:03:09 +01:00
Jeff Young 450519a4bd Sometimes a DRAW_PANEL_GAL wants its immediate parent and sometimes not.
For instance, we get things like high-contrast-mode from the pad
dialog when rendering a pad preview, but we want the colours from the
parent PCB_BASE_FRAME.
2020-09-03 15:03:09 +01:00
Jeff Young 70b74b1fcd Add comment syntax to Rule Syntax Help
Fixes https://gitlab.com/kicad/code/kicad/issues/5458
2020-09-02 15:21:51 +01:00
Jeff Young ac73c99842 Code completion for netclasses and netnames.
Fixes https://gitlab.com/kicad/code/kicad/issues/5441
2020-09-01 18:36:58 +01:00
Mark Roszko a9532c2fa1 Add browse button to footprint 3d settings
Add normalization to 3d settings and footprint library table editor
2020-09-01 02:00:38 +00:00
Jeff Young 2697fc3864 Remove canvas-switching from OSX.
The Cairo renderer doesn't work on Retina displays.

Fixes https://gitlab.com/kicad/code/kicad/issues/4788
2020-08-31 18:48:25 +01:00
Jeff Young 452171e055 Remove more dead code (mostly includes). 2020-08-31 17:29:44 +01:00
Jeff Young 6488260185 Fix another signed/unsigned compare which will never work. 2020-08-31 17:29:44 +01:00
Jeff Young cfdf818878 Remove long-dead vestiges of DRC checks on Edit Tracks and Vias. 2020-08-31 17:29:44 +01:00
Jeff Young 1fa96b794a Update some strings for Appearance manager.
Fixes https://gitlab.com/kicad/code/kicad/issues/5431
2020-08-31 16:38:11 +01:00
Jeff Young 88635ee5b6 Clean up error messages.
Convert a lot of nags to InfoBar errors/warnings/messages, and some
that never should have been exposed to wxFAIL_MSGs.
2020-08-31 14:19:57 +01:00
Jon Evans 9f7bca38b3 A better way of handling standalone project files 2020-08-30 16:04:39 -04:00
Jeff Young 305abb210f Add a mode to allow zone smoothing to produce external fillets.
Fixes https://gitlab.com/kicad/code/kicad/issues/5306
2020-08-30 15:20:59 +01:00
Jeff Young cc64709407 Reimplement skip-parent-page to work with MacHack.
This prevents the "leaking" pages where the layers panel is shown
in the background of all other panels.

Fixes https://gitlab.com/kicad/code/kicad/issues/5182
2020-08-29 20:53:53 +01:00
Jeff Young 12926723d7 Add file omitted from an earlier commit.
Fixes https://gitlab.com/kicad/code/kicad/issues/5407
2020-08-29 20:13:41 +01:00
Jeff Young c241b0716a Fix wxWidgets assert.
Fixes https://gitlab.com/kicad/code/kicad/issues/5407
2020-08-29 17:26:48 +01:00
Jeff Young f005977aab Minor simplification to custom colour theme GUI for print/plot dialogs. 2020-08-28 14:15:58 +01:00
Jeff Young 9e12ea9bb6 Cleanup some dead code and make better use of iterators.
Also applies coding style around auto and lambdas.
2020-08-28 11:05:58 +01:00
Jeff Young e7db43285f ADDED new footprint fabrication attributes.
This commit also adds mapping of the new symbol properties
"exclude from BOM" and "exclude from board" to be correctly
handled in Update Board from Schematic.

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

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

Fixes https://gitlab.com/kicad/code/kicad/issues/2233
2020-08-28 11:05:58 +01:00
Seth Hillbrand f4e8c194be Revise restriction on No Copper setting
This allows the user to specify a NPTH with "No Copper", allowing a pad
to retain the mask layer without a copper landing.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/5237
2020-08-26 18:09:06 +00:00
Mark Roszko 1082402b33 Convert UNDO_REDO_T to an enum class 2020-08-26 18:04:32 +00:00
Reece R. Pollack a9c835275a Apply display origin transforms in Pcbnew dialog classes
This commit applies display origin transforms to all Pcbnew
dialog classes that use UNIT_BINDER for their formatting:

  * DIALOG_CREATE_ARRAY
  * DIALOG_FOOTPRINT_BOARD_EDITOR
  * DIALOG_GRAPHIC_ITEM_PROPERTIES
  * DIALOG_GRID_SETTINGS
  * DIALOG_MOVE_EXACT
  * DIALOG_PAD_PROPERTIES
  * DIALOG_POSITION_RELATIVE
  * DIALOG_TEXT_PROPERTIES
  * DIALOG_TRACK_VIA_PROPERTIES
2020-08-26 17:54:22 +00:00
Reece R. Pollack 5a5d99b018 Add Pcbnew Display Origin Transforms preferences panel
This commit adds support for the Display Origin Transforms preferences
selection panel. This panel allows the user to select the desired
coordinate origin, and the direction in which the axes increase.
2020-08-26 17:54:21 +00:00
Jon Evans 24435fcc62 Don't create new project files when opening boards/schematics
Display warning infobar in the board/schematic setup when no project
is loaded, since most of the settings in those dialogs are saved in
the project and not in the board/schematic file.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4868
2020-08-24 22:17:21 -04:00
Jeff Young 15c136ead2 Make a bunch of help dialogs modeless.
Fixes https://gitlab.com/kicad/code/kicad/issues/5334
2020-08-24 23:17:33 +01:00
Jeff Young 49ac89f72c Only paint pads on layers they appear on.
Also adds pad layer removal controls to Pad Properties dialog.

Fixes https://gitlab.com/kicad/code/kicad/issues/5320
2020-08-23 21:23:34 +01:00
Jeff Young 6edcc9d38f Resolve textvars in Pad Settings dialog. 2020-08-23 21:23:34 +01:00
Jon Evans 8e03d278f0 Fix buttons in appearance panel in MSW
Ensure we pass the focus back to the canvas when
closing dialogs that might have been launched from the
appearance panel

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5326
2020-08-23 15:48:48 -04:00
jean-pierre charras c196423192 fix a wxWidgets alert 2020-08-22 17:54:46 +02:00
Jeff Young c324c2cbf6 Make sure zone fills are up-to-date before deleting unconnected things.
Fixes https://gitlab.com/kicad/code/kicad/issues/5253
2020-08-21 20:32:19 +01:00
PJM dad3101107 Pcbnew: Verify path can be made relative before asking in plotter dialog
CHANGED: When the output path is set in the plotter dialog, the user is
asked if they want to make the path relative to the project.  The old
code would ask the user if they wanted to do this, and then if it
failed would present an error dialog.  The new code tries it first on
a copy, and only if it works does the user get asked if they want
to do it.

Fixes https://gitlab.com/kicad/code/kicad/issues/5263
2020-08-20 17:07:21 +00:00
Jeff Young 01bf395cc2 Make via cleaning options clearer.
Fixes https://gitlab.com/kicad/code/kicad/issues/5253
2020-08-19 11:56:28 +01:00
Jeff Young 88d76eaf62 Enforce Apple's destructive button distance guideline.
Also fixes a few errant icon buttons that were still setting a fixed
size.
2020-08-17 23:55:31 +01:00
Jeff Young e6a0732e64 Minor cosmetic issues. 2020-08-17 23:55:31 +01:00
Jeff Young 01eb8ad032 Better handling of excluded layers for Color Preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/5184
2020-08-17 23:55:31 +01:00
jean-pierre charras 5b365053db Fix a few I18n issues.
Especially, only ASCII7 chars can be used in messages.
Do not mark debug messages as I18n strings
2020-08-17 09:18:49 +02:00
Ian McInerney 4491f24d5e Ripout the old SyncToolbars infrastructure reminants
The tool framework no longer needs to request updates of the UI
state for the controls, wxWidgets will do it for us.
2020-08-16 19:10:26 +00:00
Ian McInerney 25f2a13157 Fix pcbnew/fpedit editing options panel
The panel was incorrectly saving the preferences for the footprint
editor.
2020-08-16 12:37:50 +01:00
Jon Evans bd14f8a82a ADDED: New appearance control widget for PcbNew
Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls

CHANGED: Simplified object visibilty controls

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1951
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2003
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2254
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4325
2020-08-15 15:24:28 -04:00
jean-pierre charras e4021a9ffa Fix some I18n issues.
Strings used for debug and strings containing only a print format like "%i"
are not translated
2020-08-15 17:56:32 +02:00
Jeff Young 94ef2781bf Allow case-insensitive filtering and filter on keystrokes.
Fixes https://gitlab.com/kicad/code/kicad/issues/5177
2020-08-14 22:11:04 +01:00
Peter Montgomery 672224106c Pcbnew: Adjust soldermask dialog panel to scale properly
Added the wxExpand flag to all wxStatic Text widgets to prevent
text from being wrapped awkwardly under Linux (and possibly other
operating systems).

Made sure all sentences ended with a period.

Corrected some spelling mistakes.

Simplified tooltips to read and display better.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5168

~Also in this commit:
~Rephrased main warning note at top to emphasize get clearance
~settings from your board house.
~Moved two notes at top into tooltips for entry fields
~Removed note that solder mask and paste only apply to copper pads.
2020-08-14 19:51:57 +00:00
Tomasz Wlostowski 47919cdc54 pcbnew/dialogs: use shared_ptr for RC_ITEM 2020-08-13 14:50:59 +02:00
Tomasz Wlostowski d937fadd6f Migrate RC_ITEM to use shared_ptr 2020-08-13 14:50:59 +02:00
jean-pierre charras e0351b4e4c Zone filler: make new algo (no thickness for filled outlines) the default
Add also a message info to the pcbnew constraints panel for arc to segment
approx min error value.
2020-08-13 10:01:23 +02:00
Jeff Young 393bb0fd83 Fix assert where geometry routine wasn't ready to handle layers.
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
2020-08-12 22:20:08 +01:00
Jeff Young d97e519036 Fix typo in regex.
Had to get rid of the regex as Search actually changes the user's
selection, which is not what we want.  (It wasn't earlier because
the search would always fail due to the typo.)

It's much faster now that we're not scanning from the beginning every
time.
2020-08-11 22:04:38 +01:00
Jeff Young bc9723340a Add support for print-as-per-items-tab.
ADDED a print mode which allows the Layers Manager's Items tab to
control the visiblity of various items.

Fixes https://gitlab.com/kicad/code/kicad/issues/3894
2020-08-11 20:42:08 +01:00
Jeff Young 7f65b31cb6 Beautify the PCBNew print dialog.
Mostly fix some uneven spacing, but also indent the color theme
selection under the checkbox which controls it.
2020-08-11 20:42:08 +01:00
Jeff Young f65a0037dc Display violation layer (and select it) for DRC errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/5123
2020-08-11 17:47:39 +01:00
Jeff Young 8b67d5185a Update keepout rule syntax example to something with less "magic". 2020-08-11 15:22:48 +01:00
Jeff Young 5ab39b7c06 Clean up reannotation UI. 2020-08-11 15:02:27 +01:00
Jeff Young e1c449902d Ask user before throwing away changes to DRC Rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/5135
2020-08-10 23:43:24 +01:00
Jeff Young de6314e3b5 Convert smart quotes and dashes to ASCII in DRC rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/5135
2020-08-10 23:43:24 +01:00
jean-pierre charras 23a5b0ca5f fix a few compil warnings and a Coverity warning. 2020-08-10 18:32:44 +02:00
Seth Hillbrand 5fc6b74c89 ADDED: Remove unused pads
This option removes copper layers from pads and vias where they are not
connected to other board elements.  This allows the inner layers to be
more closely routed if the via landing pad is not needed.

Fixes https://gitlab.com/kicad/code/kicad/issues/1835
2020-08-10 03:27:26 +00:00
Jon Evans abc64f228b Use wxAtoi instead of atoi 2020-08-09 18:26:54 -04:00
Jeff Young 78fb6a384d Fix wxWidgets debug assert on GTK.
Fixes https://gitlab.com/kicad/code/kicad/issues/5121
2020-08-09 22:13:29 +01:00
evils cc6f582aa3 Pcbnew: Fix typo in drill file generation dialog
From https://gitlab.com/kicad/code/kicad/-/merge_requests/335
2020-08-09 19:56:12 +01:00
jean-pierre charras 9b3ff5af47 Fix a few I18N issues.
Especially keywords should not be included in translated strings.
2020-08-09 20:38:35 +02:00
Jon Evans db811510af Improve layout of reannotate dialog 2020-08-09 13:04:33 -04:00
Jon Evans 5abc85aa80 Cleanup re-annotation code style 2020-08-09 12:43:05 -04:00
bjpiccioni d08bf90576 ADDED: Geographic Reannotation 2020-08-09 12:43:05 -04:00
Jeff Young 3b280e4886 Keep properties across an Exchange_Module call.
This is also used when saving a footprint from the Footprint Editor
back to the board.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/5114
2020-08-09 15:39:51 +01:00
Jeff Young 4317881012 Improve delete-unused-layers to better handle multi-layer items.
Fixes https://gitlab.com/kicad/code/kicad/issues/5116
2020-08-09 15:39:51 +01:00
Mark Roszko c6e388db14 Implement an app progress indicator in the taskbar
ADDED: Progress indicator in the taskbar

This adds a progress indicator to the Windows and macOS taskbar
icons to display the progress of some operations.

Note, this requires wxWidgets 3.1+
2020-08-09 10:55:00 +00:00
Jeff Young 492f7859e7 Make sure design settings get written back to board.
Fixes https://gitlab.com/kicad/code/kicad/issues/5109
2020-08-08 23:35:59 +01:00
Jeff Young ae404e6339 Update board markers from DRC changes before dialog is closed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5110
2020-08-08 19:09:22 +01:00
PJM 829316fad4 Pcbnew #4904 : Import settings from another board deleted internal layers
When importing settings from a board with more copper layers and applying it
to a board with less copper layers, if the user has ticked the checkbox
"Layer settings", then KiCad will delete the inner copper layers.  Only
when the user clicks OK does it then warn that it found deleted items on inner
layers.  The message is too generic and comes after the layers have already
been deleted.

This Merge Request tries to address this by warning them early.  The changes are:

1 - Added code to check if user is trying to import settings from a
board with less copper layers than the current loaded board.  This
results in KiCad deleting inner copper layers.  Now it presents a
warning dialog that explains the current settings will result in deleted
inner layers, and lets the user stop the import process before making any changes.

2 - Made "Import Settings" dialog disable "Import Settings" button
until at least one import option checkbox is checked.

3 - Made "Select All" button on "Import Settings" dialog toggle
between "Select All" and "Deselect All" on each click.

Items 2&3 were added to improve the overall import settings usability
experience.

Fixes issue https://gitlab.com/kicad/code/kicad/-/issues/4904
2020-08-08 00:51:23 +00:00
Jon Evans dcc484e114 CHANGED: Library editors are now usable with no project loaded
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3688
2020-08-07 18:02:34 -04:00
Jeff Young e5b50d90a7 Update DRC rules to new layer and disallow grammars.
Also adds support for hooking rules up to named zones.

Fixes https://gitlab.com/kicad/code/kicad/issues/2041
2020-08-07 21:49:36 +01:00
Jeff Young 00e77d1ba4 Implement pad & via aprons for hatched zones.
Fixes https://gitlab.com/kicad/code/kicad/issues/2519
2020-08-07 15:15:43 +01:00
Jon Evans 1a3b7828f8 Fix layer exclusions and worksheet in board color theme editor 2020-08-06 17:44:16 -04:00
Jeff Young 76bd344730 Preview for PCBNew colour settings editor. 2020-08-06 19:38:06 +01:00
Jeff Young b26ced820c Make sure plugins table has columns wide enough for headers.
Don't expect wxWidgets to return appropriate values for this.  At
least not in the version we're using.

Fixes https://gitlab.com/kicad/code/kicad/issues/1916
2020-08-05 19:37:52 +01:00
Jeff Young 5d6c65509a Adjust spacing in pcbnew edit options. 2020-08-05 00:20:37 +01:00
Jeff Young aa8fb38445 Bring panel_pcbnew_color_settings in line with eeschema equivalent.
Also fixes a bug where color changes weren't getting saved because
the set of valid layers didn't include the copper layers.
2020-08-04 15:08:20 +01:00
Jeff Young 0f3d79245e Tidy up delete-all-markers.
Fix a typo in the order of booleans, and move from 3 buttons to
2 buttons and a (remembered-for-session) checkbox.
2020-08-04 13:28:16 +01:00
Jeff Young f67ba62c11 Don't stop when current item is reached: there might be more.
In particular, the two sub-items also count as "current" and need
to be deleted.

Fixes https://gitlab.com/kicad/code/kicad/issues/5057
2020-08-04 13:28:16 +01:00
Jeff Young 9c9fdb2569 More performant (and more correct) deletion of DRC markers.
Fixes https://gitlab.com/kicad/code/kicad/issues/5057
2020-08-04 11:45:07 +01:00
Jeff Young c56599ab07 Allow ERC/DRC markers to be deleted without deleting exclusions.
Fixes https://gitlab.com/kicad/code/kicad/issues/4953
2020-08-02 22:45:48 +01:00
Jeff Young 8c16c60e42 Fix typo keeping aperture pads from working.
Fixes https://gitlab.com/kicad/code/kicad/issues/5036
2020-08-01 15:40:34 +01:00
Qbort 9977299340 Fix compile errors in drc_engine.cpp and panel_setup_rules.cpp 2020-07-31 21:47:01 +00:00
Jeff Young 5c479e150d Tooltip and better icon for compile/check syntax button. 2020-07-31 22:29:05 +01:00
Jeff Young 1be39195ab Remove UUIDs from the GUI.
Fixes https://gitlab.com/kicad/code/kicad/issues/5018
2020-07-31 16:06:54 +01:00
Seth Hillbrand 51d7fea934 Separate Cleanup Via from Cleanup Track
There are cases where you will want to keep vias that only connect to
one layer but still want to cleanup tracks.  As distinct entities, they
are given their own checkboxes and actions

Fixes https://gitlab.com/kicad/code/kicad/issues/5019
2020-07-30 21:22:33 -07:00
Ian McInerney 268dec5c19 Cleanup some build and Coverity warnings 2020-07-31 02:46:05 +01:00
Jeff Young 577c1be391 Report all DRC rule errors, not just the first. 2020-07-30 14:27:42 +01:00
Jeff Young 5a1b1c544a Add layer to rule grammar. 2020-07-30 14:27:42 +01:00
Jeff Young 1d8c71c617 Fix layout issues in net inspector dialog.
1) don't add 10 -and- include 'M's in the strings; they're both for
   margins
2) take scroll bar width into account when sizing columns
3) make sure margins are added to temp variables that we're going to
   use to size column 1

Fixes https://gitlab.com/kicad/code/kicad/issues/4981
2020-07-27 19:53:42 +01:00
jean-pierre charras 6f7d5f5e2b Footprint editor: fix some issues in flip and mirror commands.
more about fixes #4958
https://gitlab.com/kicad/code/kicad/issues/4958
2020-07-25 18:10:24 +02:00
Jeff Young d1d7f5e7fa Fix text size in Edit Footprint dialog. 2020-07-25 13:03:33 +01:00
jean-pierre charras b5960dfb40 class D_PAD: add Copy ctor and operator =.
Due to the fact basic primitives for custom pads are now managed by
a list of pointer, the default copy ctor and default  operator = do not work
(the basic primitives list must be duplicated).
It fixes issues related to primitives list id pad edition, footprint edition
and undo/redo

Fixes #4958
https://gitlab.com/kicad/code/kicad/issues/4958
2020-07-24 18:02:56 +02:00
jean-pierre charras c254b331f3 Pcbnew: Activate pad fabrication property in pad properties dialog.
It was previously an option of advanced config since 6 months.
It is now not optional.
2020-07-23 14:33:24 +02:00
Jeff Young 86c9adbcba Add auto-completion for DRC rule function calls. 2020-07-22 21:28:02 +01:00
Jeff Young fd647a1fa9 Code completion hookup to property manager. 2020-07-21 23:43:10 +01:00
Jeff Young c52df811ae Add expression eval to constraint min/max/opt values.
Also adds error reporting for above.
2020-07-21 23:43:10 +01:00
Jeff Young 7cbd166df7 Don't complain about duplicate names when the name didn't change. 2020-07-21 23:43:10 +01:00
Jeff Young beb5bad9b7 Initialize Scintilla with correct braces for sexpr grammar. 2020-07-21 23:43:10 +01:00
Ben Ellis 42a2f13464 Added a check that sexprs isn't empty before popping
This fixes a crash on malformed sexprs in the DRC rules panel
2020-07-21 14:52:48 +00:00
Jeff Young 095937563b Hook libeval compiler up to rule parser
- convert expression string tokens to single-quote-delimited
- fix bug where netclass assignments weren't getting updated after
  board setup dialog
- move property manager rebuild to lazy evaluation
- improve performance with wider use of const&
- retire DRC_SELECTOR stuff
- use wxString for GUI stuff (particularly translated stuff)
- fix EqualTo() to return false instead of asserting when op types
  don't match
- fix buffer overruns with fixed-size string buffers
- make expression function calls case-insensitive
- integrate expression errors into rule parser
- produce more and better error messages
- keep BOARD_ITEM ptrs const as long as possible
- fix a couple of uninitialized variables
2020-07-20 22:11:53 +01:00
Mark Roszko 3b727b5d16 Make preference groups not selectable 2020-07-20 13:45:46 +00:00
Ian McInerney af729d578f Unify settings reset buttons into one location 2020-07-16 00:08:16 +01:00
Ian McInerney b428364a98 Fix memory leak in color settings panel 2020-07-16 00:04:17 +01:00
Jeff Young 7340c97ef9 Undo for schematic-wide operations.
Editing value/footprint fields of multi-unit components.
Find/Change.
Annotation.
Back annotation.

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

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

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

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

Fixes https://gitlab.com/kicad/code/kicad/issues/3899
2020-07-13 12:32:17 +01:00
Jeff Young e325d2e18f Allow Net Inspector to create, rename and delete nets.
ADDED: create/edit/delete nets in PCBnew Net Inspector
ADDED: update from PCB now allows updating of changed nets

Fixes https://gitlab.com/kicad/code/kicad/issues/1996
2020-07-11 21:19:49 +01: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 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 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
Jeff Young 2819570d1e Push panel_setup_netclasses down into common. 2020-07-06 20:00:50 +01:00
Ian McInerney 476558ece7 Cleanup some memory leaks 2020-07-06 02:11:17 +01:00
Jeff Young 5bc6389477 Comments. 2020-07-05 19:53:04 +01:00
Jeff Young edecfaa433 Minor code cleanup. 2020-07-05 19:53:04 +01:00
Jon Evans 2f4a14a57b Properly exclude colorless GAL layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4793
2020-07-03 23:23:58 -04:00
Jon Evans b592a4169f Update project template system for new format 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 a7708fa6dc Add PROJECT_FILE and basic load/unload methods 2020-07-02 22:08:54 -04:00
Ian McInerney c27207500d Cleanup some compiler warnings 2020-07-03 00:10:31 +01:00
Jeff Young 441dfa30f0 Return individual custom pad shapes instead of a SHAPE_POLY_SET.
Also implements an optional pointer to return the actual distance
from all the SHAPE collision routines.

Fixes https://gitlab.com/kicad/code/kicad/issues/4774
2020-07-02 17:09:15 +01:00
Jeff Young 3b764d6357 Minor dialog spacing issues. 2020-07-01 16:57:00 +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
Jon Evans 1d5e4f86af ADDED: Copper zone island removal is now configurable
ADDED: Zones and keepouts can now be named (for DRC)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4392
2020-06-28 09:09:38 -04:00
Jon Evans 0d4ee39f75 CHANGED: Copper zones can be on more than one layer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1963
2020-06-28 08:52:37 -04: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 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
Jeff Young da2b7071b4 WYSISYG custom pad editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/2153

Fixes https://gitlab.com/kicad/code/kicad/issues/2305
2020-06-27 14:37:01 +01:00
Jeff Young e376750f62 Flatten CS_PAD_PRIMITIVE out in favour of reusing DRAWSEGMENT.
(In prep for the eventual replacement of DRAWSEGMENT internals with
SHAPE.)
2020-06-24 12:22:42 +01:00
Jeff Young 18ab3c4714 Fix missing user grid in COMMON_TOOLS.
Fixes https://gitlab.com/kicad/code/kicad/issues/4702
2020-06-23 11:17:15 +01:00
Jeff Young d01b29ab37 Cleanup pad geometry handling.
There were a lot of plotters, exporters, etc. that were rolling their
own implementations.

This also introduces a lazily-built set of SHAPE objects for doing
collision detection and some forms of rendering (and later DRC).
2020-06-22 22:28:37 +01:00
Jon Evans c0175c48af ADDED: Setting to control track mouse drag behavior
Default is now to perform a 45-degree drag
2020-06-21 15:39:39 -04:00
jean-pierre charras 55e283634a Pcbnew, DIALOG_PLOT_BASE: better warning message about non null solder mask margins. 2020-06-21 20:41:06 +02:00
Jeff Young 970921f88b Support for filled DRAWSEGMENT::S_RECT and S_CIRCLE.
One more step in unifying pad primitives and draw segments.
2020-06-20 14:34:53 +01: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
Seth Hillbrand eb89d1c68b pcbnew: Minor update to ratsnest calc
BuildConnectivity updates the ratsnest after it completes.  By compiling
the ratsnest before connectivity, we update it twice with the dirty flag
being reset after connectivity updates.
2020-06-17 19:43:11 -07: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
jean-pierre charras 55c0bd7ae3 Remove a incorrect code, unfortunately not removed after another (old) code change. 2020-06-17 12:54:09 +02:00
Seth Hillbrand 8c57821e9b pcbnew: Move ratsnest items to separate folder 2020-06-16 11:15:14 -07:00
Jeff Young aeed8e6e2c Finish implementation of DRAWSEGMENT::C_RECT.
It's currently only supported in the Footprint Editor.  It could be
easily added to the board editor (all the code is there), but the board
editor is a little short on room in the drawing tools toolbar.
2020-06-15 20:51:31 +01: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 f84406009b Push a couple of layers of indirection out of grid settings. 2020-06-13 11:35:56 +01:00
jean-pierre charras 2b122892d3 DIALOG_PAD_PROPERTIES: fix some issues:
- fix many wxWidgets alerts.
- ensure pad offset wxTextCtrs are shown or not according to the wxCheckBox state.
- ensure there is room in dialog for some wxTextCtr when switched from Hide to Show
(resize it if it is too small)
2020-06-11 20:34:13 +02:00
Jeff Young 4629b701ea Fix spacing issue in Pad Properties. 2020-06-11 18:26:44 +01:00
Wayne Stambaugh c5fc1d4a7c More dialog clipped bitmap button fixes. 2020-06-11 07:31:50 -04:00
Jeff Young 4138c8554c Parse DRC rules when closing Board Setup dialog. 2020-06-10 12:03:37 +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 f8967550a8 PANEL_FP_LIB_TABLE: fix incorrect size of the SPLIT_BUTTON.
This was due to use of a not yet calculated of a bitmap button.
At least on msw just after setting the bitmap of a bitmap button
the actual size is not yet calculated: it is calculated after calling Layout()
2020-06-08 10:19:31 +02:00
jean-pierre charras 27c80e8a2e Solder mask clearance default value: set default to 0, taking advice from
both Ucamco and Eurocircuits.
Update message in plot dialog about best solder mask clearance value.
Show warning in plot dialog if these values are no 0.
2020-06-07 11:10:28 +02:00
jean-pierre charras 74051be3b7 pcbnew, DIALOG_PLOT: fix a cosmetice issue: a SVG option was sometimes shown
when the PDF plotter was selected.
2020-06-06 20:50:24 +02:00
Jon Evans 2cbae18598 Remove PCBNEW_SETTINGS dependence from PCB_PLOT_PARAMS 2020-06-06 13:57:28 -04:00
Jeff Young fb4f37f39c Inherit GAL settings from parent's GAL. 2020-06-05 19:07:23 +01:00
Jeff Young 80c0e0080f Move layout updating out of OnUpdateUI to prevent endless looping.
Fixes https://gitlab.com/kicad/code/kicad/issues/4623
2020-06-05 17:45:25 +01: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
Jeff Young 7876bab0e0 Implement another shape choice for Chamfer + Rounded. 2020-06-04 17:28:46 +01: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
Jeff Young 8575afd7ef Adjust spacing in dialog for non-OSX platforms. 2020-06-03 16:34:09 +01:00
Jeff Young b8e4f4bfc4 Attempt #1 to fix layout issue on GTK (and perhaps MSW). 2020-06-03 16:28:08 +01:00
Jeff Young 7db4a3f702 Fix offset issue when pad edited from board instead of modEdit. 2020-06-03 13:50:50 +01:00
Jeff Young 3bd4c0c5dc Don't allow the pad preview canvas to become too large.
Also offset canvas with pad so that hole stays in centre.

Fixes https://gitlab.com/kicad/code/kicad/issues/4185
2020-06-02 22:51:41 +01:00
Jeff Young 9ff09aa784 Progressive disclosure pad properties. 2020-06-02 17:22:24 +01:00
Jeff Young a76a1aefaa Update membership grid when a netclass name changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/4596
2020-06-01 22:00:03 +01:00
Jeff Young 6d5b6c8b81 A bit more refactoring to get code out of the DRC tool. 2020-05-29 22:06:48 +01:00
Jeff Young 39ec63c4e9 Fix some inconsistencies in clearance priorities.
Fixes https://gitlab.com/kicad/code/kicad/issues/4555
2020-05-29 13:41:45 +01:00
Jeff Young fe4fd19c66 Fix crash bug in unicode chars with Scintilla. 2020-05-28 00:23:18 +01:00
Jeff Young 8b084c373e Autocomplete for text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/4190
2020-05-27 23:29:51 +01:00
jean-pierre charras 53360acc3d DIALOG_BOARD_SETUP: fix incorrect parent for the PANEL_TEXT_VARIABLES panel.
Fixes #4548
https://gitlab.com/kicad/code/kicad/issues/4548
2020-05-27 09:24:32 +02:00
jean-pierre charras bf889e91fe PANEL_SETUP_RULES: make rules help translatable.
Only titles are translatable.
Other strings are keywords and remain not translatable.
2020-05-27 08:52:03 +02:00
Jon Evans 39a2416c11 Only sketch pads on fab layers if they exist on that side
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4546
2020-05-26 21:17:39 -04:00
Jon Evans d46c651d80 Only update colors on layer widget when closing preferences
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4545
2020-05-26 21:17:39 -04:00
Jeff Young 6ef6284924 Make sure markers get removed from view when deleted. 2020-05-26 22:09:31 +01:00
Jeff Young 3ea093539b DRC rule syntax help improvements. 2020-05-26 22:09:30 +01:00
jean-pierre charras f971e1267b Fix typo and remove a I18N marker in a sentence containing keywords
(keywords cannot be translated)
Fix also use of a deprecated constant.
2020-05-26 17:47:58 +02:00
Jeff Young f7fbb600d2 Fix compile errors on Linux. 2020-05-26 00:08:27 +01:00
Jeff Young 1f93020be4 Performance improvements for autocomplete and some syntax help. 2020-05-25 22:51:47 +01:00
Jeff Young 1db799d841 Implement "disallow" rules and integrate with keepout settings. 2020-05-25 22:51:47 +01:00
Jeff Young 90c4249de5 Implement autocompletion for rule s-expr syntax. 2020-05-25 22:51:47 +01:00
Jeff Young 160981ee71 Better error reporting for DRC rule parsing. 2020-05-25 22:51:47 +01:00
Jeff Young 416d82727f Redo DRC rules to get ready for new system. 2020-05-25 22:51:47 +01:00
Jon Evans a52435bbb0 ADDED: New mouse settings panel, expanded mouse settings
You can now choose the behavior of dragging with the
middle and right mouse buttons.

You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.

You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.

You can also now zoom by dragging with the right or
middle button if desired.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
2020-05-24 14:38:28 -04:00
Jon Evans c7daf8a8f3 ADDED: Cross-probe highlighting of bus members
Note: this is a basic implementation but it could be
improved once we include bus information in the netlist
and pcbnew can natively keep track of buses and nets
instead of just nets.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4158
2020-05-24 13:30:23 -04:00
Ian McInerney 4ecf99e7c8 Give the footprint viewer a toolbar and remove the options dialog
CHANGED: Cvpcb fpviewer and the pcbnew fpviewer no longer have an options dialog
ADDED: Add a side toolbar to the pcbnew footprint viewer (and the measure tool)

This also cleans up some of the settings structs in the viewers, since
it was somewhat confusing before.

Fixes https://gitlab.com/kicad/code/kicad/issues/2205
2020-05-24 11:58:33 +01:00
Ian McInerney 6692935808 Consolidate common viewer actions across cvpcb and pcbnew frames
* Consolidate the measure tool into one tool (this gives cvpcb
  unit changing and snapping capabilities in its measure tool)
* Transition cvpcb to use actions for the sketch modes
* Replumb how magnetic items settings are stored and used
2020-05-24 11:58:33 +01:00
Michael Kavanagh ab07c852d0 Board setup: replace checkboxes with radio buttons
Fixes https://gitlab.com/kicad/code/kicad/issues/4520
2020-05-24 00:25:28 +00:00
jean-pierre charras 17fad3a9a4 Minor cosmetic fix and enhancement is 2 dialogs. 2020-05-23 09:48:05 +02:00
jean-pierre charras f056713ceb Remove old incorrect code. 2020-05-22 08:05:39 +02:00
Jeff Young 7bb280ea39 General cleanup. 2020-05-19 20:48:47 +01:00
jean-pierre charras 4efed4b729 Pcbnew, exchange footprint and export DSN: fix incorrect rotation if the edit
option Flip was set to flip around Y axis.

Fixes #4487
https://gitlab.com/kicad/code/kicad/issues/4487

Fixes #4478
https://gitlab.com/kicad/code/kicad/issues/4478
2020-05-19 10:20:12 +02:00
Jeff Young 05855a5a1c Performance enhancements for DRC. 2020-05-18 13:38:17 +01:00
Jeff Young 3656297f99 Add a simple editor for DRC rules. 2020-05-16 23:30:30 +01:00
Jon Evans f2e003147e ADDED: Enable color themes for PcbNew printing 2020-05-16 13:19:43 -04:00
Jeff Young d3f017d825 DRC rules parser and engine.
Fixes https://gitlab.com/kicad/code/kicad/issues/2182

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

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

Fixes https://gitlab.com/kicad/code/kicad/issues/1965
2020-05-16 15:53:05 +01:00
jean-pierre charras 23927957e1 Pcbnew: fix a crash due to use of invalid pointers after a list modification
Fixes #4409
https://gitlab.com/kicad/code/kicad/issues/4409
2020-05-13 11:51:56 +02:00
jean-pierre charras 2cf82d9129 fix a wxWidgets minor alert and compil warnings 2020-05-13 08:53:32 +02:00
Jeff Young 74ee143d45 Add via annulus minimum. 2020-05-11 22:56:09 +01:00
jean-pierre charras acdfeee942 Footprint editor: fix crashes when trying to edit the Default Pad Properties.
The crsahes were due to a null pointer use.

Fixes #4379
https://gitlab.com/kicad/code/kicad/issues/4379
2020-05-09 11:15:28 +02:00
jean-pierre charras c78e7c5485 Fix compil issues (warnings and missing include) 2020-05-09 08:59:00 +02:00
Jeff Young 7c935b1997 Fix Mac-specific include.
Fixes https://gitlab.com/kicad/code/kicad/issues/4377
2020-05-09 00:47:35 +01:00
Jeff Young 1f68323439 Solder mask min width --> solder mask min bridge width.
Fixes https://gitlab.com/kicad/code/kicad/issues/4345
2020-05-08 23:30:33 +01:00
Jeff Young 3c3984a6fc Generalize default footprint fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/2289
2020-05-08 23:30:33 +01:00
Jeff Young 7305f407fc Fix typo in user string. 2020-05-08 23:30:33 +01:00
Jeff Young 0f8c7ffd11 Add pad keepout and footprint keepout areas.
Fixes https://gitlab.com/kicad/code/kicad/issues/2365
2020-05-07 17:51:27 +01:00
Jeff Young 902e0d0c42 Attempt to fix GTK bug of just-added 3D model not getting selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/4314
2020-05-06 21:19:38 +01:00
Jeff Young 52d1c93777 Use standard OK/Cancel paradigm rather than Apply/Cancel.
Apply/Cancel puts the buttons in a different order on some platforms.

Fixes https://gitlab.com/kicad/code/kicad/issues/4332
2020-05-06 20:50:44 +01:00
Jeff Young 001a50bf14 Moved PANEL_COLOR_SETTINGS from buttons to swatches.
This allows us to correctly display non-100%-opacity colors (ie:
over the correct background color).
2020-05-06 19:02:21 +01:00
Jon Evans 9916f24fab Split out footprint editor color settings
Migrate COLOR_SETTINGS 0->1 to remove fpedit section
Migrate FOOTPRINT_EDITOR_SETTINGS 0->1 to use new theme if created
Remove COLOR_CONTEXT that is no longer needed
2020-05-05 21:46:00 -04:00
Jon Evans 51eac3e3e6 Split pcbnew and footprint editor settings getters for clarity 2020-05-05 21:46:00 -04:00
Jeff Young 9e4125c451 Add note on spacing to Global Label Properties dialog.
Also cleans up some of the other notes to have a uniform presentation.

Fixes https://gitlab.com/kicad/code/kicad/issues/4323
2020-05-05 20:33:20 +01:00
Jeff Young 67bccaf465 Make indeterminate control states clearer for the user.
Fixes https://gitlab.com/kicad/code/kicad/issues/4313
2020-05-05 20:26:51 +01:00
jean-pierre charras e208cd8eca DIALOG_FOOTPRINT_BOARD_EDITOR: minor cosmetic changes. 2020-05-05 15:20:55 +02:00
jean-pierre charras 62852e18e1 Pcbnew, DIALOG_UPDATE_PCB: store "Re-link footprints" option in config 2020-05-05 15:20:54 +02:00
Jeff Young 8df5f70c4a If more than one text matches by text try layer and then position.
Fixes https://gitlab.com/kicad/code/kicad/issues/4187
2020-05-05 00:11:59 +01:00
Jeff Young e0da677d4d Add min clearance to DRC; rename Min Via Drill to Min Through Hole.
Also fixes a crash bug when ignoring a DRC violoation with multiple
markers.

Fixes https://gitlab.com/kicad/code/kicad/issues/2528
2020-05-04 22:08:36 +01:00
Jeff Young e39d145d72 Add DRC tests for minimum drill size (based on min via size). 2020-05-04 22:08:36 +01:00
Jeff Young 1b5a6f8698 Fix crash bug when using Pad Properties in board editor. 2020-05-04 22:08:36 +01:00
Jeff Young b7cccf6844 Work around some wxWidgets bugs on OSX.
Set the netclass grid a bit narrower so it doesn't end up with a scroll
bar.

Load the constraints bitmaps on show so they get drawn (otherwise all
but those in the first sizer are blank).
2020-05-04 22:08:36 +01:00
Jeff Young 889b6cb1b1 Clean up some commenting and rename MODULE_EDITOR_TOOLs to match filename. 2020-05-03 20:56:32 +01:00
Wayne Stambaugh 63291141df Pcbnew: minor footprint properties dialog layout improvements. 2020-05-03 11:45:18 -04:00
Wayne Stambaugh 4aeb0a6d71 Fix footprint library table dialog padding. 2020-05-03 07:42:35 -04:00
Jeff Young 56946f4db1 Fix pad name increment to use last edited pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/1882
2020-05-03 08:59:51 +01:00
Jeff Young 10614a9ebc Implement changes for Sketch Pads to Fab Layers.
Includes adding Fab Layers to default text & graphic settings.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/2274
2020-05-01 18:49:42 +01:00
jean-pierre charras 36d1d57505 Pcbnew: fix a minor wxWidget alert 2020-04-30 16:41:10 +02:00
Jeff Young d2046b17d7 More shrinking of Footprint Properties. 2020-04-27 00:24:57 +01:00
Jeff Young 2e73703cc8 Shrink the Footprint Properties dialogs a bit. 2020-04-27 00:24:57 +01:00
jean-pierre charras 3759799d1e Pcbnew, PANEL_SETUP_FEATURE_CONSTRAINTS: cosmetic enhancements: add a few icons.
Fixes #4263
https://gitlab.com/kicad/code/kicad/issues/4263
2020-04-25 15:22:20 +02:00
Ian McInerney 99dcadf7e6 Introduce new KI_FALLTHROUGH macro
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Jeff Young fd6dffe170 Only save changed severities etc. if the modify bit is set.
(Also means we need to set said bit when changing them.)

Fixes https://gitlab.com/kicad/code/kicad/issues/4164
2020-04-24 23:09:10 +01:00
Jeff Young 32db9eb0f1 Add some distances to a few DRC errors. 2020-04-24 22:17:45 +01:00
Jeff Young 1535c83b88 Lay some groundwork for adding distances to DRC errors.
modified:   eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Jon Evans 69db66e1ea Fix saving of pcbnew colors when edited from layers widget 2020-04-23 22:33:02 -04:00
Jon Evans 2d95270a31 Add color theme settings to pcbnew 2020-04-23 21:55:29 -04:00
jean-pierre charras 825d202480 Fix some strings to help translation.
Remove translation mark for strings used in debug, or strings
that cannot be translated (for instance because they are char strings
instead of wide char strings)
2020-04-23 07:40:19 +02:00
Michael Kavanagh e800c47406 NPTH pads can have the hole offset from centre
Fixes https://gitlab.com/kicad/code/kicad/issues/3671
2020-04-22 21:50:51 +00:00
Michael Kavanagh e4cbeeab4c Remove dead code in pcbnew
* Remove dead zone printer
* Remove old canvas in pad properties window
2020-04-22 21:50:15 +00:00
Jon Evans b22ff26688 Rename List Nets to Net Inspector to better reflect function 2020-04-21 20:24:27 -04:00
Oleg Endo 60cad7d526 use dynamic_cast instead of dyn_cast 2020-04-21 13:23:56 +00:00
Oleg Endo ff5828fc33 fix formatting and update comments 2020-04-21 13:23:56 +00:00
Oleg Endo 80e40b862c destroy window when list nets dialog is closed
avoid potential performance issues when the dialog is still listening to
the board updates and refreshing its data and view structures.

it seems useful to keep the settings of the dialog across dialog
open-close cycles.
2020-04-21 13:23:56 +00:00
Oleg Endo 137fe48d88 rewrite select net dialog 2020-04-21 13:23:56 +00:00
Oleg Endo 7bf8a744f1 add support for board listeners 2020-04-21 13:23:56 +00:00
Oleg Endo e3aec20f82 move PCB_INSPECTION_TOOL::ListNets into pcb_inspection_tool.cpp, split out dialog_select_net_from_list.h 2020-04-21 13:23:56 +00:00
Johannes Pfister e5042a46ba Add ability to set SVG plot units and precision
ADDED: Ability to set SVG to metric or imperial units
and made it possible to change the size of a step
2020-04-20 22:02:03 +00:00
Jeff Young b2cd66f0a3 Add specific selection updating when adding 3D models.
This keeps us from being at the receiving end of wxWidgets' vagaries.

Fixes https://gitlab.com/kicad/code/kicad/issues/3760
2020-04-19 22:42:27 +01:00
Jeff Young 7e4d255cdd Apply Scintilla hack to get auto-sizing canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-19 20:09:43 +01:00
Jeff Young 895f46da8f Another attempt to fix the textbox scrollbars on GTK.
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-18 21:41:20 +01:00
Jeff Young 9c8941e040 Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
Michael Kavanagh 7513303cf4 Remove pad properties wxNotebook background
Fixes https://gitlab.com/kicad/code/kicad/issues/3920
2020-04-16 15:06:43 +00:00
Mikołaj Wielgus 5049214f33 Pcbnew statistics: remove horizontal margin in drill table
This margin caused a horizontal scrollbar to appear on Debian Buster
Xfce.
2020-04-16 12:58:02 +00:00
jean-pierre charras 5143f87678 Kicad2step: Many fixes in oce_utils.
- Better code and messages.
- Speedup calculations when removing cutouts and holes from main board.
- Do not stop step generation when trying to load a 3D modele having issues.
2020-04-15 11:44:12 +02:00
jean-pierre charras b68bdc22d7 Fix in kicadpcb reader. Update dialog export step
kicad2step: code cleanup, and more activity messages displayed
2020-04-15 10:51:35 +02:00
jean-pierre charras 110b05fe78 kicad2step: convert it from a wxAppConsole to a wxApp, using a wxFrame/wxPanel 2020-04-15 10:51:35 +02:00
Jeff Young 6e800bddae Rationalize penWidth processing as first step in removing some globals. 2020-04-13 20:58:13 +01:00
Jeff Young 350696ecdd Only convert references to KIIDs if the variable resolves.
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young 505d8bf56e Allow ':'s in field name references in text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young a8b025ab06 Fix "show" column label. 2020-04-11 13:02:18 +01:00
Jeff Young 174856bac5 Promote 3D model "preview" flag to a persisted "show" flag.
Fixes https://gitlab.com/kicad/code/kicad/issues/2061
2020-04-10 22:49:56 +01:00
Jeff Young 84944524cc Fix crash on OSX when page was changed before hack array was alloc'ed. 2020-04-10 22:49:56 +01:00
Jeff Young 840cab4eec Allow user to show layer if DRC object is hidden.
Fixes https://gitlab.com/kicad/code/kicad/issues/3686
2020-04-07 17:29:58 +01:00
Jeff Young aba0fa7bf8 Allow cross-referencing text substitutions. 2020-04-07 17:29:58 +01:00
Ian McInerney cb380cda0c Fix some build warnings 2020-04-06 00:31:45 +01:00
Jeff Young 7bce0e17f2 Refresh netlist popups after import settings from.
Fixes https://gitlab.com/kicad/code/kicad/issues/4075
2020-04-06 00:05:34 +01:00
Jeff Young 9a258df58a Fix layout issues in Gen FP Positions dialog and add text var support.
Also adds text var support to Export SVG dialog.
2020-04-05 23:56:24 +01:00
Jeff Young b13559c926 Add envVar and text variable resolution to plot directory paths.
Fixes https://gitlab.com/kicad/code/kicad/issues/3808
2020-04-05 23:56:24 +01:00
Jeff Young 78dfbca9a3 Save pre-eval values for Move Exactly dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/4088
2020-04-03 21:47:47 +01:00
Wayne Stambaugh 082944ad06 Minor build warning fixes. 2020-04-03 13:03:23 -04:00
Jeff Young 4990d1e7b2 Variable substitution framework.
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
2020-03-30 14:15:59 +01:00
Jeff Young ba36fc0009 Fix some Coverity issues. 2020-03-25 14:38:43 +00:00
Jeff Young d69ebfae49 Push tool framework base down into TOOL_HOLDER.
This allows us to use it outside of EDA_BASE_FRAMEs (in this case, in
PANEL_PREVIEW_3D.)
2020-03-24 19:00:25 +00:00
Jeff Young 204f2cd580 Reference -> reference designator.
Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-17 16:09:25 +00:00
Jeff Young 847de9143e Add some tooltips.
Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-16 22:43:16 +00:00
Jeff Young cee973dc04 Move ERC error reporting over to the new framework.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-16 11:06:15 +00:00
Jeff Young 222b222299 Improve ease of understanding around PCB <-> schematic links.
Includes improvements to Update PCB from Schematic dialog and
corresponding changes to Symbol Properties, Sheet Properties and
Footprint Properties.

Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-16 11:06:15 +00:00
Jeff Young 085d80e3f3 Remove duplicated settings from preferences.
These have now moved to project-specific settings.
2020-03-13 17:28:53 +00:00
jean-pierre charras 741783c6d1 Pcbnew: Set default solder mask min size to 0.
When the solder mask min size is > 0, pads are no longer flashed or regions items.
Good Gerber files need pads flashed or regions items.

Non 0 solder mask min size is reserved to special cases (home made PCBs for instance)
2020-03-12 20:05:08 +01:00
Jeff Young 437f888c25 Schematic Setup dialog.
Includes:
- moving some of the project settings from the Preferences dialog
- ERC severites
- project-specific field-name templates

Fixes https://gitlab.com/kicad/code/kicad/issues/2145
2020-03-10 18:54:17 +00:00
jean-pierre charras c3beeac977 fix a minor wxWidgets alert. 2020-03-08 10:53:36 +01:00
Jeff Young 535033c5c9 Enable editing of sheet fields. 2020-03-07 18:52:30 +00:00
Jeff Young 2f17cbf242 Flag known DRC violations and exclusions in Plot dialog. 2020-03-06 16:23:44 +00:00
Seth Hillbrand ecbfea68dd ADDED: Allow creation of nets in pcbnew
When editing pcb items, the creation of a new net to connect existing
pads or traces can be a useful shortcut.  This inserts the ability to
optionally create a new net from the Net Selector dropdown menu.
2020-03-04 16:11:47 -06:00
Jeff Young 2359d19cf4 Add menu item to DRC dialog to go to Board Setup / Violation Severities. 2020-03-04 21:52:30 +00:00
Jeff Young d20f36511f Fix issue with severities not get initialised in DRC_TREE_MODELs. 2020-03-04 21:52:30 +00:00
Jeff Young 0894674869 Save severities settings in the DRC dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/3978
2020-03-04 21:52:30 +00:00
jean-pierre charras b7cd0c54c2 Fix compil issues, especially on Windows:
Replace SEVERITY_ERROR by RPT_SEVERITY_ERROR to avoid collision with a system definition.
Replace other SEVERITY_XXX by RPT_SEVERITY_XX for consistency.
Fix compil warnings and some other compil issues.
2020-03-04 10:48:18 +01:00
Jeff Young 85c2e0d23a Add user-defined severities, exclusions and colors to DRC markers.
Exclusions are currently persisted in the project file.

Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
Michael Kavanagh 265c1663f9 Remove empty choice in Via type dropdown
Fixes https://gitlab.com/kicad/code/kicad/issues/3968
2020-03-03 22:12:04 +00:00
Andrew Downing a8dea9274f modify behavior of position relative tool
CHANGED: The reset buttons now set the X or Y offset to the current
offset from the reference position. Selecting individual pads as the reference item is now also possible.
2020-03-02 20:55:06 +00:00
jean-pierre charras 911c6eb781 Pcbnew, DIALOG_NETLIST: fix incorrect storage of wx_MessageWindow options.
Config values were not stored into the right variables.

Make also an option persistent during the session
in DIALOG_UPDATE_PCB and DIALOG_NETLIST

DIALOG_UPDATE_PCB and DIALOG_NETLIST match options: use same order in dialogs.
2020-03-01 20:49:56 +01:00
Andrew Downing 2f7ac2b5b4 Don't truncate polar coordinates in position relative dialog/move exact dialog 2020-02-29 02:21:18 +00:00
Jon Evans 9cc5b4b3f9 Fix management of nested settings for PNS 2020-02-27 22:53:00 -05:00
Ian McInerney d5ceb8252e Clean up some warnings 2020-02-28 00:06:52 +00:00
Jeff Young 3860ab9f0c Fix issue returning pointers to items inside std::vector.
(When the vector is re-allocated your pointers become bogus.)
2020-02-27 22:00:51 +00:00
Tomasz Wlostowski f77d2f8cb8 router: option to enable optimization of the track being dragged 2020-02-27 22:02:56 +01:00
Jeff Young 82ae9db262 Another variation on the wxDataViewCtrl issue.... 2020-02-26 17:56:47 +00:00
Jon Evans 9f8ff236d6 Fix load and save of PNS settings 2020-02-25 19:36:36 -05:00
Seth Hillbrand 5b6a4d794f pcbnew: Avoid wx scaling error
When drawing to a scaled DC, the window doesn't reflect the expected
size if scaled after.  This causes elements drawn on the edge to reflect
back into the drawing area instead of being cut off.

We can simply scale our own values to avoid this issue.

Fixes #3849 | https://gitlab.com/kicad/code/kicad/issues/3849
2020-02-25 13:39:04 -08:00
Jeff Young cdad62022b Bug fix for double-click in DRC dialog.
Also better clean-up of highlighting in board editor window.
2020-02-25 12:18:24 +00:00
Jeff Young a4837f7d32 Move DRC dialogs to wxDataView.
This allows for hierarchy and better selection handling.
2020-02-24 23:19:17 +00:00
Jeff Young c5077aeb97 Move weak-reference stuff to UUIDs. 2020-02-24 23:19:17 +00:00
Jeff Young c7ec110fba Only center focused items when they're not visible.
This includes outside the window and behind an occluding dialog.
This keeps the view from jumping around when focusing on nearby
objects.
2020-02-24 23:19:17 +00:00
Seth Hillbrand 8c19b4b6ae pcbnew: Adding arcs to PNS
This is allows ARCs in tracks to be synchronized with
the PNS router.  Note this does not yet include the UI components
to route curved traces
2020-02-21 16:11:41 -08:00
Jeff Young ea025a35e5 Change KUUID to KIID. 2020-02-21 22:20:42 +00:00
Jon Evans e8e3b4f11e Rename UUID to KUUID to fix MSVC build
Also add another newly-required boost flag
2020-02-20 22:07:17 -05:00
Jon Evans affdaa8c33 Fix one more warning 2020-02-20 19:38:32 -05:00
Jeff Young 81dd1d7a68 Timestamp-based paths were ugly. UUID-based ones are worse.
Show a human-readable path in the Edit Footprint dialog.
2020-02-20 21:29:52 +00:00
Jeff Young 129042f8a6 Convert timestamps to UUIDs. 2020-02-20 21:29:52 +00:00
Jon Evans 1a216f3703 Change action plugin settings storage to preserve hidden buttons 2020-02-20 11:01:49 -05:00
Jon Evans e59a3d981e Implement a new settings framework across all of KiCad
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme

Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
jean-pierre charras 625249322e Pcbnew: regroup drc files to the already existing drc folder. 2020-02-19 10:31:32 +01:00
Ian McInerney 4fef513a3f Fix library table panel path adding and cleanup duplicate dialog
When adding a .pretty library, if the actual .pretty folder were
selected then no folder would be added to the list of libraries.
This led to an assert when normalizing paths, and the library
not being added.
2020-02-14 19:07:27 +00:00
jean-pierre charras 92af5531bc Fp editor: fix: Reference and Value default values aren't saved
in Footprint Editor preferences

Fixes #3889
https://gitlab.com/kicad/code/kicad/issues/3889
2020-02-11 16:19:00 +01:00
Alexander Shuklin 3d0b3a51f3 Eeschema: Adding back annotation
ADDED: Back annotation algorithm,
eeschema back annotation dialog

CHANGED: added some minor helper methods to SCH_REFERENCE_LIST and SCH_REFERENCE,
split SCH_REFERENCE_LIST::CheckAnnotation on 2 parts to reuse code
2020-01-29 16:33:57 +00:00
jean-pierre charras 418dba440d Pcbnew: DIALOG_FOOTPRINT_BOARD_EDITOR: minor enhancement.
The footprint sheet path (unique ID) is now displayed in this dialog.
2020-01-29 10:00:56 +01:00
jean-pierre charras a98195f650 fix a minor compil warning 2020-01-24 10:15:55 +01:00
Ian McInerney 752bc5b7ba Update technical todo
Add a section mentioning C++20 and the new constexpr
std::string and std::vector that we can use.
2020-01-21 11:03:55 +00:00
Mark Roszko 10a862c458 Recursively add KiCad and GEDA libraries inside a folder
CHANGED: KiCad and GEDA libraries can now be added recursively by selecting a parent folder.
2020-01-21 10:39:07 +00:00
brian piccioni 8341398082 Save footprint errors in the DRC log
Fixes https://gitlab.com/kicad/code/kicad/issues/3754
2020-01-18 01:40:43 +00:00
Ian McInerney 81ee5edcaf Test dynamic_cast for safety from future changes 2020-01-13 15:22:26 +00:00
Ian McInerney e2853862e5 Cleanup redundant type casting 2020-01-13 14:00:45 +00:00
Ian McInerney 36f6b4a9b4 Clean up redundant dynamic casts 2020-01-13 01:39:08 +00:00
Jeff Young 8d0f31f6f4 Clean a bunch of legacy code out of the Filter Selection dialog. 2020-01-12 20:53:56 +00:00
Jeff Young 127c66285b Rename old DIALOG_BLOCK_OPTIONS to DIALOG_FILTER_SELECTION....
... which is what it has done for some time now.
2020-01-12 20:30:58 +00:00
Jeff Young 836c1ea56e Fix a bunch of un-caught boost::bad_pointer exceptions.
This also removes vector cover types which do nothing except obfuscate
the underlying implementation.

Mainly changes SCH_SHEET_PINS and CONFIG_PARAM_ARRAY (which will soon
be replaced by Jon's new stuff).
2020-01-12 19:55:00 +00:00
Ian McInerney b445ce6632 Clean up pointer casting
* Make note of when dynamic cast is actually needed
* Convert some to static cast when we know the type for sure
2020-01-12 19:45:37 +00:00
Ian McInerney 4ffbefb9dc Use the layer from the module item instead
They are both from the same argument, but this one make coverity happy.
2020-01-12 19:39:39 +00:00
Ian McInerney 3346f812a9 Cleanup error handling in VRML export (from coverity scan) 2020-01-12 17:18:08 +00:00
Ian McInerney f896043067 Fix comments for switch statement fall throughs
This cleans up all GCC warnings (-Wimplicit-fallthrough=2) about
implicitly falling through switch cases.
2020-01-11 19:16:32 +00:00
Seth Hillbrand 7c28c3838a Comment-only changes
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Ian McInerney 9dff31c2ac Remove unused DIALOG_FILE_DIR_PICKER
This class was replaced with native dialogs for choosing
the files and directories
2020-01-07 23:40:00 +00:00
Ian McInerney 13b6028e1b Refactor all math into a new kimath library
* Split up the thirdparty code into the thirdparty folder (#3637)
* Create a new kimath static library containing all the math functions

This is part of cleaning the build system for #1906.
2020-01-07 17:12:59 +00:00
Simon Richter 270aaec443 Rewrite FBP files generated with unreleased wxFB
These use a few features that are too new, causing errors when trying to
edit with a released version of wxFormBuilder.
2020-01-07 13:32:33 +00:00
Simon Richter b114dabbed Convert line endings in three FBP files 2020-01-07 13:32:33 +00:00
jean-pierre charras 86f9ed1dd9 Allows pad property only by the kicad_advanced feature.
pad property is allowed if "UsePadProperty=1" is found in kicad_advanced.
2020-01-06 18:11:01 +01:00
jean-pierre charras f2518a5120 ADDED: pad fabrication property, as required in latest Gerber file specification.
Property is a pad info used mainly for fabrication or test.
Currently, supported properties are:
BGA property (variant of SMD pad)
Fiducial (global to the board or local to the footprint)
Test Point
Heat sink
Castellated.
And are used in Gerber files (copper layers and drill files)

Increment BOARD_FILE_VERSION  to 20200104
2020-01-06 16:37:35 +01:00
Ian McInerney 4c1e64628e pcbnew: Modify IDs in panel_fp_lib_table
Move the IDs from the main enum to be local and use
the end of the main enum as the starting point.
2020-01-03 16:10:53 +00:00
Ian McInerney 5d46e721e5 pcbnew: Cleanup includes of pcbnew_id.h
* Remove unused IDs from the enum
* Remove the include statements from files that no longer need it
2020-01-03 15:39:05 +00:00
Mark Roszko 49db816c82 Pcbnew: improve add existing footprint library browser and button
CHANGED: Modify Add Existing Footprint Library button to us OS file/directory browsers
2020-01-03 15:09:26 +00:00
Mark Roszko 19ceb11ae7 Change more enums over to scoped enums 2019-12-28 00:55:11 +00:00
Mark Roszko 11ff16be4e Switch to scoped enums 2019-12-20 14:11:39 +00:00
Seth Hillbrand 9b7d4e2742 Recleaning DLIST from pcbnew
This was re-introduced by 5d3e6e3d44

The crash happened b/c we have to manage list containers in each element
and minor adjustments cause the rest of the list to be lost.  This
commit re-implements it using std::iterators and deque

Fixes #2623 | https://gitlab.com/kicad/code/kicad/issues/2623
2019-12-10 09:52:07 -08:00
Seth Hillbrand c6f5df134c Minor speed cleanup
This adjusts iterators to use const reference when only used for
copy.  It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08:00
Seth Hillbrand b5f021ff9f Cleanup: Replace push_back with emplace_back
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
jean-pierre charras 5cd7f3fdee DIALOG_DRC_CONTROL: fix a crash on wxWidgets 3.1.3, Windows,
Happens when right clicking on an item in displayed lists.
The crash was due to a bug in wxWidgets, and the fix is only a workaround

Also remove duplicate code.
2019-12-02 11:27:40 +01:00
Jeff Young 342c8941b5 More cleanup of dialog_find-base.fbp 2019-11-30 01:00:16 +00:00
Jeff Young 1e4437c6df Some cleanup for the Pcbnew search changes. 2019-11-29 21:38:18 +00:00
Fabien Corona 7297822423 pcbnew: search options
-Users can now search DRC markers with string filtering
-GUI changes for consistency with Eeschema

Fixes: lp:1845460
* https://bugs.launchpad.net/kicad/+bug/1845460
2019-11-29 17:58:05 +00:00
Fabien Corona 5d3e6e3d44 pcbnew: search options
-Add a "wrap" option->Search results implemented as a nested list.
-Allow to go back with a "Find previous" button
-Remove the marker search option
-Fix a DLIST issue
-Add a result counter ("eg: hit(s): 1/3")
-Search history limited to 10
-Fix the search history order
-User can include or exclude references/values/texts from results

Fixes: lp:1845460
* https://bugs.launchpad.net/kicad/+bug/1845460
2019-11-29 17:55:01 +00:00
Ian McInerney 9f9b48739c pcbnew: Adjust dimension display after updating units
Fixes: lp:1854167
* https://bugs.launchpad.net/kicad/+bug/1854167
2019-11-27 16:39:13 +00:00
jean-pierre charras 71cd8c57bf ADDED: Pcbnew, add "pin function" (pin name in eeschema) to pads.
The pin name defined in Eeschema is now available as pad info.
Useful for the board designer (the pin function is displayed in the message panel).
Needed for the Gerber P&P files.
2019-11-23 09:12:43 +01:00
jean-pierre charras 3be1862b0f Fix minor wxWidgets alert (with wxWidgets 3.1.3) 2019-11-20 17:53:38 +01:00
jean-pierre charras eadcb5de5e DIALOG_PAD_PROPERTIES: fix incorrect pad type for Aperture option.
The aperture option created a Connector pad only on the paste layer.
This is incorrect: the SMD type only is acceptable.
5connector is *only* for edge card connectors.
Moreover, The dialog did not even accept the setting defined by this dialog...
2019-11-17 18:20:19 +01:00
jean-pierre charras a4c9f961f7 Fix overzealous detection "Warning: No net for component".
- Previously a warning was generated even for not connectable pads
(pads not on copper layers or without pad name).
- The test is now optional and is disabled by default.
(pads without corresponding pin is schematics are a frequent case)

Fixes: lp:1852444
https://bugs.launchpad.net/kicad/+bug/1852444
2019-11-17 16:55:22 +01:00
jean-pierre charras 6f2cbe5982 Pcbnew: housekeeping: move netlist code to netlist_reader sub directory. 2019-11-17 13:58:38 +01:00
Jeff Young 9a82bc396c Use lazy-mode update for the reporter when updating footprints. 2019-11-16 23:03:46 +00:00
jean-pierre charras 00bbb4bc15 DIALOG_FOOTPRINT_BOARD_EDITOR: minor cosmetic enhancement
Make footprint lib id copyable.
2019-11-16 20:00:32 +01:00
jean-pierre charras 577fbc6156 PCBNew: fix issue with keepout area in board editor.
Not able to draw a keepout-area on bottom or internal layers.
This was due to a behavior specific to the footprint editor,
not disabled in board editor.

Fixes: lp:1852847
https://bugs.launchpad.net/kicad/+bug/1852847
2019-11-16 13:01:48 +01:00
jean-pierre charras f333d1b974 fix typo creating compil issue 2019-11-12 14:15:03 +01:00
jean-pierre charras de2818c113 Fix a few I18n minor issues. 2019-11-12 13:47:35 +01:00
Ian McInerney 9f0c131ba4 Fix build error in DIALOG_BOARD_STATISTICS
When passing the functions into the wxEventHandler setup functions
they must be fully qualified with the class name.
2019-11-11 10:48:03 +00:00
jean-pierre charras a3b0f9deba DIALOG_BOARD_STATISTICS_BASE: fix a wxWidgets alert.
Add a small margin around texts in drill grid.
2019-11-11 09:28:41 +01:00
Mikołaj Wielgus 4b92c516e1 Pcbnew: Add drill holes table to board statistics
NEW: Add drill holes table to board statistics as a separate tab in the board
statistics dialog. Print the drill holes table in the generated statistics file.
NEW: Make the generated statistics file Markdown compatible.
2019-11-11 07:46:18 +01:00
jean-pierre charras 062e7273b7 footprint viewer: fix a minor issue:
New settings from footprint viewer dialog settings were never updated.
2019-11-09 20:07:19 +01:00
Seth Hillbrand 6625d0721e Implement Get/Set display options
The pointer passing for display options is deprecated.  This removes the
excess casting as the EDA_FRAME didn't need the base call with no value.
All requests for display options are now returned const and are updated
with a Set() routine after modification.

In Gerbview, this resolves an issue where the display options were not
stored because it was receiving the NULL from EDA_FRAME.
2019-11-07 08:26:44 -08:00
jean-pierre charras a60fb9a4b8 Pad properties dialog: minor change: in pad type list; change "Connector" to more explicit "Edge Connector".
Reason: this type "Connector" is used in Gerber files, and is specific to edge cards connectors.
2019-11-06 18:11:37 +01:00
Jeff Young 383adaa6f4 Remember update footprint checkbox values.
Fixes: lp:1851365
* https://bugs.launchpad.net/kicad/+bug/1851365
2019-11-05 18:03:45 +00:00
Jeff Young dc8c396c4f Cleanup. 2019-11-05 18:03:45 +00:00
Jeff Young 1c153c55c0 Add default units and precision for new dimension objects.
Fixes: lp:1846376
* https://bugs.launchpad.net/kicad/+bug/1846376
2019-11-05 17:22:51 +00:00
Jeff Young 48c8ac9663 Added new action for "Change Track Width".
Default out-of-the-box is no hotkey. Removed all the preference stuff.

Note that the new implementation is a little different: the old one only
operated on a selection with a single item where the new one operates on
all selected items. So if you want the whole track do a 'U' before the 'W'
(or whatever you have Change Track Width assigned to).

Fixes: lp:1844023
* https://bugs.launchpad.net/kicad/+bug/1844023
2019-11-05 17:22:51 +00:00
jean-pierre charras 65bf669387 Refinements in gerber placefile writer: allows adding board edge cuts in file.
Use a pad bounding box for footprints having no valid courtyard defined.
Refinement also in Gerber files when plotting oval pads.
2019-11-01 18:12:26 +01:00
Seth Hillbrand 43768b71c0 Unify string lists of forbidden footprint chars
We have forbidden lists maintained in 3 separate locations.  This causes
a bit of confusion as to which is correct.

This makes the list uniform but remains to place the character set in a
single location.
2019-10-29 13:31:11 -07:00
jean-pierre charras 1c2891e6d4 Fp editor: allow internal layers in footprint keep-out zones Especially: Enable one internal layer to manage keep-out areas only on internal layers Allowing one internal layer is a trick to manage these keep-out areas (visibility and selection) In fact this internal layer groups all internal layers enabled is these keep-out areas. 2019-10-29 11:24:57 +01:00
jean-pierre charras bfe2fbf991 Fix uninitialized variables.
especially BOARD_DESIGN_SETTINGS::m_HoleToHoleMin was not initialized, but used in pcbnew when creating a new board
2019-10-25 09:15:19 +02:00
Ian McInerney 3b1817ee32 pcbnew: Fix deletion of vias in global delete window
Fixes: lp:1847580
* https://bugs.launchpad.net/kicad/+bug/1847580
2019-10-23 12:04:42 -04:00
jean-pierre charras 4813eb12e6 DIALOG_POSITION_RELATIVE: fix some issues: wxWidgets alerts and unit selection not taken in account after the first run.
Fixes: lp:1849231
https://bugs.launchpad.net/kicad/+bug/1849231
2019-10-22 14:09:11 +02:00
jean-pierre charras 11cf260b7d DIALOG_GENDRILL: modify an option: Gerber format is not experimental now. 2019-10-19 13:45:17 +02:00
jean-pierre charras 36253450e7 Pcbnew: Add experimental place file (P&P) export in Gerber format. 2019-10-19 11:26:28 +02:00
jean-pierre charras 967b9d4a97 Gencad export: fix an issue in hash_eda calculation, that can generate the same hash for 2 different footprints.
Therefore, for some footprints, the right footprint was not associated to the component.
The hash calculation was using a XOR to combine 2 sub hash values.
This is not a strong way to combine these hash values.
They are now added. Looks better to identify similar and different footprints.

Fixes: lp:1847575
https://bugs.launchpad.net/kicad/+bug/1847575
2019-10-10 20:18:48 +02:00
jean-pierre charras 89e9857f3d Fp editor, DIALOG_FOOTPRINT_FP_EDITOR: fix a very annoying issue: the value field was copuled to the fp name.
Unlike schematic symbols, the value field and the footprint name are 2 different fields.
So coupling these fields in the DIALOG_FOOTPRINT_FP_EDITOR dialog created serious issues.

Fixes: lp:1846533
https://bugs.launchpad.net/kicad/+bug/1846533
2019-10-09 18:57:40 +02:00
Jeff Young 2679e80469 Fix bug saving last netlist filepath.
Fixes: lp:1845883
* https://bugs.launchpad.net/kicad/+bug/1845883
2019-10-01 17:43:26 +01:00
jean-pierre charras 31e38f2fd4 Fix an issue in DIALOG_NETLIST: if the netlist does not exist, one cannot always modify the entered name.
Fix also a wxWidgets alert
2019-09-30 19:41:19 +02:00
jean-pierre charras 16f4958430 Pcbnew: avoid crash when closing pcbnew if the DRC dialog is open.
Cvpcb: change from commit 9ceca583:
the root class close event that save settings is now seeing the close event.
2019-09-19 09:16:12 +02:00
jean-pierre charras c10d30c1c8 PANEL_SETUP_NETCLASSES: fix not working (immediately closed) wxChoice widgets to select a filter
This happens with wxWidgets 3.0.4 on Windows and is a side effect of a call to Layout().
The fix just calls Layout() only when needed.

Fixes: lp:1843594
https://bugs.launchpad.net/kicad/+bug/1843594
2019-09-13 11:29:51 +02:00
Jeff Young f1790c24e5 Fix issue with Arc pad primitive dialog having center and start swapped.
Fixes: lp:1842199
* https://bugs.launchpad.net/kicad/+bug/1842199
2019-09-12 21:22:47 +01:00
Jeff Young aeedbf87dd Tighten up the Pad Properties dialog a bit.
Fixes: lp:1843580
* https://bugs.launchpad.net/kicad/+bug/1843580
2019-09-12 14:45:01 +01:00
Jeff Young 95ec2fba02 Fix tabbing in Text Properties dialog. 2019-09-10 12:40:28 +01:00
jean-pierre charras 2a9157ca99 Pcbnew, multiline graphic text dialog: strip extra \r in EOL (\n is enough) on Windows.
Fixes: lp:1843279
https://bugs.launchpad.net/kicad/+bug/1843279
2019-09-10 10:57:04 +02:00
Jeff Young 7dc9beaf11 Add type filter to push pad properties.
Fixes: lp:1827820
* https://bugs.launchpad.net/kicad/+bug/1827820
2019-09-08 23:50:36 +01:00
Jeff Young 14c4175040 Tighten up the board setup dialog layout a bit. 2019-09-07 13:57:38 +01:00
Jeff Young 10c25a2290 Update frame type enum to match current class names. 2019-09-06 23:38:20 +01:00
Wayne Stambaugh 2b24c09307 Pcbnew: minor netlist dialog layout fixes. 2019-09-06 11:14:13 -04:00
jean-pierre charras bd34348068 Pcbnew: allows using filled polygons in zones with no outline thickness.
This option was only available if advanced config "ForceThickZones" was set.
2019-09-06 16:13:41 +02:00
Seth Hillbrand 90b5cd3032 Unify text edit dialog behavior
This makes the pcbnew multiline text editor natively accept tabs in the
same manner as eeschema and extracts key handling routines to the shim
to allow undo/redo.

Also allows Ctrl-Y under Linux in addition to other platforms.  While
not as popular as Ctrl-Shift-Z, it is utilized for Redo in some contexts
2019-09-05 14:11:02 -07:00
jean-pierre charras f3f0e20a67 Pcbnew: add a board layer stack manager
This is a new feature.
2019-09-05 18:51:18 +02:00
Seth Hillbrand a4808e0420 pcbnew: Copy hatch zone settings when duplicate
Also wrap orientation instead of verifying it.  This allows valid angles
that are larger/smaller than the ±180 limit.

Fixes: lp:1842654
* https://bugs.launchpad.net/kicad/+bug/1842654
2019-09-05 09:42:24 -07:00
Seth Hillbrand c8a6878eb8 pcbnew: Allow tuning length to be longer than INT_MAX
The INT_MAX limit for most elements makes sense only for single-segment,
straight line elements.  For elements that accumulate lengths, we should
utilize the long long int (64 bits) to allow for greater lengths.

Fixes: lp:1842367
* https://bugs.launchpad.net/kicad/+bug/1842367
2019-09-03 16:41:09 -07:00
Jeff Young a675b8e3b2 Add specificty for text labels in Dimension Properties dialog.
While we're re-using the Text Properties dialog, it really covers all
properties for a Dimension, so it needs to be more clear what's text
and what's not.  This changelist uses the Tooltips to store the more
explicit labels so they can still be edited in FormBuilder.
2019-09-02 11:07:05 +01:00
jean-pierre charras 762dabd754 Pcbnew, DIALOG_TEXT_PROPERTIES: make lines thickness editable when editing a dimension.
Fixes: lp:1841797
https://bugs.launchpad.net/kicad/+bug/1841797
2019-09-02 09:48:17 +02:00
jean-pierre charras 9dac8534c1 Pcbnew: seriously speedup calculation time when plotting large filled areas. 2019-08-27 13:32:00 +02:00
Seth Hillbrand 48d68f55d7 pcbnew: Two layer boards need both masks
Adds the missing default layer to the default board setups for two
layers with parts on single side (either top or bottom)

Fixes: lp:1841294
* https://bugs.launchpad.net/kicad/+bug/1841294

(cherry picked from commit 8b3a2984bf)
2019-08-26 17:14:35 -07:00
Jeff Young bc0e67579c Change OK/Cancel to MSW order and move some other dialogs to new system.
(There's no point in following the OSX OK/Cancel order as you can't
tab to buttons on OSX anyway.)
2019-08-26 18:36:35 +01:00
Jeff Young 6b6e9eddee Return control of Symbol and Footprint chooser col widths to user.
The auto-calculation wasn't working out and even with it some users
wanted control.

Fixes: lp:1796774
* https://bugs.launchpad.net/kicad/+bug/1796774
2019-08-26 18:27:49 +01:00
Jeff Young 67db6c49b5 Buttons which bring up dialogs for more info need a "...".
Fixes: lp:1795385
* https://bugs.launchpad.net/kicad/+bug/1795385
2019-08-26 18:27:49 +01:00
Jeff Young b109aba663 Add a file browser to the Sheet Properties dialog.
Fixes: lp:1840459
* https://bugs.launchpad.net/kicad/+bug/1840459
2019-08-26 00:45:34 +01:00
Jeff Young 19b463ec78 Add option to keep 3DModel info when exchanging footprints.
Fixes: lp:1841303
* https://bugs.launchpad.net/kicad/+bug/1841303
2019-08-25 22:49:36 +01:00
Jeff Young 03da721030 Move events to wxFormBuilder and fix the missing hookup.
Fixes: lp:1841361
* https://bugs.launchpad.net/kicad/+bug/1841361
2019-08-25 20:48:47 +01:00
Jeff Young 7c85dc6cd7 Clearance should be in mils, not inches.
Fixes: lp:1841360
* https://bugs.launchpad.net/kicad/+bug/1841360
2019-08-25 20:48:46 +01:00
Seth Hillbrand 7c37641d83 pcbnew: Partial board stats cleanup
Fixes ordering issue and int/double conversion in board area

Moves via casting to internal dyn_cast
2019-08-25 08:48:09 -07:00
Seth Hillbrand 2518a2cc81 pcbnew:Initialize board statistics
Uninitialized values can cause odd output values.  Also adjust absolute
calc to utilize floating point returns.

Fixes: lp:1838325
* https://bugs.launchpad.net/kicad/+bug/1838325
2019-08-24 08:21:08 -07:00
Jeff Young d1b2a6ea70 More descriptive labelling and hints for solder paste margins.
Fixes: lp:1837220
* https://bugs.launchpad.net/kicad/+bug/1837220
2019-08-21 15:35:03 +01:00
Jeff Young a25368cc6b Improve spelling.
The groundwork here is thanks to kunda1.

Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young fb21077d3a Fix some alignment issues in dialog and formatting issues in code.
Fixes: lp:1840775
* https://bugs.launchpad.net/kicad/+bug/1840775
2019-08-20 16:39:40 +01:00
Jeff Young 054a24c26e Prevent size events from firing during initialization.
Fixes: lp:1840690
* https://bugs.launchpad.net/kicad/+bug/1840690
2019-08-20 16:39:40 +01:00
Jeff Young 195fbbaf23 Reduce confusion by putting all dialog pages as leaf nodes. 2019-08-19 17:46:25 +01:00
jean-pierre charras d50dc4ff65 PANEL_SETUP_LAYERS: minor cosmetic change: Fix for commit e2be49a2.
The commit e2be49a2 was sent too early.
2019-08-15 10:26:08 +02:00
jean-pierre charras e2be49a2f6 PANEL_SETUP_LAYERS: minor cosmetic change. 2019-08-15 09:44:55 +02:00
Jeff Young ccf18ceb0e Fix accidental change in default radio button of Update PCB from Schematic. 2019-08-12 22:21:09 +01:00
Jeff Young f3f0a6899f Invoke move by ACTION; the EDIT_TOOL does lots of other stuff too.
Fixes: lp:1839877
* https://bugs.launchpad.net/kicad/+bug/1839877
2019-08-12 22:21:09 +01:00
Jeff Young cc0bd9a171 Even out PCB_EDITOR_CONTROL and PCB_INSPECTION_TOOL. 2019-08-12 22:21:09 +01:00
Jeff Young bc07c7da11 Use wxChoice instead of wxComboBox so we get menu highlighting. 2019-08-09 16:01:45 +01:00
Jeff Young 17d015ed5d Strip illegal chars from 3D filepath and change rotation increment to 90deg.
Fixes: lp:1823559
* https://bugs.launchpad.net/kicad/+bug/1823559
2019-08-08 23:02:37 +01:00
Jeff Young 4d53ff9811 Grid dropdown doesn't always live in the same toolbar.
Also fixes typo in grid properties dialog.

Fixes: lp:1839224
* https://bugs.launchpad.net/kicad/+bug/1839224
2019-08-08 13:51:23 +01:00
Jeff Young edc05b5d54 Pad properties dialog needs to edit the local value, not the resultant value.
Fixes: lp:1838618
* https://bugs.launchpad.net/kicad/+bug/1838618
2019-08-05 21:38:28 -06:00
Jeff Young 6c0a3b4534 Disable inappropriate values for aperture pads.
Fixes: lp:1809010
* https://bugs.launchpad.net/kicad/+bug/1809010
2019-08-05 16:48:18 -06:00
Wayne Stambaugh bf5ce3a1ba Pcbnew: fix minor layout issues in options panel. 2019-08-05 11:29:16 -04:00
Jeff Young 95bfb733ee Add defensive coding for <enter> processing in Edit Footprint Text dialog.
Fixes: lp:1806124
* https://bugs.launchpad.net/kicad/+bug/1806124
2019-08-04 16:25:36 -06:00
Jeff Young 373ba5a904 Better tooltip for Match Mode radio buttons.
Fixes: lp:1838551
* https://bugs.launchpad.net/kicad/+bug/1838551
2019-08-03 17:20:54 -06:00
jean-pierre charras 7bfbcef942 Make some strings more easily translatable
DIALOG_BOARD_STATISTICS: fix some minor issues.
2019-08-03 09:32:10 +02:00
Jeff Young 01e78b04c6 Save last-used-paths in export dialogs.
Also fixes the export GenCAD dialog so that browse correctly updates
the textbox.

Fixes: lp:1793761
* https://bugs.launchpad.net/kicad/+bug/1793761
2019-08-02 21:03:48 -06:00
Jeff Young 5c85dbaec4 Another attempt to improve tooltips for Update PCB from Schematic dialog. 2019-08-02 14:32:49 -06:00
Jeff Young 1ea9ad05bc More explicit text for Update PCB dialog.
Fixes: lp:1838551
* https://bugs.launchpad.net/kicad/+bug/1838551
2019-08-01 20:36:59 -06:00
Jeff Young 5c80019541 Update comment. 2019-07-31 21:56:53 -06:00
jean-pierre charras 10fcd8eaef DIALOG_BOARD_STATISTICS_BASE: fix minor wxWidgets alerts. 2019-07-28 18:24:59 +02:00
Alexander a6b2a44fd6 DIALOG_BOARD_STATISTICS modifications and fixes - added vias information to dialog - added "save txt report" feature - some code cleanup and readability fixes - fixed issue with dialog moving when checkbox clicked - now dialog saves checkboxes state 2019-07-28 16:17:09 +02:00
jean-pierre charras dc69cac298 Try to fix UI issues in select layer pair dialog and slect layer dialog.
Fixes: lp:1838173
https://bugs.launchpad.net/kicad/+bug/1838173
2019-07-28 12:54:59 +02:00
Jeff Young d0344aecea Minor cleanup in dialog layout. 2019-07-27 23:27:21 -06:00
Jeff Young 4e40534d21 Update find history in combobox when history item is selected. 2019-07-26 23:50:51 -06:00
Jeff Young 3904d7ccfc Push some search stuff down into EDA_DRAW_FRAME so it can be shared.
Also rewrites the PCBNew Find dialog to make use of the above, including:
1) searching in user-defined footprint fields
2) searching in pcb text
3) a history list in the search popup
4) case sensitive searching
5) word sensitive searching
6) the ability to turn wildcard searching on/off
7) better placement of the result when the dialog obscures part of the
window

Fixes: lp:1838006
* https://bugs.launchpad.net/kicad/+bug/1838006
2019-07-26 17:53:32 -06:00
Jeff Young 460b03372d Implement preference for immediate actions.
Also pushes prefer-selection-to-dragging to common.
2019-07-25 20:41:22 -06:00
Jeff Young 2ca379b281 Copy ratsnest flags when exchanging modules.
Fixes: lp:1834214
* https://bugs.launchpad.net/kicad/+bug/1834214
2019-07-21 19:49:13 -06:00
jean-pierre charras 346495ae31 Fix errors in DIALOG_BOARD_STATISTICS.
(some values were not in the right column or row)
2019-07-21 16:45:37 +02:00
jean-pierre charras 88801f46d9 Fix issues in DIALOG_BOARD_STATISTICS:
- make it wxWidgets 3.1 compatible.
- internationalize.
- fix minor wxwidgets alert.
- remove settings for fg/bg color: the result is unpredictable:
was black texts on black background on my computer.
2019-07-21 12:01:36 +02:00
Jeff Young ab7cf4a2b0 A bit of visual cleanup for the new Board Statistics dialog. 2019-07-20 14:39:08 -06:00
Alexander bb290abe91 added board statistics dialog, which shows info for production and assembly 2019-07-20 14:39:08 -06:00
Jeff Young b5e01ea163 Initialize plot with aux origin checkbox.
Fixes: lp:1836923
* https://bugs.launchpad.net/kicad/+bug/1836923
2019-07-20 07:54:40 -06:00
Jeff Young 4a1edf581e Update DXF units drop-down.
Fixes: lp:1836927
* https://bugs.launchpad.net/kicad/+bug/1836927
2019-07-20 07:48:16 -06:00
Jeff Young 37af3adffb Add preference for flip axis.
Fixes: lp:1836267
* https://bugs.launchpad.net/kicad/+bug/1836267
2019-07-14 10:36:48 +01:00
Jeff Young a3855cb4f2 Allow thermal spokes to be same width as minimum width.
Also some changes for readability and clarity, both in the code
and in the Feature Constraints panel.

Fixes: lp:1835674
* https://bugs.launchpad.net/kicad/+bug/1835674
2019-07-14 10:36:48 +01:00
jean-pierre charras be5f3717c7 Fix minor wxWidgets alerts. 2019-07-13 18:32:18 +02:00
Ian McInerney 39954b20fe pcbnew: Make the netlist class panel usable with a lot of classes
Fixes: lp:1826154
* https://bugs.launchpad.net/kicad/+bug/1826154
2019-07-12 10:22:59 -07:00
Jeff Young 6c9e34e799 Don't let visibility bit get nuked when updating effects.
Fixes: lp:1836183
* https://bugs.launchpad.net/kicad/+bug/1836183
2019-07-11 18:19:29 +01:00
Jeff Young 807b8d4cf1 Lower x (or y) value always defines "Start Point".
"End Point" is the other.  (The user doesn't care what the variable
names in the code are.)

Also re-lays-out the dialog for better comprehension.

Fixes: lp:1694964
* https://bugs.launchpad.net/kicad/+bug/1694964
2019-07-11 17:36:32 +01:00
Ian McInerney ff9d899ae0 pcbnew: Clean up warnings with unit handling in the DXF export 2019-07-10 12:21:01 -04:00
Jeff Young 183687c69e Cleanup and a big hack to prevent keyboard focus loss.
Fixes: lp:1810993
* https://bugs.launchpad.net/kicad/+bug/1810993
2019-07-08 20:45:42 +01:00
Seth Hillbrand 3d8d852990 Fix board setup issue with reloading
Previous fix for the non-updated netclass pointers caused issues with
display of overlay view items and was bigger than needed to be.  Just
resetting the tools gets the pointers released.

Fixes: lp:1835533
* https://bugs.launchpad.net/kicad/+bug/1835533
2019-07-06 06:43:43 -07:00
Seth Hillbrand 09100100c9 pcbnew: Reload board after changing board paramters
The old board pointer maintains shared pointers to netclasses (among
other things) that do not get released by the
SynchronizeNetsAndClasses() call.  We reload the board to fully release
the pointers.

Fixes: lp:1835533
* https://bugs.launchpad.net/kicad/+bug/1835533
2019-07-05 13:50:29 -07:00
Jeff Young 1c30f3d9a9 Give up on KillFocus validation.
wxWidgets sends the KillFocus event before the Cancel button event,
and it sets the receiving-focus window pointer to NULL (so you can't
even check for it being the Cancel button.  Last time around (with
the UNIT_BINDER) I also tried a bunch of hacks for whether the window
pointer is NULL, etc., but they aren't discriminatory either.

Fixes: lp:1834975
* https://bugs.launchpad.net/kicad/+bug/1834975

Fixes: lp:1834966
* https://bugs.launchpad.net/kicad/+bug/1834966
2019-07-02 17:04:08 +01:00
Jeff Young da71a51029 Cleanup. 2019-07-02 00:48:05 +01:00
Jeff Young 29db6152b3 Only warn once in KillFocus for each error value in footprint name.
More than that just gets annoying, and there is at least one edge case
which throws us into an infinite loop if we don't have something to
break us out.

Fixes: lp:1834966
* https://bugs.launchpad.net/kicad/+bug/1834966
2019-07-02 00:47:52 +01:00
jean-pierre charras 978c4fd7d3 Pcbnew, export_footprints_placefile.cpp: code refactor.
Make the data generation code separate from the dialog code.
The dialog itself does not include anymore the data generation code.

Non SMD footprints forced in list are now displayed in the dialog.
The attribute MOD_CMS is no longer silently modified (without undo command) by the dialog.
2019-06-30 18:27:12 +02:00
Seth Hillbrand d650cca088 Enforcing rational limits on length tuner
The length tuning dialog needed validators on close to prevent negative
and percentages >100%

Fixes: lp:1834734
* https://bugs.launchpad.net/kicad/+bug/1834734

(cherry picked from commit 3974c6fd89)
2019-06-29 09:38:27 -07:00
Jeff Young 3135334c0c Hook up zone-connection controls in Edit Footprint dialog.
Fixes: lp:1834629
* https://bugs.launchpad.net/kicad/+bug/1834629
2019-06-28 12:24:15 +01:00
Jeff Young e785c140b9 Eradicate globals for PCB_GENERAL_SETTINGS.
Fixes: lp:1832896
* https://bugs.launchpad.net/kicad/+bug/1832896
2019-06-26 21:54:03 +01:00
Wayne Stambaugh 288982b15d Symbol and footprint library table editor fix.
Prevent the symbol and footprint library table editors from substituting
the current project path (${KIPRJMOD}) when adding libraries to the global
library table.  This will almost assuredly fail when opening a different
project.  We still allow users to manually use ${KIPRJMOD} in global table
paths under the assumption that if they are typing this in then they most
likely understand environment variable substitution.

Fixes lp:1830694

https://bugs.launchpad.net/kicad/+bug/1830694
2019-06-25 08:36:32 -04:00
Jeff Young 79cd457ba7 Implement thermal spokes for custom pad shapes.
The thermal spokes are anchored at the pad anchor.  They may or may
not make sense, depending on the pad shape.  It's up to the author
to move the anchor around as necessary or to not use thermals.
2019-06-25 11:34:28 +01:00
Seth Hillbrand 0bce0f37e4 pcbnew: Avoid wxassert in message
wxstring::Printf() needs size_t cast to acceptable type or it gives an
assertion in debug mode.

(cherry picked from commit e8ce0ba6ef)
2019-06-24 09:42:40 -07:00
Seth Hillbrand 3bd2b7762a Fixup previous move commit
The previous commit missed a case where the number was so large that it
overflowed the integer invalidating the comparison.  This protects
against that case by using floating point comparison.

(cherry picked from commit f25ae373bb)
2019-06-20 06:48:10 -07:00
Seth Hillbrand 4a18f9db3a pcbnew: Enforce maximum movement in Move Exact
This checks the movement against a maximum value that would place the
selection outside of the valid area for the footprint or board.

Fixes: lp:1833478
* https://bugs.launchpad.net/kicad/+bug/1833478

(cherry picked from commit 845833e8fd)
2019-06-20 06:40:33 -07:00
Seth Hillbrand 77cefe0c16 Normalize line endings
A few files snuck in with CRLF for the line endings.  These make it hard
to look at diffs as every line appears to have changed.  This commit
makes only line ending changes, so can be ignored
2019-06-19 15:18:30 -07:00
Jeff Young eb95202708 Fix grid update when edited from menubar.
Fixes: lp:1833399
* https://bugs.launchpad.net/kicad/+bug/1833399
2019-06-19 18:35:17 +01:00
jean-pierre charras a076f5092c I18n: fix a few useless leading spaces in messages. 2019-06-16 20:29:11 +02:00
Wayne Stambaugh 77bf575742 CvPcb: fix save changes dialog layout issue.
DIALOG_EXIT was not being laid out correctly after setting the dialog
message.  Rather than fix our custom DIALOG_EXIT, wxMessageDialog and
wxRichMessageDialog were substituted as direct replacements for all
of the variants of DIALOG_EXIT.  This make message dialogs appear more
consistent because wxMessageDialog uses the default platform message
dialog and wxRichMessageDialog uses the default platform rich message
dialog on windows.

Remove DIALOG_EXIT_BASE as it is no longer required.

Fixes lp:1832899

https://bugs.launchpad.net/kicad/+bug/1832899
2019-06-16 12:10:24 -04:00
jean-pierre charras 18ffb405b4 better message in dialog 2019-06-16 09:13:17 +02:00
Ian McInerney d5f680ecd2 Allow DXF to be exported in either inches or millimeters
Fixes: lp:1832188
* https://bugs.launchpad.net/kicad/+bug/1832188
2019-06-13 15:18:20 -07:00
Ian McInerney b2c848579a pcbnew: Update plot dialog to contain a unit selector for DXF 2019-06-13 15:18:07 -07:00
Jeff Young 8f84c3ec4f Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal. 2019-06-13 19:58:37 +01:00
Jeff Young ce1f35a1be Cleanup some left-over vestiages of the legacy canvas architecture. 2019-06-13 15:51:32 +01:00
Seth Hillbrand daad58e511 pcbnew: Add option to show ratsnest while moving
Re-works ratsnest display options in the configuration parameters rather
than the board file.  Moves ratsnest options to central preferences
location.

Fixes: lp:1826440
* https://bugs.launchpad.net/kicad/+bug/1826440

Fixes: lp:1821183
* https://bugs.launchpad.net/kicad/+bug/1821183
2019-06-12 17:36:02 -07:00
Jeff Young bb96255a03 Fix dangerous static_cast-ing to wrong type. 2019-06-10 23:46:01 +01:00
Jeff Young 5e49517781 Move hotkeys to ACTION architecture. 2019-06-10 23:46:00 +01:00
Jeff Young 6025256e07 Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
jean-pierre charras 929b1a1275 Better message for translation. 2019-06-09 17:53:03 +02:00
Jeff Young 1222f3cc72 ACTION-ize fab outputs. 2019-06-04 22:31:42 +01:00
Jeff Young 4e11dcfa31 Better error reporting for board edge collisions. 2019-06-04 13:56:54 +01:00
Jeff Young fbfbb64387 A bit of cleanup of stale DRC code. 2019-06-04 13:56:54 +01:00
jean-pierre charras 34ccd0f004 Pcbnew: prepare the new zone filling algo (filled polygons with no thickness). Work in progress. 2019-06-04 09:39:17 +02:00
Jeff Young 3912c7407f Move global commands to ACTIONs.
Also fixes a crash bug opening Edit Tracks and Vias dialog.
2019-06-03 21:08:30 +01:00
Jeff Young d7574db805 Fix regression in dialog-avoidance when focusing on a location. 2019-06-03 21:08:30 +01:00
Jeff Young 568c8c336b Move DRC control to a tool; move assorted commands to ACTIONS. 2019-06-03 21:08:30 +01:00
Jeff Young 6ac273264d Move Show3DViewer to common action. 2019-06-02 16:21:44 +01:00
jean-pierre charras 072fc4f8cb DIALOG_COPPER_ZONE: minor cosmetic change. 2019-06-02 11:50:46 +02:00
Seth Hillbrand 6a45446496 pcbnew: Remove the last dlist from modules/pcbnew 2019-06-01 20:55:32 -07:00
Seth Hillbrand 9163ac543a pcbnew: Move pads to std::deque 2019-06-01 16:23:54 -07:00
Seth Hillbrand 3fb8963536 pcbnew: Cleanup tracks and vias rework
Fixes a few commit issues based on the std:: rework.  Add an option to
delete tracks fully in pads and makes merge tracks smarter

Fixes: lp:1787190
* https://bugs.launchpad.net/kicad/+bug/1787190
2019-06-01 09:53:23 -07:00
Seth Hillbrand 888c01d11b pcbnew: Move tracks to std::deque 2019-06-01 09:53:23 -07:00
Seth Hillbrand d1877d7c1b Moving modules from DLIST to std::deque 2019-06-01 09:53:23 -07:00
Jeff Young 296ec66796 Cosmetic cleanup in preference panels. 2019-06-01 16:29:12 +01:00
Jeff Young c1298570cb Remove legacy routing options. 2019-06-01 16:29:12 +01:00
Jeff Young 7553cc2651 Clean up some dangling legacy odds and ends. 2019-06-01 01:17:46 +01:00
Jeff Young ed9153a786 Fix assert launching PCBNew. 2019-06-01 00:06:25 +01:00
Jeff Young c2662b0e11 Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME. 2019-05-31 21:55:30 +01:00
Jeff Young d6e9bdf07b Convert remaining legacy drawing code to print code. 2019-05-31 21:54:22 +01:00
Jeff Young 03bab2f4a9 Remove some more legacy drawing stuff. 2019-05-31 21:54:22 +01:00
Jeff Young d2daab808c Remove some legacy cursor handling stuff. 2019-05-31 21:54:22 +01:00
Jeff Young edc8438ef0 Start the process of removing the legacy draw panel. 2019-05-31 21:54:21 +01:00
Seth Hillbrand 218bea9ace pcbnew: Fix crash in find dialog
Tool manager is not exposed to the dialogs, we need to reference it
through the parent frame.

Fixes: lp:1830942
* https://bugs.launchpad.net/kicad/+bug/1830942
2019-05-29 15:05:38 -07:00
Jeff Young 1e9da7f57b Remove CurItem() architecture and legacy routers and drawing code. 2019-05-29 00:26:30 +01:00
Michael Kavanagh 27d097a78c Stop PNS router settings from being overwritten when switching modes
Fixes: lp:1824967
* https://bugs.launchpad.net/kicad/+bug/1824967
2019-05-27 16:10:00 -07:00
Jeff Young 9d9745b555 Remove more legacy editing code. 2019-05-27 18:47:20 +01:00
Jeff Young 6936effaa7 Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
Fixes: lp:1820059
* https://bugs.launchpad.net/kicad/+bug/1820059
2019-05-27 11:58:55 +01:00
jean-pierre charras 568d4e2b19 Avoid including id.h in a lot of files that do not use it. 2019-05-26 08:14:25 +02:00
Seth Hillbrand 6bcf1839b7 pcbnew: Add arc approximation setting to board
This places the arc approximation setting in the kicad_pcb file and uses
it for all parts of the board rendering where arcs are converted to
segments.  This allows the user to customize their speed vs. accuracy
tradeoff.  The default setting of maximum error of 0.005mm is acceptable
for small boards on moderate systems.
2019-05-24 21:21:06 -07:00
Ian McInerney 0daf14f9c3 pcbnew: Fixed listing of 3D libraries in the github wizard
Fixes: lp:1830137
* https://bugs.launchpad.net/kicad/+bug/1830137
2019-05-23 09:50:05 -07:00
jean-pierre charras 459a972116 Remove unused vars. 2019-05-22 08:27:48 +02:00
Jeff Young 1a3d0492f5 Push polar coords down into COMMON_TOOLS. 2019-05-18 00:21:49 +01:00
Seth Hillbrand f32c95229e pcbnew: Check for valid data before deleting
We need to check for valid rows and iterators before removing a 3d model

Fixes: lp:1829337
* https://bugs.launchpad.net/kicad/+bug/1829337
2019-05-17 09:34:27 -07:00
Jeff Young fbb807f3bb Move some more menu & toolbar items to modern toolset. 2019-05-16 19:57:06 +01:00
John Beard 0eb8f92c69 Pcbnew: add a step field to the array tool
This is useful, for example, when arraying only one side
of a connector.

Fixes: lp:1809580
* https://bugs.launchpad.net/kicad/+bug/1809580
2019-05-16 11:20:52 +01:00
John Beard eb1e67583f Pcbnew: tidy up array options access/allocation
Use unique_ptrs for ownership transfer.

Pass the target object to the constructor rather than
creating an internal verison.
2019-05-16 11:20:52 +01:00
John Beard 6ade8c25e1 Pcbnew: allow alphabetic numbering in n circular grids
Add controls to the dialog and wire up to the axis numbering
scheme, same as the grid axes.

Fixes: lp:1814923
* https://bugs.launchpad.net/kicad/+bug/1814923
2019-05-16 11:20:52 +01:00
John Beard f47e2b54f8 Decouple the array tool list box from the numbering enum
This prevents the dialog being sensitive to the exact ordering
of the enum, and instead defines an explicit mapping between
the axis numbering type, the label string and the position in the
list box control.
2019-05-16 11:20:52 +01:00
John Beard 2c1b970027 Arrays: isolate axis code in a new class
Remove the axis numbering code from ARRAY_OPTIONS
and place in a new class, ARRAY_AXIS. This keeps
the logic for the array item numbering separate from
the logic for the array item geometry.

This simplifies the logic in the ARRAY_OPTIONS class, which
no longer has to deal with the numbering of each axis.
2019-05-16 11:20:52 +01:00
Seth Hillbrand b3b5ffe799 pcbnew: fixup small type issue 2019-05-15 09:53:42 -07:00
Wayne Stambaugh a32bb4e9a5 Pcbnew: fix crash when deleting DRC errors from DRC dialog.
Fixes lp:1828726

https://bugs.launchpad.net/kicad/+bug/1828726
2019-05-14 18:07:34 -04:00
Wayne Stambaugh 6f27ef7f66 Fix library table editor dialog environment variable grid column names.
Fixes lp:1825977

https://bugs.launchpad.net/kicad/+bug/1828459
2019-05-14 07:57:58 -04:00
Seth Hillbrand f7c042a357 pcbnew: Allow curves in custom pads
Updates custom pad functions to permit adding arbitrary curves to the
primitives
2019-05-08 15:54:26 -07:00
Seth Hillbrand b56ca3f09c Staging wxFormBuilder change for next commit 2019-05-08 15:54:26 -07:00
jean-pierre charras 4e5a94efb7 Pcbnew, non copper zones: fix 2 issues.
1 - For debug purposes, the code to fill non copper zones was disabled and the copper zone code was uses instead.
It creates issues with pad clearance areas, because a non copper zone has no clearance areas.
2 - The non copper zone dialog had no option to set the outline smoothing option.
Unfortunately, this parameter was inherited from the last edited copper zone.
And therefore the non copper zone can have a non wanted outline smoothing option.
This option is now added to the dialog.

Fixes: lp:1826952
https://bugs.launchpad.net/kicad/+bug/1826952
2019-04-30 13:16:29 +02:00
Michael Kavanagh df228a3c10 Pcbnew: Fix missing UI elements for curved ratsnest function
Fixes: lp:1826446
* https://bugs.launchpad.net/kicad/+bug/1826446
2019-04-27 15:11:41 +02:00
Jeff Young 69cdb4a76c Make Import Settings button label more specific.
Fixes: lp:1826477
* https://bugs.launchpad.net/kicad/+bug/1826477
2019-04-26 15:02:17 +01:00
Jeff Young a461eae8b9 Fix 100s of usages of GetFlags() which conflated != 0 with being edited.
While this was true long ago, many flags have been added since which
have nothing to do with editing (HIGHLIGHTED, BEGIN_ONPAD, etc.)
2019-04-22 09:58:06 +01:00
Simon Richter 2b3b26b502 Remove two extraneous spaces from a tooltip 2019-04-20 22:04:22 +01:00
Jon Evans 105825c058 Refactor Import Netlist to use the same codepath as Update PCB 2019-04-17 22:57:19 -04:00
jean-pierre charras a07caac85a Pcbnew, Netlist inspector: fixes and enhancements. 2019-04-15 10:10:51 +02:00
Jeff Young ef3f773f84 Code formatting cleanup. 2019-04-14 23:13:46 +01:00
Jeff Young d5f136cd7e Polish export-related changes to List Nets Dialog. 2019-04-14 22:29:52 +01:00
Andrey Fedorushkov dacab4abe0 pcbnew: add tracks length and export netlist to file in netlist inspector 2019-04-14 20:39:29 +01:00
Jon Evans dec5d80180 Veto mouse warping from DRC dialog
Fixes: lp:1824630
* https://bugs.launchpad.net/kicad/+bug/1824630
2019-04-13 11:23:57 -04:00
Jeff Young dae41b7460 Remove legacy segment-based zones.
Give the user the option of cancelling a file open if there are
segment zones; otherwise they're converted to polygon fills.

Fixes: lp:1823087
* https://bugs.launchpad.net/kicad/+bug/1823087
2019-04-12 20:19:23 +01:00
Jon Evans 3d9b5daf9c Improve selection behavior of DRC markers in DRC dialog list
Fixes: lp:1813373
* https://bugs.launchpad.net/kicad/+bug/1813373
2019-04-12 11:01:38 -04:00
Jeff Young 0021ecf51e Don't double-escape netnames.
Netnames in wxChoice or wxListBox are already in internal format
and don't need escaping again.

Fixes: lp:1823863
* https://bugs.launchpad.net/kicad/+bug/1823863
2019-04-12 00:28:58 +01:00
Jeff Young 8ae0579436 Reorder global edit dialogs for better comprehension.
Fixes: lp:1818087
* https://bugs.launchpad.net/kicad/+bug/1818087
2019-04-12 00:28:58 +01:00
Jeff Young 2144c6c97d Save a bit of space in the copper zone dialog. 2019-04-10 18:12:14 +01:00
Seth Hillbrand 7cf394e34f pcbnew: Handle missing footprint wizards
When we do not have any footprint wizards to display, we cannot select
the grid rows.

Fixes: lp:1823608
* https://bugs.launchpad.net/kicad/+bug/1823608
2019-04-09 11:54:01 -07:00
jean-pierre charras 0b33df8831 Pcbnew,DIALOG_SELECT_NET_FROM_LIST: fix a crash and the not working net selection.
It was due to changes in code, and related to escaping the '/' in net labels.
2019-04-08 15:36:55 +02:00
Jeff Young d361e68d0e Condense the DRC dialog a bit.
The messages title doesn't really provide useful info anyway.
2019-04-08 13:26:26 +01:00
Jeff Young a1c162e59f Reimplement footprint checking on top of DRC architecture.
This allows Import Netlist and Update PCB from Schematic to
share the same checking code, and expose it through the DRC
dialog.

Fixes: lp:1685516
* https://bugs.launchpad.net/kicad/+bug/1685516

Fixes: lp:1809293
* https://bugs.launchpad.net/kicad/+bug/1809293
2019-04-08 13:26:17 +01:00
Tomasz Włostowski e5753b79d4 pcbnew: Hyperlynx Exporter - initial version 2019-04-08 02:56:02 +02:00
Seth Hillbrand a300ae105d pcbnew: Freeze the netclasses dialog on init
Prevents the size events from firing on Mac when we set up the netclass
panel

Fixes: lp:1819426
* https://bugs.launchpad.net/kicad/+bug/1819426
2019-04-07 07:07:55 -07:00
Jeff Young 684bb62fd8 Escape slashes in labels and netnames.
Also re-allows spaces, as they can already come in through sheet
names.

Fixes: lp:1798621
* https://bugs.launchpad.net/kicad/+bug/1798621
2019-04-07 00:24:10 +01:00
Jeff Young 1ae47b6069 Implement a copper-to-edge-clearance setting.
For legacy boards, the setting is picked up from the board outline
thickness.  If the board outline has mixed thicknesses, then the
max is used and a warning is displayed.

Fixes: lp:1797787
* https://bugs.launchpad.net/kicad/+bug/1797787
2019-04-05 22:18:44 +01:00
Wayne Stambaugh b6a0bf1142 Minor drill file dialog improvements. 2019-04-05 16:49:08 -04:00
Wayne Stambaugh dfee7bddd3 Minor footprint position dialog improvements. 2019-04-05 16:15:16 -04:00
Jeff Young 87f303319c Implement a dry run for Cleanup Tracks and Vias.
Uses the DRC architecture to support inspection of the changes to
be made (right click on items, hover over them in the menu to
highlight them on the board).

Fixes: lp:1571305
* https://bugs.launchpad.net/kicad/+bug/1571305

Fixes: lp:1809474
* https://bugs.launchpad.net/kicad/+bug/1809474
2019-04-05 18:52:51 +01:00
Jeff Young ea43866563 Move legacy netlist read/write to import/export.
Fixes: lp:1610529
* https://bugs.launchpad.net/kicad/+bug/1610529
2019-04-05 16:11:15 +01:00
jean-pierre charras 0aa8458d04 DIALOG_PAD_PROPERTIES: Fix incorrect calculation of Round Rect Radius Ratio, when inches are selected.
Fixes: lp:1822720
https://bugs.launchpad.net/kicad/+bug/1822720
2019-04-04 15:40:29 +02:00
Jeff Young d8cc2f8280 More cleanup from non-reference return from GetText(). 2019-04-03 19:35:25 +01:00
Jeff Young a8b8c73ab8 Set initial focus to track width / via size.
Fixes: lp:1822177
* https://bugs.launchpad.net/kicad/+bug/1822177
2019-04-01 13:23:37 +01:00
Jeff Young 3da5396c8d Fixes for importing board setup properties.
Save/restore default netclass.
Read layers back in with correct syntax ('.' between keyword and layer name).
Write layers to project file.
Read/write layer enablement bits.
Don't set solder paste margin min to 0 (most of them are negative).

Fixes: lp:1811990
* https://bugs.launchpad.net/kicad/+bug/1811990
2019-04-01 13:23:37 +01:00
jean-pierre charras 7170720f3c Allow hatch pattern in filled zones
the filled areas can use a hatch pattern (crossing lines) using square holes.
The zone filler removes too small holes (truncated holes) from hatch pattern.
It avoid to create small holes when a hole pattern is truncated by the filled area base shape.
2019-03-31 08:21:40 +02:00
John Beard d6b8e9e037 Pcbnew: Improve tab traversal in text properties dialog
Tab through the grid vertically, then horizontally, as the fields
are laid out with "related" fields (like the co-ords) vertically.

Also neaten headers.

Fixes: lp:1821887
* https://bugs.launchpad.net/kicad/+bug/1821887
2019-03-27 13:56:03 +00:00
John Beard b7017167f0 Pcbnew: Align right margins in text properties dialog 2019-03-27 13:56:03 +00:00
John Beard dd3252445d Pcbnew: update text properties dialog wxFB version
No actual changes, but this keeps the diffs clean(er).
2019-03-27 13:56:03 +00:00
jean-pierre charras 7c04b3dbeb Drc dialog: make track to copper zones test optional, because it can be really very time consuming 2019-03-19 18:18:20 +01:00
jean-pierre charras d259459a14 Pcbnew: add a new primitive pad shape: chamfered round rect pad.
Allows 0 to 4 chamfered corners, not only one.

A custom shape allow this kind of shape. However because it is a primitive,
it is easier to edit and it support thermal reliefs.
2019-03-11 10:26:15 +01:00
John Beard b6916c490c Pcbnew: allow tab traversal of footprint orientation text control
Disable the text update event for the orientation cutom value field before
updating it when the radio buttons are selected. This allows to use the
conventional EVT_TEXT handler, rather than KEYDOWN, which has two effects:

* Tabbing though the dialog no longer sets custom orientation
* Click-driven clipboard actions trigger the update correctly.

Introduce a helper function in validators.h to assist in updating
validated fields without triggering further events.

Fixes: lp:1819006
* https://bugs.launchpad.net/kicad/+bug/1819006
2019-03-07 20:27:04 +00:00
John Beard 4574349539 UI: Automatic wxFB changes in pcbnew edit footprint dialog
Commit automatic changes to keep diffs clean when real changes are made.
2019-03-07 20:27:04 +00:00
Wayne Stambaugh 4612175da2 Pcbnew: better fix for dialog default button handler issues.
Use DIALOG_SHIM::SetInitialFocus() to fix default button handler issue
on all platforms.  Commit cabc33b4 only fixed the problem on windows.
2019-03-04 15:30:32 -05:00
Wayne Stambaugh cabc33b4cd Pcbnew: fix dialog default button handler issues.
Set the focus to some control in the copper zone, non-copper zone, and
keep out zone dialogs required for the default button action to work
properly.  This only seem to affect windows dialogs.

Fixes lp:1818397

https://bugs.launchpad.net/kicad/+bug/1818397
2019-03-04 11:34:04 -05:00
Jeff Young cedef13bb1 Enable default OK button.
Fixes: lp:1818397
* https://bugs.launchpad.net/kicad/+bug/1818397
2019-03-04 12:06:40 +00:00
Jeff Young 69f003ba4a Remove previous cell selection fixes in favour of slow-click hack.
wxWidgets has several bugs that result in cell editors being closed
right after they're opened.  There are two wxWidgets hacks to
partially address this: the SetInSetFocus() hack, and a slow-click
hack.  We used to try and work-around these bugs ourselves for
single-click access, but this changelist moves those over to
wxWidget's slow-click hack.

Fixes: lp:1817965
* https://bugs.launchpad.net/kicad/+bug/1817965
2019-03-04 11:09:33 +00:00
jean-pierre charras 1ba1c6dbf3 DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS_BASE: fix minor wxWidgets alerts. 2019-02-28 18:56:48 +01:00
Jeff Young e25970592c Tighten up spacing a bit for 1024x768 monitors.
Fixes: lp:1817974
* https://bugs.launchpad.net/kicad/+bug/1817974
2019-02-28 11:36:09 +00:00
jean-pierre charras 16cbd25ed2 DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS_BASE: fix a minor wxWidgets alert. 2019-02-28 09:14:11 +01:00
jean-pierre charras 4d08906288 Pcbnew: fix 2 minor issues
* fp editor: ensure axis are drawn after switching the backend
* DIALOG_PNS_SETTINGS: ensure violate DRC option is correctly enabled/disable when opening the dialog.
2019-02-25 11:34:32 +01:00
Seth Hillbrand d36fbba1f3 pcbnew: Violate DRC only enabled in Highlight mode
Violating the DRC cannot happen in shove or walk around mode as we use
the DRC to calculate these actions.  The tooltip explains this as well
but we need to explicitly disable the checkbox to prevent users from
thinking that they can complete DRC violating tracks in other modes.
2019-02-23 08:19:50 -08:00
John Beard 82734e7116 Adjust tab ordering in some dialogs
Introduce a shortcut method to set tab ordering and use it in
the dialogs that override the tab traversal orders:

* Eeschema sheet properties
* Pcbnew Move exact
* Pcbnew Move relative

Also set some initial focus fields in the same dialogs.

Tidy a few includes.

Fixes: lp:1816009
* https://bugs.launchpad.net/kicad/+bug/1816009
2019-02-23 14:49:38 +00:00
John Beard 498a566ca3 Pcbnew: fix spacing in move exact dialog
The middle text ctrl has borders on both top and bottom, should be just
one for even spacing.
2019-02-23 14:49:38 +00:00
jean-pierre charras 0421335ac1 Minor fix in DIALOG_PAD_PROPERTIES: set show grid to false. 2019-02-23 12:31:00 +01:00
Jeff Young f14cf5cbc7 More uniform handling of state saving in global edit dialogs.
Includes Edit Text and Graphics Properties and Edit Track and Via
Properties.  It's also no longer board-specific as it turns out the
board timestamp is always 0 anyway.
2019-02-21 15:11:16 -07:00
jean-pierre charras 9ff0868813 pcbnew: fix incorrect sizing of net list display in DIALOG_SELECT_NET_FROM_LIST 2019-02-19 20:07:38 +01:00
Seth Hillbrand 525b9bd550 pcbnew: Correctly set the radio buttons in fpeditor
Radio buttons always have one set, so we need a single path to setting
the correct button.
2019-02-18 15:16:00 -08:00
jean-pierre charras 2dd653a327 WX_GRID: revert GetVisibleWidth() and add EnsureColLabelsVisible() to fix column label height of our wxGrid, for multiline column labels 2019-02-18 20:34:44 +01:00
jean-pierre charras e798cbe6c7 Fix a minor wxWidgets assert in DIALOG_SELECT_NET_FROM_LIST_BASE. 2019-02-18 11:33:53 +01:00
jean-pierre charras d62163cc7c Netclass panel: fix incorrect column sizes, that happens in a few languages.
The best size was calculated from a default size.
This default size (calculated by wxWidgets) was fully broken with some texts in a few languages.
So now this best size does not use this default size.

Fixes: lp:1816315
https://bugs.launchpad.net/kicad/+bug/1816315
2019-02-18 10:09:22 +01:00
Jeff Young dc5ae574e2 Restore ability to hide grid columns.
wxGrids stupidly does this by setting the width to zero, so you
have to be careful when adjusting minimum widths.
2019-02-17 14:09:35 +00:00
Jeff Young 076f07c683 Be more forgiving of large fonts in grids. 2019-02-17 10:38:06 +00:00
Jeff Young d751fecd8a Tooltip and error message improvements. 2019-02-17 10:20:29 +00:00
Jeff Young f1fb61202a Spelling fixes. 2019-02-17 10:18:42 +00:00
Jeff Young f5369c9d2c Clean up some extraneous TEXT_CRTL_EVAL references.
(UnitBinder gives you evaluation for "free".)
2019-02-17 10:16:09 +00:00
jean-pierre charras 303b7ac7f8 Pcbnew: fix delete dangling tracks only removes the last segment of tracks.
Fixes: lp:1816234
https://bugs.launchpad.net/kicad/+bug/1816234
2019-02-16 16:05:29 +01:00
jean-pierre charras ec59361f75 Fix a few coverity errors 2019-02-16 14:09:21 +01:00
Seth Hillbrand 5e5167f198 pcbnew: Adjust footprint properties columns
Size based on text width in 3d and check for overflow before expanding
the first column.
2019-02-14 22:09:01 -08:00
Seth Hillbrand 8b46c99c60 modedit: Fix footprint properties dialog
Checks for text in the dialog before setting width.  Also prevents
resizing beyond the width of the window (in the case of large fonts)
2019-02-14 22:02:34 -08:00
Seth Hillbrand a02f447daa pcbnew: Do not auto edit the 3d-model grid
Auto-selecting of the first grid element is performed in the footprint
editor to facility rapid editing.  Rapid editing of the 3d-model fields
is not as useful and requires multiple esc-keys to cancel.  This limits
the auto-edit to only the reference tab.

Fixes: lp:1815456
* https://bugs.launchpad.net/kicad/+bug/1815456
2019-02-14 16:29:51 -08:00
jean-pierre charras b6027e0815 Drill dialog: fix incorrect parent window when called from the Plot dialog.
The parent window was always the board edit frame,
but this is incorrect when this dialog is called from the Plot dialog.

Fixes: lp:1815530
https://bugs.launchpad.net/kicad/+bug/1815530
2019-02-13 11:41:52 +01:00
Wayne Stambaugh fe5d2b8710 Pcbnew: fix footprint properties dialog 3D model visibility issue.
Update 3D model panel on initial dialog load to reflect the current
visibility state of the 3D model.

Fix a few minor footprint properties dialog spacing issues.

Fixes lp:1815184

https://bugs.launchpad.net/kicad/+bug/1815184
2019-02-10 12:00:19 -05:00
jean-pierre charras a703c53312 Fixes in dialogs: mainly better sizes for grid columns, but more other minor fixes.
Fix wxGrid column minimal widths on Windows in dialogs (just fixing the size is not enough).
WX_GRID::GetVisibleWidth(): make width bigger for labels, because they usually use a bold font.
(However, the fix is just a workaround: a better code is welcome)
2019-02-10 16:40:47 +01:00
jean-pierre charras 5e318dc08a Pcbnew, PANEL_PCBNEW_ACTION_PLUGINS: make strings translatable.
Fix also a minimal size for grid columns.
2019-02-10 11:39:07 +01:00
jean-pierre charras 8dc4077d58 Fix compatibility issues with wxWidgets 3.1.1 2019-02-10 07:59:27 +01:00
Seth Hillbrand 8ff764376a wx_grid: abstract visible column width
Cleanup code for checking visible extents of grid text.  Places single
routine to extract the current spacing from the grid in WX_GRID.
2019-02-09 15:31:31 -08:00
jean-pierre charras c0a86d734d Pcbnew, Excellon drill file creation: for oval holes allows selection of an alternate command, when the normal command is not accepted.
Using the normal command, oval holes are "drilled" by a route command.
Some board houses do not accept this normal command.
In this case, the drill dialog allows using an other Excellon drill command (a slotted hole).
Note also some board houses do not understand this alternate command!
2019-02-09 14:56:02 +01:00
jean-pierre charras 756b20ace8 Fix column minimal sizes in panel_setup_text_and_graphics.cpp on Windows. 2019-02-09 14:47:45 +01:00
jean-pierre charras 61a95c5440 Fix compatibility with wxWidgets 3.1.1 2019-02-09 11:21:09 +01:00
Seth Hillbrand 76600e3436 pcbnew: Force grid sizing based on text extents
GTK does not handle enlarged text layouts automatically, so we need to
get the screen size before choosing the correct grid width for the
dialog

Fixes: lp:1788495
* https://bugs.launchpad.net/kicad/+bug/1788495
2019-02-08 20:03:45 -08:00
Seth Hillbrand c0008bc757 pcbnew: Change track width should allow no changes
When doing a global edit of the tracks and vias, we need to allow for
the possibility that the track size doesn't change and that this is
explicitly allowed without DRC error.
2019-02-08 10:49:00 -08:00
Seth Hillbrand e1bce7dccd pcbnew: Prevent using "edit width" in dialogs
Editing predefined tracks/nets/vias sizes makes sense in the toolbar but
not inside the submenu.
2019-02-08 09:50:20 -08:00
John Beard edc73de023 Pcbnew: ignore start values in "first available" grid numbering
The using the "first available" numbering option, force an
artifical linear numbering scheme starting at '1'.

Start the pad name provider at the 0'th pad index.

Also adds a few related tests and adjusts tests affected by
this change to reflect that the offset still applies.

This can be expanded in future to be more general by skipping
pad (which would allow a custom start and numbering scheme
while still avoiding duplication), but for now,
this does what the UI says and avoids string changes in 5.1rc.

Fixes: lp:1814918
* https://bugs.launchpad.net/kicad/+bug/1814918

Fixes: lp:1814917
* https://bugs.launchpad.net/kicad/+bug/1814917
2019-02-08 12:15:02 +00:00
John Beard 0c6ec7dbb3 LIB_TABLE_BASE: Const and unsigned fixes
* Make LIB_TABLE_BASE::GetCount() return unsigned. This is more
  consistent with the behaviour of STL containers (especially the
  boost::ptr_vector this is really accessing). Sadly
  wxGridTableBase() forces an int, so a cast is still required
  at the WX interface.
* Make LIB_TABLE_BASE::At() return a reference. First, this is more
  consistent with normal STL indexing operator[]'s, and secondly, it
  allows an idiomatic const index method (so you can access const
  LIB_TABLE_ROWs from a const LIB_TABLE_BASE).

The motivation is to allow use of this class and LIB_TABLE_ROW
in a test program, where the LIB_TABLE_BASE is const.
2019-02-05 08:49:52 -08:00
jean-pierre charras 73a0cbff62 pcbnew, export to STEP: fix error in command line tolerance option (--min-distance="0.0100 mm") is some countries
In countries using a comma as floating point separator, the --min-distance="0.0100 mm" was passed as --min-distance="0,0100 mm"
This is incorrect and broke the command line.

Fixes: lp:1814559
https://bugs.launchpad.net/kicad/+bug/1814559
2019-02-04 18:05:49 +01:00
Seth Hillbrand c08736e245 Assign stack pointer to lib table
When creating new lib table rows, the pointer becomes managed by the new
table through the boost::ptr_vector.  The row is non-copyable, however,
so we lose the reference as soon as it goes out of scope. Creating a
clone provides a new pointer that is moved into the table on creation.

Fixes: lp:1792456
* https://bugs.launchpad.net/kicad/+bug/1792456
2019-02-03 05:20:50 +01:00
jean-pierre charras 3ad5fd056e Pcbnew, Update PCB from schematic: Fix the reference point of the new footprints to place, when moving the cursor.
It was a regression from 5.02 version.
The block of new footprints to place has now its reference point (the point that is on the graphic cursor) fixed.
This is the first footprint loaded from the list.
2019-02-01 11:43:16 +01:00
John Beard f85f10930a Break widget save/restore out to reusable class
The CONFIG_SAVE_RESTORE_WINDOW class does not need to be tied
to the array dialog, put it in common/widgets.

Also do a refactor and tidy-up of the the class, use a union for (slightly)
better type-safety and syntax (a variant would be better but that's C++17).

Also enable integral field save/restore from text boxes.
2019-01-30 15:41:35 -08:00
John Beard 24ac9b7055 Pcbnew: array: repair dialog value init
Fully initialise the CREATE_ARRAY_DIALOG_ENTRIES object,
and use these values for the dialog on first open. Currently,
the initial values aren't all initialised, and none are used, as the
valid flag is not set. This means there are poor defaults in some
fields.

Also more declarations and defintions of CREATE_ARRAY_DIALOG_ENTRIES
to the .cpp, as these do not need to be exposed in the header,
even privately.
2019-01-30 15:41:35 -08:00
John Beard ffaf99a600 Pcbnew: Enable some numbering options in pcbnew
The numbering axis priority (h then v or v then h), and alternate
reversing are not actually numbering parameters, they are part of
the geometry of the array (the items are physically in different
orders).

So enable these options, even when numbering is disabled.

Also fix broken logic about when numbering scheme is enabled
(it still applies even if the numbering offset is fixed.)
2019-01-30 15:41:35 -08:00
John Beard 5504981d00 Separate ARRAY_OPTIONS to own class in common
The geometry and numbering logic is separate to the dialog, and
can be separated for clearer logic and better testability.

Moreover, refactor it to avoid any dependency on pcbnew
classes, so it can be move to common for potential re-use in
eeschema and friends in future.

Also convert all wxPoint logic in these classes to VECTOR2I and
fix some function visibilities.

Add some unit tests of the ARRAY_OPTIONS geometry and numbering.
2019-01-30 15:41:35 -08:00
Jeff Young 2dea3a49c8 Fix compile error in std::pow useage. 2019-01-30 16:38:34 +00:00
Seth Hillbrand 05483a06c6 pcbnew: Re-attach snap options
Snapping to item options were partially disconnected when unifying
framework.  This re-attaches the options and adds the additional option
for graphical items.

Fixes: lp:1801377
* https://bugs.launchpad.net/kicad/+bug/1801377
2019-01-29 13:36:17 -08:00
Seth Hillbrand 914596fcbb pcbnew: Allow STEP export tolerancing
kicad2step has a tolerance level that sets whether two points are at the
same location or not.  This allows KiCad to access these levels to some
degree, permitting a looser interpretation of a closed board outline.
2019-01-29 13:05:23 -08:00