Jeff Young
1597882c1f
Allow creation of groups with a single member.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16586
2024-01-19 17:32:00 +00:00
Marek Roszko
7c8ee26a38
FromDIP the pcb aui sizes
2024-01-17 22:02:05 -05:00
Marek Roszko
b4bfdf95d3
Explicitly add 48, 128, 256 to icon bundles for each app
2024-01-16 17:21:44 -05:00
Marek Roszko
d0236ca751
Make DRC exclusions work in cli & python DRC
...
The way exclusions work is actually silly, and you can end up with your project file losing them too.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11562
2024-01-10 19:55:44 -05:00
Marek Roszko
9a890cdba9
Kick the wildcards and file exts into a static class, export it from kicommon
2023-12-27 21:10:01 -05:00
Jon Evans
7d25675e2b
Fix handling of dimensions in footprint updater
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16448
2023-12-26 14:08:39 -05:00
Jeff Young
1b0cc82c56
Move a couple of stragglers to BOARD_COMMIT.
2023-12-17 21:01:31 +00:00
Jeff Young
66a15f6acf
Re-factor frame pointer out of generator API.
2023-12-16 16:11:45 +00:00
Jeff Young
1df84f4d92
Move some PCB_GENERATOR special-cases to propMgr listeners.
2023-12-15 21:04:33 +00:00
Wayne Stambaugh
8687d5092f
String and dialog layout fixes.
2023-12-13 11:49:34 -05:00
Jon Evans
8a474879c5
Make sure DRC engine works at startup
...
If we wait to initialize this until later, some
routing operations will not work properly as the
constraints will be empty
2023-12-10 23:00:19 -05:00
Jeff Young
6d43ef5678
Don't specify sizes when we don't need to.
...
However, in some places we *do* have to because otherwise wxWidgets
will pick a minimum size for us (and it's rather large).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16039
2023-11-07 14:53:41 +00:00
Alex Shvartzkop
847ab093c8
ADDED: Project chooser dialog for EasyEDA Pro import.
2023-10-30 09:35:27 +03:00
Jeff Young
791aa64950
Functionally it's a "reference image".
...
The implementation happens to be a "bitmap".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01:00
Jeff Young
d5d07e64c9
Use IsShownOnScreen(), not IsShown(), if you really want to know if its visible.
2023-10-14 23:51:37 +01:00
Jeff Young
1b676985f6
Retire length tuning tool in favour of first-class meanders.
2023-10-12 17:54:34 +01:00
Alex Shvartzkop
a4832dd3c8
ADDED: Interactive meander objects for length tuning.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
546c7ed218
Introduce GENERATOR_TOOL.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
be72e07e61
Introduce PCB_GENERATOR.
2023-10-08 02:41:17 +00:00
Jeff Young
e1c51ed192
A few performance improvements from profiling.
...
Most of them are very small; the removal of the Fracture() in
DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones() is the only
significant one.
2023-09-29 21:54:59 +01:00
Jeff Young
974da4ea7c
Push most of DIALOG_CHOOSE_SYMBOL down into PANEL_SYMBOL_CHOOSER.
...
Includes a dialog wrapper (DIALOG_SYMBOL_CHOOSER) and a frame
wrapper (SYMBOL_CHOOSER_FRAME).
2023-09-29 00:13:12 +01:00
Jeff Young
1047130046
Push most of footprint chooser into PANEL_FOOTPRINT_CHOOSER.
...
Create 2 wrappers for it: DIALOG_FOOTPRINT_CHOOSER and
FOOTPRINT_CHOOSER_FRAME. The first now gets called from wxGrid
editors, text button editors (such as Change Footprints), etc.
Retire FOOTPRINT_VIEWER_FRAME_MODAL. FOOTPRINT_VIEWER_FRAME still
exists, but has very few uses at this point.
2023-09-27 16:02:13 +01:00
Jeff Young
bf493f32f5
Nullptr safety for various panels.
...
Also moves preference saving out to parent as different parents
save different settings.
2023-09-25 12:35:54 +01:00
Jeff Young
c2c71facb1
Tidy up shutdown of APPEARANCE_CONTROLS.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15024
2023-09-24 18:27:06 +01:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Jeff Young
ef92429ac2
Implement changed notifiers for textvar, netclasses and severities.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15440
2023-09-17 17:35:15 +01:00
Jeff Young
5842e9c57e
Smarten the UpdateAllItemsConditionally() tests in SetActiveLayer().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15329
2023-09-15 17:44:43 +01:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
Josue Huaroto
cef0f176d3
Add Unselect all in menu
2023-09-06 23:44:39 +00:00
Jeff Young
4fefd95e0c
Move grid definitions to Prefs and grid origin to a separate dlg.
...
Grid origin is document-wide, while grid definitions are app-wide.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2262
2023-08-26 13:32:24 +01:00
Alex Shvartzkop
b1b66f66f4
Prevent crash when a python script tries to use pcbnew too early.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15414
2023-08-25 00:09:56 +03:00
Mike Williams
d9c2e0ab54
PCB: start of grid overrides
...
Only works for moves.
2023-08-24 10:29:09 -04:00
Jeff Young
cf22d5b99b
Preferences setting for force-show-fields-when-fp-selected.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15215
2023-08-20 18:10:28 +01:00
Seth Hillbrand
f3d65b5156
Revise method of selecting footprints in contrast
...
When working in high contrast mode, we want to be able to select a
footprint with only elements in, e.g. silk and fab layers.
The previous design for footprint IsOnLayer had one behavior of every
other element and a different behavior for footprints. This leads to
multiple bugs as new features use the overloaded IsOnLayer expecting it
to report if the element exists on a layer or not.
For footprints, we need a different routine to determine whether or not
to select the footprint when clicking on it. IsOnLayer will report if
the footprint has any elements on a specific layer but we don't want to
use the bbox for a hittest because large footprints with through hole
pads will exist on every layer and have an enormous bbox. Instead, we
filter footprints based on the hittest of each element. This behaves in
a more logical fashion, allowing you to select a footprint by clicking
on a visible element of that footprint.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15284
2023-08-01 10:43:13 -07:00
Jeff Young
c3c7f731df
Fix usage of AUI SetAuiPaneSize() hack in FOOTPRINT_EDIT_FRAME.
...
This brings it in line with PCB_EDIT_FRAME, which seems to work
reasonably well.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14297
2023-07-16 22:29:21 +01:00
Ian McInerney
e82a58a12e
Changed: Allow filling/unfilling individual zones with no selection
...
The draft fill and single zone unfill would only work if something was
selected first, this allows them to call the selection operation to
request what is under the cursor. Also properly gate the operation to
not cause crashes/issues when the selection contains non-zone items.
2023-07-12 23:00:13 +01:00
Jeff Young
879e6c302d
Redraw via mask layers when switching Tented Vias on/off.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15164
2023-07-10 23:29:54 +01:00
jean-pierre charras
2c068ab86d
Fix incorrect comment. No code change.
2023-07-01 14:17:57 +02:00
jean-pierre charras
011a8f29a3
Pcbnew, Update footprint: fix broken initialization of fields (especially ref and value)
...
- Revert commit 86e0e1cc
, broken
- add comments to avoid a similar mistake
- ensure Reference and Value are correctly handled.
Fixes #15091
https://gitlab.com/kicad/code/kicad/-/issues/15091
2023-07-01 12:29:02 +02:00
Ian McInerney
2fb6f19a84
Separate immediate and delayed action dispatch
...
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.
2023-06-27 00:57:59 +01:00
Jeff Young
b3d7aea4df
dyn_cast<PCB_TEXT*> won't find PCB_FIELDs.
...
We really should get rid of dyn_cast entirely....
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15052
2023-06-24 15:48:57 +01:00
Jon Evans
3a0f8214fa
ADDED: Properties panel for schematic editor
...
Initial infrastructure work; follow-ons will add more
properties for schematic items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6351
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14105
2023-06-22 22:32:24 -04:00
Mike Williams
86e0e1cccb
PCB, Change Footprint: actually update text attributes
2023-06-20 18:34:52 +00:00
Mike Williams
a24c55affe
PCB Fields: fix up python, API
...
Remove SetFields from both symbol and footprint, it doesn't handle
mandatory fields and is unlikely to ever be safe.
2023-06-20 18:34:52 +00:00
Mike Williams
37837dc392
PCB: introduce PCB_FIELD_T
2023-06-20 18:34:52 +00:00
Mike Williams
028f500cd9
Footprints: rename properties to fields for consistency with symbols
2023-06-20 18:34:52 +00:00
Jeff Young
30336b2fe3
Unify go-back-one-step processing for drawing tools (and router).
...
Also warps mouse on all go-back-one-step operations for better feedback.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9985
2023-06-19 17:14:32 +01:00
Jeff Young
ef6866757e
Treat undo as backspace and/or escape when drawing. Ignore redo.
...
Undo == backspace when drawing a polygon or chained lines. Otherwise
it's an escape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14961
2023-06-16 22:08:21 +01:00
Jeff Young
782c73300b
Move drawing sheet datastructures to EDA_IU_SCALE.
...
Or mostly, at least. Plotters still define their own mils-to-iu scale.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14934
2023-06-12 22:34:25 +01:00
Jeff Young
b7f0aae006
Nullptr safety for UI Conditions.
...
We don't really control when these are called, so best not to assume
we've finished initialization of the frame/screen/document/whatever.
Possible fix for KICAD-KY.
2023-06-12 12:38:50 +01:00