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
Alex Shvartzkop
0fcb36bc2e
Add reselectItem action.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
40f7d5cb52
Add STRING_ANY_MAP.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
471bfb1131
Add EDA_UNIT_UTILS::ParseInternalUnits
2023-10-08 02:41:17 +00:00
Jeff Young
420cadab34
Separate meander settings from target length/skew.
...
Settings move to Board Setup, while target length is sourced from
the custom rules (or a text-entry dialog if no rules are active for
the track).
Target skew is sourced from the coupled-trace-length minus the
trace-to-be-tuned length.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12075
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15826
2023-10-06 19:46:55 +01:00
Alex Shvartzkop
113208455d
Add dashed lines and circles to preview draw context.
2023-10-06 15:56:20 +03:00
Alex Shvartzkop
163fd5021e
Mark some methods in UNITS_PROVIDER as const.
2023-10-06 15:36:18 +03:00
Ian McInerney
0876fb0985
Re-implement direct layer switching in the router tool
...
Also add a new framework to allow grouping actions that are similar into
a single context that can then be used for mass comparisons.
2023-10-05 13:34:25 +01:00
Ian McInerney
fb3bfc3c57
Move About dialog to an action
2023-10-04 22:17:47 +01:00
Jeff Young
31c488bc23
NETINFO_ITEMs are owned by BOARD.
...
Lifecylce management must go through BOARD_COMMIT (or at least
the frame's undo/redo lists).
2023-10-04 21:01:33 +01:00
Jeff Young
9f5e583ced
Readability.
2023-10-03 17:14:03 +01:00
Jeff Young
6fbbf981f0
Handle justification when hit-testing fields.
...
This steals the algo used in SCH_PAINTER to get the right coords
for the text.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15722
2023-10-03 14:36:13 +01:00
Marek Roszko
aa0d39dfe4
Fix the moving truck leaving behind IO_ERROR and friends
2023-10-02 18:16:17 -04:00
Jeff Young
8760bd8c80
Reconcile "apply defaults to new footprints" with DRC lib checks.
...
Moves apply defaults settings to Board Setup (where they were
duplicated anyway due to an earlier botched merge).
Modifies the apply-to-graphics algorithm to skip copper shapes.
Modifies DRC library check to skip STROKE_PARAMS for non-copper
shapes.
2023-10-02 22:10:13 +01:00
Jeff Young
06446bb80e
Only expand lib tree when filtering.
2023-10-02 16:24:53 +01:00
Marek Roszko
6d3b846eb5
Add more missing destructor event cleanups
2023-10-02 07:22:00 -04:00
Jeff Young
cf02bb171f
Expose exclusion flags in search pane.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15776
2023-10-01 22:46:34 +01:00
Jeff Young
34769cec63
Filter line-endings from single-line Scintilla editors.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15793
2023-10-01 14:04:45 +01:00
John Beard
311f041421
ADDED: Polygon boolean operations in PCB editor
...
This allows common operations like merging a pin courtyard
into the body courtyard in the fooprint editor, taking a
"bite" out of a polygon and so on,
For now, this only supports polygons made of straight lines.
There are some wierd cases when the operations result in nothing
(e.g. wen a big polygon is substracted from a smaller one that
it contains entirely). I have tried to do something senisble in
these cases, but there may be more optimal ways to handle it.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/13025
2023-10-01 00:10:10 +01:00
Jeff Young
d6a862cafe
It's "internal units", not "user interface".
2023-09-30 22:54:45 +01:00
Jeff Young
9805aca5a0
Handle backslash-escaped quotes in libeval.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15786
2023-09-30 17:38:44 +01:00
Jeff Young
fa11e9138d
ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7176
2023-09-29 17:03:50 +01:00
Jeff Young
b592a6634e
Cleanup.
2023-09-29 00:13:13 +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
23033451b1
Cleanup.
2023-09-29 00:13:12 +01:00
Marek Roszko
fabfe5b33d
Fix GetTextVarsTicker and GetNetclassesTicker return types
2023-09-27 23:06:44 -04:00
Marek Roszko
8c6899b0d3
Tear out the eeschema conditional compile of PROJECT
2023-09-27 23:05:30 -04:00
Marek Roszko
7e8b18035f
Eliminate the conditional pcbnew/cvpcb definition of PROJECT
2023-09-27 20:53:46 -04: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
jean-pierre charras
6f9affe3db
Fix compil warnings: disable #pragma specific to MSVC
2023-09-27 08:22:39 +02:00
Marek Roszko
4746bde4b3
gal as a shared lib, gaasl!
2023-09-26 22:31:31 -04:00
Marek Roszko
464179894d
Another set of movement to kicommon
2023-09-26 22:30:42 -04:00
Jeff Young
54171ec030
Add action for switching to Project Manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15740
2023-09-26 17:25:57 +01:00
Jeff Young
aab0696bb6
Zoom undo/redo for simulator.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14580
2023-09-26 13:19:41 +01:00
Marek Roszko
37e8a008ab
Remove obsolete config_params.h includes
2023-09-25 20:40:29 -04:00
Jeff Young
43edbcc622
Add batch edit for visible flag.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14519
2023-09-26 00:31:37 +01:00
Marek Roszko
7010f7963c
EDA_ITEM does not belong in VIEW
2023-09-25 19:30:42 -04: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
Marek Roszko
050f812f5e
Move fontconfig to kicommon for now to de-duplicate the font cache
2023-09-24 22:58:18 -04:00
Marek Roszko
c006482feb
Add SETTINGS_MANAGER::GetUserSettingsPath back because swig
2023-09-24 20:10:32 -04:00
Seth Hillbrand
91450c22cc
Allow disambiguation menu configurability
...
Adds an advanced config flag to all testing different values for
different users.
Related to https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-09-24 16:33:05 -07:00
Jeff Young
aef0f44b8e
Smarten up double-click handing in PCBNew drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15700
2023-09-24 18:49:41 +01:00
Andre Iwers
f2fdf0f3df
httplib: add support for exclude attributes
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15720
2023-09-24 13:37:01 +00:00
Marek Roszko
a3c662839c
Remove accidentally committed headers
2023-09-24 08:09:21 -04:00
Marek Roszko
e3285c234a
Move executable path to PATHS to avoid a circular dependency
2023-09-23 20:21:37 -04:00
Marek Roszko
3c18e216b1
Move configparams to kicommon
2023-09-23 20:06:58 -04:00
Marek Roszko
121ea99824
Move the settings path to PATHS to allow shifting other classes into kicommon
2023-09-23 20:06:58 -04:00
Marek Roszko
37479c4154
HIDPI_GL_3D_CANVAS needs CAMERA so move it over
2023-09-23 20:06:57 -04:00
Marek Roszko
669f9d795f
Trim the camera includes
2023-09-23 20:06:57 -04:00
Marek Roszko
563cd522eb
confirm is now free to live in kicommon
2023-09-23 10:24:47 -04:00
Marek Roszko
1c11a599c8
Move trace_helpers to kicommon
2023-09-23 09:37:47 -04:00
Marek Roszko
f8e33be07f
Break out the boundary violating parts of gal into common through subclassing
2023-09-23 09:37:47 -04:00
afkiwers
a1708637fc
fixed missing desciption in symbol chooser
2023-09-22 01:15:32 +00:00
Jeff Young
0126841c44
ADDED: 3D appearance setting for off-board silk.
2023-09-20 23:28:50 +01:00
Jeff Young
1ff279bf72
Don't auto-adjust time axis while sim is running.
...
Just use start and end time.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-20 17:34:34 +01:00
Mike Williams
9541e45502
BOM Exporter: allow using presets from the command line
2023-09-20 10:57:43 -04:00
Marek Roszko
ee91b550d8
gl_context_mgr and gl_util belong in the gal folder
2023-09-19 23:06:44 -04:00
Marek Roszko
43a59275c3
Remove unused header
2023-09-19 21:14:26 -04:00
Marek Roszko
9deff07ca6
Save 470KB by not re-initializing lineTypeNames over a thousand cpp files it leaks into
...
I saved a bunch of money on my car insurance by switching to Extern
2023-09-19 20:05:55 -04:00
Jeff Young
58889f8120
Improve shape properties dialog layout.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15683
2023-09-19 17:04:05 +01:00
Jon Evans
1635df57a3
httplib: code style fixes
2023-09-18 21:37:34 -04:00
Jon Evans
8f6ae8c6b3
httplib: code style / spelling fixes
2023-09-18 21:27:39 -04:00
Andre Iwers
2bcad18cc2
ADDED: HTTP library support
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12027
2023-09-19 01:09:21 +00: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
Marek Roszko
4a53c8f330
newstroke_font can live in kicommon
...
Turns out, gal doesnt even use newstroke_font.h anymore, stop bleeding it everywhere due to the gal header
2023-09-18 07:40:02 -04:00
Jeff Young
93a5d01230
Unroll ACTIONS::CURSOR_EVENT_TYPE into a flat enum.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15666
2023-09-18 12:38:34 +01: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
Marek Roszko
ab8bcf537e
EDA_UNITS_UTIL to kicommon
2023-09-16 19:43:49 -04:00
Marek Roszko
0b99d77fb5
Move layers to kcommon
2023-09-16 19:12:55 -04:00
Marek Roszko
2b90607dcd
Shuffle color4d into kicommon since its used many places
2023-09-16 19:12:55 -04:00
Josue Huaroto
33f5483bc9
Change Y min/max limits in simulation plot window
2023-09-15 17:50:02 +00:00
Marek Roszko
285f8c0b88
KIID kicommon
2023-09-14 19:21:55 -04:00
Marek Roszko
cb7d7b09e3
config_params doesnt need color4d
2023-09-14 19:21:55 -04:00
Jeff Young
c7e865e4a2
Safety for negative pen widths.
2023-09-14 13:39:35 +01:00
Marek Roszko
e2c2875765
BITMAP_INFO kicommon
2023-09-13 23:11:03 -04:00
Marek Roszko
2b0d091636
MARKUP_PARSER kicommon
2023-09-13 21:37:35 -04:00
Marek Roszko
d1f2b14ee2
wx_filename to kicommon
2023-09-13 21:16:27 -04:00
Jeff Young
d6b75c64e1
ADDED: custom-shaped pad spoke templates.
2023-09-13 23:34:25 +01:00
Josue Huaroto
2d54bc42cb
Save flip board status in custom preset
2023-09-12 17:10:41 +00:00
Marek Roszko
66021f0657
Low hanging fruit to kicommon
2023-09-11 21:52:10 -04:00
Marek Roszko
a4bf2ff41d
LIB_ID to kicommon
2023-09-11 21:52:04 -04:00
Marek Roszko
f0987821b5
Move locale_io to kicommon
2023-09-11 21:51:58 -04:00
Marek Roszko
4ac5404822
Move HTML_WINDOW to widgets folder, also fix some fbps that were wrongly not edited
...
Somebody manually edited at least 3 files fixed here....so the fbps were wrong
2023-09-11 19:10:16 -04:00
Marek Roszko
b5d5eb842a
Start a kicommon shared lib
2023-09-09 18:04:50 -04:00
Alex Shvartzkop
717f8d35e5
Document SetArcAngleAndEnd angle winding.
2023-09-09 20:28:57 +03:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko
bd3aca2887
Cleanup the kiface dll export declaration slightly
...
Why in the bloody world would you pass in the return type as part of the macro for export/import preprocessing
2023-09-08 20:44:08 -04:00
Marek Roszko
ab1a6651a9
send multivector.h and sync_queue.h to core
2023-09-08 07:14:34 -04:00
Marek Roszko
3cd60007c5
Dont leak richio into everything
2023-09-07 22:29:40 -04:00
Marek Roszko
1a6d459fb1
Fix wrong path slash
2023-09-07 22:09:26 -04:00
Marek Roszko
5da88d1d0e
Move UTF8 to core
2023-09-07 20:55:16 -04:00
Marek Roszko
6e04c2835a
Remove unused header
2023-09-07 20:46:08 -04:00
Marek Roszko
e83f87520c
Transform is right at home in kimath
2023-09-07 18:03:33 -04:00
Jeff Young
0310973e3f
Push TEXT_SPIN_STYLE from SCH_TEXT out to SCH_LABEL_BASE.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15444
2023-09-07 17:42:51 +01:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
Alex Shvartzkop
21ee65aa9c
ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional.
2023-09-07 11:02:40 +03:00
Marek Roszko
e944a61830
Nothing but the pcb calc will use eseries for the forseeable future
2023-09-06 23:44:41 -04:00
Marek Roszko
96bec8c553
promote base64.cpp to core
2023-09-06 23:27:08 -04:00
Marek Roszko
72669df354
Kick out strtok_r, all our platforms should have it (or strtok_s)
2023-09-06 23:18:55 -04:00
Marek Roszko
5c62b98e7c
observable can live in core
2023-09-06 21:25:24 -04:00
Marek Roszko
67b031adab
Painter base class should just live in gal instead of being in denial
2023-09-06 20:23:19 -04:00
Marek Roszko
a6a20bf8dc
Evict the Pgm() dependency in GAL
2023-09-06 20:13:46 -04:00
Josue Huaroto
cef0f176d3
Add Unselect all in menu
2023-09-06 23:44:39 +00:00
Marek Roszko
4d77fd48ef
Shove thread_pool to core
2023-09-06 17:50:12 -04:00
Seth Hillbrand
f9b745f3d2
Allow multiple format image saving
...
- Keep original image data. When loading JPEG, this avoid recompression
that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Seth Hillbrand
0e382669d0
ADDED: Support for saving JPEG files in kicad_pcb
...
When users add an image to the board, this change keeps the original
file format when saving instead of converting the files into PNG-format,
which had the effect of making some board files much larger and slower
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14892
2023-09-06 12:12:32 -07:00
Jeff Young
6a73f48106
Disable previews when context menu active and when scrolling.
2023-09-06 16:23:13 +01:00
Jeff Young
c07e9c834f
Validate new footprint / save as footprint info before exiting dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13923
2023-09-06 12:49:37 +01:00
Jeff Young
634524dde5
Validate new symbol / save as symbol info before exiting dialog.
2023-09-05 22:07:58 +01:00
Jeff Young
ea6d64e996
Set line width when changing annotation proxy flag.
...
(This prevents rectangle from not getting combined into pad if
proxy flag is turned off as Clipper collapses the polygon union
because it's too small.)
2023-09-04 20:49:52 +01:00
Marek Roszko
ec64ceeff2
Add a custom wx splash class to nullify the filterevent that causes crashes
2023-09-04 08:51:30 -04:00
Jeff Young
fe0fb92441
Reduce visual clutter in GAL display options.
2023-09-04 13:06:46 +01:00
jean-pierre charras
ddb141ff08
GAL_OPTIONS_PANEL: replace 2 wxSpinCtrlDouble to try to fix a locale issue.
...
Sometimes the grid thickness setting does not work, depending on some locale setting.
Core developers are not able to reproduce this issue related to a double conversion.
So these wxSpinCtrlDouble are replaced by a wxSpinCtrl (using ints) and a wxChoice.
2023-09-04 11:32:55 +02:00
Jeff Young
c2057ba1bc
Don't use Clone() for duplicating. It returns the same UUID.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14162
2023-09-03 19:06:20 +01:00
Jeff Young
e6b0a6abca
ADDED: lib tree previews.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2418
2023-09-02 23:30:22 +01:00
Jeff Young
69a1b30b8a
Implement undo/redo around Pad Edit Mode changes.
2023-09-01 18:48:46 +01:00
Marek Roszko
f357e79f77
Add --define-var / -D to the cli opts for some commands
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15437
2023-08-31 21:46:37 -04:00
Jeff Young
c9acca1342
Make fromHotkey parameter explicit, and don't set it for non-hotkeys.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15527
2023-08-31 17:01:14 +01:00
Jeff Young
cb003d8ab4
Don't count pins of both De Morgan variants when matching to footprint pads.
...
(And remove un unused variable from grid settings dialog.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15550
2023-08-31 11:36:39 +01:00
Alex Shvartzkop
e128896ba6
Schematic plugins refactoring, fixes for PCB plugins.
...
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Mike Williams
b8a61719c3
Grids: make overrides use existing grids (choice box)
2023-08-30 13:33:04 -04:00