Wayne Stambaugh
14c148cb38
Expunge update UI event handler from paged dialog object.
...
Use the book control page changing event to update any pages prior to
them being shown. When the validation fails when changing pages, the
page change is vetoed until the invalid condition is fixed by the user.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5049
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10139
2021-12-27 18:40:12 -05:00
Jeff Young
03a2723b67
Improve GUI of lib item colors.
2021-12-24 21:21:11 +00:00
Jeff Young
c3552a940a
Make sure standard OK/Cancel buttons respond to current language.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9635
2021-12-24 18:13:11 +00:00
Jeff Young
a6dd1bf09b
Implement Reset to Defaults for all preferences panels.
2021-12-24 17:38:39 +00:00
Jeff Young
889970a449
SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
...
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young
d28714167c
All the preferences, all the time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7877
Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young
28b279cb2d
Units cleanup.
...
It's 2021. Time to move beyond ASCII. This also makes spacing of
units consistent (space before abbreviated units, no space before
symbolic units).
2021-12-23 22:17:10 +00:00
Jeff Young
e26341d424
Cleanup.
2021-12-23 20:36:18 +00:00
Alex
5bf9bd3ebb
Hotkey editor: prevent closing on Enter release
2021-12-14 19:52:24 +00:00
Wayne Stambaugh
0bfb5bab02
Fix some minor paged dialog object issues.
2021-12-14 08:15:02 -05:00
Jon Evans
6e51905e69
Kick wxWidgets to set column sizes the first time
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6396
2021-12-13 18:37:36 -05:00
Wayne Stambaugh
755607b8f8
Fix a few wxUpdateUIEvent retrigger loops.
2021-12-13 15:46:13 -05:00
Wayne Stambaugh
e32448edc2
Center preferences dialog correctly on initialization.
2021-12-13 09:17:42 -05:00
Jeff Young
48c3734eea
Dark mode colors for HTML report generator.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9688
2021-11-19 13:36:14 +00:00
Jeff Young
4e6a201881
Correct cursor for search control buttons.
2021-11-18 18:25:14 +00:00
Wayne Stambaugh
e57ef66971
Fix build error with wxWidgets 3.0.
2021-11-17 12:28:23 -05:00
Jeff Young
1650d56838
Handle search cancel in the lib trees.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9671
2021-11-17 14:01:53 +00:00
Jeff Young
66d9e7073f
More discrete borders for Kicad mgr, PCM and appearances panels.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 15:01:44 +00:00
Jeff Young
0b48876ce5
Decouple left and right pane minimums for splitter window.
2021-11-12 02:12:44 +00:00
Jeff Young
7211c5a350
Kicad look & feel and reduce conceptual nesting depth of PCM.
2021-11-10 12:42:54 +00:00
Roberto Fernandez Bautista
a79a221257
Array creator tool: Add option to assign unique reference designators
...
ADDED: Option to assign unique reference designators to footprints
created with the array tool [pcbnew]
CHANGED: Array creator dialog no longer displays pad numbering properties
when in the board editor. [pcbnew]
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2354
2021-10-25 22:38:49 +01:00
Jeff Young
672b27f91a
Formatting.
2021-10-15 12:45:43 +01:00
Mikolaj Wielgus
5f53019290
Substitute all wxHtmlWindow with HTML_WINDOW
...
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand
759abb7928
Make sure that relpath gets a value
...
Even if we are not asking for normalized paths, we need to return a
value in the relpath. This modifies 574bef2237
Fixes https://gitlab.com/kicad/code/kicad/issues/9363
2021-10-11 09:19:41 -07:00
Jeff Young
95f841a037
A more nuanced method of making Board & Schematic Setup read-only.
...
This one still allows you to scroll to see all contents.
Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-06 11:16:46 +01:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand
9066165792
Fix compile error on Mac
2021-10-05 19:44:35 -07:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
574bef2237
Normalize drawing sheet path to env vars & prj, not just prj.
...
Also cleans up the dialog a bit.
Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young
4e9b747e86
Fix wx3.0 (presumably) compile issue.
2021-10-02 12:39:33 +01:00
Jeff Young
671e9f2dba
A better algorithm for centering library items in the tree.
...
It still doesn't center as wxWidgets' API is poorly suited for that.
But it does now at least keep it off the very top or bottom.
2021-10-02 10:41:26 +01:00
Jeff Young
c7f098ab25
Remove unused variable.
2021-09-24 16:03:13 +01:00
Seth Hillbrand
0f10748226
Disallow Ctrl-Tab and Ctrl-Shift-Tab as hotkeys
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9010
2021-09-20 11:13:50 -07:00
Jeff Young
2479e1d7b1
Improve common settings property grouping.
...
Also moves apply-icon-scaling-to-fonts to its own checkbox. (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
jean-pierre charras
666f7ea38c
WX_GRID::EnsureColLabelsVisible(): avoid updating column label size when not needed.
...
Updating column label size generates a UI event and if EnsureColLabelsVisible()
is called inside a UI event, this is a bit annoying.
2021-09-14 20:08:48 +02:00
Jeff Young
a5247471f7
Expunge a bunch more fixed font specs from wxFormBuilder files.
...
Also removes the -1 sizing of the status bar on GTK and MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-12 13:53:12 +01:00
Jeff Young
9c78e4cf54
Mac needs different font size handling than MSW & GTK.
...
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better. The
other platforms need a more limited range of sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young
ed8b63505d
Fix font scaling issues in StatusBar and Selection Filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 18:25:11 +01:00
Jeff Young
fbee62fc15
Tie font size scaling to when automatic icon scaling fails.
...
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
Jeff Young
cc13d6b2e8
Try out GTK font scaling based on icon scaling architecture.
...
wxWidgets symbolic sizes fail on HiDPI GTK screens; the dialog pixel
stuff fails on non-scaled GTK screens.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 10:57:25 +01:00
Jeff Young
ad59254be8
Another round of font sizing tweaks.
...
It appears that both strategies in the last commit worked, leaving us
with squared scaling. The dialog pixel architecture seems safer than
our icon scaling stuff, so this version attempts to use only it.
Also works around a bug where wxELLIPSIZE_MIDDLE doesn't work on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
Fixes https://gitlab.com/kicad/code/kicad/issues/8375
2021-09-10 21:46:13 +01:00
Jeff Young
7a822b55aa
Another round of changes to attempt to fix the GTK font size issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Jeff Young
7a035e2675
More font scaling changes.
...
These may or may not fix scaling issues on GTK with HiDPI monitors.
2021-09-09 11:17:21 +01:00
Jeff Young
f013dbc7c4
More uniform handling of status fonts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-08 21:34:22 +01:00
Jeff Young
e7debc495b
WIP
2021-09-08 20:17:59 +01:00
Seth Hillbrand
343dbf0f5b
Change default 45° hotkey to shift-space
...
This requires enabling the space key to be bound with shift, which was
disabled based on an overbroad limit of only allowing shift to be mapped
with letter keys
2021-09-06 12:18:29 -07:00
Mike Williams
0b2e66d3b7
Infobar: Don't use animations on Windows/GTK
...
Seems to cause issues on Windows where the animation locks the screen.
Doesn't effect Linux, possibly because wxWidgets uses a native GTK
infobar that doesn't animate anyway.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8987
2021-08-27 17:38:16 +00:00
Jon Evans
5f2d238c93
Work around GTK issue with wxSearchCtrl
...
Also remove redundant icons in LIB_TREE (recent GTK
search controls have an icon built-in)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9019
2021-08-24 23:04:28 -04:00
Jon Evans
c80efb0f98
Fix save/load of appearance panel width on show/hide
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8982
2021-08-19 21:15:14 -04:00
Wayne Stambaugh
b14b8b5fb1
Move headers from common folders to the appropriate include folders.
2021-08-17 12:40:31 -04:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
Jeff Young
a10f2b284c
Unify negative zero and percent handling in UNIT_BINDER.
...
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
Jeff Young
c5e195bdff
Cleanup (includes and formatting).
2021-08-03 18:37:23 +01:00
Jeff Young
c51b1dad72
Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young
7033dd68c0
Default WX_GRID to no cell overflows.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8892
2021-08-01 11:57:45 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young
293f207356
Hopefully the last of the symbol id escaping issues.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 19:44:42 +01:00
Jeff Young
6d4c454e8c
Fix some more missing escaping for symbol ids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 18:37:09 +01:00
Ian McInerney
36d66085f5
Add a column showing 3D model file loading errors
...
This adds an icon to the left of the row with an error symbol if the
file can't be found or opened, and shows a tooltip over the icon with
and error string.
Fixes https://gitlab.com/kicad/code/kicad/issues/3815
2021-07-28 16:42:22 +01:00
Jeff Young
484b6bae64
Make Reset to Defaults button responsive to current page.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 17:56:45 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Wayne Stambaugh
1a301d8eea
Stop using wxDialog::EndModal() from inside dialogs.
...
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal). Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Wayne Stambaugh
01515680b3
Code cleaning.
2021-07-14 15:47:32 -04:00
Jeff Young
c3bf51c94b
Remove unused variables.
2021-07-13 20:07:49 +01:00
Marek Roszko
759f0e9a75
Be sure to stop the timer during widget destruction
...
Also fix a comment elsewhere :D
Fixes #8772
2021-07-11 19:17:34 -04:00
jean-pierre charras
fb246403d2
PROGRESS_REPORTER: avoid clipping the bottom of the dialog in some cases.
...
It occurred on Windows, when the message to display is too long and was
displayed using 2 lines.
Now the dialog is resize after changing the message.
Fixes #7953
https://gitlab.com/kicad/code/kicad/issues/7953
2021-07-11 17:52:54 +02:00
Wayne Stambaugh
d6420d458e
Fix wxWidgets version check.
2021-07-07 16:52:21 -04:00
Wayne Stambaugh
7ca48c42d9
Fix build error in library tree widget.
2021-07-07 15:50:04 -04:00
Jeff Young
a4237c3346
Fix the search widget to process <enter>.
2021-07-07 17:54:22 +01:00
Jeff Young
1e76b7808f
Don't post events if un-evaluated-value isn't any different.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8745
2021-07-07 12:43:33 +01:00
Marek Roszko
5116fa6d12
Fix STEPPED_SLIDER glitchlyness on windows
...
wxWidgets drives some of this problem, it blindly calls SetValue and invokes the win32 update position messages on all the scroll subevents and we end up fighting it as well by inserting the rounded position on each subevent rather than the final one
2021-07-06 00:58:19 -04:00
Marek Roszko
70ce74ed4a
Configure page and line size in STEPPED_SLIDER
2021-07-06 00:40:53 -04:00
Marek Roszko
c356cd2aa9
Enable the tick marks to actually show on the STEPPED_SLIDER
2021-07-06 00:06:57 -04:00
Marek Roszko
96a177da3d
Add more input controls to IsInputControlEditable
...
O god this is going to eventual cause performance issues....but this fixes keyboard based form input in some places like pl_editor with its dropdowns
2021-07-05 23:47:16 -04:00
Marek Roszko
1fb42c5e43
Try and cleanup the input focus/key event a little
2021-07-05 20:48:48 -04:00
Marek Roszko
12305990bb
Fix focus stealing from wxDataViewCtrl
2021-07-05 13:45:06 -04:00
Marek Roszko
f524d9bec2
Add search control to the focus guard
2021-07-05 11:39:05 -04:00
Marek Roszko
2d696c3606
Update SetHint to SetDescriptiveText
2021-07-05 11:32:00 -04:00
Marek Roszko
d2aeddc6cb
Add debouncing to the choose symbol dialog.
...
More potato pc friendly in theory.
2021-07-04 21:59:51 -04:00
Marek Roszko
3b33f94c56
Use a wxSearchCtrl instead of wxTextCtrl for the symbol chooser window
...
This just makes it prettier with the search icon and cancel
2021-07-04 21:24:03 -04:00
Jeff Young
5e30be66aa
Quiet unused variable warning on Mac.
2021-07-03 23:39:34 +01:00
Jon Evans
e95323a37e
Revert "Remove unused variable."
...
It's only unused on Mac
This reverts commit d3fb22014f
.
2021-07-03 16:48:46 -04:00
Jeff Young
d3fb22014f
Remove unused variable.
2021-07-03 21:16:15 +01:00
Wayne Stambaugh
3f6811f413
Minor dialog layout improvements.
2021-07-02 11:36:06 -04:00
Jeff Young
0c2ac9a711
Move GUI font code to common.
...
This also allows the Mac fixes for font facenames to be more
compartmentalized.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young
a1dfc36233
More error message regularization.
2021-06-29 01:08:26 +01:00
david-beinder
da833ad7dd
Separate focus from hover state in BITMAP_BUTTON, trigger after mouse down+up
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8556
Adds AcceptDragInAsClick() to maintain support for use in toolbar palettes
2021-06-13 17:00:41 +00:00
Jeff Young
be980df1ca
Fix uninitialized variable.
2021-06-12 11:33:18 +01:00
Jeff Young
7fdbe2f387
Fix uninitialized variable found by JP.
2021-06-11 19:38:16 +01:00
Jeff Young
44086ff2b2
Pull 3D preferences into KiCad preferences architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5187
2021-06-11 11:19:40 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
luz paz
5f1e9bc8a7
Fix typos in source code
2021-06-10 01:24:15 +00:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Jon Evans
ad6256bdca
Fix linux/wx3.0 build
2021-06-07 19:07:49 -04:00
Marek Roszko
0e16db0c25
Kick wx.h mostly out of common
2021-06-07 18:38:52 -04:00
Marek Roszko
ca9b719af3
Add missing headers for linux post wx.h removal
2021-06-07 18:22:20 -04:00
Marek Roszko
8f2819cfa4
Kill the last of wx/wx.h in headers
2021-06-07 17:59:20 -04:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Ian McInerney
dc27079b71
cleanup tool event and tool action includes
2021-06-06 18:26:26 +01:00
Marek Roszko
b1c9083743
Remove the wx/docview.h include
2021-06-03 18:42:08 -04:00
Ian McInerney
2de010f08b
Fix ordering of class constructor init list
2021-06-03 20:04:00 +01:00
Wayne Stambaugh
7c14e4e967
Common widget header housekeeping.
2021-06-03 12:02:45 -04:00
Marek Roszko
7faee5eda5
Stop salt the eart with wxhtml.h
2021-06-03 07:49:49 -04:00
Ian McInerney
3ab69939f9
Remove wx.h from many files
2021-06-03 02:19:20 +01:00
Wayne Stambaugh
19607f1488
Fix file browser text button default path handling.
2021-05-27 14:19:06 -04:00
Jeff Young
ccaf9e11df
Load footprint info when there's no cache available.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8371
2021-05-14 22:24:21 +01:00
jean-pierre charras
f6f2284851
Fix missing includes on Linux after commit 0427bda7
2021-05-01 20:05:01 +02:00
jean-pierre charras
0427bda768
Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
...
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00
Jon Evans
64d35ecebc
Enable dark mode for MacOS
2021-04-28 23:24:19 -04:00
Ian McInerney
ecd9bf696e
Be consistent about using nullptr instead of 0
...
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Marek Roszko
ce3a84f579
Consolidate wx aui dock art color setting
2021-04-19 21:12:02 -04:00
Ian McInerney
0bdce00c42
Be explicit we don't care about the wxID of the control
2021-04-16 17:49:52 +01:00
Marek Roszko
43e93cc801
Force disable the native dropdown caret on grid comboctrl's we create
...
Fix #7212
2021-04-14 22:54:40 -04:00
Marek Roszko
cb215a0abe
Ensure our grid helper comboctrls generate returns as events instead of internally processing
...
Fix #1874
2021-04-14 21:37:21 -04:00
david-beinder
6b0ff156ae
Allow creating uppercase net names in net selector
...
Also show option to create a new net if the search string is a substring of an already existing net name
2021-04-09 22:38:15 +00:00
Jonathan Haas
55679be2e3
Fix some typos across the codebase
2021-04-05 16:15:25 +02:00
Carsten Schoenert
8dff3725ac
Typo fix: Correct 'allow to' -> 'allows one to'
2021-04-03 13:39:50 +00:00
Jeff Young
e1a3a8338c
File left out of previous commit.
2021-04-01 18:10:04 +01:00
Jeff Young
a4fba7014e
Give the infobar a reasonable colour on Mac.
2021-04-01 11:55:48 +01:00
Ian McInerney
3146d03aaa
Properly ellipsize layer names in the GerbView layer manager
...
Before, the layers were always ellipsized if the name was >30
characters, even if the widget was wide enough to display
the full name. Now they are ellipsized when needed (e.g. if
the widget is shrunk small enough).
Fixes https://gitlab.com/kicad/code/kicad/issues/1919
2021-03-26 15:50:56 +00:00
Ian McInerney
804c09b8f2
Use wx to draw the arrow on the collapsable pane
...
This allows for color changes and scaling of the arrow
when the display needs it (e.g. HiDPI displays).
Also make the arrow and text respond to if the window is
active to mimic native controls.
Fixes https://gitlab.com/kicad/code/kicad/issues/6042
2021-03-26 15:50:56 +00:00
Ian McInerney
1d81826409
Use disabled text in message panel when window isn't active
...
When the window is not active, the status bar uses disabled text,
so the message panel sticks out because it is then using a different
text color. This is most noticable in dark mode.
2021-03-26 15:50:56 +00:00
Jeff Young
262badf6ea
Back out arrow support for lib trees.
2021-03-25 15:51:00 +00:00
Jeff Young
7593ee3917
Add right/left arrows for exapand/collapse.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8022
2021-03-25 12:23:18 +00:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jeff Young
b4e2db5913
Improve dialog layout.
2021-03-20 00:41:09 +00:00
Jon Evans
cc9787e47a
Make sure space for message is reserved in APP_PROGRESS_DIALOG
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7953
2021-03-19 19:11:32 -04:00
Jon Evans
045160d486
Work around wxProgressDialog layout bug
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4288
2021-03-16 20:44:24 -04:00
Jeff Young
46d71f0d23
Go back to validate-on-OK, but stop doing design checks.
...
If we keep doing design validations at two different places, they can
only start to drift apart. Board Setup should validate for malformed
data ONLY; everything else is the business of DRC.
This also fixes a bug where implementation validations would not allow
OK in the dialog, but wouldn't put up a message to say why. We now use
the InfoBar impl from Jon's commit for that.
2021-03-16 14:49:03 +00:00
Jeff Young
b71ab01de4
More wxWidgets 3.1 layout adjustments.
2021-03-13 00:00:38 +00:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Dominik Wernberger
e2aa7be4b3
Added a lot of consts and refactored a few lines
2021-03-08 12:49:48 -08:00
Jon Evans
924accfdc8
Consolidate wxAui art providers
2021-03-01 23:10:03 -05:00
Jon Evans
93578517e4
Support dark mode in AuiBar buttons for wx 3.0
2021-03-01 21:24:29 -05:00
Seth Hillbrand
0dca0e752b
Reduce the number of built-up calls to DisplayFootprint
...
When updating the libtree, we modify the tree multiple times to avoid
crashes on Linux. These generated events that buffered while the widget
was frozen and resulted in redrawing the same footprint 4-10x.
This reduces the buffering by discarding events that are generated
during the freeze and only redrawing when there is a new footprint to
draw
2021-02-25 12:13:42 -08:00
Jon Evans
8dcf5404fc
Better UX for handling vertical scroll mapping
...
Show an error instead of preventing an invalid state
2021-02-24 00:07:17 -05:00
Jeff Young
41b8ef85e3
Fix preferences on OSX.
2021-02-22 11:05:47 +00:00
Jeff Young
2d28ed8eda
Move canvas backend selection to Preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7630
2021-02-21 20:12:43 +00:00
Seth Hillbrand
05b559c9dc
Quiet gcc warnings
2021-02-18 11:20:27 -08:00
Jeff Young
fd91529d88
Quiet Coverity.
2021-02-18 11:53:36 +00:00
Jeff Young
b6a7981e62
Write changes back to grid after using file explorer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7361
2021-02-17 14:08:53 +00:00
Seth Hillbrand
dbbe9cdee4
Hide infobar for save when saving
2021-02-16 15:54:43 -08:00
Jon Evans
e06aa32780
Launcher tweaks
2021-02-13 08:59:33 -05:00
Jon Evans
ab34d94f36
Add a less-intrusive validation system to board setup
...
For some kinds of issues, we want a way to point them out but
we don't need to keep the user from being able to close the
dialog. A separate Validate button lets the user check for
issues if desired, but these issues are not "fatal" and can
be ignored if the user wishes.
2021-02-11 22:19:46 -05:00
Wayne Stambaugh
5ecef204cd
Coding policy fixes.
...
Using "this->" violates coding policy section 2.7.
2021-02-09 11:35:43 -05:00
Jeff Young
1394c1f4d4
Retire disabled buttons in favour of info boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7229
2021-02-01 22:56:55 +00:00
jean-pierre charras
c155218582
Sim plot: fix a rounding issue that can create a missing point in a plot.
...
Due to a truncation when converting a value to integer, the first point was
sometimes missing because it looked like out of plot range.
Fix also a cosmetic issue in dialog.
Fixes #7345
https://gitlab.com/kicad/code/kicad/issues/7345
2021-01-31 10:36:26 +01:00
Jeff Young
f0aa6aa442
Fix drop-down-too-narrow-on-first-drop bug.
2021-01-28 11:35:18 +00:00
Jeff Young
eb80ac464a
Remove ability to select "Other" footprint from Symbol Chooser.
...
We no longer run as a QuasiModal (due to 5206), so we can't put up
the Footprint Browser.
Fixes https://gitlab.com/kicad/code/kicad/issues/7174
2021-01-19 01:18:41 +00:00
Jon Evans
d2d4ffe6d0
Dismiss infobar if it's dismissable on board save
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7071
2021-01-12 23:24:13 -05:00
jean-pierre charras
1ff2622b3c
wxGTK: fix an issue in WIDGET_HOTKEY_LIST ctor.
...
fixed for wxWidgets 3.0, but still existing in 3.1
2021-01-10 12:53:34 +01:00
Jeff Young
648c42f643
Show collisions preventing routing from starting.
...
Also introduces a callback to the infobar so that the view can be
cleaned up when the timer expires.
Fixes https://gitlab.com/kicad/code/kicad/issues/6930
2021-01-04 19:19:55 +00:00
Jeff Young
1ddd0e53bb
Remove dead code.
2021-01-04 19:19:55 +00:00
Seth Hillbrand
8af4cf88a0
Fix crash when deleting symbol in GTK
...
So many things can go wrong with this control in GTK. We have to
collapse the tree when updating the search string to avoid a crash when
referencing a child object but collapsing the tree will iterate over
elements and crash when we have deleted a symbol.
The temporary fix for this nonsense is to carefully order the calls.
We only need to collapse the search tree if we are not keeping our state
(in other words if we are fully re-building the tree)
Fixes https://gitlab.com/kicad/code/kicad/issues/6910
2021-01-04 09:15:40 -08:00
Michael Kavanagh
154e19b6e7
Icons: use common prefix for small 16x16
2021-01-02 23:16:33 +00:00
jean-pierre charras
dc28de16d4
Refinement in infobar
...
- Fix a minor coding style issue.
- Remove double buffering, not needed with the new code, and that creates a
minor cosmetic issue when showing or hiding the infobar.
2020-12-29 11:13:07 +01:00
jean-pierre charras
bfea2ab9f4
Fix incorrect calculation of infobar width on Linux and Windows.
...
The calculation was using the frame width, instead of the the GAL
canvas width.
Fixes #6865
https://gitlab.com/kicad/code/kicad/issues/6865
2020-12-29 10:32:22 +01:00
Jeff Young
caefc9dc91
Fix minor spacing issue in Symbol Chooser.
2020-12-23 18:33:17 +00:00
Jeff Young
47ea51ec34
Allow both aui-manager-based infobars and window overlay infobars.
2020-12-22 21:36:39 +00:00
Jeff Young
93dc7feea3
Remove multi-threading for footprint loading.
...
Also don't load the footprints up front. The whole purpose of the
footprint-info stuff is to have enough info about the footprints to
filter them *without* loading. After that just load individual
footprints as we need them.
Fixes https://gitlab.com/kicad/code/kicad/issues/6177
2020-12-21 22:03:24 +00:00
jean-pierre charras
eb7dc6ddd9
Minor fixes. In stand alone show the frame as soon as possible.
...
Especially when running Pcbnew to open a complex board the frame is shown faster.
Add also a busy cursor when loading files and building the data.
2020-12-21 17:44:10 +01:00
Jeff Young
7bc42f387a
Make sure splitter sashes are visible.
...
Also might fix 6791, although that's probably a long-shot.
Fixes https://gitlab.com/kicad/code/kicad/issues/6791
2020-12-20 12:35:41 +00:00
Wayne Stambaugh
aab3c936f0
Move headers from common folders to appropriate include folders round 2.
2020-12-17 11:44:03 -05:00
Wayne Stambaugh
08cf9a1e20
Move headers from common folders to appropriate include folders round 1.
2020-12-17 08:12:18 -05:00
Jon Evans
a7ea63e610
Hack around broken column sizing in wxGTK 3.0 for hotkey editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6767
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6396
2020-12-16 20:51:18 -05:00
Marek Roszko
e07848d887
Make the footprint preview control bg the same as the preview itself
...
Fix #5571
2020-12-14 09:48:26 -05:00
Jeff Young
d0e008053a
Fix compile issue on OSX.
2020-12-13 23:46:20 +00:00
Marek Roszko
8b843d023c
Double buffer the info panel
...
Fix #6721
2020-12-13 13:14:19 -05:00
Jeff Young
65f9212f46
Naming conventions.
2020-12-12 03:43:41 +00:00
Jeff Young
42d96fcadc
Naming conventions.
2020-12-12 03:43:41 +00:00
jean-pierre charras
f26a1a32e0
UNIT_BINDER: better support of DEGREES units (and some fixes).
...
Especially, add a way to define the number of digits in mantissa.
base_units.cpp: set number of digits in mantissa to 3 instead of 1 for DEGREES
2020-12-11 16:26:58 +01:00
Jeff Young
73b7b104cd
Fix some issues with Infobar sizing.
...
This also commits to the new strategy as it wasn't really compatible
with if-def-ing anymore.
2020-12-11 12:39:40 +00:00
Jeff Young
645c49427c
Fix hotkey editing on OSX.
...
Focus was on the dialog instead of the panel. The dialog doesn't
have the IsUserPanel flag set and so wxEVT_CHAR processing doesn't
happen. (Why? I haven't a clue.)
Also fixed some more performance issues with the auto-column-widths.
Fixes https://gitlab.com/kicad/code/kicad/issues/6591
2020-12-11 01:54:39 +00:00
Jeff Young
fc57860caf
Formatting.
2020-12-11 01:54:39 +00:00
Marek Roszko
7fcc2e638c
Fix flickering on msgpanel paints
2020-12-09 20:21:51 -05:00
Jeff Young
fec0a1fbc8
Take II.
2020-12-08 18:43:43 +00:00
Jeff Young
ef39711e3e
Remove accidentally checked-in debuggin code.
2020-12-08 18:34:34 +00:00
Jeff Young
b26a5972c5
LIB_TREE's SetFocus() override no longer getting called.
...
The KIPLATFORM stuff forces focus, but not through the SetFocus()
call.
Fixes https://gitlab.com/kicad/code/kicad/issues/6657
2020-12-08 17:46:10 +00:00
Jeff Young
d1a9efa5fc
Try out an animating, obscuring infobar.
2020-12-08 15:05:35 +00:00
Jeff Young
b1f0bf7334
More consistent naming.
2020-12-08 13:05:39 +00:00
Jeff Young
8781ce7efb
Huge performance win for Preferences.
...
The Hotkey list was recalculating the widths of all columns on
every single cell addition.
2020-12-05 01:19:10 +00:00
Jeff Young
fc2bdc49de
Once more into the depths of hell... er, I mean fix a focus issue.
...
So the new steals-focus protection stuff works well when there's a
focused control, but not as well when there's a modal dialog up which
happens not to have a focused control (or worse, a focusable control).
This adds a second mechanism for also checking to see if a modal dialog
is up (something that wxWidgets, true to form, makes very difficult).
Fixes https://gitlab.com/kicad/code/kicad/issues/6520
2020-11-26 16:47:40 +00:00
Jeff Young
b8414174af
Duplicate Eeschema's select-ref-number strategy in PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6504
2020-11-25 17:13:00 +00:00
Jeff Young
c1b94f9ebf
Handle escaped netnames better.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6404
2020-11-22 18:20:13 +00:00
Jeff Young
c1d1c12b41
Simplify message panel code.
...
We've had the colours turned off for two releases now without any
screaming or gnashing of teeth, so it's time to clean up the code.
2020-11-18 17:32:40 +00:00
Jeff Young
a207bd97bb
Naming conventions.
2020-11-17 16:05:49 +00:00
Wayne Stambaugh
577e99d49d
Minor hotkey list panel layout improvement.
...
Use wxCOL_WIDTH_AUTOSIZE instead of fixed column sizes. This doesn't fix
the initial sizer layout issue on wxWidgets 3.0 but at least resizing the
dialog has better column width behavior.
2020-11-16 17:46:39 -05:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Wayne Stambaugh
d7ad315826
Minor paged dialog layout fixes.
2020-11-11 09:24:53 -05:00
Ian McInerney
d88eaaf477
Fix various compiler and Coverity warnings
2020-11-11 00:41:02 +00:00
Jeff Young
ad1e8ebda8
Cleanup formatting.
2020-11-07 21:40:56 +00:00
Jeff Young
bfd8a62852
Formatting and naming conventions.
2020-11-07 18:50:30 +00:00
Marek Roszko
262bb06d91
Avoid stealing focus from text controls when hovering over canvas
...
Fix #4879
Fix #4888
2020-11-04 22:22:45 -05:00
Marek Roszko
ee6c8b60ac
Strip wx.h from color_swatch.h
2020-10-25 22:42:05 -04:00
Marek Roszko
1984581c46
Remove common.h from more headers
2020-10-25 22:29:53 -04:00
Marek Roszko
14c18b7e64
Move ui functions out of common and into ui_common
2020-10-25 20:01:12 -04:00
Marek Roszko
a785f70ea1
msgpanel is a widget, shove it to the right folder.
2020-10-25 20:01:12 -04:00
Jeff Young
13b4c46063
Use a bigger hammer with wxWidgets.
...
As if the original hack wasn't embarassing enough, the only change
here is to make the number bigger.
WICKED HILLARY wanted to use wxBoxSizers that are FAR TOO SMALL.
So sad.
But we're going to look at that. I think we're going to have
BIG wxBoxSizers. Probably the BIGGEST wxBoxSizers of anyone.
(The bug is that the Sheet Border swatch in PANEL_EESCHEMA_SETTINGS
doesn't otherwise get drawn unless that panel is the one showing
when preferences is opened.)
2020-10-25 13:38:15 +00:00
Marek Roszko
e928b2d8fd
Split EDA_UNITS out from common.
2020-10-25 00:02:52 -04:00
Simon Richter
3f48aca721
Add missing <algorithm>
2020-10-21 22:51:22 +00:00
Jeff Young
f772e49d25
Adjust DRC badge spacing on OSX.
...
Also added dynamic badge sizing based on number of digits.
2020-10-20 16:57:56 +01:00
Ian McInerney
7c9acc605d
Introduce a new number badge UI element for DRC and ERC reporting
...
This new badge allows for proper UI scaling and will not cut off
the number being displayed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5734
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6011
2020-10-20 02:35:48 +01:00
Jeff Young
dd53b9c399
Bail on 45º text in pin conflicts map.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5515
2020-10-18 20:28:23 +01:00
Jon Evans
c388bf0f92
Update default color theme
...
Blue is the new green :)
ADDED: built-in read-only color themes support
Classic theme is still available for those who love it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1991
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4259
2020-10-18 14:12:54 -04:00
jean-pierre charras
f6b4b66a86
Avoid include wx/wx.h in many files that do not actually use this include.
...
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Marek Roszko
496532b6ea
Guard off the dock art size change temporarily for win32 and wxwidgets 3.1
2020-10-18 11:09:14 -04:00
Marek Roszko
29577a571d
Add a custom dock art provider for aui manager with slight improvement
2020-10-18 10:36:42 -04:00
Jeff Young
8c68857f02
Add immediate mode to WX_HTML_REPORT_BOX for use as progress messages.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6052
2020-10-18 14:20:36 +01:00
Jeff Young
9f16b68bde
Better centreing of pin conflict map col labels.
2020-10-18 12:08:16 +01:00
Jeff Young
eea7957e16
Inform user of bad DRC rules when filling zones.
...
ADDED: facility for hypertext links in infobar.
Also made use of this for via constraint errors when routing.
Fixes https://gitlab.com/kicad/code/kicad/issues/5800
2020-10-16 12:44:20 +01:00
Marek Roszko
52a12c6ccd
Remove kicad_string.h from footprint_info.h
2020-10-15 18:39:43 -04:00
Jon Evans
cb075d06c2
Apply system colors to HTML panel in symbol chooser
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6000
2020-10-13 17:55:14 -04:00
Jeff Young
2574a8d71e
Update GAL observers for all frames, not just calling frame.
...
Also don't rely on UpdateScaleFactor to do it as it only does it
if the scale factor changed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5621
2020-10-09 21:30:09 +01:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
jean-pierre charras
42350a4928
Minor code cleanup: remove useless include or useless code.
...
fix also a minor compil warning
2020-10-01 11:36:15 +02:00
jean-pierre charras
3f8c9d49f8
Revert "Code cleanup: remove useless wx/wx.h include inside a few files."
...
due to compil issue on Linux
This reverts commit cffccc3970
.
2020-09-30 20:47:20 +02:00
jean-pierre charras
cffccc3970
Code cleanup: remove useless wx/wx.h include inside a few files.
...
in most of files, including wx.h is not necessary, when only 2 or 3 wx files must be included.
Moreover, on windows, including wx.h sometimes create compil warnings about
shadowed vars defined in some specific windows headers.
2020-09-30 20:03:27 +02:00
Ian McInerney
5794997805
Fix inverted logic with checking a BITMAP_BUTTON
2020-09-27 00:51:09 +01:00
Jeff Young
6dae769944
Progress reporting for connectivity tests.
...
Also makes via annulus terminology more consistent.
2020-09-23 16:28:00 +01:00
Ian McInerney
c40470ed0b
Initialize more variables
2020-09-22 12:29:13 +01:00
Jeff Young
e939afdbe8
Use a better green for DRC badges.
2020-09-21 21:09:58 +01:00
Jeff Young
6020b70596
Display green badge for zero errors or zero warnings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5735
2020-09-21 11:59:27 +01:00
Ian McInerney
65bd1ee9a4
Add a new BITMAP_BUTTON widget and use it in the appearances panel
...
This button behaves like an AUI button, so it is more suited
to being on panels without a border.
2020-09-20 01:43:27 +01:00
Ian McInerney
a53f3899d4
Initialize variables properly
2020-09-18 11:17:37 +01:00
Jeff Young
4d24c9d610
Increase size of error count badge to show up to 999 errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5535
2020-09-17 22:32:22 +01:00
Jeff Young
ce3819abf8
Remove redundant clearances from DRC dialog. Fold progress bar in.
2020-09-16 16:06:29 +01:00
Jeff Young
665212341d
Cleanup (consistent naming, 100-char line width, message precision).
2020-09-15 12:07:31 +01:00
Jeff Young
514da2f886
Move DRC dialog to new DRC engine.
2020-09-14 22:39:36 +01:00
Simon Richter
08828667ec
Add missing <algorithm>
2020-09-12 22:43:49 +00:00
Seth Hillbrand
f493e270ea
ADDED: Menu option to enable/disable snap to grid
...
You can now enable and disable snap to grid when drawing/editing across
all apps. You can also tie snap to grid to the visibility of the grid
to allow rapid enable/disable via grid display.
2020-09-10 20:09:30 -07:00
Tomasz Wlostowski
09d0aff3d6
widgets: PROGRESS_REPORTER - make SetCurrentProgress() virtual, allow to change number of phases post-construction
2020-09-08 01:31:42 +02:00
Jon Evans
758a4c26d5
Switch appearance panel to custom collapsible pane widget
...
The new widget looks the same on all platforms and fixes a few
bugs with the wxWidgets version
2020-09-06 22:43:39 -04:00
Michael Kavanagh
e05069ce3c
Enable sorting on hotkey widget
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5495
2020-09-04 22:07:17 +00:00
Jeff Young
08dee31d9e
Try and unify the background colors between panels and platforms.
...
Also moves to WX_GRID to get rid of some wxGrid bugs, and moves the
provision of attrs to the GRID_TABLE (as those applied to the grid
are ignored when a table is specified).
Fixes https://gitlab.com/kicad/code/kicad/issues/5260
2020-09-04 20:47:50 +01:00
Jeff Young
2736becb8b
Fix typo in Toggle Layers action and add descriptions to hotkeys lists.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5494
2020-09-04 17:45:07 +01:00
Mark Roszko
a9532c2fa1
Add browse button to footprint 3d settings
...
Add normalization to 3d settings and footprint library table editor
2020-09-01 02:00:38 +00:00
Jeff Young
2979d709f3
Move changed flag ('*') from hotkey to hotkey name.
...
This way it doesn't look like you've assigned '*' when you clear
a hotkey.
2020-08-31 21:00:57 +01:00
Jeff Young
20211eed49
Unroll a level of prefs for fieldname templates.
...
It was playing havoc with the saving of project and global templates
without one overwriting the other.
Fixes https://gitlab.com/kicad/code/kicad/issues/5415
2020-08-30 18:58:18 +01:00
Jeff Young
cc64709407
Reimplement skip-parent-page to work with MacHack.
...
This prevents the "leaking" pages where the layers panel is shown
in the background of all other panels.
Fixes https://gitlab.com/kicad/code/kicad/issues/5182
2020-08-29 20:53:53 +01:00
Reece R. Pollack
6e25b7d455
Add ORIGIN_TRANSFORMS to the UNIT_BINDER and EDA_DRAW_FRAME classes
...
This commit modifies the UNIT_BINDER class to invoke the ORIGIN_TRANSFORMS
methods to support Display Origin Transforms.
The EDA_DRAW_FRAME class is modified to instantiate an ORIGIN_TRANSFORMS
object providing null transforms. A function is provided to allow the
UNIT_BINDER to find the ORIGIN_TRANSFORMS object in an overrideable manner.
2020-08-26 17:54:21 +00:00
Simon Richter
076230330b
Fix missing include
2020-08-25 15:58:18 +00:00
jean-pierre charras
d122321162
mathplot.cpp: fix an issue in plot function optimization.
2020-08-25 10:08:18 +02:00
Jon Evans
24435fcc62
Don't create new project files when opening boards/schematics
...
Display warning infobar in the board/schematic setup when no project
is loaded, since most of the settings in those dialogs are saved in
the project and not in the board/schematic file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4868
2020-08-24 22:17:21 -04:00
Jon Evans
5e2946ef90
Use full net names in netclasses
...
Short net names are not unique; full names with paths must be used.
Added a grid cell renderer that does the escaping, to make it easier
to display net names in grid cells.
Once you unescape a net name, you can't go back to the escaped form
because you can't assume which `/` should be {slash} and which `/`
Because of this, we cannot use Unescape/Escape on the data model in
the netclass setup panel, and instead do the Unescape in the view.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5331
2020-08-24 21:19:07 -04:00
jean-pierre charras
d1e2b57d96
mathplot.cpp: optimize a plot function to have a better look for dashed lines,
...
and less lines to plot when they can be merged.
2020-08-24 18:40:38 +02:00
Ian McInerney
2f7094b352
Cleanup some unused variables
...
* Make the app progress indicator only have the indeterminate state
when the taskbar indicator is used (causes an uused variable warning
on wx<3.1)
* Remove unused dry run variable in pcb_netlist.h
* Remove unused forceDropAnnotations from the paste special dialog
since the dialog only controls keeping them.
2020-08-24 01:51:23 +01:00
Jon Evans
6720473db9
Move net visibility/color controls to a wxGrid
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5235
Might improve https://gitlab.com/kicad/code/kicad/-/issues/5210
2020-08-23 13:15:07 -04:00
Jeff Young
1711b489b6
Dark-mode proof the undefined colour swatch.
2020-08-18 19:05:30 +01:00
Wayne Stambaugh
ede39780e2
Remove all debugging output that cannot be disabled.
...
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
Jeff Young
aceed2b0a4
Cleaner look for colour swatches and the undefined colour.
2020-08-17 18:31:20 +01:00
Jon Evans
bd14f8a82a
ADDED: New appearance control widget for PcbNew
...
Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls
CHANGED: Simplified object visibilty controls
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1951
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2003
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2254
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4325
2020-08-15 15:24:28 -04:00
Ian McInerney
63b53c3968
Force regeneration of the lib tree on first load
...
Just setting the text field is not guaranteed to fire
a text event, so we must forcefully call the regenerate
function to ensure the preselect is handled.
Fixes https://gitlab.com/kicad/code/kicad/issues/4105
2020-08-12 00:14:19 +01:00
Ian McInerney
265c6fa3b7
Improve color theme support in the footprint preview widget
...
This ensures the colors used by the status text pane in the preview
widget are the same as the canvas, so there is a seemless transition
between the two.
Additionally, remove the scrollbars from the symbol preview widget
in the place symbol dialog - they are pointless.
2020-08-10 02:29:15 +01:00
Mark Roszko
c6e388db14
Implement an app progress indicator in the taskbar
...
ADDED: Progress indicator in the taskbar
This adds a progress indicator to the Windows and macOS taskbar
icons to display the progress of some operations.
Note, this requires wxWidgets 3.1+
2020-08-09 10:55:00 +00:00
Jeff Young
76bd344730
Preview for PCBNew colour settings editor.
2020-08-06 19:38:06 +01:00
Jon Evans
b3b567e591
A better approach to clearing color overrides
2020-08-04 19:50:26 -04:00
Jeff Young
3cf5db3ce5
Allow cancelling of zone fills.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5035
2020-08-04 19:53:35 +01:00
Jon Evans
b0c6a0f9ef
Allow sheet colors to remain unspecified if not manually set
...
This way, when the user changes their color theme, any sheets
that did not have a specific color set will change with the theme.
Also add a button to clear color overrides from a sheet, because
any schematics that have been saved before this change will have
the colors set to something other than UNSPECIFIED.
2020-07-29 21:16:07 -04:00
jean-pierre charras
0103164571
Simulator: optimize a plot function, to support large amount of points.
...
Redundant points are not plotted.
Fixes #4737
https://gitlab.com/kicad/code/kicad/issues/4737
2020-07-27 10:47:52 +02:00
Mark Roszko
3b727b5d16
Make preference groups not selectable
2020-07-20 13:45:46 +00:00
Ian McInerney
cc688a3e1d
Initialize variables properly
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4919
2020-07-18 00:36:47 +01:00
Ian McInerney
af729d578f
Unify settings reset buttons into one location
2020-07-16 00:08:16 +01:00
Simon Richter
c407e96b14
std::min/std::max requires <algorithm>
2020-07-11 15:46:57 +02:00
Ian McInerney
af24a5d5a7
Properly dismiss the grid combobox editor when it loses focus
...
The old way of checking for focus loss caused GTK to be unable to
even open the combobox. This way checks for the event sent when the
list closes and uses that to close the grid editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/4617
2020-07-09 20:37:08 +01:00
Jeff Young
741481591e
NetClass settings for Eeschema.
...
ADDED Eeschema-specific netclass settings including wire and bus
thickness, color, and line style.
Netclasses override individual wire & bus colors and line styles.
If that proves an issue we might look at something more sophisticated
with inheritance.
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-08 21:23:25 +01:00
Ian McInerney
37ce9fb847
Tell wx that we really want a transparent background
...
Try more options for telling wxWidgets that we want the area
to have a transparent background. Also, fix some spacing issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/4842
2020-07-08 16:29:04 +01:00
jean-pierre charras
55daf645b6
UNIT_BINDER::Validate(): fix incorrect display of val min and val max.
...
When Validate() find an out of limits user value, it displays the limits.
However, the displayed limit value was incorrectly converter to internal units,
and strange values were displayed.
2020-07-08 10:27:31 +02:00
Ian McInerney
c6eb072726
eeschema: Fix cutoff text in pinmap
...
Ensure the proper bounding box is used when computing the amount
of space taken by angled text in the control.
Fixes https://gitlab.com/kicad/code/kicad/issues/4761
2020-07-07 23:12:17 +01:00
Tomasz Wlostowski
9d0f5c7f94
PROGRESS_REPORTER: implement SetCurrentProgress() method
2020-07-05 22:44:38 +02:00
Jon Evans
12b4a55ae8
Port Eeschema to new project settings
...
DRC/ERC error serialization changed to use explicit tokens
Old stored severities and ignored errors are discarded
2020-07-02 22:08:54 -04:00
Jon Evans
44f3cdb31e
Fix a few issues with zone islands
2020-06-29 12:16:37 -04:00
Jon Evans
7532cf4ab0
Add support for data type to UNIT_BINDER
2020-06-28 08:52:37 -04:00
Jeff Young
ad12c42e8b
Push grid settings dialogs down into common.
...
This also gives support for fast grid switching and a user grid
to eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
Ian McInerney
d46f9a5273
Give the 3D viewer an infobar & Infobar upgrades
...
ADDED: Infobar warning in 3d viewer for board outline issues
2020-06-04 00:13:27 +01:00
Ian McInerney
a843c74529
Add new kiplatform library for platform-specific code
...
* Implement ReparentQuasiModal for OSX natively
* Implement ForceFocus of OSX natively
This change means we no longer rely on the kicad-specific functions in our osx wx fork.
2020-06-03 14:58:54 +00:00
Ian McInerney
57e35c9a60
Fix infobar bitmap size
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4514
2020-06-02 00:20:08 +01:00
Jeff Young
160981ee71
Better error reporting for DRC rule parsing.
2020-05-25 22:51:47 +01:00
Ian McInerney
a49fde5ce0
Fix the UI for the infobar
...
* Remove the animations on show/hide
* Give the button a small right border
2020-05-20 20:16:34 +01:00
Ian McInerney
b5dc213d76
Fix infobar sizer issue for wx 3.1
...
On wx 3.1, the sizer was iving too much space to the infobar.
Fixes https://gitlab.com/kicad/code/kicad/issues/4501
2020-05-20 19:00:19 +01:00
Ian McInerney
73a1ce3e84
Move eeschema find notification to the infobar and improve the infobar widget
...
* Move it to a panel along with the canvas to have a better UI
* Allow the infobar to automatically close after a set time
CHANGED: The eeschema find notifications now use the infobar instead of
a popup window
2020-05-20 02:31:47 +01:00
Ian McInerney
a2f027e063
Add an infobar widget to display information above the canvas
...
This widget allows for non-intrusive display of text
above the editing canvas. Currently, this is used
for displaying the read only status of the files.
2020-05-19 00:46:33 +01:00
Simon Richter
632494cba7
Add missing includes
...
A few more instances of missing <algorithm> for std::max
2020-05-10 00:24:11 +02:00
Jeff Young
001a50bf14
Moved PANEL_COLOR_SETTINGS from buttons to swatches.
...
This allows us to correctly display non-100%-opacity colors (ie:
over the correct background color).
2020-05-06 19:02:21 +01:00
Jeff Young
67bccaf465
Make indeterminate control states clearer for the user.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4313
2020-05-05 20:26:51 +01:00
Jeff Young
cf7ffda5f6
Performance improvements for Gerber loading.
...
The entire issue (at least on OSX) was the layers palette. Go
figure.
Fixes https://gitlab.com/kicad/code/kicad/issues/1892
2020-05-02 21:10:40 +01:00
Marek Roszko
127df701da
Remove unnecessary wxPaintEvent from SPLIT_BUTTON
2020-04-26 20:52:28 +00:00
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
...
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Jeff Young
5bc6ad9786
Make UNIT_BINDER sensitive to parent frame user unit changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4243
2020-04-22 20:45:45 +01:00
Oleg Endo
7bf8a744f1
add support for board listeners
2020-04-21 13:23:56 +00:00
Jeff Young
84944524cc
Fix crash on OSX when page was changed before hack array was alloc'ed.
2020-04-10 22:49:56 +01:00
Jeff Young
8eb15fe911
Tidy up some Coverity issues.
2020-04-07 17:29:58 +01:00
Jeff Young
b13559c926
Add envVar and text variable resolution to plot directory paths.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3808
2020-04-05 23:56:24 +01:00
Jeff Young
cc9ac37a0e
Add text variable support to envVar processing.
2020-04-05 20:52:26 +01:00
Ian McInerney
306ebb0e89
Cleanup dynamic casts in unit binder
2020-04-04 12:24:54 +01:00
Jeff Young
78dfbca9a3
Save pre-eval values for Move Exactly dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4088
2020-04-03 21:47:47 +01:00
Wayne Stambaugh
082944ad06
Minor build warning fixes.
2020-04-03 13:03:23 -04:00
Jeff Young
811968716c
Add OSX layout hack to PAGED_DIALOG for preferences.
2020-04-02 14:01:30 +01:00
Jeff Young
4966ab802e
Support single-click colour editing in dialogs.
2020-04-02 14:01:30 +01:00
Jeff Young
eb855d40bb
Restore lib tree refreshing, but don't attempt to refresh tree root.
2020-03-30 17:30:26 +01:00
Jeff Young
88c4254bb5
Discourage use of wxDataViews. WX_GRID is much less problematic.
2020-03-28 16:09:40 +00:00
jean-pierre charras
c41199f048
lib_tree.cpp: Fix a lot of wxWidgets alerts on Windows.
...
On Windows calling m_adapter->RefreshTree() to refresh the tree does not work fine.
Just calling Refresh() is enough.
2020-03-28 11:00:54 +01:00
Jeff Young
14788eec94
Performance improvement in wx_grid column label height calc.
...
Don't call GetColLabelValue() repeatedly. It's expensive as it doesn't
cache the string translations.
2020-03-24 19:00:25 +00:00
Jeff Young
c699fb9e39
Move pin-to-pin errors to Setup Schematic.
2020-03-11 21:43:55 +00:00
Jeff Young
d875d5850e
Update library trees when their items change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4019
2020-03-08 15:18:19 +00:00
Jeff Young
3e34c1783f
Added sheet border width, border color and background color.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2216
2020-03-08 15:18:19 +00:00
Jeff Young
535033c5c9
Enable editing of sheet fields.
2020-03-07 18:52:30 +00:00
Seth Hillbrand
ecbfea68dd
ADDED: Allow creation of nets in pcbnew
...
When editing pcb items, the creation of a new net to connect existing
pads or traces can be a useful shortcut. This inserts the ability to
optionally create a new net from the Net Selector dropdown menu.
2020-03-04 16:11:47 -06:00
jean-pierre charras
b7cd0c54c2
Fix compil issues, especially on Windows:
...
Replace SEVERITY_ERROR by RPT_SEVERITY_ERROR to avoid collision with a system definition.
Replace other SEVERITY_XXX by RPT_SEVERITY_XX for consistency.
Fix compil warnings and some other compil issues.
2020-03-04 10:48:18 +01:00
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
...
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
Andrew Downing
2f7ac2b5b4
Don't truncate polar coordinates in position relative dialog/move exact dialog
2020-02-29 02:21:18 +00:00
Jeff Young
2017389f2d
Pinning for library trees in FPEditor and SymbolEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2288
2020-02-14 00:10:40 +00:00
Ian McInerney
36f6b4a9b4
Clean up redundant dynamic casts
2020-01-13 01:39:08 +00:00
Ian McInerney
b445ce6632
Clean up pointer casting
...
* Make note of when dynamic cast is actually needed
* Convert some to static cast when we know the type for sure
2020-01-12 19:45:37 +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
Seth Hillbrand
7c28c3838a
Comment-only changes
...
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Jonatan Liljedahl
f433037dcd
Eeschema: simulator: allow dotted traces for current and phase.
...
ADD: Allow drawing of current and phase traces with dotted style
for easier differentiation from voltage and magnitude. The option
is available in the View menu of the simulator.
2020-01-07 19:45:44 +00:00
Ian McInerney
2f75dfb09c
Fix symbol editor column widths
...
102b5301
introduced an issue on GTK where the column width was
incorrect when read, then was set incorrectly (a known problem
on GTK tree views). We should only apply that fix on OSX.
Fixes https://gitlab.com/kicad/code/kicad/issues/3720
2020-01-03 17:04:18 +00:00
Mark Roszko
49db816c82
Pcbnew: improve add existing footprint library browser and button
...
CHANGED: Modify Add Existing Footprint Library button to us OS file/directory browsers
2020-01-03 15:09:26 +00:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
Seth Hillbrand
b5f021ff9f
Cleanup: Replace push_back with emplace_back
...
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Jeff Young
102b530162
Fix library tree updating bug present at least on OSX.
2019-11-29 17:55:01 +00:00
Jonatan Liljedahl
7c7d9c3e3f
Eeschema: simulator plot: allow standard mac pan and pinch to zoom
2019-11-25 09:24:31 -05:00
jean-pierre charras
10d23ad82d
PROGRESS_REPORTER: fix serious bug in its DTOR: the DTOR was calling Destroy. But Destroy() in wxWidgets calls the DTOR.
...
It can create recursive calls of the DTOR.
2019-10-23 11:28:15 +02:00
jean-pierre charras
19cf78f802
simulator: plot curves: fix incorrect draw area limits calculation when zooming.
...
Fixes: lp:1674132
https://bugs.launchpad.net/kicad/+bug/1674132
2019-09-26 16:29:52 +02:00
Ian McInerney
bb596ebdaf
Fix width of part selector columns
...
* Move column width manipulation into the lib tree adapter
* Fix issue with GTK where if someone types too fast, the part
column gets 0 width.
Fixes: lp:1841584
* https://bugs.launchpad.net/kicad/+bug/1841584
2019-09-18 16:12:45 -07:00
Ian McInerney
2b387f4b4d
Manually put the UNIT_BINDER text on the primary selection clipboard
...
The OnKillFocus handler of the UNIT_BINDER replaces the text in the
control with the evaluated string, which removes the selection. To
get the original text on the primary selection clipboard, we must
add it ourselves.
Fixes: lp:1794623
* https://bugs.launchpad.net/kicad/+bug/1794623
2019-09-09 09:00:59 -07:00
Jeff Young
2ac270ce8e
Fix bug with high-frequency plots.
...
Fixes: lp:1839712
* https://bugs.launchpad.net/kicad/+bug/1839712
2019-09-08 01:11:51 +01:00
Jeff Young
10c25a2290
Update frame type enum to match current class names.
2019-09-06 23:38:20 +01:00
Ian McInerney
8d86d94a4d
wxWidgets compatibility fixes
...
* Remove unneeded check
* Fix WX_GRID since upstream renamed a variable in 3.1.3
2019-09-05 08:11:44 -04:00
Seth Hillbrand
c8a6878eb8
pcbnew: Allow tuning length to be longer than INT_MAX
...
The INT_MAX limit for most elements makes sense only for single-segment,
straight line elements. For elements that accumulate lengths, we should
utilize the long long int (64 bits) to allow for greater lengths.
Fixes: lp:1842367
* https://bugs.launchpad.net/kicad/+bug/1842367
2019-09-03 16:41:09 -07:00
Jeff Young
bc0e67579c
Change OK/Cancel to MSW order and move some other dialogs to new system.
...
(There's no point in following the OSX OK/Cancel order as you can't
tab to buttons on OSX anyway.)
2019-08-26 18:36:35 +01:00
Jeff Young
6b6e9eddee
Return control of Symbol and Footprint chooser col widths to user.
...
The auto-calculation wasn't working out and even with it some users
wanted control.
Fixes: lp:1796774
* https://bugs.launchpad.net/kicad/+bug/1796774
2019-08-26 18:27:49 +01:00
Ian McInerney
1bbd944277
pcbnew: Add ability to reset layer/item colors to defaults
2019-08-26 09:20:08 -04:00
Jeff Young
a25368cc6b
Improve spelling.
...
The groundwork here is thanks to kunda1.
Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Seth Hillbrand
5151cd0bfe
C++14: Remove unused make_unique.h
...
Also removes header references now that we are in C++14, this is
built-in to the std
2019-08-07 09:27:31 -07:00
jean-pierre charras
c84c10fa06
PAGED_DIALOG: fix an issue related to TransferDataFromWindow and TransferDataToWindow, on wxWidgets 3.0
...
On wxWidgets 3.1 they are called recursively but not on on wxWidgets 3.0.
We call now TransferDataToWindow and TransferDataFromWindow only once,
but ensure it is called for all pages.
Fixes: lp:1836901
https://bugs.launchpad.net/kicad/+bug/1836901
2019-07-17 16:47:48 +02:00
jean-pierre charras
6388189f48
Preferences, Hotkey list: Avoid list to be shown twice.
...
The bug was due to the fact TransferDataToWindow was called twice, and the hotkey list was not cleared before rebuild it
2019-07-16 18:30:14 +02:00
Jeff Young
b429dbfb88
Fix bugs with ACTIONs not being "honest" singletons.
...
Delete the copy ctor and assignment operator to start with, but
even then the separate apps each have their own statically allocated
copy of the common actions. So we need to update all of them, which
also means having the kicad manager frame's set of actions on hand).
This changelist also adds a Clear Hotkey Assignment function since
the hotkeys set is now likely to be sparse with respect to the
actions.
2019-06-14 16:54:46 +01:00
Jeff Young
2d29f76c49
Fix incorrect control-key map for hotkeys.
...
Fixes: lp:1832431
* https://bugs.launchpad.net/kicad/+bug/1832431
2019-06-12 10:08:23 +01:00
Jeff Young
a3f3fb39de
Convert 3DViewer to new hotkey architecture.
2019-06-10 23:46:01 +01:00
Jeff Young
620395608c
Move Kicad Manager launch bar to ACTIONs.
...
Also fixes a bug where hotkeys weren't getting put in menus.
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
6025256e07
Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out.
2019-06-10 23:46:00 +01:00
Jeff Young
e606587ff6
Move remaining Symbol Tree ctx menu cmds to ACTIONS.
...
Also moves the various Player instantiators down into COMMON_TOOLS
for better sharing.
2019-06-10 23:46:00 +01:00
Jon Evans
27a5ed1a9f
Mathplot: properly set foreground color when saving screenshots
...
Fixes: lp:1810914
* https://bugs.launchpad.net/kicad/+bug/1810914
2019-06-05 22:43:50 -04:00