Jeff Young
8b08c9e53f
Shorter names before things get out of hand.
...
Also, remove comments indicating CURVE is a Bezier. Just call it a
BEZIER.
2021-10-15 12:45:43 +01:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
jean-pierre charras
0533196294
Fix Coverity warnings
2021-10-15 09:24:16 +02:00
Seth Hillbrand
faba2b06c2
Lock track width after placing segment
...
We don't want to allow the full track width to change after placing a
segment when we are in follow-segment mode. This would require either
ripping up and re-solving the existing track or allowing potential DRC
errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/9395
2021-10-14 09:21:14 -07:00
Seth Hillbrand
07b9e2ee51
Fix errant debug message
...
__WXDEBUG__ is only for internal WX debugging and is always enabled even
on release builds because it is defined to be 0, 1 or 2. Use DEBUG to
limit to debug builds
Fixes https://gitlab.com/kicad/code/kicad/issues/9392
2021-10-13 09:16:55 -07:00
Seth Hillbrand
95ec23247c
Initialize zone vars in CTOR
2021-10-13 08:59:48 -07:00
Seth Hillbrand
5a6f230a2c
Delete full track needs proper scoping
...
This should not run if the action is "Cut". Additionally, we need to
transfer the expanded selection to selectionCopy in order for it to
proceed with the deletion. There is also no need for this to be limited
to the Hover action, so this section was removed.
Fixes https://gitlab.com/kicad/code/kicad/issues/9385
2021-10-12 13:47:16 -07:00
Seth Hillbrand
35e90d0cf4
Allow changing router mode while routing
...
Keeps shove active even when not using to allow switching modes during
routing.
Fixes https://gitlab.com/kicad/code/kicad/issues/9342
2021-10-12 09:55:34 -07:00
Seth Hillbrand
7f1247a23c
Update track width when changed
...
Tracks starting from pads should change in response to the track width
changing despite having the "follow existing track" width selected.
2021-10-12 09:55:34 -07:00
Mikolaj Wielgus
5f53019290
Substitute all wxHtmlWindow with HTML_WINDOW
...
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand
1b7358f93a
Import layer settings before swapping boards
...
The rebuildLayerStackPanel() reads from the current board to setup the
panel. We maintain the board swap until after the setup is completed
Fixes https://gitlab.com/kicad/code/kicad/issues/9370
2021-10-11 11:47:22 -07:00
Seth Hillbrand
58f553a9ca
Check for layer when DRC on vias and non-zone items
...
We were already checking for zone-zone overlap but missing checks when
running against (possibly) buried vias as well as the general check
Fixes https://gitlab.com/kicad/code/kicad/issues/9366
2021-10-11 10:33:50 -07:00
Seth Hillbrand
fce054319c
Update DRC MatchDPSuffix routine
...
This matches the router matchDPSuffix routine until we merge the two
into a common utility
2021-10-11 10:33:50 -07:00
Roberto Fernandez Bautista
43e59b0ea7
CADSTAR PCB: Correctly handle associated pad ids and PCB Only pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9372
2021-10-11 18:30:20 +01:00
Roberto Fernandez Bautista
7a71ebf9ac
CADSTAR PCB: Load all three net properties into a single Netclass
...
The final netclass name will be a bit long but it will allow for custom
DRC rules to individually target each of the three properties available
in CADSTAR:
- Route Code (which specifies width of the track in min, max, opt)
- Net class (only used in signal integrity analysis)
- Spacing class (for specifying clearance requirements between classes)
2021-10-10 22:16:08 +01:00
Roberto Fernandez Bautista
e9030283cc
Fix formatting
2021-10-10 22:16:08 +01:00
Seth Hillbrand
93bbad6acf
Allow snapping in pickReferencePoint
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9354
2021-10-10 08:53:10 -07:00
Seth Hillbrand
62cb5d9354
Fully cancel copy with reference
...
Tool needs to be popped when cancelling to allow selection tool to work properly.
Fixes https://gitlab.com/kicad/code/kicad/issues/9353
2021-10-10 08:31:18 -07:00
Ian McInerney
4d89061d4c
Support footprint arcs in convert to polygon
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9352
2021-10-10 16:26:23 +01:00
Seth Hillbrand
6620831d38
Clear edited point when exiting point editor
...
Failing to clear this will prevent selection where tools check for
edited points before processing mouse button down events
Fixes https://gitlab.com/kicad/code/kicad/issues/9357
2021-10-10 08:25:50 -07:00
Roberto Fernandez Bautista
0fa8e1f311
DRC Control: Clear pointer to MARKER after it has been centered
...
Also, added asserts to verify SelectMarker and CenterMarker actually
do select one.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9344
2021-10-10 16:22:04 +01:00
jean-pierre charras
593324bbaa
Do not use non ASCII7 chars in English strings.
...
Fix UTF8 to unicode conversion issue.
Fixes #9356
https://gitlab.com/kicad/code/kicad/issues/9356
Fixes #9355
https://gitlab.com/kicad/code/kicad/issues/9355
2021-10-10 10:32:31 +02:00
Roberto Fernandez Bautista
ac3ade874e
CADSTAR PCB: Set Copper-to-Hole clearance as 0
...
Testing suggests that CADSTAR doesn't actually have any clearance to the
hole (other than electrical clearance to the barrel of the padstack/
viastack).
This removes a large amount of DRC violations on imported designs.
2021-10-10 00:20:13 +01:00
Roberto Fernandez Bautista
eb7d0fdf8a
CADSTAR PCB: Use board clearance + additional isolation as zone clearance
...
Copper-to-copper clearance is too onerous and results in large amount
of DRC errors for the majority of imported designs.
2021-10-10 00:18:36 +01:00
Roberto Fernandez Bautista
f4ff01a5ab
CADSTAR PCB: Copy default netclass settings when creating new ones
...
Ensures that the global clearance is preserved in the newly created
netclass.
2021-10-09 23:10:55 +01:00
Seth Hillbrand
41e7284fdc
Speed up pcbnew loading/updating
...
Rather than detaching and re-attaching the layer panels with the
attendant overhead, we keep each panel intact and only update its
contents. Since the bindings are the same, this saves substantial time
on pcb loading as well as when closing the board setup dialog
2021-10-09 13:38:35 -07:00
Roberto Fernandez Bautista
8f74085ca4
CADSTAR PCB: Handle older boards without construction layers
...
Use KiCad default stackup for older CADSTAR boards that do not
define any dielectric layers between the electrical layers.
Also fix default stackup calculation to ensure finished board thickness
is 1.6mm
2021-10-09 21:26:16 +01:00
Roberto Fernandez Bautista
d62a5ecf46
Remove unused GetPcbThickness() function in PANEL_SETUP_BOARD_STACKUP
...
The function used now is computeBoardThickness()
2021-10-09 20:35:10 +01:00
Roberto Fernandez Bautista
33a3cfc87b
CADSTAR PCB: Update Board Design Settings to notify that a stackup exists
...
Also update thickness of the PCB
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9307
2021-10-09 20:33:14 +01:00
Roberto Fernandez Bautista
e80a1c2679
CADSTAR PCB: Don't load items on invalid layers
...
This was happening in two cases:
- Loading documentation symbols (CADSTAR on purpose defines these in an
invalid layer)
- When an item was in a "layer set" such as ALLELEC or ALLLAYER - need to
make sure we remove the copper layers that are not active in the design
2021-10-09 20:07:23 +01:00
Ian McInerney
895f4ca989
Cleanup 3D model filename validation
...
Don't veto the changed event anymore and instead just display the
feedback in the error column of the grid.
2021-10-08 22:30:20 +01:00
Ian McInerney
8d71bdc3e1
Cleanup unit handling in the stackup drawing tool
2021-10-08 22:30:20 +01:00
Roberto Fernandez Bautista
677166f0b8
CADSTAR PCB: Rule Areas have zero width
...
Cadstar areas have a line width but this is only for display purposes.
Instead CADSTAR uses the center line when determining whether a DRC
violation occurred.
2021-10-08 21:27:32 +01:00
Roberto Fernandez Bautista
2dfbd42be6
CADSTAR PCB: Legacy netclass and design settings loading is required
2021-10-08 20:48:10 +01:00
Roberto Fernandez Bautista
ae0229b7c9
CADSTAR PCB: Add imported nets to the imported netclass.
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
58fc4f512d
CADSTAR PCB: Don't create zero width tracks
...
Fixes a bug in the route offsetting part of the import
that was resulting in zero-width tracks being imported.
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
16b61e47cd
CADSTAR PCB: Clear arcs from polys before boolean ops (e.g. zone fills)
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
fb588da875
CADSTAR PCB: Fix loading of thermal relief gap in zones
...
We were loading as solid fill when the relief gap was exactly the
same as the minimum width.
Also we can do better than just load as solid fill when it is smaller:
we can instead just use the minimum width and at least it still will
have thermal reliefs.
2021-10-08 17:39:08 +01:00
jean-pierre charras
4d6b1a4e36
pns_diff_pair_placer: fix empty message when a signal of a pair is not found.
...
Fixes #9334
https://gitlab.com/kicad/code/kicad/issues/9334
2021-10-08 14:57:01 +02:00
Roberto Fernandez Bautista
cb47bf25c0
CADSTAR PCB: Actually load the original route code as a KiCad NETCLASS
...
We weren't actually loading it into the design settings even though
everything else was already being correctly loaded.
2021-10-07 22:13:06 +01:00
Seth Hillbrand
f9c83dbc44
Fix footprint type memory
...
The flags don't map quite right, so we keep the memory of the drop-down
and translate to flags. This protects against flag values changing
2021-10-07 11:29:51 -07:00
Seth Hillbrand
51d3440c38
Use footprint type to inform new pad type
...
Makes usage cleaner. If the user specifies that they are creating an
SMD, they should get SMD pads by default so that they don't have to
change them later.
Fixes https://gitlab.com/kicad/code/kicad/issues/9333
2021-10-07 11:10:26 -07:00
Jeff Young
57c7d663b0
Fix bone-headed mistake when moving panel disabling.
2021-10-07 00:17:42 +01:00
Seth Hillbrand
ad85f8078a
Reverse escaping when transferring multi-line
...
We escape the strings coming out of the DIALOG_TEXT_PROPERTIES window,
so we need to unescape the ones coming in
Fixes https://gitlab.com/kicad/code/kicad/issues/9327
2021-10-06 13:25:03 -07:00
Seth Hillbrand
a8ec3b58ed
Use via's real drill value for hole size
...
If the via drill is "Default" be sure to get the default value rather
than the placeholder
Fixes https://gitlab.com/kicad/code/kicad/issues/9313
2021-10-06 11:00:58 -07:00
Jeff Young
1bb5fc3fd6
Work around EnsureVisible bug in wxWidgets during DRC cross-probe.
...
Also adds double-click-marker to open DRC dialog and select marker
in list.
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-06 11:17:03 +01:00
Jeff Young
95f841a037
A more nuanced method of making Board & Schematic Setup read-only.
...
This one still allows you to scroll to see all contents.
Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-06 11:16:46 +01:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
92008a089a
Disable Board & Schematic Setup controls when project is locked.
...
(or missing).
Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-04 16:47:27 +01:00
Jeff Young
ffd6fde700
Improve consistency and hotkey access in Appearances.
...
Added hotkey for cycling through net & netclass color modes.
Added hotkey for cycling through ratsnest layer visibilities.
Added code to display hotkey (if set) on the above and on high-contrast
cycle.
Fixes https://gitlab.com/kicad/code/kicad/issues/9312
2021-10-04 13:44:43 +01:00
Jeff Young
930c4e5582
Cleanup.
...
Formatting.
Naming conventions.
Use of auto.
Use of STL cover types.
2021-10-03 19:42:29 +01:00
Jeff Young
11c91c7179
Improve obscuring dialog algorithm to handle multiple dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8970
2021-10-03 13:27:46 +01:00
Jeff Young
5c402a64ab
Use mathematical rotation direction in Move Exactly dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1897
2021-10-03 00:11:01 +01:00
Jeff Young
574bef2237
Normalize drawing sheet path to env vars & prj, not just prj.
...
Also cleans up the dialog a bit.
Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young
e2baacec21
Add cross-probing between PCB (markers) and DRC marker list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-02 23:39:45 +01:00
jean-pierre charras
da79a3dd69
Option graphics limited to 45deg in creation: separate options for brd and fp editors.
...
Add these options in PANEL_EDIT_OPTIONS.
This option was previously living only in some context menus, not really visible.
2021-10-02 16:43:31 +02:00
Jeff Young
10dd70881c
New paramaterized interface doesn't like quoted parameters.
...
(At least on MSW, anyway.)
2021-10-02 14:08:36 +01:00
Jeff Young
ef74421922
Move centering of lib-tree item to idle event.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9294
2021-10-01 22:46:14 +01:00
Jeff Young
5f5ee7335d
Formatting.
2021-10-01 21:49:14 +01:00
Jeff Young
f606679164
Proper numeric sorting for intersheet refs.
...
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
Seth Hillbrand
dd1d36d40a
Fix segfault when check for editing points
...
The point editor is not always available when checking for points. We
need to handle the missing tool without crashing
2021-09-30 17:25:33 -07:00
jean-pierre charras
a738257c43
Remove a tool tip not related to the parent widget.
2021-09-30 20:17:45 +02:00
Seth Hillbrand
e7ae3a181f
Handle casing for FocusOnItem
...
Some items are complex (footprints) and some don't have logical polygons
(PCB_MARKER), so we can't transform everything. So, handle the items we
can transform normally and use bbox or boundinghull for everything else
2021-09-29 16:19:49 -07:00
Jeff Young
12b726ba2f
Prevent the point editor from fighting with other tools.
...
1) Don't start a long-click timer when the point editor is active.
2) Don't auto-start a wire when the point editor is active.
Fixes https://gitlab.com/kicad/code/kicad/issues/9270
2021-09-29 19:16:06 +01:00
Jeff Young
ee2789943f
Supply grid with a GRID_TRICKS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9273
2021-09-29 18:44:19 +01:00
Jeff Young
0438a45176
Don't allow reentrancy into PlaceFootprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9269
2021-09-29 17:01:33 +01:00
Jeff Young
3b6da14614
Don't allow offset for circular pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9266
2021-09-29 15:27:34 +01:00
Jon Evans
07e01e6297
Allow converting graphic arc to track arc
2021-09-28 21:00:15 -04:00
Roberto Fernandez Bautista
2e120528c8
Length Tuner: Allow single meander when it fits on its own
2021-09-28 18:50:31 +01:00
Roberto Fernandez Bautista
71156368c9
Length Tuner: Allow controlling the side of the meander using the cursor
...
Also fixes an issue that did not allow single meanders to be placed
2021-09-28 18:50:31 +01:00
Jeff Young
f73042fe24
Some minor performance enhancements.
2021-09-28 14:28:35 +01:00
Jeff Young
fac48ddafb
Don't include stale nets in net counts.
...
Fixes bug reported by Franck.
2021-09-28 14:28:12 +01:00
Mike Williams
d90dc77e00
Selection: Don't drop small moves
...
If we do a real drag, the timer will be cancelled. If we don't, then
the user is still holding the mouse button down and would probably like
to see the menu. Otherwise it appears the action is dropped.
2021-09-27 16:44:32 +00:00
Mike Williams
726f9ebe3d
Pcbnew: Router tool should not block drag selection when idle
...
The other drawing tools allow drag selection while idle. Also, it makes
it more obvious to the user when accidentally drag selecting while
routing than just doing nothing on a drag with the routing tool selected
and idle.
2021-09-27 16:05:13 +00:00
Jeff Young
544fa939f8
Lock/unlock group members when locking/unlocking group.
...
Also moves the stateful selection filter to after the hierarchy filter
since the hierarchy filter might swap a pad selection for a footprint
selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/9255
Fixes https://gitlab.com/kicad/code/kicad/issues/7542
2021-09-27 11:29:52 +01:00
Jeff Young
dfe4997664
Fix nullptr crash.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9250
2021-09-27 10:27:25 +01:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jon Evans
e2368b733c
Allow selection of NPTH pads with zero copper size
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9249
2021-09-26 18:17:50 -04:00
Jeff Young
422def1261
Move cross-probe scrolling to FocusOnLocation.
...
It handles not moving the display too much and using the exposed
center if there is a dialog over the window.
Fixes https://gitlab.com/kicad/code/kicad/issues/8985
2021-09-26 20:06:50 +01:00
Jeff Young
a3dcdd4887
Allow highlight-net to work on zone copper.
...
We were already checking zones separately (after tracks and pads); we
just weren't setting the flag that causes the COLLECTOR to also test
zone fills.
Fixes https://gitlab.com/kicad/code/kicad/issues/5924
2021-09-26 19:26:22 +01:00
jean-pierre charras
5853f0890e
Gerber job file: fix a bug that prevent writing dielectric constants for impedance controlled boards.
2021-09-26 16:11:15 +02:00
Jeff Young
b799d563e5
Slight improvement to track & via clearance option text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8838
Fixes https://gitlab.com/kicad/code/kicad/issues/8839
2021-09-26 11:02:57 +01:00
jean-pierre charras
77f47b6e47
Avoid assertion in some cases.
2021-09-26 10:54:50 +02:00
jean-pierre charras
9f64850325
Drawing stackup table: fix a few issues and missing items.
...
Fixes #9243
https://gitlab.com/kicad/code/kicad/issues/9243
Fixes #9244
https://gitlab.com/kicad/code/kicad/issues/9244
2021-09-26 10:31:41 +02:00
Jeff Young
6b25099df7
Read/write lock status for fp text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9325
2021-09-25 20:37:56 +01:00
Seth Hillbrand
3e7310a219
Move FP type check to FP DRC
...
Checks for validity are better centrally located where they don't
interrupt user actions
2021-09-25 08:56:27 -07:00
Jeff Young
46949abe4a
Don't scroll to highlight an object already visible.
2021-09-25 15:31:52 +01:00
Seth Hillbrand
c3b6939ea7
Allow quiet creation (scripting)
2021-09-24 13:49:45 -07:00
Seth Hillbrand
bb95ca2966
Make MW footprints proper attrib
2021-09-24 13:48:01 -07:00
Seth Hillbrand
64be61b4d6
Allow user to set footprint type up front
...
The default is usually wrong and presenting the basic footprint
information when creating an empty footprint allows the user to
establish their preference before mistakes occur.
Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Seth Hillbrand
a6fc885402
Component->Footprint label
2021-09-24 13:48:01 -07:00
Seth Hillbrand
963a8ee42d
Warn users when creating footprints about mismatch
...
Checks to see if the footprint attribute matches the type of pads
contained in the footprint. Can prevent issues during fabrication if
users forget to adjust them during creation.
Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Mike Williams
1b0c274e22
Python: Copy board iterables to prevent segfaults
...
Python code like:
for track in board.GetTracks():
board.Remove(track)
Would delete tracks in the the underlying m_tracks while iterating over
it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5192
2021-09-24 19:40:46 +00:00
Jeff Young
bf145dd633
Confine allow-locked-pad-selection-even-when-filtered to single-select.
...
Also make sure text in a locked footprint is not selected if the locked
items filter is unset.
Fixes https://gitlab.com/kicad/code/kicad/issues/9227
2021-09-24 18:58:22 +01:00
Jeff Young
c38de1dcaf
Pull back some 7.0 fixes to Custom Rules code completion.
2021-09-23 13:08:31 +01:00
Jon Evans
a2ad204f4b
Fix off-by-one in AssembleTuningPath
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9003
2021-09-22 20:25:22 -04:00
Seth Hillbrand
5975524826
Fixup PCB_ONE_LAYER_SELECTOR
...
It is useful to be able to tell which layer you are selecting. The
checkboxes, on the other hand, provide no information when dealing with
a single layer selection
2021-09-22 15:57:27 -07:00
Seth Hillbrand
140e4cbe28
Avoid assertion on 2-layer board
...
New boards may have INVALID_LAYER inbetween F_Cu and B_Cu in the
stackup. Skip these and any layer values beyond what we store currently
2021-09-22 12:37:17 -07:00
Seth Hillbrand
84864351c7
Fix units naming in stackup
...
We were not handling the new mils/inches division in stackup table
Fixes https://gitlab.com/kicad/code/kicad/issues/9210
2021-09-22 12:30:02 -07:00
Mike Williams
16ec6fbec4
Plugins: Fix QR code generator shape exception
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9079
2021-09-22 11:15:26 -04:00
Seth Hillbrand
be799b49a8
Fix equality in dp matching
...
A single count is found when dp ends with matching char. .Right(0) will
return an empty wxString() which is still valid
Fixes https://gitlab.com/kicad/code/kicad/issues/9206
2021-09-21 19:47:15 -07:00
Jon Evans
cf53b053a1
Improve handling of dragging around locked segments
...
Locked segments now are not modified if they weren't the start item.
If a locked segment is the start item, it is automatically unlocked.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9145
2021-09-21 22:38:53 -04:00
Jeff Young
2ec1c215cd
Drop selection after hiding items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8605
2021-09-21 17:02:34 +01:00
Mike Williams
65c9170b46
Pcbnew: Clear tool and selection before updating PCB from schematic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9196
2021-09-21 00:06:56 +00:00
Seth Hillbrand
22a29a42cf
Generalize net DP matching
...
The requirement of 1-2 numbers following P/N or +/- was arbitrary and
not needed. We also add the _ to allowable suffixes to permit DP
matching of auto-renamed nets
2021-09-20 15:30:47 -07:00
Jeff Young
32a5653464
Remove yet more single-pad-net stuff.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9179
2021-09-20 22:04:02 +01:00
Jeff Young
04aff93248
Eagle doesn't use netclass clearance so make them the board clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2442
2021-09-20 21:31:19 +01:00
Roberto Fernandez Bautista
dc1fd3d9ba
PNS test app: Add logging information for curved track routing
2021-09-20 20:35:24 +01:00
Jeff Young
f66654247a
Read netclasses when importing Eagle projects.
...
Also creates a DRU file with the various netclass-to-netclass
clearance rules from the Eagle clearance matrix.
Fixes https://gitlab.com/kicad/code/kicad/issues/1774
2021-09-20 12:38:56 +01:00
jean-pierre charras
8848f7158d
Fix a Coverity warning (non tested pointers, really a bug)
2021-09-20 09:14:10 +02:00
Jeff Young
40a0f25a3e
Formatting.
2021-09-19 19:30:09 +01:00
Jeff Young
6ea7e59991
Fix "done" message being in wrong place for drill files.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9172
2021-09-19 19:26:10 +01:00
Jeff Young
3651d7c5e7
Remove vestiges of old zoom-auto architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9055
2021-09-19 18:32:15 +01:00
Jeff Young
6e7ce09572
Use more descriptive terminology for preferred text editor.
...
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".
Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Marek Roszko
403826b97c
Respect the model show setting for vrml and idf export
...
Fix #9166
2021-09-19 08:16:18 -04:00
Jeff Young
9f03a259f9
Remove no-longer-needed options from Update PCB and Import netlist.
...
The delete-single-pad-nets one is particularly problematic as it
makes some of the cross-probing features not work.
Fixes https://gitlab.com/kicad/code/kicad/issues/9179
2021-09-18 18:32:19 +01:00
jean-pierre charras
b931883876
PANEL_FP_PROPERTIES_3D_MODEL: fix an issue when trying to edit a filename (MSW specific).
...
On Windows, FILENAME_RESOLVER::ValidateFileName() always returned a illegal filename test,
because the separators ('/' and '\') are in list of illegal chars in filenames on MSW.
2021-09-18 18:17:54 +02:00
Jeff Young
4779850c10
Add done messages to various plotters.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9172
2021-09-18 10:39:57 +01:00
Marek Roszko
847c9e32c8
Don't allow the draw via tool to activate in the footprint editor
...
Fix #9186
2021-09-17 23:01:16 -04:00
Jeff Young
34c2bd58d1
Disable ungroup where there are no groups in the selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9182
2021-09-17 22:21:33 +01:00
Jeff Young
7b07b1650c
Don't draw titlebar for untitled groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9181
2021-09-17 22:01:17 +01:00
Jeff Young
5c07441e24
Remove Setup Dialog assignment of netclasses to buses.
...
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.
Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).
Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.
Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.
See additional comments in the bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 22:01:17 +01:00
Jeff Young
86ffb9a4bb
Bring a little more consistency to the Text & Graphics Defaults panel.
2021-09-17 22:01:17 +01:00
Wayne Stambaugh
d90094de39
Fix progress dialog main frame focus issue on Linux.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8718
2021-09-16 15:53:18 -04:00
Jeff Young
2479e1d7b1
Improve common settings property grouping.
...
Also moves apply-icon-scaling-to-fonts to its own checkbox. (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
Jeff Young
fdd9df6dff
Linear brightening doesn't work well for colours near white.
2021-09-16 14:17:52 +01:00
Jeff Young
e2ce2e6ca9
Correct slight misalignment in Library Link fields.
2021-09-15 21:17:18 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
3aae3c6f65
Dark mode for a bunch of HTML dialogs.
...
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT
Fixes https://gitlab.com/kicad/code/kicad/issues/9157
Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
Jeff Young
4447843dc1
Defensive coding around getting an OnUpdateUI before we're ready.
...
This appears to happen at least on GTK when the 3DFileResolver throws
up error dialogs when paths can't be found.
Fixes https://gitlab.com/kicad/code/kicad/issues/9163
2021-09-14 13:35:31 +01:00
Jon Evans
4d478d6f17
Fix ordering of initialization in length tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9161
2021-09-14 07:48:02 -04:00
Jeff Young
b27b97809f
Clean up several bugs in Graphics Cleaner.
...
See bug report for more details.
Fixes https://gitlab.com/kicad/code/kicad/issues/9150
2021-09-13 18:04:17 +01:00
Jeff Young
32e23d993e
Formatting.
2021-09-13 17:18:58 +01:00
Jeff Young
fdfecf5932
Don't push view control settings to the previous active tool.
...
See further comments in bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9147
2021-09-13 13:28:05 +01:00
jean-pierre charras
1cf1a23250
footprint.cpp: seriously speedup CoverageRatio() and GetCoverageArea().
...
Previoulsy, they calculated the area of polygons after using Simplify() and Fracture().
But polygon areas can be easily calculated without these transforms.
So they are just removed (they are really time consummig).
2021-09-13 13:41:36 +02:00
Marek Roszko
daca9d21f2
Add dxf point import
...
Fix #9149
2021-09-12 19:38:52 -04:00
Jon Evans
814b6b8e86
Fix disabled layer error text
2021-09-12 17:14:24 -04:00
Jeff Young
62f7a09290
Smooth out a few minor inconsistencies in fonts & spacings.
2021-09-12 17:57:15 +01:00
Jeff Young
a5247471f7
Expunge a bunch more fixed font specs from wxFormBuilder files.
...
Also removes the -1 sizing of the status bar on GTK and MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-12 13:53:12 +01:00
Jeff Young
0ac765c5bb
Special case footprint zones which can be on "inner layers".
...
Also improves the reporting so that it reports the actual conflict
layer rather than just the first layer the object is on.
Fixes https://gitlab.com/kicad/code/kicad/issues/9144
2021-09-12 13:53:12 +01:00
jean-pierre charras
83d7c731d3
Pcbnew, plot poly in footprint: fix a bug introduced by my commit 3316f3
...
Polys in footprints were not moved, rotated to the right place.
2021-09-12 11:01:15 +02:00
Marek Roszko
74fd23f573
Add (off by default) build option to link kicad2step directly into pcbnew
...
Because debugging it separately is annoying.
2021-09-11 22:56:16 -04:00
Jeff Young
9c78e4cf54
Mac needs different font size handling than MSW & GTK.
...
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better. The
other platforms need a more limited range of sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young
ed8b63505d
Fix font scaling issues in StatusBar and Selection Filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 18:25:11 +01:00
Roberto Fernandez Bautista
625e56676a
Add progress reporting to CADSTAR Schematic & PCB importers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8685
2021-09-11 17:50:19 +01:00
Jeff Young
fbee62fc15
Tie font size scaling to when automatic icon scaling fails.
...
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
jean-pierre charras
3316f3998a
Rename BuildPolyPointsList() to DupPolyPointsList() and optimize code
...
to avoid multiple useless copies of the list of polygon corners in code.
2021-09-11 14:21:36 +02:00
Jeff Young
ad59254be8
Another round of font sizing tweaks.
...
It appears that both strategies in the last commit worked, leaving us
with squared scaling. The dialog pixel architecture seems safer than
our icon scaling stuff, so this version attempts to use only it.
Also works around a bug where wxELLIPSIZE_MIDDLE doesn't work on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
Fixes https://gitlab.com/kicad/code/kicad/issues/8375
2021-09-10 21:46:13 +01:00
Jeff Young
7a822b55aa
Another round of changes to attempt to fix the GTK font size issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Seth Hillbrand
29c2f3b7d4
Prevent jumping into disambiguation if moved
...
Moving points should not be overrided by disambiguation menu, so we
track where the disambiguation event started and only trigger the menu
if the mouse hasn't moved a full unit in x/y
Fixes https://gitlab.com/kicad/code/kicad/issues/9132
2021-09-09 16:24:18 -07:00
Seth Hillbrand
fe9bdd41d9
Finalize modifier update
...
Update the preference pane info text
Also standardizes the use of "Option" instead of "Alt" for Mac users.
Fixes https://gitlab.com/kicad/code/kicad/issues/9129
2021-09-09 10:47:43 -07:00
jean-pierre charras
5e742d97b6
Export VRML: fix bug that prevent to merge 3D footprint shapes to the board file.
...
Fixes #9127
https://gitlab.com/kicad/code/kicad/issues/9127
2021-09-09 18:05:17 +02:00
Jeff Young
1a43515128
Repair multi-layer disabled layer tests.
2021-09-09 16:43:47 +01:00
Jeff Young
bb2efa0649
Improve disabled layer test.
...
1) handle graphic items on copper layers
2) handle items on multiple layers
2021-09-09 15:20:48 +01:00
jean-pierre charras
567767346c
VRML exporter: fix broken export, at least on msys2.
...
For an obscure reason, some floating values were fully broken. the small
change in code fixes this strange issue.
2021-09-09 16:08:51 +02:00
Jeff Young
f0a26e4be0
Attempt to fix long-click issue (possibly just a typo).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9124
2021-09-09 12:20:30 +01:00
Jeff Young
f013dbc7c4
More uniform handling of status fonts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-08 21:34:22 +01:00
Wayne Stambaugh
3b16c38756
Coverity issue fixes.
...
Fix Coverity issues 157138, 338547, and 338716.
2021-09-08 14:51:27 -04:00
jean-pierre charras
30c001265b
pcbnew, undo_redo.cpp: fix a logical bug that can hang in rare cases.
2021-09-08 13:06:55 +02:00
Seth Hillbrand
c8b2e69332
Check if selection is primary tool
...
Previously, we were checking if the selection tool was the top of the
stack but this ignored many other "secondary" tools that might be
running such as the point editor. These still allow the selection tool
to handle events such as clicks. This change allows the selection tool
to handle clicks when it is the primary tool on the stack rather than
the top
Fixes https://gitlab.com/kicad/code/kicad/issues/9110
2021-09-07 10:42:01 -07:00
Wayne Stambaugh
4ee0b28ffc
Coverity issue fixes.
...
Fix Coverity issues 338623, 338716, and 338717.
2021-09-07 13:38:56 -04:00
Seth Hillbrand
c816168e42
Fix crash when drawing item
...
When drawing before commit, the items do not have a board and therefore
no BDS. In these cases, take a decent default until committed
2021-09-07 09:08:44 -07:00
Jeff Young
9cf7c7800b
Use same text positioning algorithm in LibEdit and Eeschema.
...
Also fixes some uninitialized variables in PCB painter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8947
2021-09-07 12:33:06 +01:00
Jeff Young
2ac03e2cdb
Change Loss Tg to Loss Tan.
...
We'll need Tg in the future for glass transition temp.
Fixes https://gitlab.com/kicad/code/kicad/issues/4734
2021-09-07 10:49:17 +01:00
Jeff Young
1792a985a7
Use board's maxError value when possible.
2021-09-07 00:14:18 +01:00
Michael Kavanagh
0e3c79d3b2
Remove inappropriate icons
...
Icons should be used sparingly to draw attention to the most used actions
2021-09-06 21:23:52 +00:00
Seth Hillbrand
0f38a35531
Be sure to stop the timer when triggering d-click
...
Some mice apparently trigger double-click without triggering a click, so
stop the timer when we receive this event
Fixes https://gitlab.com/kicad/code/kicad/issues/9106
2021-09-06 12:27:31 -07:00
Seth Hillbrand
343dbf0f5b
Change default 45° hotkey to shift-space
...
This requires enabling the space key to be bound with shift, which was
disabled based on an overbroad limit of only allowing shift to be mapped
with letter keys
2021-09-06 12:18:29 -07:00
jean-pierre charras
36048fa436
OPENGL_GAL::DrawArcSegment(): use a better number of segm to approximate the arc.
...
Previously, the count of segments used a magic number optimized for Pcbnew.
This is not good, and does not work well on Gerbview.
The count uses now a max error acceptable is approximation (5 microns in Gerbview and Pcbnew).
Fixes #9101
https://gitlab.com/kicad/code/kicad/issues/9101
2021-09-06 16:36:47 +02:00
Seth Hillbrand
56ccaf6482
Constrain move tool when set
...
Move tool works slightly differently from other tools when figuring out
new locations. This uses the global 45 enable flag to set proper item
locations when the user is requesting a 45° constraint on movement
2021-09-06 07:05:25 -07:00
Seth Hillbrand
86725db758
Ensure doInteractivePlacement enforces snap option
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9105
2021-09-06 06:36:33 -07:00
jean-pierre charras
d2bff137ee
.kicad_pcb file: fix incorrect keyword stored for some (not all) PAD properties.
...
( a copy-paste error? )
Fixes #9102
https://gitlab.com/kicad/code/kicad/issues/9102
2021-09-06 09:15:18 +02:00
Seth Hillbrand
240c3b75c4
Move selection disambiguation to long-click
...
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Seth Hillbrand
092cdc0bb5
Move 45° limit to hotkey
...
This assigns the "Tab" key to a general pcbnew 45° limitation. Limit
can be enabled/disabled using context menu as well.
Removed the user preference for 45° limitation on graphic lines as that
is overlapping with the general limitation, which is not an editing
preference so much as a temporary adjustment to tool action.
Related to https://gitlab.com/kicad/code/kicad/-/issues/8490
2021-09-05 13:42:51 -07:00
Jeff Young
69a31f41b8
Fix typo.
...
Last commit added the correct code, but failed to delete the buggy code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9090
2021-09-05 21:23:55 +01:00
Jeff Young
921b6c826b
Fix another disappearing string on Mac.
2021-09-05 21:23:55 +01:00
Marek Roszko
36bcff34f7
Label the three track and via properties for UX
2021-09-05 08:54:45 -04:00
Jeff Young
59c15842f8
Exclude formatting chars from text width approximation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9080
2021-09-04 22:09:32 +01:00
Jeff Young
6818539f6d
Repair is-selected logic in various global editors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9090
2021-09-04 18:10:25 +01:00
Jeff Young
a397e85589
Implement PTH/NPTH/courtyard collision tests.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9081
2021-09-04 00:16:26 +01:00
jean-pierre charras
e2a1e5d4a1
DIALOG_EXPORT_STEP: fix regression: missing default filename initilization
2021-09-03 16:22:32 +02:00
Seth Hillbrand
e03257b55f
Allow close placement of stitching vias
...
When placing a stitching via for a bypass capacitor, it is common to
place it close to the relevant pad. If the via does not have the
correct net, this will violate DRC and be prevented.
Checking for zone-based net assignments allows the workflow to proceed
2021-09-01 15:52:35 -07:00
Seth Hillbrand
f14e5b61b3
Ensure newly added pads are counted
...
When adding a new footprint, don't delete the single-pad nets until you
check for the net being added as part of the footprint
Fixes https://gitlab.com/kicad/code/kicad/issues/9053
2021-09-01 15:12:28 -07:00
Seth Hillbrand
e0011fcd93
Display a nice error message instead of asserting
...
When we mess up, it will be nice to not lose users' data. This requests
a bug report if the netlist parsing breaks instead of throwing
2021-09-01 12:02:06 -07:00
Seth Hillbrand
8a305eec32
Remove broken RefDesStringCompare
...
This function attempted a poor-man's natural compare but it assumed
specific structure of the string. This broke for strings with
numberings that looked like decimals.
Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.
Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
Jeff Young
04fa678265
Impleent persistence for no-connect pad setting.
...
Also moves rotation increment from a display property to and edit
property.
(Both issues were discovered while working on a 7.0 feature.)
2021-09-01 00:00:12 +01:00
Jeff Young
2cdd3c9ebf
Work-around incorrect spacing (and order) of buttons on Mac.
2021-08-31 22:39:25 +01:00
jean-pierre charras
8fa04eeb75
FP_TEXT::TransformShapeWithClearanceToPolygon(): fix broken rotation of the shape.
...
Only the FP_TEXT shape must be rotated, not the full buffer used for storage.
Fixes #9057
https://gitlab.com/kicad/code/kicad/issues/9057
2021-08-31 17:04:03 +02:00
Jeff Young
b5a3385ea9
Overhaul file locking system.
...
See bug report for details.
Fixes https://gitlab.com/kicad/code/kicad/issues/8919
2021-08-31 15:04:31 +01:00
jean-pierre charras
6c7c9ca50c
Fix compil warnings (UNDO_REDO::GROUP renamed to UNDO_REDO::REGROUP to fix
...
collision name with a widows header on msys2)
2021-08-28 11:44:01 +02:00
qu1ck
0f7c0e3872
PCM implementation
2021-08-27 21:11:47 +00:00
qu1ck
78ab69027d
Add 3rdparty/plugins to plugin search
2021-08-27 21:11:47 +00:00
Mike Williams
10247c268e
Pcbnew: implement Find Next
...
Moves all of the find dialog control out of the selection tool similar
to the schematic editor. Dialog is also non-modal now to match the
schematic editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8966
2021-08-27 18:15:36 +00:00
Mike Williams
0b2e66d3b7
Infobar: Don't use animations on Windows/GTK
...
Seems to cause issues on Windows where the animation locks the screen.
Doesn't effect Linux, possibly because wxWidgets uses a native GTK
infobar that doesn't animate anyway.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8987
2021-08-27 17:38:16 +00:00
Jeff Young
436ad0ede7
Add missing token to DRC rule parser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9041
2021-08-27 12:49:07 +01:00
Mike Williams
43194dff72
Pcbnew: don't fallback to software rendering after changing footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8915
2021-08-26 18:00:33 +00:00
jean-pierre charras
ee5f9034f7
pcb parser: ensure the parser is reinitialized before parsing a new fp file
...
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
Jeff Young
f4905cb1ae
Cherry-pick fix from 7.0 branch back to master.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9005
2021-08-25 20:14:11 +01:00
Jon Evans
5f2d238c93
Work around GTK issue with wxSearchCtrl
...
Also remove redundant icons in LIB_TREE (recent GTK
search controls have an icon built-in)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9019
2021-08-24 23:04:28 -04:00