Commit Graph

6557 Commits

Author SHA1 Message Date
Marek Roszko 585cf841e5 Create a singular point for events like EDA_EVT_UNITS_CHANGED to be exported out of kicommon 2024-03-02 16:29:08 -05:00
Jan Wichmann 1297ddc88d pcbnew: Added default master pad properties
CHANGED: Automatically selects the right pad type for the footprint type. Resets the pad properties if the master pad properties do not match the pad type.

https://gitlab.com/kicad/code/kicad/-/issues/16563
2024-03-02 00:13:39 +00:00
Yon Uriarte 464f185387 Performance
Cache VIEW_ITEM's bbox in VIEW_TREE for faster removals.

Fixes https://gitlab.com/kicad/code/kicad/issues/16841
2024-03-02 00:03:46 +00:00
Jeff Young 8dddd9cc2c Separate "use board stackup colors" into separate checkbox.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17085
2024-03-01 23:45:06 +00:00
arturo182 41147dc3b3 kicad_advanced: Make OCE tesselation deflection configurable
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17168
2024-02-29 19:04:39 +00:00
aris-kimi 24529e5242 ADDED: library tree context menu option to open sym/fp library files from the defined text editor.
Short description:

Works for Symbol and Footprint Editor behind an advanced config option.
For Symbol Editor it is shown for a single item selection (library or symbol).
For Footprint Editor it is shown for a footprint selection.
(fp editor allows a single tree item selection only).
Option stays hidden if current frame has been modified.

Also small fix(?) for similar action to the project manager.
(Call for the Execution has moved inside the file loop.)

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15736
2024-02-29 19:01:59 +00:00
Jeff Young c23550dc0b Unflip when going to viewport which isn't flipped.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13773
2024-02-29 17:37:48 +00:00
Alex Shvartzkop 80457d5871 Support transparent background in 3D viewer PNG/clipboard export.
Only really works with realtime renderer currently.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12060
2024-02-29 17:11:53 +03:00
Alex Shvartzkop e71cbea7f8 Use a version string without the extra packaging info in drawing sheets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17176


(cherry picked from commit c59fac4089)
2024-02-29 01:24:39 +00:00
JamesJ 5f4c7a52e4 Add netclass color management / import functionality to PCB setup dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16908

ADDED Netclass color column in board setup dialog
ADDED Import netlist colors from schematic button in board setup dialog
2024-02-28 23:13:21 +00:00
JamesJ b8748c4ef8 Add import netclass color menu items to PCB appearance widget
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16908

ADDED: Context menu item in PCB appearances widget to import netclass
color from schematic.
ADDED: Context menu item to reset PCB netclass color (replicating
same menu item from Nets inspector)
2024-02-28 23:13:15 +00:00
Seth Hillbrand 6a8d2a7eb3 Store group id rather than group
We only need the group storage id for lookup.  Storing the KIID instead
of a copy of the group avoids unneeded overhead

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

(cherry picked from commit 7d1adff071)
2024-02-28 13:27:38 -08:00
Alex Shvartzkop 3582edb185 Cairo GAL: reduce buffer allocation sizes.
cairo_format_stride_for_width() result is in bytes.
Also removes unneeded extra width.


(cherry picked from commit d359fb8ab9)
2024-02-28 00:53:56 +00:00
jean-pierre charras ed4a4ec8ec Add option to Footprint Chooser to switch between the selected fp or its 3D view
Fixes #16173
https://gitlab.com/kicad/code/kicad/-/issues/16173
2024-02-27 10:17:00 +01:00
Jon Evans e9456201a7 Don't rely on dynamic_cast across DLLs
See https://gitlab.com/kicad/code/kicad/-/issues/16998
2024-02-26 22:10:28 -05:00
Jon Evans 2f6c9d1f3a ADDED: Selection filter for schematic editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14988
2024-02-25 17:44:10 -05:00
Jeff Young aef87b9796 Push thickness handling down into EDA_TEXT::SetBold().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17077

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14875
2024-02-25 17:28:52 +00:00
Jeff Young fa0ead98d8 Split out table editing and table cell editing. 2024-02-24 20:05:51 +00:00
Jeff Young 782af3a918 Clear text before replacing in ImportSettingsFrom. 2024-02-24 20:05:51 +00:00
Jeff Young d7e4a8cebd ADDED: ERC/DRC exclusion comments.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16020
2024-02-24 20:05:51 +00:00
Jeff Young 833ec402a0 Generalize DRCItem inspections.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jeff Young 6856e59374 ADDED: ExpandAll/CollapseAll for lib trees.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8243
2024-02-24 20:05:51 +00:00
Jeff Young e445249720 ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
Jeff Young 91df43c97a ADDED: schematic tables.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6806
2024-02-24 20:05:50 +00:00
Jeff Young 4a9df1e18e ADDED: actions for left-, center-, and right-justifying text items.
(For both PCBNew and EESchema.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12375
2024-02-24 20:05:50 +00:00
Alex Shvartzkop 8f428c04b0 Fix floating point rounding issues with scaled parameteres in settings.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17070

(cherry picked from commit fdf38256e8)
2024-02-23 20:29:18 +03:00
Alex Shvartzkop cb25c8620e Performance optimizations for database libraries.
(cherry picked from commit e68df8e1d1)
2024-02-23 20:29:18 +03:00
Jeff Young ca3cd706e5 Show friendly name in toolbar button tooltips.
(Don't require the same text to be put into the tooltip.
It's error-prone and also disallows us from having a separate
tooltip for toolbar buttons.)

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

(cherry picked from commit f4a085575a)
2024-02-23 16:53:33 +01:00
Jeff Young ef23d6776d Formatting.
(cherry picked from commit baaed8ed84)
2024-02-23 16:53:32 +01:00
Jeff Young 73b6b19a4e Keep Mac debugger from crashing with breakpoints in .h files.
(cherry picked from commit 7446fba70a)
2024-02-23 16:53:32 +01:00
Jeff Young ffa6adec96 Add a cache for TrueType contours and triangulation data.
Also returns minimumSegmentLength to its former value as
it doesn't appear to be required to fix
https://gitlab.com/kicad/code/kicad/-/issues/11463.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16568
(cherry picked from commit 162e8962f7)
2024-02-23 16:53:29 +01:00
Alex Shvartzkop 1a65c0091f Tweak default meander settings. 2024-02-20 03:20:08 +00:00
Jon Evans 7b0bb59b37 Remove hard-coded versioned env vars in most places 2024-02-15 15:31:08 +00:00
Seth Hillbrand 0775d1364a Add bezier icon
Fixes https://gitlab.com/kicad/code/kicad/issues/16830
2024-02-14 02:01:01 +01:00
Marek Roszko f73d45b0cf Add $schema prop to drc/erc 2024-02-13 19:08:55 -05:00
Marek Roszko 6db6e85161 Set an excluded property in json reports for erc/drc 2024-02-13 18:38:26 -05:00
Seth Hillbrand f303996f9c Add new icons for tools
Align elements to grid
Cleanup graphics
Cleanup tracks/vias
Drag

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16205
2024-02-09 15:55:57 -08:00
Seth Hillbrand cabbab9a5f Move pcbnew drag to move specific icon 2024-02-09 15:55:57 -08:00
Jeff Young aef6b2a66e nullptr safety and a bit of wxT'ing. 2024-02-09 13:56:01 +00:00
Jeff Young e62b4f8ff4 Add nullable int and double to property system. 2024-02-08 18:14:31 +00:00
Jeff Young f8b8bc78bd Make m_originalColWidths impervious to init-order issues. 2024-02-08 15:09:07 +00:00
Jeff Young 8efd90e6e8 Allow reading of 0 text sizes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16902
2024-02-07 16:46:42 +00:00
Jeff Young 98bc03919d Nullptr safety. KICAD-7DM 2024-02-07 14:21:44 +00:00
Jon Evans 874be359e0 Use a more specific path for instance checker 2024-02-06 21:33:44 -05:00
Jeff Young de634c6f3e Generate tofu if we fail to decompose outline font glyph. 2024-02-05 15:49:57 +00:00
Jeff Young a28f092b67 Don't cover STL types. 2024-02-05 15:49:57 +00:00
Jeff Young 7b3485fcb8 Remove atrophied terminology (logical -> nickname) 2024-02-05 15:49:57 +00:00
Andre Iwers a0c39715df HTTP LIB - Fine tuning 2024-02-05 12:11:01 +00:00
Jeff Young 77c19fa99a Fill in missing zone properties.
Also fixes some bugs with hatch properties being available
on rule areas.
2024-02-04 23:01:31 +00:00
Marek Roszko b08f1ee6bf Fix SPLIT_BUTTON at hidpi 2024-02-04 16:04:45 -05:00
Wayne Stambaugh 92c2ddf77a Do not parent dialogs to non top level windows in panels or widgets. 2024-02-03 10:40:28 -05:00
Jeff Young 0890ac57dd Improve clarity of default zone settings. 2024-02-03 13:22:16 +00:00
Jeff Young 7cc663ad77 Schematic parity checking for CLI DRC. 2024-02-02 23:05:37 +00:00
Ian McInerney 85a2d6178a Add coroutine stack size to trace output 2024-02-02 11:00:08 +00:00
Jeff Young 5d4b4f39ec Allow PARAM_WXSTRING_MAP to behave as an array.
In particular, overwrite file contents with current
contents of map rather than merging.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16801
2024-01-31 14:58:48 +00:00
Jeff Young 445ed380b8 Formatting. 2024-01-31 14:58:48 +00:00
Marek Roszko 4b12534dbd Fix property editor for graphic circles 2024-01-30 22:00:09 -05:00
Jeff Young 5b5c6f0474 Init tuning pattern settings from BOARD_DESIGN_SETTINGS.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16819
2024-01-30 13:19:04 +00:00
Marek Roszko 18692ea8e7 This is totally a debug aid for the search pane listview and not a feature 2024-01-29 20:39:48 -05:00
Jeff Young ee5e2e56c0 Naming conventions; no functional changes. 2024-01-29 16:00:06 +00:00
Jeff Young 053a0aade7 Formatting & commenting. 2024-01-26 14:05:04 +00:00
Alex Shvartzkop 6a69396070 Allow column auto-sizing in RC trees.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16727
2024-01-25 20:51:54 +03:00
afkiwers c871bcf6db removed unnecessary variables 2024-01-23 22:32:05 +00:00
afkiwers c7475a16c8 implemented better caching for categories and parts overview to reduce processing time 2024-01-23 22:32:05 +00:00
Jeff Young 8410a5e685 Coding conventions and cleanup. 2024-01-23 16:03:25 +00:00
Jeff Young d47a000564 Make sure group items get added to commit.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16705
2024-01-22 23:34:34 +00:00
Seth Hillbrand 92ed389ad2 Add cir file icon to treeview
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15777
2024-01-22 15:24:00 -08:00
Jeff Young 85f0dd279c Push fileFilter callback function down a level.
(The GRID_CELL_PATH_EDITOR is shared by the whole column.)

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13959
2024-01-22 18:27:31 +00:00
Andre Iwers 4d1a016429 HTTP Libraries: Improved cache performance 2024-01-18 02:33:16 +00:00
Jeff Young 97cb15dd47 Make sub menus conditional on them having child items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16631
2024-01-18 00:21:15 +00:00
Jeff Young 455fae45d8 Support point editing of inverted rectangles.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16595
2024-01-17 15:27:48 +00:00
Marek Roszko fc62d36441 Add share/locale to catalog paths on windows 2024-01-15 22:08:17 -05:00
Alex Shvartzkop 57bc443f0b Fix HPGL color mode being set. 2024-01-15 22:35:35 +03:00
Seth Hillbrand 42e02552ac Make outline font min segment length configurable
This was hard coded at 10IU, which was way too small for pcbnew and
still too small for schematic editor.  Instead, we set a default of 50
and allow the user to adjust (smaller for less powerful machines)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16568
2024-01-11 18:30:00 -08:00
Marek Roszko 8eb6123985 Move PAGE_INFO to kicommon 2024-01-09 07:26:04 -05:00
Marek Roszko f53c3f895d pcb_group.h should live in pcbnew 2024-01-08 22:32:18 -05:00
Andre Iwers 047cb41a1d Implemented Timeout for HTTP LIB
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15756
2024-01-08 23:20:23 +00:00
jean-pierre charras 3f70387a17 KISTATUSBAR: code refinement and add comments 2024-01-07 09:47:40 +01:00
jean-pierre charras 1649b7dd56 Kicad manager: fix some issues about the wxStatusBar:
- fix broken code KICAD_MANAGER_FRAME::PrintPrjInfo()
- fix issues created by using KISTATUSBAR instead of wxStatusBar
(the user field count differs because there are 4 other fields added)
- do do use a fixed size in KISTATUSBAR for FIELD_OFFSET_BGJOB_TEXT field:
fixed field size does not work fine if the text to display is not known
Fixes #16535
https://gitlab.com/kicad/code/kicad/-/issues/16535
2024-01-06 20:23:37 +01:00
Wayne Stambaugh a310c0a05a Do not expand the entire schematic hierarchy navigator tree by default.
The new behavior is to only expand to the first child of the root sheet
level.  On very complex hierarchies, this makes the navigator far more
useful.

Do not update schematic hierarchy navigator on every edit.  Now only
sheet changes will trigger a rebuild of the tree.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16371
2024-01-06 07:56:16 -05:00
Jeff Young 169ece3b71 Try reusing the TOOL_DISPATCHER menu hack for libtree previews.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16493
2024-01-05 14:20:33 +00:00
Marek Roszko f8744b7797 dsnlexer can live in kicommon 2024-01-03 23:18:31 -05:00
Mark Roszko d4f6425523 boost::noncopyable is redundant since we declare a copy ctor 2024-01-02 16:10:24 +00:00
Jon Evans b8aef58561 Add proper comparison operators for BOARD_DESIGN_SETTINGS and children
BOARD::operator== was just comparing pointers
2024-01-01 13:37:31 -05:00
Ian McInerney b6fffb3923 Add more tool stack tracing 2023-12-29 00:37:38 +00:00
Ian McInerney f2702b223c Introduce base IO_MGR class and unify RELEASER objects
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Marek Roszko 7252ae551c Move EDA_PATTERN_MATCH to kicommon 2023-12-27 22:08:11 -05:00
Marek Roszko 8ef77ce8ef Fix build error due to duplicate var declaration 2023-12-27 21:52:30 -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
Marek Roszko 5e7a68fcd9 netclass can be in kicommon 2023-12-27 17:57:02 -05:00
Marek Roszko a36eb2af72 Netclass shouldnt have odd pcb forward decls 2023-12-27 17:12:35 -05:00
Marek Roszko 5bfc601e09 STD_BITMAP_BUTTON can be in kicommon 2023-12-27 17:08:05 -05:00
Ian McInerney f8688a922d Unify IO library descriptors 2023-12-27 16:34:59 +00:00
Ian McInerney 743e9d669a Push library management into IO_BASE 2023-12-27 01:21:53 +00:00
Ian McInerney cad91312aa Introduce main base class for all IO loaders 2023-12-26 23:27:11 +00:00
Marek Roszko 5c20c5732d We don't need pgm_base to expose pybind to everything 2023-12-25 23:28:33 -05:00
Marek Roszko c7fa3adcb8 kicommon PROGRESS_REPORTER 2023-12-25 23:22:39 -05:00
Ian McInerney e6632bb983 Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00
Ian McInerney d8b47d18d3 Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
Seth Hillbrand 5f234211f9 Remove __WXWINDOWS__ defines
__WXWINDOWS__ is for all of our builds.  __WXMSW__ is for windows only
2023-12-21 08:57:28 -08:00
Mike Williams 1700cad83b Symbol/Footprint Chooser: remember open libraries
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16383
2023-12-21 09:57:54 -05:00
Wayne Stambaugh 922aee1532 Coding policy fixes. 2023-12-20 07:17:23 -05:00
Jon Evans 1c895fe18c Improve rendering of tuning status popup
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304

Add dedicated UI rendering layers

Switch to screen-space rendering to avoid blurriness

Fix a bug in OpenGL GAL that causes layer
ordering to be broken when using Scale

Fix some issues with VIEW_GROUP layer ordering
2023-12-19 22:38:21 -05:00
Wayne Stambaugh a4b38fbb80 Coverity warning fixes. 2023-12-18 16:09:13 -05:00
Jeff Young 8251fca66a performance efficiencies 2023-12-18 17:39:29 +00:00
Jeff Young 68cbb820a7 performance efficiencies 2023-12-18 17:20:34 +00:00
Jeff Young 11805d6696 performance efficiencies 2023-12-18 17:01:55 +00:00
Wayne Stambaugh 25c03da5a5 Coding policy and Doxygen comment fixes. 2023-12-18 08:32:41 -05:00
Wayne Stambaugh eb3fd10af8 Fix obscured object selection issue in board and footprint editors.
This selection improvement feature is hidden behind the advanced
configuration key "PcbSelectionVisibilityRatio".  It is turned off (1.0)
by default.  Value values are from 0.0 to less that 1.0.  From testing,
using a value between 0.1 and 0.3 produces the best results.

This fix uses normal alpha blending described in the link below.  The
current design only uses the alpha of the object's color.  It could be
improved by doing a full color alpha blending but using the color alpha
alone seems to result in satisfactory results.

https://en.wikipedia.org/wiki/Alpha_compositing

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16126
2023-12-17 16:43:56 -05:00
Jeff Young b29a56530c Remove undo-of-ungroup hack.
The hack assumed that the parent group would be the first
deleted item of type group in the undo list.  While this
will be true when undoing a user ungroup command, it will
not be when undoing an ungroup side-effect, such as when a
member of a group is deleted during UpdateFromPCB.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16384
2023-12-17 15:35:35 +00:00
Jeff Young 9fb06f95a0 Fix msys2 build. 2023-12-16 16:17:24 +00:00
Jeff Young ea3c87f243 Move group/ungroup to COMMIT infrastructure. 2023-12-16 14:17:25 +00:00
Jeff Young 1df84f4d92 Move some PCB_GENERATOR special-cases to propMgr listeners. 2023-12-15 21:04:33 +00:00
Jeff Young 0ab474e596 Comments. 2023-12-15 18:02:52 +00:00
Jeff Young 4844cffc00 Make sure PCB_GENERATOR's lock status follows their members.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16372
2023-12-15 17:37:36 +00:00
Marek Roszko c8f646efb1 ADDED: KiCad update check
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15026
2023-12-13 20:47:40 -05:00
Wayne Stambaugh 5fa274ead0 Add board layer view stack up sequence from front layer to back layer.
The old bottom to top layer stack up sequence from back to front layer was
only used for plotting so it was renamed appropriately.  This will be used
for future board object select disambiguation improvements.
2023-12-11 15:07:58 -05:00
Wayne Stambaugh 484491aaea Fix crash on save after pasting symbols in schematic editor.
This was caused by pasting zero length instance paths which are not valid.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16300
2023-12-11 08:29:10 -05:00
Ian McInerney be9c3b08b5 Fix library table file filters
The schematic librayr table was missing the Kicad Sexpr filter, and also
the filter inside the grid editor was never updated when the library
plugin type was changed in the grid, so a library of the new type could
not be selected.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16278
2023-12-07 11:16:02 +00:00
jean-pierre charras 921291c28b Pcbnew, default values for sizes and thickness: add missing tests for validation.
Especially for texts, the min and max values that are used are the same as
for other dialogs.
2023-12-06 16:45:18 +01:00
Mike Williams 2795fa9ca3 EE/PCB_Actions: convert to generic Finish
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16079
2023-12-06 10:33:17 -05:00
Seth Hillbrand 0e37ea0c66 2581 enabled by default 2023-12-04 12:03:15 -08:00
Wayne Stambaugh ef2f72697b Make paste special dialog a bit more user friendly.
Set a default control so that the escape key closes the dialog.

Select the OK button after the user selects an annotation option.  This
allows for keyboard navigation of the dialog and saves an extra mouse
move and click to when choosing an annotation setting.
2023-12-03 13:44:38 -05:00
Jon Evans 16dea1d7e7 Remove unused advanced config variable 2023-12-02 21:25:18 -05:00
Jon Evans 9c1a160fcd Add system for property change notifications
Use this to sync symbol field edits that are
synced by the dialog

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15697
2023-12-02 19:22:59 -05:00
Jeff Young b13590f4c0 Use preview items instead of highlightNets & status popup
The router preview item can be specific to the part that is being
tuned, rather than the whole net.  It's also less visually noisy as
it doesn't dim/undim the rest of the board.

Using kigfx preview items for the status keeps us from having a bunch
of focus issues with the status popup window.
2023-12-02 16:15:43 +00:00
Jon Evans 4ff127b452 Parse generator_version and improve error output on mismatch
Also bump symbol format version for generator_version
2023-11-29 16:17:41 +00:00
Jon Evans 0face5a891 Add prettification to pl_editor; bump version 2023-11-29 16:17:41 +00:00
Jon Evans f1f8981395 Automatic whitespace and indentation prettification for sexpr formats 2023-11-29 16:17:41 +00:00
Jon Evans 55ba667bcb Retire tstamp keyword in favor of uuid 2023-11-29 16:17:41 +00:00
Jon Evans 55bca5e7ac Normalize formatting of booleans in the PCB file format 2023-11-29 16:17:41 +00:00
Seth Hillbrand f64349b292 Coverity fixes 2023-11-27 11:57:31 -08:00
Seth Hillbrand 75c6b0ab28 Added IPC2581 support
IPC2581 is a modern production file exchange system.  It provides
single-file data output for an entire board including BOM and netlist
information.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
Ian McInerney b64631d7bc Add um support to the unit binder 2023-11-26 00:03:09 +00:00
Jon Evans 2b27337778 Clamp ratio properties
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16153
2023-11-25 18:40:14 -05:00
Jeff Young df83e24eb7 Cleanup.
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Jeff Young b6501ce632 Report current length on roll-over. 2023-11-23 23:25:49 +00:00
jean-pierre charras 247a0e6501 Eeschema: Add Cairo printing to the Eeschema print engine. The current print engine (using wxDC draw engine) has frequently issues with each new wxWidgets version. Cairo printing engine, used for Pcbnew and Gerbview has less issues. On Eeschema, the cairo print is enabled only if the advanced config has the option "EnableEeschemaPrintCairo = 1" 2023-11-23 16:11:09 +01:00
Jeff Young 0de966f9ce Add m_isClosing guard in an attempt to prevent KICAD-1XF. 2023-11-18 12:45:09 +00:00
Jeff Young f098405218 Handle justification for vertical text when mirroring.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15036
2023-11-17 21:50:16 +00:00
Jeff Young 95dcf54d8d New is-canvas-item highlighting. 2023-11-17 20:29:18 +00:00
Jeff Young a4a946ab75 Clearer naming. 2023-11-17 18:36:33 +00:00
Jeff Young 2f3c0a608d Score LIB_TREE_NODE_UNITs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16106
2023-11-17 18:36:33 +00:00
Johannes Pfister 4177b64c27 Add micrometre and centimetre units 2023-11-16 23:24:52 +00:00
Jeff Young d110b5b518 Improve edit points rendering on Retina displays. 2023-11-16 10:30:09 +00:00
Jeff Young 7e46e85c7d Update copyrights. 2023-11-11 15:29:34 +00:00
Jeff Young 9ef05fb762 Don't store document values in global PROPERTY_MANAGER.
At best it leads to the wrong units being used if they're different
between (for instance) PCB Editor and Footprint Editor.  (And this
will only get worse if we ever to to a single binary.)

At worst it causes crashes when accessing freed ORIGIN_TRANSFORMS.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16062
2023-11-10 18:37:29 +00:00
Jeff Young 6417c9888f Update EDA_REORDERABLE_LIST_DIALOG to current GUI style.
Note: while we try to omit sizing info from FBP files, the list
controls assume way too wide a minimum width if they're not set.
Furthermore, sizing the dialog ends up leaving them a certain size
and clipping other elements is the dialog itself doesn't have limits
set.  Sigh.
2023-11-10 12:49:19 +00:00
Jeff Young 6ecfc89a4a Honour originTransforms in search panels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15031
2023-11-09 18:41:18 +00:00
Alex Shvartzkop 7589de6120 Optimize footprint/symbol library hover previews. 2023-11-09 19:02:10 +03:00
Jeff Young 77e408a93d De-bounce search pane selection events.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15605
2023-11-09 14:43:39 +00:00
Jeff Young cc721c4907 Improve encapsulation of group internals.
(It's still leaking into BOARD_COMMIT and some other places, but at
least it no longer leaks into all the edit tools.)

Also fixes some bugs when moving/copying/pasting multiple selections
containing length-tuning patterns.
2023-11-09 14:05:35 +00:00
Jeff Young 78e00ade7a Clearer naming. 2023-11-09 14:05:35 +00:00
Ian McInerney dd933b7d0e Update CERN copyrights 2023-11-08 21:34:14 +00:00
Jeff Young 72c985bc07 Rewrite scoring algo again. (Third time's the charm?)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16042
2023-11-08 12:33:09 +00:00
Jeff Young f83d60a48f Clean up autosave files when reverting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15998
2023-11-05 12:20:31 +00:00
Jeff Young 92ae0f4793 Save Footprint chooser size and location.
(We're using a FRAME to mimic a dialog, so we need some of the
DIALOG_SHIM logic inside it.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15807
2023-11-03 10:34:27 +00:00
Jeff Young 50ff5e616f Don't delete text when cancelling changes.
Also changes margins of compile button so it correctly lines up at
the top of the error window.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16002
2023-11-02 18:37:55 +00:00
Jeff Young 67d8b13b02 And Font to properties manager for EDA_TEXT items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16004
2023-11-01 00:39:42 +00:00
jean-pierre charras d8be69c3c1 PAGE_INFO: use double instead of int to store the page size.
For historical reasons, they are stored in mils, but using int create rounding
issues when converting to/from mils to IU in dialogs.
This is a minor but annoying issue.
Fixes #16000
https://gitlab.com/kicad/code/kicad/-/issues/16000
2023-10-31 13:47:32 +01:00
Jeff Young e7fca68384 Don't double-delete unused nets (or anything else, for that matter).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15979
2023-10-31 12:10:21 +00:00
Jeff Young 87571ed8b8 Not all font sizes, fill properties or color properties are the same. 2023-10-30 17:30:15 +00:00
Jeff Young fc0017fc95 Normalize rects higher up.
We don't want to normalize footprint children to their board-relative
coordinates.
2023-10-29 11:45:16 +00:00
Jeff Young 6c6a7cf862 Provide a callback for supplying file filters just-in-time.
This allows us to make them dependent on the current plugin type in
the fp lib table.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13959
2023-10-28 11:18:17 +01:00
Ian McInerney 171458a27b Introduce action friendly names
Friendly names can be used to display action information that is clearer
in non-hierarchical contexts (e.g. not in menus).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8075
2023-10-27 23:58:29 +01:00
Wayne Stambaugh 6269453416 Coverity warning fixes. 2023-10-27 16:48:14 -04:00
jean-pierre charras 93b5038382 FOOTPRINT_EDIT_FRAME: ensure the canvas type comes from the FOOTPRINT_EDITOR_SETTINGS config
Previously, although the fp editor preferences has an option to select the canvas type,
it was read from the the PCBNEW_SETTINGS config, using Kiface().KifaceSettings().
2023-10-26 17:58:33 +02:00
Jeff Young f7420bc820 Separate Footprint Editor's sketch modes from PCB Editor's.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15345
2023-10-26 10:59:26 +01:00
Jeff Young fc4bc10d27 Separate out axes definitions between ModEdit and PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5711
2023-10-25 15:01:36 +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
Jon Evans 9d455ca399 Fix rendering of ACTION_TOOLBAR_PALETTE buttons at non-normal sizes 2023-10-22 15:40:17 -04:00
Jeff Young ad676e22b8 Don't push a commit we don't own. 2023-10-22 20:35:14 +01:00
Jon Evans 47e25d617e ADDED: Icon scaling for toolbars only
Unlike the old "icon scale" (that actually scaled all bitmaps)
this one actually changes the toolbar size while making use
of the new bitmap bundle functionality

Add more resolutions for all tool icon bitmaps

Wouldn't want Mark's eyes to bleed
2023-10-22 14:02:06 -04:00
Jon Evans 06a4bdbf4c Upgrade BITMAP_TOGGLE and GRID_BITMAP_TOGGLE to wxBitmapBundle 2023-10-22 14:02:06 -04:00
Jon Evans 50fe585827 REMOVED: manual icon scale preference
This is now handled properly by wxWidgets on all platforms

See https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Jon Evans eb5b3db063 Add bitmap bundle support to BITMAP_SCALE
Change a bunch of buttons and toolbars to use it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Jeff Young f5e99338a9 Generators should respond to the selection filter that controls their children.
(Tuning patterns to the track checkbox, stitching patterns to the
vias checkbox, etc.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15905
2023-10-20 16:28:05 +01:00
Seth Hillbrand d99641be40 ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates

Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Jeff Young f5edac547e More modern look & feel for tuning status popup.
(Also includes min and max info, and move string processing out
of router.)
2023-10-17 13:30:58 +01:00
Jeff Young 89011e888c More modern look & feel for tuning status popup.
(Also includes min and max info, and move string processing out
of router.)
2023-10-17 13:30:58 +01:00
Jeff Young 9c4bb464ac Improve tuning status popup colours. 2023-10-17 13:30:58 +01:00
Alex Shvartzkop be1008cbd8 ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog. 2023-10-17 10:29:43 +03:00
Marek Roszko 63ba3b8ea7 Remove BITMAP_OPAQUE just like the TODO said :D 2023-10-16 20:16:30 -04:00
Marek Roszko bee6e6be01 AddMenuLanguageList should live in EDA_BASE_FRAME, its only user 2023-10-16 19:49:52 -04:00
Marek Roszko 584757f2df Move the menu helpers to ui_common instead of sitting in bitmap for some reason 2023-10-16 19:40:46 -04:00
Marek Roszko ba83e84b91 Move SaveCanvasImageToFile to EDA_DRAW_FRAME rather than leaking things to bitmaps 2023-10-16 18:33:11 -04:00
Jeff Young 2c02c26af4 Centralize min/opt/max printing. 2023-10-15 22:46:23 +01:00
jean-pierre charras 7efd414519 Fix minor Coverity and compil warnings 2023-10-15 15:55:31 +02:00
Alex Shvartzkop 9ed19192de Improve editing values with {return} in text fields; Add hyperlink detection. 2023-10-15 01:45:39 +03:00
Jeff Young 87621817bf Fix typo. 2023-10-14 18:22:17 +01:00
Jeff Young 504652b972 Regularize RunOnChildren() at the BOARD_ITEM level.
BOARD_ITEM sub-classes which don't have children simply don't
overrid it.
2023-10-14 15:04:18 +01:00
Jeff Young 5f5113c80a Pick up current rule values when editing meanders. 2023-10-14 15:04:18 +01:00
Jeff Young 2bc273f8bc Don't fire event-parameter asserts when looking for a click event.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/KICAD-2CK
2023-10-13 20:31:01 +01:00
Jeff Young 1aeccc5895 Unroll from PICKER_TOOL so we can handle amplitude/spacing events. 2023-10-12 17:54:34 +01:00
Jon Evans 0b136ae0df CLI: Allow controlling layer order for multilayer plots 2023-10-11 00:18:58 +00:00
Jeff Young d916e650f1 Tuning status popup for point editor. 2023-10-10 11:55:57 +01:00
Jeff Young 35d8635a6b Default skew tuning lenght to diff between N/P, but allow override. 2023-10-09 15:22:41 +01:00
Jeff Young 5793abd310 Fix build on MacOS. 2023-10-09 15:22:41 +01:00
Alex Shvartzkop b77df1eea4 Use advanced_config key EnableGenerators to enable menu entries for generators. 2023-10-08 02:41:17 +00:00
Alex Shvartzkop be72e07e61 Introduce PCB_GENERATOR. 2023-10-08 02:41:17 +00:00