Commit Graph

2380 Commits

Author SHA1 Message Date
Marek Roszko 347e03363a Convert wxPoint/wxSize starting from EDA_RECT usages 2022-01-01 11:30:33 -05:00
Jeff Young 86cb57f4a7 Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont 2021-12-28 22:15:20 +00:00
Jeff Young 3a8ffd40b8 Fix dimension drawing bug. 2021-12-26 17:30:21 +00:00
Jeff Young ab583a32f9 Better layer handling for DRC markers.
Fixes https://gitlab.com/kicad/code/kicad/issues/10126
2021-12-26 15:06:12 +00:00
Jeff Young 5e4a704155 Remove some more duplicated preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Jeff Young fa908e1f98 Dimensions for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young ed79f6e511 Clean up some TODOs. 2021-12-24 21:10:28 +00:00
Jeff Young da11574a19 Remove dead code. 2021-12-24 21:10:28 +00:00
Jeff Young b4c5e64db2 Exclusions for Unconnected Items; Markers & exclusions for Parity checks
Fixes https://gitlab.com/kicad/code/kicad/issues/5589

Fixes https://gitlab.com/kicad/code/kicad/issues/5504
2021-12-24 21:10:28 +00:00
Jeff Young e363a0eedc ADDED Edit Text and Graphics Properties for Footprint Editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/9650
2021-12-24 18:13:21 +00:00
Jeff Young 3f90b3e2a0 Keep line stroke params as long as layer doesn't change.
Fixes https://gitlab.com/kicad/code/kicad/issues/6210
2021-12-24 16:13:51 +00:00
Jeff Young b7e196b710 ADDED assertion constraints for user-defined DRC checks. 2021-12-24 16:13:18 +00:00
Jeff Young 4ba3937f8a Cleanup. 2021-12-24 15:43:24 +00:00
Jeff Young d28714167c All the preferences, all the time.
Fixes https://gitlab.com/kicad/code/kicad/issues/7877

Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young 56c85bd354 Improve clearance and constraint resolution reporting.
1) Report on all applicable clearance types
2) Don't double-book constraints if they're used by more than one
test provider

Fixes https://gitlab.com/kicad/code/kicad/issues/8961
2021-12-23 22:31:26 +00:00
Jeff Young a48867ea01 Solder mask integrity testing.
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young 32721755bf Hook up zone-pad connections to custom rules.
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.

ADDED angle override for thermal relief spokes in Pad Properties.

Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young e26341d424 Cleanup. 2021-12-23 20:36:18 +00:00
Jeff Young 2bc86fa0a8 Shapes for schematic.
ADDED arc, circle and rectangle shapes for schematic.  Shapes support
line styles and fill colors.

CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).

Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young 4b6bf3095a Radial dimensions.
ADDED radial type dimensions.

Fixes https://gitlab.com/kicad/code/kicad/issues/2056
2021-12-23 19:34:54 +00:00
Jeff Young d9dba2edb2 Tidy up pad & parent footprint selection corner cases.
Fixes https://gitlab.com/kicad/code/kicad/issues/9923
2021-12-23 16:54:03 +00:00
Jeff Young f696c4ddfc Fix failure to remove hover selection after rotate operation.
Fixes https://gitlab.com/kicad/code/kicad/issues/10058
2021-12-23 16:54:03 +00:00
Mike Williams 956ac871c3 PCB Editor: changes to track width overrides starting track width
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
2021-12-15 23:32:48 +00:00
Seth Hillbrand 401de24274 Recalculate ratsnest after zone fill
Push the mutex down into the ZONE::Fill() routine and set the
connectivity update to run after zone fills.  The connectivity update
cannot run while the mutex is locked for zone fills.

Fixes https://gitlab.com/kicad/code/kicad/issues/9993
2021-12-14 13:37:15 -08:00
Jeff Young 4c565fd222 Top layers includes a whole bunch of layers...
... and the first isn't particularly meaningful.  Use GetActiveLayer
instead.

Fixes https://gitlab.com/kicad/code/kicad/issues/9972
2021-12-13 18:23:18 +00:00
Jeff Young 84e0feeee6 LibTree selection should follow footprint after Save As.
Fixes https://gitlab.com/kicad/code/kicad/issues/9913
2021-12-10 00:45:21 +00:00
Jon Evans 62e6f542ed Init zone type when creating in convert tool
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9918
2021-12-09 18:20:30 -05:00
Seth Hillbrand 9884f40952 Update call signature for SwitchLayer
We don't use DC anymore
2021-12-09 10:14:11 -08:00
Jon Evans a9168860e0 Reduce excessive epsilon in polygon search algo
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9903
2021-12-08 21:04:23 -05:00
Jon Evans 587ee890d9 Move where flag is cleared to catch more cases
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9892
2021-12-08 20:46:53 -05:00
Jeff Young e9847cf2bd Exclude vias from first 'U' step.
Fixes https://gitlab.com/kicad/code/kicad/issues/9902
2021-12-08 23:16:33 +00:00
Jeff Young df1e74d418 Clean up dead code from last commit. 2021-12-08 23:16:33 +00:00
Jeff Young 7ffd43a6f4 Regularize the promotion of pads to footprints in non-free-pad mode.
Also regularizes some of the other selection filtering options.

This also fixes an invalidated iterator (and subsequent segfault) in
the old code.

Fixes https://gitlab.com/kicad/code/kicad/issues/9896
2021-12-08 13:08:54 +00:00
dsa-t 9c619d8f4e Allow some navigation tools when selecting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9565
2021-12-07 23:00:39 +00:00
dsa-t a7193e0932 Do not warp cursor to last location when footprint/text placement is activated from toolbar/menu.
Also makes the footprint appear instantly after closing the dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9840
2021-12-07 22:48:56 +00:00
Jeff Young 73b39e836d Set modify bit when editing page layout.
Fixes https://gitlab.com/kicad/code/kicad/issues/9891
2021-12-06 23:08:33 +00:00
Jeff Young 2446844cd3 Fix bugs in free-pad logic.
Don't promote pads to parent footprint selection when NOT in free
pad mode during move.

Implement move algorithm in rotate.

Fixes https://gitlab.com/kicad/code/kicad/issues/9893
2021-12-06 22:53:45 +00:00
Jonathan Haas 04b0435c45 Snap to pads when placing via
Fixes https://gitlab.com/kicad/code/kicad/issues/9873
2021-12-06 15:54:49 +00:00
Roberto Fernandez Bautista 34a0d1947a pcbnew Flip: Filter selection for free pads, select footprint instead
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9875
2021-12-06 14:34:26 +00:00
Seth Hillbrand 4b226b8172 Unify our breakTracks routines
Fixes https://gitlab.com/kicad/code/kicad/issues/9793
2021-11-27 06:34:47 -08:00
Jeff Young ba6ae4fa9b Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
Seth Hillbrand f97c7c78c8 Connect ruler tool with axes preferences
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them

Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Jeff Young 8777ce3d4e TEMP_SELECTED is in m_flags, not m_status.
Fixes https://gitlab.com/kicad/code/kicad/issues/9610
2021-11-21 23:52:45 +00:00
Jeff Young cf1d5f5724 Teach selectConnectedTracks() about layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9610
2021-11-21 13:53:43 +00:00
Jeff Young 229706b48a Formatting. 2021-11-21 13:53:43 +00:00
Seth Hillbrand 1d2fd6d271 Change persistent 45° state to only drawing
Move/edit points have a lossy state that holds only for the time in
which the tool is active.  It reverts back to non-constrained after
completion of the move/point edit

Fixes https://gitlab.com/kicad/code/kicad/issues/9574
2021-11-17 15:38:28 -08:00
Wayne Stambaugh 53f5d616aa Coverity issue fixes. 2021-11-13 11:38:31 -05:00
Jeff Young 381da21609 Don't inc/dec to netclass track width value.
Fixes https://gitlab.com/kicad/code/kicad/issues/9622
2021-11-12 17:50:34 +00:00
Jeff Young 0631c8fc74 Fix logic bug when updating circular pad points.
Fixes https://gitlab.com/kicad/code/kicad/issues/9576
2021-11-09 13:14:24 +00:00
Jon Evans 75d75799f7 Move to getters/setters for aux and grid origin
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8836
2021-11-08 22:36:40 -05:00
Jeff Young d0014a307d Reduce the artificial gravity for selecting vias by a bit.
Fixes https://gitlab.com/kicad/code/kicad/issues/9563
2021-11-08 20:53:59 +00:00
Jeff Young 3c78bf4ef8 One active point at a time. 2021-11-01 16:17:33 +00:00
Jeff Young e3ef101ec9 Add missing view controls for FP Editor Appearance Manager. 2021-10-31 16:33:03 +00:00
Electro707 4afb59fda0 Added feature to switch between router modes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9414
2021-10-28 22:46:05 +00:00
jean-pierre charras 1dbe8442b1 fp editor: fix crash (null pointer) when trying to drag an item.
(there is no roter tool in fp editor)
Fixes #9476
https://gitlab.com/kicad/code/kicad/issues/9476
2021-10-28 11:51:04 +02:00
Roberto Fernandez Bautista a79a221257 Array creator tool: Add option to assign unique reference designators
ADDED: Option to assign unique reference designators to footprints
created with the array tool [pcbnew]

CHANGED: Array creator dialog no longer displays pad numbering properties
when in the board editor. [pcbnew]

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2354
2021-10-25 22:38:49 +01:00
Seth Hillbrand ea4e06124e Edit library footprint command
Provides missing PCB_ACTION for the edit library footprint command.  This is
needed for python control of the command

Fixes https://gitlab.com/kicad/code/kicad/issues/9454
2021-10-25 09:25:37 -07:00
Seth Hillbrand 8a3bc3fe4d Don't translate empty strings
The _( "" ) msgid is reserved in gettext, so we need to avoid it in code
2021-10-25 06:24:06 -07:00
Jeff Young c9d858eaf5 Add status bar message for constraint mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/9282
2021-10-24 14:04:12 +01:00
Jon Evans 3b18dce911 Remove vestigal setting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9444
2021-10-23 22:12:25 -04:00
Roberto Fernandez Bautista e950278637 Don't initiate a drag if the router is already active
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9277
2021-10-23 19:01:25 +01:00
Jeff Young e30d867439 Use consistent terminology for various constraint modes. 2021-10-23 12:18:08 +01:00
Jeff Young fecb53b64f Clean up removal of separate front & back footprint text visibility.
Fixes https://gitlab.com/kicad/code/kicad/issues/9441
2021-10-22 21:14:15 +01:00
Jeff Young 8cbdf5ba12 Keep default pad number up-to-date (in both directions).
Also hides the net selector when in the footprint editor as it has
no meaning there.  (We still only grey it out for the board editor
when the pad type has no net to keep things from coming and going too
much.)

Fixes https://gitlab.com/kicad/code/kicad/issues/9317
2021-10-22 19:58:36 +01:00
Jeff Young 463b82cf46 Be very careful when "doing what I mean".
Just wanting a SMD pad isn't enough -- the user may have already
set SMD settings into the master pad and changing the SizeX is
then very unexpected.  Make sure the settings directly conflict
before making any "do what I mean" adjustments.

Also fixes the parent-footprint info when no parent exists.

Also gives a better title to the dialog when used to edit the masterPad
properties.

Fixes https://gitlab.com/kicad/code/kicad/issues/9427
2021-10-20 08:59:25 +01:00
Seth Hillbrand fb5fef9f5f Remove extraneous Raise() from DRC cross-probe
Scroll-to-show on GTK relies on the idle handler but this is interrupted
by a Raise and not revisited.  Since the Dialog is always on top of the
editor, Raise is not needed to view the referenced error

Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-18 17:16:36 -07:00
Seth Hillbrand 5af813c69f Remove extra handler
The extra handler intercepted the action before it could be handled
properly changing the board design settings

Fixes https://gitlab.com/kicad/code/kicad/issues/9410
2021-10-18 15:08:22 -07:00
Jeff Young f9861b4a6c Finish arc rework and push out to file formats. 2021-10-15 12:45:43 +01:00
Jeff Young 9b9e379aa0 Overhaul arc internal model to not over-specify information. 2021-10-15 12:45:43 +01:00
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 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 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
Ian McInerney 8d71bdc3e1 Cleanup unit handling in the stackup drawing tool 2021-10-08 22:30:20 +01: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 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
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
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 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 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
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
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 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
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 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
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 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 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
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