Commit Graph

429 Commits

Author SHA1 Message Date
jean-pierre charras b38592b1f6 pcb_calculator: minor enhancement: show formula used to calculate Zdiff 2021-09-12 17:07:23 +02:00
JonRB bffff6c1bf update PCB calculator Zdiff calc. Associated with #9077
adding new messages to the array

increasing the message count

add function and variable declaration

adding main functions

update UI layout to reflect changes
2021-09-12 13:08:41 +00: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 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 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
Seth Hillbrand bc0302fafe Replace RefDesCmp with better StrNumCmp 2021-09-01 11:48:01 -07:00
Seth Hillbrand 4cd9278041 Remove most wxFilepicker wildcards from translations
This prevents translation errors from preventing user actions such as
opening the correct file
2021-08-20 12:56:47 -07:00
jean-pierre charras 60c65c2a1d Avoid loading python stuff when starting applications that do not use it.
It is useless, and debug is slightly easier (less constraints) at least on msys2
2021-08-17 19:48:55 +02:00
Jeff Young 95b87ba29a Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +01:00
Seth Hillbrand 6cd4d68d57 Add drop shadows to MacOS icons
Apple UI guidelines ask for small drop shadows on the icons.  We add
these using ImageMagick when resizing
2021-07-30 20:55:34 -07:00
Seth Hillbrand e7d8b1a975 Resize MacOS icons and script their creation
Creates a script that will fomat the MacOS icons at 80% of the total
size in line with Apple's guidelines.

Script requires Inkscape 1.0 and png2icns (available on Linux boxen)

Fixes https://gitlab.com/kicad/code/kicad/issues/7977
2021-07-30 20:28:14 -07:00
Seth Hillbrand ad8acd328c Expunge some remaining references to kicad-pcb 2021-07-30 20:27:45 -07: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
Wayne Stambaugh 37b200cb3e Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
Jeff Young 3c1af1af74 Update selected tool string when language changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8813
2021-07-23 20:16:53 +01: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 4c457b5ed3 More NULL expunging. 2021-07-18 14:31:55 -04:00
Marek Roszko c794a6ce7a Add pdb install option for msvc 2021-07-14 23:42:45 -04:00
luz paz 0446d35f0d Fix source comment/doc typos (follow-up)
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00: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
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
jean-pierre charras 49de9e405e Fix duplicate variables in a class and its parent. 2021-06-09 19:03:44 +02:00
jean-pierre charras 5cce3f6e18 Fix a few Coverity warnings (not initialized vars) and a minor compil warning 2021-06-09 19:03:44 +02:00
Marek Roszko 20134e4a1b Evict some more eda_item.h includes 2021-06-08 19:12:29 -04:00
Wayne Stambaugh 6b5d512b9f More header clean up. 2021-06-08 15:39:47 -04:00
Marek Roszko 551ddee29e Kick wx.h out of pcb_calculator src 2021-06-07 18:38:51 -04:00
Jon Evans c9a660a80c Rework JSON integration to speed up build 2021-06-05 17:08:38 -04:00
Ian McInerney e5446f8d7d Remove wx/wx.h include from some pcb calculator headers 2021-06-03 01:39:08 +01:00
Marek Roszko a7d1ef9927 Fix some more uninitialized warnings
From PVS Studio
2021-05-30 20:05:37 -04:00
jean-pierre charras 8513ca974c Pcb_calculator: track width tool: make resistivity value read only.
The formula used to calculate the track width is valid only for copper tracks.
So the resistivity value displayed in the panel is only for info, and cannot
be modified.
2021-05-13 10:35:23 +02:00
jean-pierre charras fe5c2d30a3 PCB_CALCULATOR_FRAME_BASE: fix wxWidgets minor alerts.
Fixes #8374
https://gitlab.com/kicad/code/kicad/issues/8374
2021-05-06 08:58:26 +02:00
Jon Evans b986797469 Move pcb calculator to new bitmap system
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8324
2021-05-03 22:28:25 -04:00
Jon Evans c04e19f9ac Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04: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
jean-pierre charras 2d609a795d PCB_CALCULATOR_FRAME: fix missing calls to Layout() after widgets modifications.
Fixes #7858
https://gitlab.com/kicad/code/kicad/issues/7858
2021-03-10 14:07:57 +01:00
Marek Roszko 3d4ac9af03 Relocate win32 resource files to the central folder for further consolidation 2021-03-09 21:48:14 -05:00
Dominik Wernberger e2aa7be4b3 Added a lot of consts and refactored a few lines 2021-03-08 12:49:48 -08:00
Marek Roszko 8831c5567c Add win32 version manifest block 2021-03-04 00:34:48 -05:00
jean-pierre charras 11bc23fab2 pcb_calculator: fix locale fp separator and incorrect coding of utf8 strings. 2021-02-27 16:52:14 +01:00
Jeff Young 34d3218f73 Translation cleanup.
Fixes https://gitlab.com/kicad/code/kicad/issues/6078
2021-02-21 23:13:13 +00:00
jean-pierre charras 9b25e50f3d pcb_calculateur: fix incorrect floating point separator when resetting to default.
Fixes #7622
https://gitlab.com/kicad/code/kicad/issues/7622
2021-02-20 17:09:15 +01:00
jean-pierre charras 41061b5cb1 pcb_calculateur: fix truncation of row labels of wxGrid
this column had a fixed width, that does not work for translated texts
or large fonts.
Fixes #7607
https://gitlab.com/kicad/code/kicad/issues/7607
2021-02-20 16:22:55 +01:00
Jeff Young e822977367 Cleanup. 2021-02-17 14:08:53 +00:00
Jeff Young 29a1ded508 Fix degree symbol.
And then go on and do a boatload more fixes for correct units usage.
2021-02-15 18:37:10 +00:00
jean-pierre charras 443b85739c typo 2021-02-15 07:53:01 +01:00
Jeff Young 5afc56e285 Because we (evidently) didn't have enough display hacks....
Also adds back menubar, which appears to be required for cmd-Q on Mac.
2021-02-14 12:15:26 +00:00
Jeff Young cb7add9280 Fix a few minor things in PCB Calc, and update units to SI.
Fixes https://gitlab.com/kicad/code/kicad/issues/7525

Fixes https://gitlab.com/kicad/code/kicad/issues/3435
2021-02-14 12:15:26 +00:00
Jeff Young 25f621e880 Fix a lot of GUI guideline issues in PCB Calculator.
Colons, capitalization, spacing, etc.

Also fixes another bitmap refresh bug on OSX.
2021-02-13 16:48:47 +00:00
Jeff Young 3f9841355d SVG-based regulator and attenuator bitmaps. 2021-02-13 16:48:47 +00:00
Jeff Young 2773bcf35b Use new SVG bitmaps for PCB Calculator.
They have transparent backgrouds so don't need the whiting out.  They
also suffer from pixellation a lot less.

Fixes https://gitlab.com/kicad/code/kicad/issues/7491
2021-02-12 22:08:19 +00:00
Jeff Young be6683b8b7 Fix cross-platform issue. 2021-02-12 15:56:01 +00:00
jean-pierre charras 6b6d689232 French translation update. 2021-02-12 16:34:46 +01:00
Jeff Young 55020ce2c7 Some more pcb calculator refresh hacks.
Also adjusts the spacing and decimal point in the E-series page.

Fixes https://gitlab.com/kicad/code/kicad/issues/5634
2021-02-12 13:53:29 +00:00
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
Seth Hillbrand 33423fe88d Standardize capitalization
Messages should start with capitalized letter
2018-03-08 12:33:32 -08:00
jean-pierre charras 5d72aebd22 Fix code after renaming files 2018-01-29 16:40:22 +01:00
Camille 9ff66a5274 Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
Simon Richter 758d5727b0 Minor string fixes 2017-12-18 18:09:48 +01:00
Simon Richter a9ccf1161b Fix quotes in UI messages
This replaces all single and angle bracket quotes in UI messages with
double quotes, for consistency.

Sorry to all translators.
2017-12-15 07:33:07 -05:00
Wayne Stambaugh 652b969193 GTK+ file dialog wildcard improvements.
The GTK+ file dialog is case sensitive however it does support regular
expressions.  Most of the file dialog wildcards are lower case so only
files with the lower case extensions will show up in the file dialog.
This code adds a method to convert file extensions of any case to the
appropriate (sch -> [sS][cC][hH]) regular expression on GTK+ builds so
all file extension case combinations will show up in the file dialog.

A note to developers: make sure to add a file extension when setting
when setting the default file argument.  If you do don't set an
extension, the GTK+ file dialog will happily append the regular
expression as the file extension which is surely not what you want.

There are still a few known places (mostly gerbview) where there are
some complex wildcard code that has not been converted.

Fixes lp:1720542

https://bugs.launchpad.net/kicad/+bug/1720542
2017-11-11 19:32:26 -05:00
Marvin Schmidt 69974b73db Remove some extra semicolons 2017-11-09 19:52:18 +01:00
jean-pierre charras 4465c175a0 Pcb_calculator: Minor enhancement in transline page 2017-08-15 19:46:37 +02:00
Tomasz Włostowski 32185ddcd3 Multiple improvements concerning colors, configuration handling and legacy features in pcbnew:
- support for background color setting
    - removed several global config settings (such as g_Drc_On)
    - wrapped most of global config settings in PCB_GENERAL_SETTINGS class
    - reorganized PCB general options dialog to clearly mark which options concern only the legacy canvas
    - new GAL feature for legacy users: double-click (or E) to change track width available as an option.

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

Fixes: lp:1707145
* https://bugs.launchpad.net/kicad/+bug/1707145
2017-08-04 16:06:57 +02:00
Kristoffer Ödmark 19d5cc7548 Removed all exception specifiers since deprecated.
Exception specifiers are deprecated in cpp11, so went through them all
and removed them from the code.
2017-06-12 13:54:55 -04:00
jean-pierre charras 9d524fe2e3 Remove incorrect leading spaces in some strings. 2017-06-07 18:43:53 +02:00
Diego Herranz 0a29e94a60 Calculator: Simplify color code tolerance chooser + typo
Since for this tool the only difference for different tolerances
is the 4th band, which is present for tolerance <= 2% and not
present for 10%/5%, reduce radio choices to those two groups for
clarity.

Fix a typo (4rd -> 4th) and rename one variable to make it
more descriptive as well.
2017-03-13 09:56:31 -04:00
Jon Evans a52250a91e Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas.  When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
2017-02-22 17:35:00 +01:00
Maciej Suminski 6dec72b3c6 Added const modifier to strings in pcb_calculator xpm files
When there is no const modifier gcc warns:
warning: ISO C++11 does not allow conversion from string literal to
'char *' [-Wwritable-strings]
2017-02-09 13:17:31 +01:00
Clemens Koller c9b7647fe0 pcb_calculator: make color code tolerance selection top aligned.
Signed-off-by: Clemens Koller <cko@embeon.de>
2017-02-09 13:04:50 +01:00
Clemens Koller 0a950282c8 pcb_calculator: delete obsolete sources of binary bitmaps (.pngs)
The bitmaps/*.xpm files can be edited as regular pictures
(i.e. using GIMP), so, bitmaps/sources/color_code/* don't need to be
kept as well.

Fixes: lp:1005383

Signed-off-by: Clemens Koller <cko@embeon.de>
2017-02-09 13:01:08 +01:00
Clemens Koller 1161a23b7d pcb_calculator: Cleanup color code bitmaps and remove Ohm sign.
Fixes: lp:1005383

Signed-off-by: Clemens Koller <cko@embeon.de>
2017-02-09 12:58:22 +01:00
Dan Weatherill 5fe5c77234 Remove Ohm sign from color code bitmap
Color code is not specific to resistors.

Fixes: lp:1005383
https://bugs.launchpad.net/kicad/+bug/1005383
2017-01-26 15:41:49 -05:00
jean-pierre charras 92632a7a13 pcb_calculator/transline/microstrip.cpp: remove useless local var, shadowing a member var. 2017-01-20 11:33:01 +01:00
Simon Richter b0f9864bc4 Clean up warnings from exception handlers
The exception objects caught are either not referenced at all, or only in
debug builds. This avoids the warnings for the unused variables.
2016-10-10 11:08:49 -04:00
Simon Richter ad088db6d2 Add more "override" markers. 2016-09-25 13:59:41 -04:00
Simon Richter 59c81976dc Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
Dick Hollenbeck 9ad49dc2d1 Split IO_ERROR out of richio.* and store Problem() and Where() separately 2016-09-20 11:56:18 -04:00
Wayne Stambaugh 9287b42648 Revert commit 67230ac8e7. 2016-08-30 09:04:25 -04:00
Niki Guldbrand 67230ac8e7 Keep Source tree clean
* Move all generated files to the build tree during build so the source
  tree is kept clean.

Signed-off-by: Niki Guldbrand <niki.guldbrand@gmail.com>
2016-08-26 17:25:12 -04:00
Simon Richter bfb6e0bbb2 Convert remaining occurences of stri[n]cmp to str[n]casecmp.
This also reverses the substitution logic if strcasecmp is missing (config.h.cmake)
2016-08-16 10:27:09 +02:00
https://launchpad.net/~dmitrodem-gmail cef8b388a5 Fix pcb_calculator bug: fails to synthesize microstrip line, due to a not removed change which should have been removed after a test. 2016-06-28 17:35:50 +02:00
jean-pierre charras 37deba60c3 Fix shadowed vars (in microstrip.cpp) and deprecated compil warnings. 2016-06-08 09:28:19 +02:00
jean-pierre charras cd30be3fd9 Pcb calculatpor: Minor enhancements in main frame. 2016-06-08 09:25:43 +02:00
Simon Richter 715eddf68b Code cleanup: remove dead code, add comment. 2016-06-08 08:32:01 +02:00
Simon Richter 96ec9db5d6 Add missing C++ stdlib headers
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
jean-pierre charras 6a7544a2ca Fix a few deprecated compil warnings in dialogs generated by wxformbuilder 2016-05-11 10:51:07 +02:00
jean-pierre charras 63decd70e6 Minor fixes: Fix a few shadowed local variables, and deprecated warnings is a few dialogs generated by wxFormbuilder (using a very recent wxFormbuilder version, after apr 25, 2016) 2016-05-06 17:15:30 +02:00
jean-pierre charras fde2cfee27 Minor changes: remove a few local shadowed local variables detected using " -Wshadow" gcc compil option ( No bug, just a better code readability ) and fix minor coding style issues. 2016-04-18 20:15:44 +02:00
jean-pierre charras f0e2628e40 Very minor changes: remove a few local shadowed variables (mainly local variables having the same name in the same function) detected using " -Wshadow" gcc compil option ( No bug, just a better code readability ) 2016-04-16 11:57:42 +02:00
Chris Pavlina 168de616be Delete unused documentation 2016-02-12 15:48:24 -05:00
Simon Richter 23e8c3ebf3 Executable icon resource build configuration fixes.
* The resource setting for bitmap2component is too late in the CMakeLists.txt,
  and is being ignored. Bitmap2component does not have an icon resource on
  Windows.  Moving the entire section resolves the issue.
* The other programs only have the mingw special case listed, not the generic
  declaration for the resource file so added them.
2016-01-28 11:53:24 -05:00
jean-pierre charras e3f399ca38 pcb_calculator: remove no more in use png files. 2016-01-16 15:59:50 +01:00
jean-pierre charras 454dd64ac5 Remove autogenerated files 2016-01-16 15:50:34 +01:00
jean-pierre charras 6155cba077 kicad_curl.cpp: fix a compil warning on Windows (regression)
pcb_calculator: fix incorrect formulas shown in attenuators panel. Png files are no more used, and formulas are now html doc files.
2016-01-16 15:27:42 +01:00
jean-pierre charras b3af0fdcad Pcb_calculator: fix a minor cosmetic issue in tracks width versus current notebook page. 2016-01-07 21:01:45 +01:00
Jon Neal 89c183f041 Add a new dropdown type that has oz/ft^2 for the pcb track width calculator. 2016-01-05 19:04:45 -05:00
jean-pierre charras 7b0d981f21 pcb_calculator: bigger (more readable) microstrip_zodd_zeven bitmap. 2015-11-29 20:22:03 +01:00
jean-pierre charras da9f68911c Autosize row label column in wxGrid in pcb_calculator and design rules dialog.
Pcbnew: auxiliary axis shape: use the same look as GAL, to be consistent with GAL.
Minor change in dialog_env_var_config (use the wxStdDialogButtonSize for usual OK, Cancel and help buttons)
2015-11-29 15:19:22 +01:00
Simon Wells 96918d4a8a Changed the bundle identifier to org.kicad-pcb.<app> to follow the kicad domain name 2015-10-30 08:43:04 +13:00