136 Commits

Author SHA1 Message Date
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
Jeff Young
b343391723 Code cleanup for readibility. 2020-01-11 21:30:48 +00:00
Ian McInerney
f896043067 Fix comments for switch statement fall throughs
This cleans up all GCC warnings (-Wimplicit-fallthrough=2) about
implicitly falling through switch cases.
2020-01-11 19:16:32 +00:00
Mark Roszko
686b768a3d Add shutdown blocking on Windows for pcbnew, eeschema and pleditor
ADDED: Block shutdown/logoff on Windows when contents have been modified
2019-12-19 14:11:11 +00:00
Seth Hillbrand
c6f5df134c Minor speed cleanup
This adjusts iterators to use const reference when only used for
copy.  It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08:00
jean-pierre charras
6f2cbe5982 Pcbnew: housekeeping: move netlist code to netlist_reader sub directory. 2019-11-17 13:58:38 +01: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
jean-pierre charras
16f4958430 Pcbnew: avoid crash when closing pcbnew if the DRC dialog is open.
Cvpcb: change from commit 9ceca583:
the root class close event that save settings is now seeing the close event.
2019-09-19 09:16:12 +02:00
Ian McInerney
9e555cb422 cvpcb: Run save association action immediately
(this is a complement of commit 9ceca583)
2019-09-18 10:35:37 +02:00
jean-pierre charras
9ceca583b1 Cvpcb: fix minor issues:
- Config not saved
- Confirmation dialog show after clicking on the OK button.

Fixes: lp:1844457
https://bugs.launchpad.net/kicad/+bug/1844457
2019-09-18 09:57:26 +02:00
Jeff Young
54255cffeb Cleanup to make implementation names consistent with what they now do.
Fixes: lp:1842477
* https://bugs.launchpad.net/kicad/+bug/1842477
2019-09-03 19:29:30 +01:00
Ian McInerney
7bb046c0a5 cvpcb: Auto move to next NA after association
Also perform some cleanup of objects when windows close
2019-08-12 14:19:01 -04:00
Ian McInerney
36b430562d cvpcb: Refactor events and cleanup formatting 2019-08-12 14:19:01 -04:00
Ian McInerney
c0204e90b1 cvpcb: Add library location to status information
Fixes: lp:1782805
* https://bugs.launchpad.net/kicad/+bug/1782805
2019-08-12 14:19:01 -04: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
95430e131e cvpcb: cleanup include statements 2019-08-12 14:19:01 -04:00
Ian McInerney
9fda86e261 cvpcb: Move file extension to common and deprecate a header 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
Jeff Young
4eab89d9ef Fix OSX button order issue in Unsaved Changes dialog.
Also changes the presentation of the string when the checkbox appears
so that the "Changes will be lost" warning isn't hidden by the turndown.
This last part may require conditional compilation as it's undocumented.

Lastly, regularizes the Unsaved Changes strings between the apps.
2019-06-17 17:01:57 +01:00
Wayne Stambaugh
77bf575742 CvPcb: fix save changes dialog layout issue.
DIALOG_EXIT was not being laid out correctly after setting the dialog
message.  Rather than fix our custom DIALOG_EXIT, wxMessageDialog and
wxRichMessageDialog were substituted as direct replacements for all
of the variants of DIALOG_EXIT.  This make message dialogs appear more
consistent because wxMessageDialog uses the default platform message
dialog and wxRichMessageDialog uses the default platform rich message
dialog on windows.

Remove DIALOG_EXIT_BASE as it is no longer required.

Fixes lp:1832899

https://bugs.launchpad.net/kicad/+bug/1832899
2019-06-16 12:10:24 -04:00
Jeff Young
a3f3fb39de Convert 3DViewer to new hotkey architecture. 2019-06-10 23:46:01 +01:00
Jeff Young
5e49517781 Move hotkeys to ACTION architecture. 2019-06-10 23:46:00 +01:00
Jeff Young
33773bad4d Yet more command conversions to ACTIONs. 2019-06-02 21:10:56 +01:00
Jeff Young
9d29e94cb5 Remove some more legacy code. 2019-05-29 00:26:29 +01:00
Jeff Young
7d9a0b06e0 Push help menu down into EDA_BASE_FRAME. 2019-05-18 13:14:08 +01:00
Jeff Young
717b1d37be Defensive coding that will possibly fix a crash when scrolling through footprints.
Fixes: lp:1828289
* https://bugs.launchpad.net/kicad/+bug/1828289
2019-05-10 20:00:23 +01:00
Jeff Young
4020b5689b Refocus control after doing our little raise/raise dance.
Fixes: lp:1821451
* https://bugs.launchpad.net/kicad/+bug/1821451
2019-04-11 19:45:10 +01:00
Jeff Young
77f15eeeaf Support synchronous messaging over KIWAY EXPRESS.
This allows us to make the various netlist and pcb update routines
more atomic and less reliant on carefully sequenced asynchronous
messages.

This is also a prelude to adding support for footprint testing
without a netlist.
2019-04-08 13:26:09 +01:00
Seth Hillbrand
2948f8a6bc cvpcb: Testing theory on save hotkey override
Bug #1807567 states the entering 's' in the string search textbox does
not get passed to the text box correctly when in the German language
under windows.  This likely means that the main window is firing wxSave
when it detects the 's' key.  By adjusting the id for the save and
continue action, we hope to allow the signal to pass through to the
textbox. This commit should otherwise be a NOP.

N.B. This appears to be the result of hooking wxEVT_CHAR_HOOK into
EDA_DRAW_PANEL::OnKeyEvent() (commit
53b1ec81462727eec770204b57cadbabdcfc57de) that reverses the cascade of
events from bottom up rather than top down.  Fixing that is a longer
project and will likely be a side effect of switching fully to the new
tool architecture.
2019-02-14 20:50:50 -08:00
jean-pierre charras
7ad21fefe5 Cross probing: Trying to fix a crash, certainly due to a call to clear the HIGHLIGHTED flag of a structure that is not a EDA_ITEM.
Minor enhancement: use a specific message in cross probing to clear the HIGHLIGHTED flag.
2018-12-31 13:54:26 +01:00
jean-pierre charras
fb35a7c8b4 Eeschema highlight symbols (cross probing) fix a few issues.
Fix highlight not cleared by Pcbnew.
Fix highlight not cleared by Cvpcb (missing code).
Add comments. Remove a few now useless printf used for debug
When clicking on a empty area, clear any highligthed symbols

Fixes: lp:1809977
https://bugs.launchpad.net/kicad/+bug/1809977
2018-12-29 12:48:24 +01:00
Jeff Young
dd9b0c2dc6 Select assigned footprint in right panel.
Fixes: lp:1793294
* https://bugs.launchpad.net/kicad/+bug/1793294
2018-09-22 16:23:13 +01:00
Jeff Young
4b1a31ffad Regularize save-changes dialogs. 2018-08-12 00:02:37 +01:00
Jeff Young
d81faa72c9 Overhaul border drawing in all the Kicad frames.
Primary change is to replace most control/window borders with
AUI pane borders.  We implement our own AUI border drawing
routine which avoids the ugly one-pixel white frames around
dark canvasses.

Also increases the signal-to-noise ratio of all the pane
creation code in the various frames.
2018-08-11 17:25:38 +01:00
jean-pierre charras
15e0771ea8 Add GAL support to Cvpcb display footprints frame. 2018-08-08 16:33:29 +02:00
Jeff Young
d788c9d479 Move library table dialogs from PLAYER to KIFACE interface.
Spooling up a full PLAYER in the background takes too long.

This also fixes bugs around how the tables are saved, although
that was just missing code rather than anything architectural.

Fixes: lp:1785436
* https://bugs.launchpad.net/kicad/+bug/1785436
2018-08-06 21:31:53 +01:00
Jeff Young
3bf2e2f9fc Try out headers in Cvpcb.
Note: it's easy enough to back out.  If you don't like it, please
speak your mind.  I'm ambivalent about them.

Fixes: lp:1782952
* https://bugs.launchpad.net/kicad/+bug/1782952
2018-08-06 13:48:17 +01:00
Jeff Young
d8d4f75fa1 Fix button order and genralize Exit dialog so it can be shared more.
This also fixes a bunch of bugs where an error during save would
still close the window (rather than cancelling the close action).

Fixes: lp:1785034
* https://bugs.launchpad.net/kicad/+bug/1785034
2018-08-02 11:01:03 +01:00
Jeff Young
97f7bd4cb9 Push component tree down into common.
Precondition to reusing component tree for footprints.
2018-08-01 09:35:45 +01:00
Jeff Young
829ba27206 Another round of dialog spacing/font adjustments for Windows. 2018-07-18 17:59:05 +01:00
Jeff Young
879ffa4d1c Adjust dialog spacing for Windows. 2018-07-17 22:18:27 +01:00
Jeff Young
7d71861015 If the user has a selection then show the footprint.
Don't be pedantic about it having to come from the footprint
list, the component list also has footprints assigned.

(cherry picked from commit 759fba1)
2018-07-17 15:13:32 +01:00
Jeff Young
34857d06c4 Create CvPcb's footprint viewer through Kiway().Player()
This allows it to participate in Kiway things such as updating
language or common settings.

Fixes: lp:1779558
* https://bugs.launchpad.net/kicad/+bug/1779558

(cherry picked from commit b3f8478)
2018-07-17 15:13:31 +01:00
Jeff Young
2060d63e3f Add context menu for footprint viewing to CvPcb.
Fixes: lp:594102
* https://bugs.launchpad.net/kicad/+bug/594102

(cherry picked from commit 800bb8e)
2018-07-17 15:11:20 +01:00
Jeff Young
7841f8a466 Unified preferences dialog framework.
(cherry picked from commit 8ee3e77)
2018-07-17 15:11:17 +01:00