Commit Graph

1033 Commits

Author SHA1 Message Date
Alex Shvartzkop 1decd31baf Vertically center wxGrid cells by default. 2023-09-18 17:15:34 +03:00
Alex Shvartzkop ff49d5ada9 Fix ambiguous overloads on wx 3.3 2023-09-14 19:05:46 +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 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 4d77fd48ef Shove thread_pool to core 2023-09-06 17:50:12 -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
Ian McInerney a3a701a95e Move preferences to an action instead of a wx event 2023-08-08 00:51:22 +01:00
Ian McInerney 2fb6f19a84 Separate immediate and delayed action dispatch
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.
2023-06-27 00:57:59 +01:00
Ian McInerney 9b63c57f5f Switch remainder of cvpcb actions to new args system 2023-06-20 21:52:50 +01:00
Ian McInerney b04e54dbea Switch TOOL_EVENT and TOOL_ACTION to have a std::any parameter
Using std::any from C++17 allows for proper type handling in the
parameter field, removing the need for casting to void* and then casting
the void* to the desired type.
2023-06-20 21:52:50 +01:00
Jeff Young cf4f0723f8 Select first unassigned symbol when running CvPCB.
Also cleans up some dead code, and makes more use of sharing.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9938
2023-06-17 12:44:59 +01:00
jean-pierre charras 8ad7736f5e Cvpcb: fix crash when trying to associate a footprint to a symbol.
(the undo/redo list is specific to Cvpcb and does not use a
UNDO_REDO_CONTAINER container).
Fixes #14948
https://gitlab.com/kicad/code/kicad/-/issues/14948
2023-06-14 19:43:13 +02:00
Jeff Young bae8a077b9 Remove double call to Destroy() for DISPLAY_FOOTPRINTS_FRAME.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14928
2023-06-11 21:57:26 +01:00
Seth Hillbrand 14f6e32c74 ADDED: Change watcher for libraries
When editing or viewing library symbols, the files are watched for
underlying changes.  If any occur, the user is either prompted to reload
(if reloading would overwrite their current edits) or the file is
silently updated to the current version on disk.

This also sets a custom assertion handler to avoid unneeded crashes when
recieving invalid SAMBA packets and turns off assertions entirely when
running in release (non-debug) mode
2023-05-31 13:46:00 -07:00
jean-pierre charras a54f60a728 Cvpcb: the footprint viewer use the settings of pcbnew, and the code in _pcbnew.dll/so
So ensure they are loaded before creating the footprint viewer.
Fixes #14850
https://gitlab.com/kicad/code/kicad/-/issues/14850
2023-05-30 20:02:47 +02:00
jean-pierre charras 1406341d2d Fix a few doxygen errors (no actual code change) 2023-04-19 16:20:24 +02:00
qu1ck 0c049eccc7 Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
Jeff Young 374d3d52ef Rollback wxChoice -> wxComboBox changes for now.
wxComboBox still has serious issues on macOS.

Fixes https://gitlab.com/kicad/code/kicad/issues/14399

Fixes https://gitlab.com/kicad/code/kicad/issues/14413
2023-04-09 23:00:33 +01:00
Ian McInerney 18ea3be3f2 Revert "Reintroduce constexpr to COLOR4D"
This reverts commit 33da9b2327 and the
following commit dc08c48f33.

C++17 changed the behavior of static class member variables that are
constexpr defined. Previously this definition/declaration split was
valid for constexpr members, but after C++17 the static constexpr member
variables are automatically inlined, so the declaration is no longer
exported in some compilers (GCC 9/10/11 seem to have problems).

An alternate way of constexpr member variables is putting the
initialization in the class definition, but we can't init a COLOR4D
object when defining the COLOR4D class.

For now, revert this change until we can figure out the proper way of
architecting these colors.
2023-04-06 20:18:31 +01:00
Ian McInerney dc08c48f33 Try to fix linking after constexpr change
Somehow, GCC 10 and 11 were unable to locate the prebuild colors when
they were constexpr in gal, so give them on the link line again.
2023-04-06 15:20:16 +01:00
Ian McInerney a6ebd60c3b CMake: Modernize Boost import to use imported targets 2023-03-10 16:38:35 +00:00
Seth Hillbrand d2cc252fc7 Move via/track/grid selection widget to wxComboBox
The wxComboBox drops nicely from the top of the screen, showing the full
element list, opposed to the choice widget that centers the selection
and places the list off the top of the screen if there are many
elements.  This was broke for MacOS until wx3.2

Fixes https://gitlab.com/kicad/code/kicad/issues/1866
2023-03-09 11:45:44 -08:00
aris-kimi 22bca5c2a0 Disable link maps by default and fix compile issue with lld linker
The link maps were actually disabled by default before
912f1d5cec, and required KICAD_MAKE_LINK_MAPS
to be provided to enable them. So switch back to disabling them by
default.

Also, The lld linker is unable to accept a single dash cref option, while
ld and gold can. Instead, use the double dash version that is supported
by all three.

xref: https://github.com/llvm/llvm-project/issues/60932

Co-authored-by: aris-kimi <aris_kimi@hotmail.com>
Co-authored-by: Ian McInerney <ian.s.mcinerney@ieee.org>
2023-02-22 23:18:36 +00:00
Ian McInerney 301777f3c9 Cleanup condition for Linux-only CMake configs 2023-02-22 01:44:06 +00:00
Ian McInerney 912f1d5cec Modernize setting link map linker flags 2023-02-22 01:44:06 +00:00
Ian McInerney bcb93e9aa7 Modernize setting of compiler definitions in CMake
add_compile_definitions was added in 3.12, and our minimum is now
greater than that.
2023-02-22 01:44:06 +00:00
Marek Roszko aacc9746e3 Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
Jeff Young 77421c8fb6 Fix too-narrow text edit control on Mac.
Also makes the yellow error highlight in CvPCB a bit less jarring.

Fixes https://gitlab.com/kicad/code/kicad/issues/13866
2023-02-13 10:47:39 +00:00
Seth Hillbrand a9ed47f06c Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
Marek Roszko d2c0f5fc2a More wxSing 2023-01-16 23:14:38 -05:00
Wayne Stambaugh f28ea5e784 Remove standard dialog button static line separators.
For the sake of consistency across all dialogs and window that behave
like dialogs, remove the static line that separates the main part of
the dialog from the standard buttons.  This only applies to windows
that have the standard button on the bottom of the frame.

This covers the 3D viewer, CvPcb, common, GerbView and KiCad dialogs.
2023-01-08 13:15:33 -05:00
Jeff Young 4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
Jon Evans e97bdeda47 Detect dark mode in symbol problem highlight in cvpcb
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13068
2022-12-17 13:51:30 -05:00
Jon Evans 5abf73e3c9 Never call ReCreateMenuBar inside a menu event handler
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
jean-pierre charras 9501f4303d Rename CreateWindow to CreateKiWindow to avoid a collision name with a windows header
No code change, but it fix an issue specific to msys2 that bother me when
trying to fix issues with wx 3.0.x version
2022-11-08 12:31:07 +01:00
Brian Fiete f88064ba55 Cursor backtrack fix for cvpcb filter string
On Windows the insertion point (cursor) can change between onTextFilterChangedTimer entry and exit, which caused the insertion point to be restored to a stale value
2022-11-03 19:46:03 +00:00
Brian Fiete 0e758d6bc2 ListBox perf improvements
On Windows, reduces trips through the windows message system, substantially increasing performance of long list boxes (such as in the footprint assignment tool)
2022-10-24 12:27:07 +00:00
Scott Hanson ed42f95794 CVPCB: Add warning if footprint is missing 2022-09-29 19:27:08 +00:00
Scott Hanson 5b9fcc0ba0 Cvpcb: Reload footprint libraries in CVPCB
CHANGED: Reload footprint libraries in CVPCB when footprint library table(fp-lib-table) is updated
2022-09-27 22:58:03 +00:00
Jeff Young 1fcd7d6285 Move cvpcb filter to a timer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12445
2022-09-19 17:50:58 +01:00
Jeff Young 64a6fc0fd4 Push UNITS_PROVIDER down into a low-level mixin.
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Jeff Young 1e1aedbe30 Fix uninitialized variable. 2022-09-18 13:23:19 +01:00
Jeff Young d2712bac37 Try and reduce opportunity for lost keystrokes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12445
2022-09-18 12:12:56 +01:00
Jeff Young 1be8adebf5 Restore fix for #10029.
Fixes https://gitlab.com/kicad/code/kicad/issues/12445
2022-09-17 15:57:11 +01:00
Mark Roszko b00178adb3 Nuke base_units from orbit 2022-09-16 04:38:10 +00:00
jean-pierre charras 66febafb9c Fix cross-probing from Cvpcb to Eeschema, broken by commit 3a76d426
Fixes #12293
https://gitlab.com/kicad/code/kicad/issues/12293
2022-08-26 18:15:57 +02:00
Marek Roszko fc99b3ba95 Don't link gdiplus everywhere anymore
Tested on msys2 which is the only place it would have been buggy
CMake seems to share the gdiplus linkage with the other dependencies automatically now
2022-08-23 23:51:35 -04:00
Alex 3a76d42630 Cross-probing/selection for multiple items (PCB -> SCH)
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
2022-08-22 19:33:39 +00:00