Commit Graph

274 Commits

Author SHA1 Message Date
Jeff Young 9094ba8033 A veritable cornucopia of wxWidgets hacks for pcb calculator.
Most of these are display hacks because (at least on OSX) assigning
bitmaps or doing a layout before the controls are visible tends to
not work.  There are also some layout cleanups and some layout hacks
(horizontal radio button groups, for instance, lay out on top of each
other on OSX).

Fixes https://gitlab.com/kicad/code/kicad/issues/7491
2021-02-12 13:53:29 +00:00
Ian McInerney beb50c529e Reorganize the CMake folder to separate build and configure steps
The BuildSteps folder now contains the CMake scripts that are
called during the build process as individual stages, while
the root CMakeModules directory contains the CMake files used
during the configuration phase.
2021-01-28 00:24:22 +00:00
Jonathan Haas a8907f3591 E-Series calculator: Make strings translatable 2021-01-27 16:33:48 +00:00
Seth Hillbrand 321c9f81af Remove Benchmarking output and clarify exclusion
By default, the e series calculator does not return the input value.
This would be counter-productive b/c if you are looking for a new value,
we assume that is because you do not already have the existing value to
hand.
2021-01-24 11:43:57 -08:00
Dominik Wernberger ac94d72d2d Add more const specifiers 2021-01-12 20:51:31 +00:00
Michael Kavanagh a4ab596b8d Icons: use standard arrows in PCB Calculator 2021-01-04 17:41:09 +00:00
Seth Hillbrand 61ac9c8d90 Add multiple size icons for programs
In theory, the WM should now choose the closest size icon for its
purpose, making it easier to distinguish in space-constrained settings

Fixes https://gitlab.com/kicad/code/kicad/issues/6798
2020-12-22 15:37:26 -08:00
Seth Hillbrand 54ca087999 Update icon resource sets
Updates the .icns, .ico and .png files used by various distros to show
KiCad and KiCad files.
2020-12-22 15:16:33 -08:00
Jeff Young a207bd97bb Naming conventions. 2020-11-17 16:05:49 +00:00
Wayne Stambaugh c7926db553 More minor dialog layout improvements. 2020-11-16 07:29:07 -05:00
jean-pierre charras f9a19f1d13 Language selection: do not disallow switching to English language when the
English dictionnary is missing. It is not mandatory because all messages are
in English, just restricted to ASCII7 chars

Fixes #6261
https://gitlab.com/kicad/code/kicad/issues/6261
2020-11-03 11:47:28 +01:00
Seth Hillbrand 63bd2b2b16 Fix markdown code for pcb calculator
Avoid '%' in translated strings and simplify the language used in
eserie_help
2020-11-02 20:04:31 -08:00
Ian McInerney 31e626f279 Cleanup creation of all our smart pointers 2020-10-26 23:52:44 +00:00
Marek Roszko 1d559108c8 Move LOCALE_IO out of common.h 2020-10-23 21:49:42 -04:00
Wayne Stambaugh d8ffea881e Improve dialog static sizer box consistency.
Remove colons from the end of static sizer box labels from a few dialogs so
they are consistent with all dialogs.
2020-10-22 22:00:04 -04:00
Seth Hillbrand 848c82f4a5 Also correct kHz 2020-10-20 12:29:53 -07:00
Seth Hillbrand 27b7138fb6 Standardize to SI prefix on kOhm 2020-10-20 12:28:45 -07:00
Seth Hillbrand e0b439492f Unify temporary string -> dummy 2020-10-20 12:26:33 -07:00
Marek Roszko b2e9f6987d Split base_struct into eda_item and eda_rect 2020-10-13 21:24:50 -04:00
Marek Roszko cfdd105cdd Some more cleaning in pcb calculator 2020-10-12 22:01:44 -04:00
Marek Roszko 3a88992f8e Split out the regulator dialog into unique file and fix filenames 2020-10-12 22:01:43 -04:00
Marek Roszko 2ade8031dc Clean up pcb_calculator includes a bit and rename files 2020-10-12 22:01:43 -04:00
Mark Roszko a8bd0a9b84 Handle Windows manifests ourselves and add dpi awareness option 2020-10-10 19:08:23 +00:00
Jeff Young 0bc7bbbadb Report silk/edge collisions.
Fixes https://gitlab.com/kicad/code/kicad/issues/5854

Fixes https://gitlab.com/kicad/code/kicad/issues/4892
2020-10-06 14:21:18 +01:00
jean-pierre charras 13304d0870 more cleanup about removing useless include 2020-10-02 13:40:00 +02:00
Ian McInerney b7e7cf9212 Some code cleanup 2020-09-22 12:29:55 +01:00
Ian McInerney c40470ed0b Initialize more variables 2020-09-22 12:29:13 +01:00
Seth Hillbrand 3eb7dc6eef Limit displayed error percentage
When calculating E series resistors, display error percentage down to
0.01% but rather than showing 0.00% error for smaller values, we now
  show the error is "<0.01%" until it is exact.

Fixes https://gitlab.com/kicad/code/kicad/issues/5731
2020-09-21 06:20:32 -07:00
Roberto Fernandez Bautista 8b82852054 Hide header inside #ifdef statement
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5645
2020-09-15 21:30:50 +00:00
Janvi 1b56e2e95d ADDED: E-Series Resistor Calculator
Fixes https://gitlab.com/kicad/code/kicad/issues/2155
2020-09-15 14:03:07 +00:00
jean-pierre charras dfe3270142 Pcb_calculator: fix config read/write issue in non English language.
Some translated strings were used as keyword if json file.
this is incorrect. Now translatable names and keywords are separate strings.
(Although they are the same in English)

Fixes #5244
https://gitlab.com/kicad/code/kicad/issues/5244
2020-08-24 13:37:40 +02:00
jean-pierre charras e3d9d5fa88 Pcb_calculator: add missing code to store its full config. 2020-08-24 12:40:38 +02:00
jean-pierre charras c80d029681 json_settings.cpp: add more log traces on errors, when trying to save a json config.
pcb_calculator: fix a minor cosmetic issue: disabled wxStaticTexts are not very readable
on wxWidgets 3.1.4, so do not use disabled wxStaticTexts.
2020-08-23 15:01:52 +02:00
jean-pierre charras 23a5b0ca5f fix a few compil warnings and a Coverity warning. 2020-08-10 18:32:44 +02:00
jean-pierre charras 61ada3a602 Remove translation markers from strings that cannot be translated. 2020-08-08 07:47:58 +02:00
jean-pierre charras 8005de27c0 Fix a compil warning and 2 Coverity warnings. 2020-08-07 13:13:25 +02:00
Fabien Corona 8de6aa161f pcb_calculator : do not overwrite input parameters
Split the computing / displaying code into different functions
Add coloured warnings when a value is not finite / illogical .

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1849
2020-08-07 00:09:33 +00:00
Ian McInerney acc3217a95 Renormalize line endings and enforce normalization for all contributors 2020-08-03 23:15:10 +01:00
Fabien Corona edba020f44 Pcb calculator: Create new SVG pictures for the panels 2020-07-31 21:31:36 +00:00
jean-pierre charras 65550e6a6e Fix a link issue (symbol not found) on Windows. 2020-06-21 10:32:42 +02: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
Jeff Young fc44506fe1 Give up on enforcing non-defined-internal-units.
It results in trade-offs in packaging and/or conidtional compilation
which are worse than the disease.
2020-06-13 22:44:16 +01:00
jean-pierre charras 6e47f147aa A few Coverity fixes. 2020-03-30 09:50:26 +02:00
Jeff Young d69ebfae49 Push tool framework base down into TOOL_HOLDER.
This allows us to use it outside of EDA_BASE_FRAMEs (in this case, in
PANEL_PREVIEW_3D.)
2020-03-24 19:00:25 +00:00
Michael Kavanagh daa41c663b Pcb calculator: remove unused variable
Fixes https://gitlab.com/kicad/code/kicad/issues/3907
2020-03-01 12:01:03 +00:00
Jon Evans e59a3d981e Implement a new settings framework across all of KiCad
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme

Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
jean-pierre charras 5d5363396c Add automatically generated files needed for translations.
These help files are created from the .md source files and contain I18n strings,
but do not exist if kicad is not built from sources.
However they are needed by translators.
2020-01-29 18:47:06 +01:00
Ian McInerney 06c979dfaa Convert all CMake paths to absolute instead of relative
It is cleaner and safer to handle the include and source paths
as absolute from the source directory instead of relative to every
path.
2020-01-22 23:27:20 +00:00
Seth Hillbrand 7c28c3838a Comment-only changes
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Simon Richter 270aaec443 Rewrite FBP files generated with unreleased wxFB
These use a few features that are too new, causing errors when trying to
edit with a released version of wxFormBuilder.
2020-01-07 13:32:33 +00:00
Simon Richter b114dabbed Convert line endings in three FBP files 2020-01-07 13:32:33 +00:00
Ian McInerney 25a302758e Fix macos plist version string generation
Generate these resource files similar to how it is done one Linux.

Fixes mac-builder issue https://gitlab.com/kicad/packaging/kicad-mac-builder/issues/275
2019-12-26 12:42:25 +00:00
Seth Hillbrand 4d2e953f42 Cleanup: Replace C-only deprecated headers
This replaces headers deprecated by C++14 with their equivalent
replacement
2019-12-05 11:03:15 -08:00
Dmitry Rezvanov 9c33620a0f PCB Calculator: Adding reset to defaults feature
NEW: Adds buttons to return default settings for
regulators, track width, via size and transmission line.

CHANGED: Fixes grammar mistake in file via.cpp, line 111.

Fixes: lp:1778116
* https://bugs.launchpad.net/kicad/+bug/1778116
2019-11-10 17:19:36 +00:00
jean-pierre charras 56525296ba Pcb_calculator: TransLine default parameters pre-selection: fix a minor issue in countries using comma sepator in doubles. 2019-11-04 12:59:22 +01:00
jean-pierre charras 002c4cea96 Pcb_calculator: TransLine default parameters (Er, TanD, Rho) choices: keep pre-selection valid between sessions. 2019-11-04 11:08:52 +01:00
Fabien Corona bb938b2af4 TransLine default parameters (Er, TanD, Rho) are now equal to the previously selected values when opening the selection window
Fixes: lp:1828857
* https://bugs.launchpad.net/kicad/+bug/1828857
2019-11-04 11:02:07 +01:00
Jakub Kozdon 4646bc0eef Pcb Calculator: Convert tracks width versus current formula to markdown. 2019-10-05 11:12:15 +02:00
jean-pierre charras ac2373ae16 Gerber plotter: add support of standard aperture regular polygon as flashed shape.
Standard apertures are circle, rect, oblong and polygon (regular polygonal shapes with 3 to 12 vertices)
The support of the standard aperture type polygon was missing in Gerber plotter.
2019-10-02 17:33:06 +02:00
jean-pierre charras d17cef95fd Add an other markdown to html converter (sundown), better to convert markdown.
The previous converter (maddy) is still available, during some time.
We therefore have the time to choose between them.
sundown is better to convert a md text, but is written to C
maddy has a few issues to convert a md text, but is written to C++
Both have no dependency.
2019-10-01 18:53:23 +02:00
jean-pierre charras 49dbc37277 Fix a few issues related to help files in html or markdown.
Fix *.cmake scripts that dropped the semicolon in strings during conversion.
Move markdown2html in a separate library.
2019-10-01 17:11:39 +02:00
jean-pierre charras 9339afcc26 minor fixes about translatable help files in markdown 2019-10-01 09:56:35 +02:00
jean-pierre charras 1cbe1171ef convert last formula to markdown. Make them translatable. 2019-09-29 20:39:27 +02:00
jean-pierre charras ef66704e58 convert splitter_formula in markdown and make it translatable. 2019-09-29 18:06:41 +02:00
jean-pierre charras 8ed49b3f68 Add a Markdown to Html converted, to display help written in markdown in a wxHtmlWindow.
The help file bridget_tee_formula.md can be displayed in pcb_calculator.
For Help messages, a markdown text (with some basic html tags) is often enough
and is more easy to translate than full html texts.
2019-09-29 17:25:56 +02:00
jean-pierre charras 130d52dd80 Pcb Calculator: Via Calculator gives too low resistance values (100 times).
Fixes: lp:1844804
https://bugs.launchpad.net/kicad/+bug/1844804
2019-09-20 18:14:52 +02:00
jean-pierre charras 94022116a2 Pcb calculator: very minor fix: do not force a color in a wxHtmlWindow (use defaults) 2019-08-30 18:58:15 +02: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
Wayne Stambaugh e3e546f7d2 PCB calculator: fix regulator dialog layout.
Set default dialog size to -1,-1 to allow the dialog to size itself
properly to prevent the buttons in the standard dialog button sizer
from being truncated.

Fixes lp:1839695

https://bugs.launchpad.net/kicad/+bug/1839695
2019-08-12 09:30:46 -04:00
jean-pierre charras b15f039444 pcb_calculator: fix an issue in a dialog: Was not resizable.
All our dialogs are resizable.
2019-08-10 10:05:13 +02:00
Simon Richter c8c3e1f96a Fix build order for generated headers and sources
This changes make_lexer() so that it no longer generates a custom target
but instead attaches the generated files to an existing one (so the first
argument now is the name of an existing library or executable, and it needs
to come after the add_library/add_executable call).

The generated source is no longer listed in the project sources, as it is
added by the function. The files are generated in the build tree rather
than the source tree, and the directory is added to the include path for
the respective project as well as exported to projects linking against it.

Generated files in subdirectories are somewhat supported, but need to be
referenced with the same name as they were generated (i.e. including the
subdirectory name).

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

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

Fixes: lp:1833851
* https://bugs.launchpad.net/kicad/+bug/1833851
2019-07-03 09:36:40 -04:00
jean-pierre charras 66d2060942 Partial fix for missing language selection menu.
The fix is partial because in the list of languages the menuitem corresponding to the selected language is not checked.
2019-06-16 20:35:57 +02:00
Seppe Stas 455ee4c08c Set KiCad version in MacOS apps
Uses CMake's configure_file function [1] to automaticaly set the
CFBundleShortVersionString [2] value in every app's Info.plist file.

Also updates the CFBundleLongVersionString and CFBundleVersion with the
extended KiCad Version

[1]: https://cmake.org/cmake/help/latest/command/configure_file.html
[2]: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring
2019-06-12 04:40:03 -07:00
jean-pierre charras 0359ffb6c7 * Fix a link issue issues on Windows, probably related toircular gal<->common dependency.
The fix used in commit 1e4abac57 to build kicad binary does not work for pcb_calculator.
So I used a ugly but basic trick to force linking some undefined functions found in gal lib.
This issue could be msys2 specific.
2019-06-11 16:20:28 +02:00
Seth Hillbrand c6af38477d CMake: Handle custom_target indirection
Building custom targets that depend on custom commands such as our
keyword lexer requires two layers of indirection to pick up changes
properly and not overwrite the same file in parallel builds.

Fixes: lp:1831643
* https://bugs.launchpad.net/kicad/+bug/1831643
2019-06-05 13:05:43 -07:00
jean-pierre charras 38f54b4372 pcb_calculator: Minor fixes in strings and tool tips 2019-05-03 10:44:29 +02:00
jean-pierre charras 460d1f2a15 pcb_calculator: code cleanup. Remove a few duplicate code. 2019-05-02 08:54:16 +02:00
Nabeel Ahmad 9f189ca71a pcb_calculator: New tab for via calculations
NEW: Adds a tab in pcb_calculator for calculations related to via size.

Fixes: lp:1802222
* https://bugs.launchpad.net/kicad/+bug/1802222
2019-04-30 11:49:46 -07:00
Simon Richter 4896daaae5 Update/regenerate pcb_calculator_frame_base.fbp 2019-03-19 15:19:10 -04:00
Simon Richter e286ca170d Fix line endings in pcb_calculator_frame_base.fbp
No text changes
2019-03-19 15:19:10 -04:00
Simon Richter 432e12effd Add a few dielectric values
- Isola FR408
   https://www.isola-group.com/wp-content/uploads/data-sheets/fr408.pdf
 - Isola 370HR
   https://www.isola-group.com/wp-content/uploads/data-sheets/370hr.pdf
 - Rogers RO4003C
   https://www.rogerscorp.com/documents/726/acm/RO4000-Laminates---Data-sheet.pdf
 - Rogers RO4350B
   (as above)
2019-03-19 09:53:34 -04:00
Seth Hillbrand f96d16eba3 Restore LINK_MAP linker options
Removing invalid TO_LINKER missed a few segments where it was used.
This fixes the ability to enable link maps
2019-03-16 20:37:14 -07:00
John Beard e6a6266f3d Build: libpolygon provides its own includes
Libpolygon can provide its own includes via target_include_dirs PUBLIC.
This means any linking targets do not need to specifiy them manually.

As common requires polygon, the polygon dep is also now no longer
required downstream of libcommon, as it's transisitvely implied
by libcommon's target_link_libraries.

This resolves a circular dependency previously detected and also
simplifies CMakeLists.
2019-02-04 19:29:31 -08:00
John Beard bb2ae8e13b Bitmaps: move bitmap defs to bitmaps library
The bitmap definitions (BITMAP_DEF and so on) do not
have any dependencies on other libs, including WX. This
means the bitmaps library can be isolated from the other
dependencies.

Common now depends on bitmaps, and libraries that depend
on common can pick it up from the common target_link_libraries,
as it is PUBLIC. This means a lot of targets no longer
need manual bitmap linkage.

This avoids a circular dependency that was previously reported
by static analysis.

Avoiding pulling in WX and other headers into the include
tree of each bitmap .cpp is a huge speed up (around 10x) in
compilation, and the generated static library is also 10x
smaller (20MB vs 200MB)

Add common as a link library to pnsrouter,connectivity.
THese library do still use common code (including bitmaps,
via base_screen.h) and this allows them to pick up the libcommon
includes correctly.
2019-02-04 19:29:31 -08:00
John Beard 88f9f6f072 Break out ref-des-centric functions to own header
This breaks the following functions out to a general-purposed refdes utils
header:

* MODULE::GetReferencePrefix()
* kicad_string.h RefDesStringCompare()

This acheives:

* Slimming of MODULE interface
* Placement of refdes code in common rather than pcbnew
** Testing of this code in qa_common
* Tighter and smaller includes for code that only needed refdes functions

Note: there are failing tests commited (as expected failures). These
are the cause of lp:1813669 and will be fixed as a follow-up commit.
2019-01-30 15:41:36 -08:00
Maciej Suminski 24f9bfa13b Fixed memory leaks
This is commit a9efbf47 with a fix for SWIG to deal with unique_ptr.
2018-12-20 10:05:58 +01:00
Seth Hillbrand e307d9318b Revert "Fixed memory leaks"
This reverts commit a9efbf4716.

The commit broke compiles with scripting
2018-12-11 10:12:44 -08:00
Maciej Suminski a9efbf4716 Fixed memory leaks 2018-12-11 16:21:43 +01:00
Maciej Suminski 766156ed87 Fix for dark mode on macOS Mojave
Thanks to Scott Rapson and Justace Clutter for the solution.

Fixes: lp:1797989
* https://bugs.launchpad.net/kicad/+bug/1797989
2018-12-07 09:03:56 +01:00
jean-pierre charras 51a128e323 pcb_calculator: code rework: rename "tand" member to "m_tand" and m_name to m_Name 2018-08-24 10:26:05 +02:00
jean-pierre charras da0f956ca5 pcb_calculator: code rework: rename "murC" member by "m_murC" 2018-08-24 10:26:04 +02:00
jean-pierre charras 77477e4f10 pcb_calculator: code rework: rename "sigma" member by "m_sigma", and "skindepth" by "m_skindepth" 2018-08-24 10:26:04 +02:00
jean-pierre charras 884dc1c3e8 pcb_calculator: code rework: rename "f" member by "m_freq" 2018-08-24 10:26:04 +02:00
Wayne Stambaugh 8e7d6063fd Minor dialog and frame window improvements.
Drop all uses of wxRAISED_BORDER and wxSUNKEN_BORDER from dialogs and
panels used in main frame windows.

Drop use of wxSP_3DSASH options on all wxSplitterWindow definitions.

Minor dialog alignment and spacing fixes.
2018-08-02 13:00:41 -04:00
jean-pierre charras 3e5cd86288 Fix a few wxWidgets minor asserts. Fix a compil warning 2018-07-28 10:31:04 +02:00
Seth Hillbrand 96b5dee48f Remove extra sizer label from pcb_calc attentuators 2018-04-23 16:33:53 -07:00
Seth Hillbrand 1a617dd66b Standardizing colon usage in pcb calculator 2018-04-23 16:27:43 -07:00
Seth Hillbrand e6bb917ebf Standardize colon in regulator data dialog 2018-04-23 16:03:43 -07:00
Jon Evans 5b653c0c1e Update MacOS icons
Fixes: lp:1750284
* https://bugs.launchpad.net/kicad/+bug/1750284
2018-03-22 11:45:42 -04:00
Seth Hillbrand 82e5110733 Spelling Synthetize -> Synthesize 2018-03-09 09:43:54 -08:00