411 Commits

Author SHA1 Message Date
John Beard
e016dc52fd Pcbnew: Add concept of a 'point'
This is a zero-dimensional object that can be used for snapping
and documentation of useful, but non-physical features on a
board or footprint. They do not correspond to any physical
output in exports or plots.

Points do have a "size", but this is a graphical property only
and determines how large they are drawn on the board.

They also have a layer, which allows them to be selected and
made visible according to layer filters.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4691
2025-09-01 23:44:21 +08:00
Jeff Young
4bb54b3439 Move more stuff to ACTIONs framework. 2025-05-23 15:19:49 +01:00
Jeff Young
f58fc0b952 Rewrite GROUP undo based on uuids.
This also removes the GROUP/UNGROUP-specific undo actions.

This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.

This also fixes some undo bugs when dividing wires etc.

This also fixes some bugs with new sch items not
being created within an entered group.
2025-05-21 14:24:59 +01:00
Mike Williams
0c0dbc6271 groups: commonize group tool 2025-04-15 09:59:38 -04:00
Mike Williams
f40b24d04a groups: move actions to common actions 2025-04-01 14:34:20 -04:00
Jeff Young
d8cdb69831 Jobset Output -> Destination. 2025-03-03 18:34:33 +00:00
Ian McInerney
f0a76f62b6 Cleanup PCB/fpeditor layer box handling 2025-02-28 01:57:37 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
jean-pierre charras
b193249d1c BOARD: add helper function GetCopperLayerStackMaxId() and remove dead code
GetCopperLayerStackMaxId() replaces GetCopperLayerCount()*2 and is more
understandable in code where the max allowed PCB_LAYER_ID value is needed.
Removed also a dead code related to GetCopperLayerCount() < 2, broken and not
allowed in Kicad.
2024-10-06 09:37:04 +02:00
jean-pierre charras
ef3193fe97 Pcbnew: fix some switch copper layers issues:
- fix PCB_CONTROL::LayerNext() and PCB_CONTROL::LayerPrev() (hotkeys + and -)
- fix PCB_EDIT_FRAME::SwitchLayer( PCB_LAYER_ID layer )
- fix PCB_BASE_FRAME::SwitchLayer( PCB_LAYER_ID layer )

-PNS router SwitchLayer is still broken and can crash.
2024-10-03 18:28:09 +02:00
Jeff Young
1bf24da385 Schematic editor Table Properties and commenting for QuasiModal usage. 2024-03-10 12:18:50 +00:00
Jeff Young
f341ab9b00 Bug fixes for flipping tables.
Also adds support for tabbing between table cells in the
table editor dialog.

Also adds support for calling the table editor dialog from
edit properties on a table selection.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17337
2024-03-09 22:18:19 +00:00
Jeff Young
fa0ead98d8 Split out table editing and table cell editing. 2024-02-24 20:05:51 +00:00
Jeff Young
e445249720 ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
jean-pierre charras
d4ce2c8982 Fix a few Coverity warnings. 2023-11-25 11:44:01 +01: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
16ec0faa7a Reduce line-breaking.
Also simplifies handling of generator properties dialogs.
2023-10-19 11:19:57 +01:00
Alex Shvartzkop
be72e07e61 Introduce PCB_GENERATOR. 2023-10-08 02:41:17 +00: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
Ian McInerney
480223f67c More RunAction specialization 2023-06-20 21:52:50 +01:00
Mike Williams
37837dc392 PCB: introduce PCB_FIELD_T 2023-06-20 18:34:52 +00:00
Jeff Young
bbd6c80507 Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
Mike Williams
3669cb4673 PCB Editor: Add User Background Images 2022-07-14 11:23:23 +00:00
Jeff Young
5739505aa3 TextBoxes for PCBNew. 2022-01-31 20:00:47 +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
e26341d424 Cleanup. 2021-12-23 20:36:18 +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
Seth Hillbrand
9884f40952 Update call signature for SwitchLayer
We don't use DC anymore
2021-12-09 10:14:11 -08: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
b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
Jeff Young
096e342386 Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
Jeff Young
16b0147af8 Prefix DIMENSION types. 2021-06-11 17:59:44 +01:00
Marek Roszko
d946d6e68f Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
Marek Roszko
10e60acf34 Clean up including of board_design_settings.h 2021-06-06 15:03:42 -04:00
Jeff Young
c7648b4dba Formatting. 2021-03-16 12:07:06 +00: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
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
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
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
Jeff Young
f7333ad64a Update some classnames including archaic zone names. 2020-11-12 10:31:25 +00:00
Jeff Young
6417015b8a Harvest -> Export 2020-11-09 17:21:47 +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
Jeff Young
adfc9f1288 Move File > Archive Footprints to Tools > Harvest Footprints.
CHANGED.

Also corrects references so they fit the generic pattern.

Fixes https://gitlab.com/kicad/code/kicad/issues/4518
2020-10-21 12:41:37 +01:00
Jeff Young
92d84b0d67 Naming updates. 2020-10-15 01:35:16 +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
jean-pierre charras
13304d0870 more cleanup about removing useless include 2020-10-02 13:40:00 +02: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
Jon Evans
e9b627bfd8 ADDED: Center marker dimension type 2020-09-16 20:55:11 -04:00