Commit Graph

28 Commits

Author SHA1 Message Date
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 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
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
Jeff Young 66d6a5a9dd Performance improvements for CvPCB.
Fixes https://gitlab.com/kicad/code/kicad/issues/12063
2022-07-25 16:10:08 +01:00
Seth Hillbrand b5bf1da251 Keep track of blocking windows
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call

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

Fixes https://gitlab.com/kicad/code/kicad/issues/11772
2022-07-13 19:25:24 -07:00
jean-pierre charras d01e0bbec6 Cvpcb: fix not working icon "select previous symbol"
Fixes #11509
https://gitlab.com/kicad/code/kicad/issues/11509
2022-04-30 11:07:07 +02:00
jean-pierre charras be35b0783a Cvpcb: fix SaveAssociations. Save association to disk only from the Apply button. Previously, the association was saved to disk also on OK button click. 2022-04-30 09:48:47 +02:00
Jeff Young b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
jean-pierre charras f6f2284851 Fix missing includes on Linux after commit 0427bda7 2021-05-01 20:05:01 +02:00
Jeff Young 9806d846b2 Remove redundant Text Filter toggle icon and fix <Enter>.
(Enter in the filter textbox should execute the search, not close
the dialog.)

Fixes https://gitlab.com/kicad/code/kicad/issues/4768
2020-07-09 16:22:59 +01:00
Ian McInerney b1240b5b1e Gracefully shutdown tools when frames are closed
If the tools are not gracefully exited, then the stack variables are
never destroyed, so variable lifetime issues can occur.

Fixes https://gitlab.com/kicad/code/kicad/issues/1753
2020-02-05 22:23:24 +00:00
Ian McInerney a1d3f3486e cvpcb: Fix some issues
* ESC no longer closed the window since it didn't properly generate
  the close event
* Copy/Cut from a context menu did not work due to a focus-loss issue
* Add better error handling for the copy/cut/paste actions to prevent
  text that isn't an FPID from being inserted
2019-10-06 17:53:35 +01:00
Jeff Young d4aa502be1 Correct footprint filter tool name and tooltip.
Fixes: lp:1842477
* https://bugs.launchpad.net/kicad/+bug/1842477
2019-09-03 19:42:32 +01:00
Ian McInerney c3b2885f88 cvpcb: Split control tool in two and add cut/copy/paste 2019-08-12 14:19:01 -04:00
Ian McInerney 796d888f8f cvpcb: Add individual association deleting 2019-08-12 14:19:01 -04:00
Ian McInerney 2d27c10c63 cvpcb: Add processing of hotkeys to the main window
* Add a tool loop to handle ESC to close the window and
focus changing keys
* Make changing focus a tool
2019-08-12 14:19:01 -04:00
Ian McInerney d428d5fecf cvpcb: Move some more tasks to a tool 2019-08-12 14:19:01 -04:00
Ian McInerney 06abda254a cvpcb: Add undo/redo functionality to the associations 2019-08-12 14:19:01 -04:00
Ian McInerney 402031244d cvpcb: Replumb the footprint association system
This is in preparation for implementing more association actions
and an undo/redo system.
2019-08-12 14:19:01 -04:00
Ian McInerney 72120e0a96 Actionize cvpcb 2019-08-12 14:19:01 -04:00
Ian McInerney c0b80c67b9 Rename cvpcb footprint viewer tools
This is in preparation for the actionization of the main cvpcb window.
2019-08-12 14:19:01 -04:00
Jeff Young 9f1e2e34b7 Move some dupicated tools to common tools. 2019-06-03 21:08:30 +01:00
Jeff Young 6ac273264d Move Show3DViewer to common action. 2019-06-02 16:21:44 +01:00
Jeff Young 0260b32125 Push resetLocalCoords down into COMMON_TOOLS.
Fixes: lp:1830693
* https://bugs.launchpad.net/kicad/+bug/1830693
2019-05-29 00:26:29 +01:00
Jeff Young e850592587 Cleanup. 2019-05-15 17:50:52 +01:00
John Beard 445a9fa963 Put cursor and pan control in libcommon/tool, enable in Gerbview
Put the cursor and pan control TOOL_ACTIONs in ACTION,
and refer to them in that way.

The handlers are currently identical in Pcbnew and Cvpcb,
and Gerbview (and all canvases) can benefit from them as well
if they are in libcommon. Also saves duplicated code.

Fixes: lp:1795855
* https://bugs.launchpad.net/kicad/+bug/1795855
2018-10-04 11:41:06 +02:00
jean-pierre charras 3eb3db02c3 Cvpcb, DISPLAY_FOOTPRINTS_FRAME: add measurement and zoom to selection tools. 2018-08-09 11:15:43 +02:00
jean-pierre charras 15e0771ea8 Add GAL support to Cvpcb display footprints frame. 2018-08-08 16:33:29 +02:00