Commit Graph

9206 Commits

Author SHA1 Message Date
Alex Shvartzkop 21adc0aac5 ADDED: Import vector graphics into Schematic editor (SVG, DXF). 2023-10-09 07:04:50 +03:00
Alex Shvartzkop 60d069757a ADDED: Import vector graphics into Symbol editor (SVG, DXF). 2023-10-09 07:04:50 +03: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 6cfb05b4a3 Save/load generative objects in PCB file. 2023-10-08 02:41:17 +00:00
Alex Shvartzkop 7b645aa541 Introduce GENERATORS_MGR. 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 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
Jeff Young b9e1908ffe Try to find a happier medium for text entry box widths.
Most dialogs have units outside the text entry, and the likelihood
of 14 significant digits & units is low enough to allow scrolling
in that case.
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 d7863b09c5 Move CORNER_STRATEGY out of SHAPE_POLY_SET. 2023-10-06 15:42:50 +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
jean-pierre charras 37df47a3e7 genDrillMapFile: reduce the pen width used to plot oval shapes (better look) 2023-10-04 15:47:47 +02:00
Jeff Young 10d62ed766 Replace wxWidgets-Mac-specific API with a general one.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15817
2023-10-03 23:40:42 +01:00
Jeff Young f2c0f4c87f Fix logic screw-up in earlier commit. 2023-10-03 20:53:52 +01:00
Jeff Young 336a38695a MacOS fix for expanded items; MSW fix for selected event
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15817
2023-10-03 20:09:37 +01:00
jean-pierre charras 23e064aaaf fix buf in PLOTTER::sketchOval()
(incorrect parameters to plot arcs).
Fixes #15816
https://gitlab.com/kicad/code/kicad/-/issues/15816
2023-10-03 19:39:21 +02: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
Jeff Young 89f444c38b Fix missing include. 2023-10-03 13:32:00 +01:00
jean-pierre charras a60411b159 Fix a few compil and Coverity minor warnings. 2023-10-03 08:22:03 +02:00
Marek Roszko 5759823ca0 Move JOB_EXPORT_SCH_PLOT to kicommon horribly pending further refactor of plotting 2023-10-02 20:48:26 -04:00
Marek Roszko aa0d39dfe4 Fix the moving truck leaving behind IO_ERROR and friends 2023-10-02 18:16:17 -04: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
Marek Roszko 8d5e53f4e8 Unbind LIB_TREE events in destructor 2023-10-01 22:03:58 -04:00
Marek Roszko d801037c93 Unbind ACTION_MENU events in destructor 2023-10-01 22:03:58 -04:00
Mark Roszko 3c0f9ec510 Revert "Give wxTheApp to python scripts that end up touching Pgm().App()"
This reverts commit 672265b564
2023-10-02 00:23:52 +00:00
Marek Roszko 672265b564 Give wxTheApp to python scripts that end up touching Pgm().App()
Fixes KICAD-QG
2023-10-01 19:02:49 -04:00
Marek Roszko 3a567a3ae1 Unbind event handlers in the DIALOG_SHIM destructor to prevent late event crashes
Fixes KICAD-1XF
2023-10-01 17:54:25 -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
Thomas Pointhuber 7005dd7c48 altium: make special string parsing on pcb a bit more generic
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02: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
Thomas Pointhuber 3b3e4fd34a Move duplicated code of plugin.cpp and sch_plugin.cpp into a new plugin_utils located in commons 2023-10-01 13:58:38 +02: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 3c1478367f Handle flipped state when checkging item against viewport.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15768
2023-09-30 22:54:45 +01:00
Jeff Young d6a862cafe It's "internal units", not "user interface". 2023-09-30 22:54:45 +01:00
Jeff Young 867ca2d0da Don't confuse Coverity. 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
jean-pierre charras c2db20d745 Fix a link issue on mingw in debug mode. 2023-09-30 16:08:54 +02:00
Marek Roszko a347aa7647 StartPlot can fail and leave a broken file handle
Related https://gitlab.com/kicad/code/kicad/-/issues/15782
2023-09-29 19:52:21 -04:00
Jeff Young b5dacc659d Don't hide preview when mouse is in the preview window. 2023-09-29 23:13:59 +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
Alex Shvartzkop 3b28ba83c6 EasyEDA Pro: don't fail on attributes for dimensions. 2023-09-29 12:17:30 +03: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
Seth Hillbrand c73c2360a4 Force focus back to canvas after popup
Following the hotkey popup, we need to place the input focus back to the
canvas to receive the next event

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15737
2023-09-28 10:52:12 -07:00
Marek Roszko 6b12a12b3e On second thought rename PROJECT_PCBNEW to PROJECT_PCB 2023-09-27 23:15:54 -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 e1d7d1bca7 Fix a link issue on mingw/msys2 2023-09-27 10:20:18 +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 04214983cf Repair standalone application 3D plugin path resolution.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15322
2023-09-25 18:03:27 +01:00
Jeff Young 902e5df2e8 Report unsupported DXF features on import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15614
2023-09-25 16:21:11 +01:00
Jeff Young 88e34fd482 Coding style. 2023-09-25 16:21:11 +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
Marek Roszko 98b35b1a7f Start using the sentry environment tag 2023-09-24 14:42:00 -04: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 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 563cd522eb confirm is now free to live in kicommon 2023-09-23 10:24:47 -04:00
Marek Roszko eb84c29414 Remove confirms dependence on pgm_base and unused header 2023-09-23 10:20:31 -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
Jeff Young 0f94b467ba Fix arg parsing in ExecuteFile.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15326
2023-09-23 14:34:54 +01:00
Jeff Young 722a90213c Correct path of pcb drawing sheet file on saveAs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15551
2023-09-22 18:48:29 +01:00
Alex Shvartzkop 3ee2086f95 Don't freak out when can't warp the pointer. 2023-09-22 05:10:42 +03:00
afkiwers a1708637fc fixed missing desciption in symbol chooser 2023-09-22 01:15:32 +00:00
jean-pierre charras e152f97f35 Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp 2023-09-21 11:33:29 +02:00
Seth Hillbrand b2ef620ea6 Focus back to the main window after dialog
Mouse actions would focus the window but we explicitly set it here to
allow keyboard shortcuts

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15603
2023-09-20 17:38:06 -07:00
Jon Evans 0cf09fe374 macOS: fix errant rpath 2023-09-20 14:37:44 -04: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
Jon Evans 9973dd3e5d Fix sentry compile issues on macOS 2023-09-19 20:31:14 -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 dedefb743b Even out spacing in GAL display options. 2023-09-19 17:47:30 +01: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
jean-pierre charras a568e4f4d3 Fiw a few compil and Coverity warnings. 2023-09-18 18:15:02 +02:00
Alex Shvartzkop 1decd31baf Vertically center wxGrid cells by default. 2023-09-18 17:15:34 +03:00
Alex Shvartzkop 768d4a6782 Wayland: fix cursor warping on KDE and Weston, add logging. 2023-09-18 12:56:54 +00:00
Alex Shvartzkop 06463fd35a Fixes for Wayland cursor warping:
- Emulate the mouse position, since no motion events are sent after warp
- Do not call wl_surface_commit to prevent an assert
- Re-organize code a bit
2023-09-18 12:56:54 +00:00
Clément Saccoccio ad62b165fe Fixed infinite mouse-drag with fast movement on Wayland. 2023-09-18 12:56:54 +00: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
Jon Evans 6f9af10912 DbLib: support columns with numeric data
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15662
2023-09-16 22:37:12 -04:00
Marek Roszko 2de38f8d75 Force jobs to be instantiated in kicommon
This is important since these get passed between modules at runtime
2023-09-16 21:02:33 -04:00
Marek Roszko ab8bcf537e EDA_UNITS_UTIL to kicommon 2023-09-16 19:43:49 -04:00
Marek Roszko d504b77af7 Remove unneeded pgm_base.h include 2023-09-16 19:41:50 -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
Alex e603ba4f3e wxGTK: add GDK display type to version info. 2023-09-16 21:53:47 +03:00
Josue Huaroto 33f5483bc9 Change Y min/max limits in simulation plot window 2023-09-15 17:50:02 +00:00
Mark Roszko 21c81a5392 Fix version_header depend for kicommon 2023-09-15 17:01:38 +00:00
jean-pierre charras 5a81977024 Fix a link issue on msys2 2023-09-15 08:47:42 +02:00
Marek Roszko 4af68a70d1 Manifest kicommon on msvc 2023-09-14 20:21:01 -04: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
Alex Shvartzkop e6d6a06480 Fixes for wx 3.3 in pg_editors.cpp 2023-09-14 19:05:46 +03:00
Alex Shvartzkop ff49d5ada9 Fix ambiguous overloads on wx 3.3 2023-09-14 19:05:46 +03:00
Jeff Young c7e865e4a2 Safety for negative pen widths. 2023-09-14 13:39:35 +01:00
jean-pierre charras 931401b5be Fix a compil issue (missing header) and a minor compil warning 2023-09-14 08:44:09 +02:00
Marek Roszko 5b9aab9070 fontconfig.cpp doesn't need pgm_base.h 2023-09-13 23:14:50 -04: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
Alex 66922b3bd2 Add hacks for EGL on Wayland 2023-09-14 03:54:01 +03:00
Jeff Young e492efe3c5 Finish up custom-shaped pad spoke templates.
Also fixes a bug in number box for rotated pads.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13962
2023-09-13 23:34:25 +01:00
Jeff Young d6b75c64e1 ADDED: custom-shaped pad spoke templates. 2023-09-13 23:34:25 +01: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
Jeff Young 402b701c9e Formatting. 2023-09-11 22:05:24 +01:00
Alex Shvartzkop 9f63820ed4 Fix a bug in RebuildBezierToSegmentsPointsList. 2023-09-11 09:35:07 +03:00
Marek Roszko b5d5eb842a Start a kicommon shared lib 2023-09-09 18:04:50 -04:00
Alex Shvartzkop ead44d58a0 Fix bezier curves drawing in schematic/libedit. 2023-09-09 20:28:49 +03:00
jean-pierre charras b4c5d46825 wx_filename.cpp: replace include macro.h by include string_utils.h
(missing change in commit 11de9577)
2023-09-09 09:38:44 +02: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
Alex Shvartzkop bc846f5fca SVG import: skip shapes that are not stroked and not filled. 2023-09-08 14:46:04 +03: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
jean-pierre charras 3e6f7ab3e5 Fix compil issues (especially easyeda_parser_base.xx) and compil warnings
Compil issues can be gcc13/msys2 specific.
2023-09-07 13:41:25 +02:00
Alex Shvartzkop 21ee65aa9c ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional. 2023-09-07 11:02:40 +03:00
Alex Shvartzkop 024622b0f6 SVG import: skip invisible shapes. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 05a8e59884 Move wxString and std::optional JSON serializers to core header. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 5b438d6398 Optimize makeEffectiveShapes for polygons. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 1b8abdfde7 ADDED: Basic STEP manipulation utils available to Python. 2023-09-07 10:57:02 +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 f45d61ef18 OUTLINE_FONT does not need Pgm() or settings or EDA_TEXT 2023-09-06 22:12:59 -04:00
Marek Roszko 19db0f943f Restore gal recursive link to common 2023-09-06 21:59:01 -04:00
Marek Roszko 10c495952e Snip 2 useless includes in transform.cpp 2023-09-06 21:34:02 -04:00
Marek Roszko 5c62b98e7c observable can live in core 2023-09-06 21:25:24 -04:00
Marek Roszko 81c069c1a3 Lets see if any platform barfs dropping gal's link to common 2023-09-06 20:33:51 -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 a7a642e090 Remove one errant gal dependency on python 2023-09-06 18:41:13 -04:00
Marek Roszko a4d8c021aa Remove rouge gdicmn include 2023-09-06 18:33:22 -04:00
Marek Roszko 4d77fd48ef Shove thread_pool to core 2023-09-06 17:50:12 -04:00
Seth Hillbrand c7868f0832 Altium Plugin updates
Handle Altium multiple display modes (e.g. DeMorgan)
Handle Altium overbar format (o\v\e\r\b\a\r\)
Transform ellipses and elliptical arcs into approximate arcs
Add remaining unknown RECORD ids
2023-09-06 19:15:35 +00:00
Seth Hillbrand 1b63d11adf Speed up Altium compound file reader
Just read the footprint list once and store the cache for later use.
2023-09-06 19:15:35 +00:00
Seth Hillbrand 24d3df5416 ADDED: Altium SchLib Support 2023-09-06 19:15:35 +00: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 634524dde5 Validate new symbol / save as symbol info before exiting dialog. 2023-09-05 22:07:58 +01:00
Jeff Young 0dddb27408 Include underscore in word chars.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14779
2023-09-05 19:44:53 +01:00
jean-pierre charras cbcaaa001c fix some Coverity and compil warnings. 2023-09-05 20:30:08 +02:00
jean-pierre charras 679733cc42 remove useless includes. 2023-09-05 18:57:17 +02:00
Alex Shvartzkop a84c01b1ed Fix properties crash when selecting libedit arc and non-EDA_SHAPE. 2023-09-05 14:07:43 +03:00
Jeff Young d57b726c90 Bug fix for lib-tree previews when lib-tree is hidden. 2023-09-04 22:21:39 +01:00
Alex Shvartzkop 3215223ee2 Move fix_board_shape.cpp to pcbcommon. 2023-09-04 22:26:47 +03:00
Marek Roszko 07ecdc5fbb Force close the splash 2023-09-04 09:20:05 -04: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
Jeff Young 4eb51be0a2 Streamline fetching topLevelParent. 2023-09-04 11:12:34 +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
Josue Huaroto e7d6c84aef
Replace ':' to '{', '}' for alias in variable path 2023-09-03 20:52:29 +00:00
Josue Huaroto 91d8dabca3
Change behavior of ZOOM_FIT_ALL and ZOOM_FIT_OBJECTS for PCB_EDITOR 2023-09-03 19:58:28 +00:00
Josue Huaroto a8e18e2d8c
Flip Viewport when Flip board is enabled 2023-09-03 12:30:32 +00: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
Alex Shvartzkop 3bd8ff442d SVG import: set C locale to make fractional units work. 2023-09-02 18:57:18 +03:00
Alex Shvartzkop 8a4f203963 Altium: remove illegal chars from library name. 2023-09-02 10:36:03 +03:00
Alex Shvartzkop 0317a1f687 Fix arcs in gerber export once again.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15559
2023-09-02 00:00:34 +03: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
Marek Roszko b542539546 Add --drawing-sheet arg for various cli commands for overriding the project sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15438
2023-08-31 19:53:23 -04:00
Josue Huaroto 27048ad4d2
Half number of ticks according to window size 2023-08-31 22:50:14 +00: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
Marek Roszko cd884211ef Actually use the sentry dsn define 2023-08-31 06:57:31 -04:00
Jeff Young 09288ecbe2 Formatting. 2023-08-31 11:36:39 +01:00
Marek Roszko 2dcb7caacf Add an explicit border property to textboxes
This means it can remember the last border stroke between enabling/disabling the border
2023-08-30 22:33:55 -04:00
Marek Roszko 87513b4a04 Change the sentry dsn to be build time defined
We ultimately don't want people running personal builds to turn on sentry and start sending us crash logs we can't decipher
2023-08-30 22:17:38 -04: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
Jon Evans 1a8fcdfdd7 Do not crash if PARAM_LIST backing data contains unexpected type 2023-08-30 14:31:27 -04:00
Mike Williams b8a61719c3 Grids: make overrides use existing grids (choice box) 2023-08-30 13:33:04 -04:00
Mike Williams b1a388ca69 Grids: Support X and Y for all grids, add optional names 2023-08-30 11:22:19 -04:00
Mike Williams 9002ade554 Schematic: default editors to mils 2023-08-30 11:22:19 -04:00
jean-pierre charras 17775e5377 UNIT_BINDER: allows more room to show values (especially inches need room)
Fixes #15539
https://gitlab.com/kicad/code/kicad/-/issues/15539
2023-08-30 09:12:59 +02:00
Josue 94e86a69be Update RECT to RECTANGLE 2023-08-29 11:50:22 -05:00
Josue 6429051750 change Rectangle property: Length to Height 2023-08-29 11:50:05 -05:00
Josue c3766bb250 Implement Length and Width for RECT 2023-08-29 11:50:02 -05:00
Josue 5061ca54e7 add length and angle properties to segment 2023-08-29 11:49:55 -05:00
Ian McInerney 040d192690 Migrate common actions to new constructor 2023-08-29 00:19:19 +01:00
Ian McInerney 49705a711e Update fake hotkey action to new constructor 2023-08-29 00:19:19 +01:00
Roberto Fernandez Bautista 32b6deb8b1 ADDED Migrate libraries button in Footprint Library Table
Allows easy migration of legacy and non-KiCad footprint libraries
2023-08-28 22:44:10 +02:00
jean-pierre charras 7ac3e09a08 PANEL_SETUP_SEVERITIES::ImportSettingsFrom(): fix crash: ensure the option
actually exists before setting it.
Fixes #15525
https://gitlab.com/kicad/code/kicad/-/issues/15525
2023-08-28 18:19:10 +02:00
Jeff Young 0e8ca6e952 Increase minimum panel sizes a bit.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15523
2023-08-28 15:55:37 +01:00
Mike Williams b5cfd91268 Preferences: reset tools after grid changes
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15522
2023-08-28 08:15:27 -04:00
Mike Williams 3edcef0229 Grids: remove more uses of old user grid in UI
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15515
2023-08-28 07:27:25 -04:00
Roberto Fernandez Bautista 7037076360 Symbol Library Table: Show CADSTAR Parts Libraries in file selector
Even if same extension, it is good to display it as a way of showing what
we support
2023-08-27 20:52:45 +02:00
Jeff Young a946f7ab1b Handle non-cardinal major-axis arcs when importing DXF. 2023-08-27 16:36:12 +01:00
Jeff Young eba8acf602 Attempt to fix presumed event ordering issue on MSW. 2023-08-27 13:25:39 +01:00
Jeff Young 75b160e83a Handle DXF arcs with a flipped coord system.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14905
2023-08-27 13:16:49 +01:00
Ian McInerney 375c2db844 Fix index calculation in grid submenu
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15514
2023-08-26 22:10:13 +01:00
Marek Roszko 208d146a03 Force fontconfig to look at the correct path for fonts.conf on windows 2023-08-26 13:53:43 -04:00
Marek Roszko 53bf7b71c6 Don't call FcInitLoadConfigAndFonts after FcInit() already happened
We are only the default global FcConfig created by calling FcInitLoadConfigAndFonts inside FcInit().
Calling FcInitLoadConfigAndFonts does nothing but creating another FcConfig option that never gets disposed or used because we use the FcConfig functions with null
2023-08-26 13:53:43 -04:00
Marek Roszko 25967b4a0f Fix font map cache access creating invalid entries (and crashes) 2023-08-26 09:24:47 -04: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
Marek Roszko cbc60d90ec Add missing line style prop to eda_shape 2023-08-24 22:32:12 -04:00
Marek Roszko d193334a10 Add vrml export to cli
Roughcut as the vrml exporter needs some loving

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15472
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13952
2023-08-24 20:39:21 -04:00
Alex Shvartzkop 16c35857bf Fix arcs drawing in Cairo. 2023-08-25 00:09:56 +03:00
Mike Williams c7abbccfac Grids: update context menu on changes to grids
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15492
2023-08-24 14:20:02 -04:00
Mike Williams 2764e59400 Grids: add buttons to re-order grids 2023-08-24 13:58:22 -04:00
Mike Williams 1628b65d79 Grid Settings: keep sane via value when hidden in schematic editors 2023-08-24 12:38:54 -04:00
Mike Williams d00a6b4987 Dialogs: add some margins back for GTK 2023-08-24 12:38:54 -04:00
Jeff Young 0f81dd3b5e Give Grid Settings a more standard KiCad look and feel.
Also simplifies the dialog by removing the user grid (now that you
can add as many user grids as you want).

This does mean that you can no longer have an asymmetric grid, but
it gets too complex if we allow everything for everyone.
2023-08-24 16:41:08 +01:00
Mike Williams d9c2e0ab54 PCB: start of grid overrides
Only works for moves.
2023-08-24 10:29:09 -04:00
Mike Williams 0f781f328e GRID_HELPER: push code to parent class
Prep'ing for PCB grid overrides
2023-08-24 10:29:09 -04:00
Seth Hillbrand db8e15ce88 Require wxWidgets 3.2
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Jeff Young 0c37e3c443 Remove realistic-mode (and duplicated settings from preferences).
Most of these settings are now available in the appearances panel.
It was concluded in a Zulip discussion that any missing items can
be added back in time if people find they need them (ie: complain).

Also hooks up 3DViewer to the common language framework.
2023-08-23 14:07:58 +01:00
Alex Shvartzkop 10e2e4a12d Another try at fixing arcs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Mike Williams f770500bb4 Grids: make user editable 2023-08-21 15:48:25 -04:00
Jeff Young 55a7b9e6bf More consistent naming.
(Also better differentiates the PCBEXPR_ classes from PCB_
objects.)
2023-08-21 15:26:33 +01:00
Mike Williams d150803dee Grid Tricks: entering editor needs to set selection to edited cell
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15453
2023-08-21 09:14:27 -04:00
Jeff Young 3a40b59cd3 Ensure lazy evaluation of DRC rules works on all compilers. 2023-08-21 13:05:37 +01:00
Marek Roszko b52b05ebbb Add zone export to step export
Mileage may vary on performance, decent enough for my board.
Warning, freecad chokes on boards with zones, but commerical tools are fine

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15234
2023-08-20 22:11:45 -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
jean-pierre charras 1c11a2c7bd Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places.
FindRow() exception is unfortunately not captured in all places using it.
The result is the application closes.
2023-08-20 12:27:37 +02:00
Marek Roszko ea3101587a Add gltf export to step dialog 2023-08-19 19:01:29 -04:00
Marek Roszko 50ac5db8d2 Add binary GLTF export option to kicad-cli
Not by any means finished
2023-08-19 16:47:42 -04:00
Marek Roszko 5870b4f373 Mini-refactor step to a generic "3d" cli option (step command still exists for now) 2023-08-19 16:47:41 -04:00
Jeff Young a2627fec60 Don't snap to footprint-private items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15447
2023-08-19 21:03:05 +01:00