Jeff Young
f891c4641b
We were saving the old board pointer, but not updating the current one.
...
This also makes a few other adjustments to order and to where we look
for the enabled layers which should make it more robust.
Fixes https://gitlab.com/kicad/code/kicad/issues/10925
(cherry picked from commit 631980b0ab
)
2022-10-19 18:17:40 +01:00
jean-pierre charras
7be3a6b3c5
pcbnew: fix incorrect calculation of the board thickness from board stackup.
...
dielectric sub layers were not taken in account.
Fixes #10899
https://gitlab.com/kicad/code/kicad/issues/10899
2022-02-18 18:10:49 +01:00
Jeff Young
4657614e4f
More wxString wide literals.
2022-02-04 23:12:09 +00:00
jean-pierre charras
753e08a944
Use ChangeValue() instead of SetValue() in some wxTextCtrl (It avoids generating unused events)
2021-12-23 18:36:42 +01:00
jean-pierre charras
da5f2366f9
PANEL_SETUP_BOARD_STACKUP: fix a typo that prevent displaying a color swatch. Fixes #10027 https://gitlab.com/kicad/code/kicad/issues/10027
2021-12-23 18:36:24 +01:00
Jeff Young
9cb36e5bc5
Restore units to a bunch of wxGrids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10063
(cherry picked from commit 8b52e969d6
)
2021-12-23 17:01:10 +00:00
Roberto Fernandez Bautista
dadaf26ff1
Board Setup: Ensure board editor layers page always gets updated
...
We need to update it even if we move to a different page, as when moving
back to the physical stackup page it will reset the layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9991
2021-12-15 10:39:44 +00:00
Roberto Fernandez Bautista
aa64b739eb
Board stackup: Ensure that m_choiceCopperLayers is updated
...
Need to do a full synchronisation with the board to ensure that the
drop down and other UI elements are reset
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9991
2021-12-14 18:00:07 +00:00
Seth Hillbrand
78ff9a857a
Jerry-rig HTML-format alpha parsing
...
On wx3.0, the HTML format #RRGGBBAA cannot handle the alpha channel.
Instead, we route this through a COLOR4D routine when we need to use
these colors
Fixes https://gitlab.com/kicad/code/kicad/issues/9963
2021-12-13 16:04:40 -08:00
Seth Hillbrand
1b7358f93a
Import layer settings before swapping boards
...
The rebuildLayerStackPanel() reads from the current board to setup the
panel. We maintain the board swap until after the setup is completed
Fixes https://gitlab.com/kicad/code/kicad/issues/9370
2021-10-11 11:47:22 -07:00
Jeff Young
2ac03e2cdb
Change Loss Tg to Loss Tan.
...
We'll need Tg in the future for glass transition temp.
Fixes https://gitlab.com/kicad/code/kicad/issues/4734
2021-09-07 10:49:17 +01:00
Jeff Young
2b3477ca28
Handle RGBA conversion to hexadecimal format for wxWidgets 3.0
2021-08-25 02:40:17 +01:00
Jeff Young
21f2b235ce
Rework stackup colors a bit to support opacity for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9012
2021-08-23 20:00:17 +01:00
jean-pierre charras
3d61c8b0c4
PANEL_SETUP_BOARD_STACKUP: Do not limit the EpsilonR mantissa to 1 or 2 digits.
...
Fixes #8956
https://gitlab.com/kicad/code/kicad/issues/8956
2021-08-14 09:42:05 +02:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
jean-pierre charras
1a5e63bcab
PANEL_SETUP_BOARD_STACKUP: fix a incorrect behavior when changing layer count,
...
and add a button to adjust dielectric thickness (regression fix)
Fixes #8800
https://gitlab.com/kicad/code/kicad/issues/8800
2021-07-16 20:39:00 +02:00
Jeff Young
1fcd7992a0
Performance improvement for adding/removing dielectric layers.
...
(Roughly a 10X speedup on Mac.)
2021-06-27 09:43:20 +01:00
Jeff Young
0f27618125
Use a list dialog that can be parented by the Board Setup dialog.
...
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)
I also removed the UpdateUI stuff which was probably causing:
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Wayne Stambaugh
7c14e4e967
Common widget header housekeeping.
2021-06-03 12:02:45 -04:00
Marek Roszko
4df3cb912d
Remove another leaky wx/log.h header
2021-06-03 08:11:15 -04:00
Roberto Fernandez Bautista
ae009e0758
Ensure clipboard data is available after KiCad closes
...
Always Flush() after SetData()
2021-05-03 19:38:31 +01:00
jean-pierre charras
675ec70f0f
PANEL_SETUP_BOARD_STACKUP: fix a wxassert due to a "C" locale test in a format function.
...
A call to FormatInternalUnits() was made without switching to "C" locale.
In this case it was not necessary, but FormatInternalUnits() expects in some tests
this locale, thus creating issues (assert and incorrect conversion)
Fixes #8177
https://gitlab.com/kicad/code/kicad/issues/8177
2021-04-12 09:57:40 +02:00
Ian McInerney
9939af3e27
Fix color handling in the stackup manager panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5671
2021-04-09 00:56:31 +01:00
Ian McInerney
5490a85f97
Don't recompute the board thickness on UI update
...
The thickness only needs to be computed when the actual
values change, so computing on UI update is a waste of
resources and can cause UI lag.
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-04-09 00:56:31 +01:00
Ian McInerney
1a727558b0
Switch update event handlers to use the event instead of pointers
...
It is safer to use the event to pass the enable/string
instead of pointers, since using the pointers could trigger
other UI events.
2021-04-07 17:39:48 +01: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
Jeff Young
91350ec9ea
Don't update thickness unless it really changed.
...
Otherwise we're going to generate a continuous stream of OnUpdateUI
events....
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-03-04 14:15:39 +00:00
Jon Evans
bba7fae104
Coverity fixes
2021-02-24 22:55:11 -05:00
Jeff Young
d384316335
Fix some layout issues in board stackup pane.
...
Also decided the extra paramaters on the right weren't working out
on smaller screens and so moved Board Finish to its own panel.
2021-02-24 21:42:00 +00:00
Jon Evans
887ad1c30d
CHANGED: Copper layer count is now set on physical stackup page
...
REMOVED: Board layer stackup presets that were not very useful
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6765
2021-02-23 21:31:12 -05:00
Seth Hillbrand
10442b98df
Unify thickness
...
The removal of the pcbnew general section was meant for v6 but passed
the deadline. This removes the duplication of thickness. We do not
allow the thickness to be different between nominal and stackup, so
keeping separate text fields is unnecesarily confusing to users
2021-02-11 11:28:00 -08:00
Roberto Fernandez Bautista
9aedeae5c3
Don't log error messages when using the clipboard
...
wxClipboard::GetData()and wxClipboard::SetData() both log a "wxLogSysError" error-level message (see for example: https://github.com/wxWidgets/wxWidgets/blob/v3.1.4/src/msw/clipbrd.cpp#L703 ). This logged message gets displayed as a messagebox to the user.
The logging can be disabled temporarily by creating a wxLogNull object. See https://docs.wxwidgets.org/3.0/classwx_log_null.html
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6956
2021-02-03 01:55:05 +00:00
jean-pierre charras
96af236493
Code cleanup: remove include wx.h from pcb_plot_params.h.
...
including wx.h is useless for this file, and include wx.h in a lot of other files.
Include wx.h must be made only when needed in a given file, because on Windows
it include some headers that frequently create collision with kicad declarations
2021-01-25 16:18:46 +01:00
Dominik Wernberger
ac94d72d2d
Add more const specifiers
2021-01-12 20:51:31 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Wayne Stambaugh
7a7719bf97
Pcbnew: layer stack up dialog layout fixes.
2020-11-11 12:02:11 -05:00
Jeff Young
505d764f25
Set board modify bit only when necessary after Board Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5685
2020-10-13 23:11:29 +01:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Jeff Young
a6cdb6440a
Give the user a bit of help with board thickness.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3807
2020-08-05 16:51:58 +01:00
Jeff Young
9fda8d58d0
Take user to Stackup Page when layers don't match.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3807
2020-08-05 00:41:29 +01:00
Ian McInerney
967587adcc
Guard against dynamic cast failure
2020-07-19 01:47:03 +01:00
Jon Evans
9795d30f12
Fix iteration issue in physical stackup editor
...
Also switch to KiCad color chooser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4735
2020-06-27 21:42:09 -04:00
jean-pierre charras
2d0582daa7
Pcbnew, stack-up manager: allows 2 digits in mantissa for EpsilonR
...
Fixes #3942
https://gitlab.com/kicad/code/kicad/issues/3942
2020-02-26 18:12:24 +01:00
Jeff Young
dcfb7cadce
Avoid divide-by-zero.
2020-01-15 18:21:42 +00:00
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
...
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
2020-01-07 17:12:59 +00:00
jean-pierre charras
2cd60cdfaf
Layer stack manager: remove dielectric layer: fix incorrect sub-layer selection.
2019-11-25 13:30:48 +01:00
jean-pierre charras
ce7857b715
Layer stack manager: fix crash due to a double deletion on unix.
...
Did not happen on Windows.
Fixes: lp:1853764
https://bugs.launchpad.net/kicad/+bug/1853764
2019-11-25 10:51:59 +01:00
jean-pierre charras
544867cf2a
ADD: layer stack manager: support of multilayer dielectric between 2 copper layers
...
This feature is useful for advanced microwave applications.
This is the last missing feature in the board stackup management.
2019-11-15 14:33:10 +01:00