Commit Graph

36 Commits

Author SHA1 Message Date
Jon Evans eb5b3db063 Add bitmap bundle support to BITMAP_SCALE
Change a bunch of buttons and toolbars to use it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
jean-pierre charras f3eac6a12f pcb_calculator, transmission lines: some fixes:
- ensure settings are correctly saved after change in dialog
- make reinit to defaults working
- cosmetic enhancement
2023-06-14 11:59:43 +02:00
Marek Roszko 4665823089 Turn on and fix MSVC compliance mode issues
We want /permissive- to enable debug performance improvements in MSVC 17.5+.
This flag is also default under C++20 so we'll have to deal with these compile issues anyway at some point in the future.

In particular, MSVC becomes pedantic about ternary types.
See https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170#ambiguous-conditional-operator-arguments

MSFT cites https://cplusplus.github.io/CWG/issues/1805.html
2023-02-12 16:30:37 -05:00
Fabien Corona 81108ed106 ADDED: pcb_calculator: wavelength panel 2022-07-06 18:28:59 +00:00
Seth Hillbrand 428970eb13 PCB_Calculator: Fix coupled microstrip diff Z
bffff6c1bf was well-meaning but mistook Zodd for Zsingle.  2*Zodd is the
appropriate value for differential impedance
2021-11-07 17:07:50 -08:00
Ian McInerney c14bdf7fe0 pcb_calculator: Update panel images/text when system theme changes 2021-10-08 17:31:21 +01:00
Ian McInerney 1f4955a632 Reorganize the pcb_calculator directory to make it more logical 2021-10-08 15:44:44 +01:00
jean-pierre charras a74851bb5d pcb_calculator rework: move transline panel to its own files panel_transline_xx
also a small code cleanup
2021-10-05 18:43:07 +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
Wayne Stambaugh 4c457b5ed3 More NULL expunging. 2021-07-18 14:31:55 -04:00
Marek Roszko 551ddee29e Kick wx.h out of pcb_calculator src 2021-06-07 18:38:51 -04: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 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 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
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 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
Dominik Wernberger ac94d72d2d Add more const specifiers 2021-01-12 20:51:31 +00:00
Marek Roszko cfdd105cdd Some more cleaning in pcb calculator 2020-10-12 22:01:44 -04:00
Marek Roszko 2ade8031dc Clean up pcb_calculator includes a bit and rename files 2020-10-12 22:01:43 -04: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
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
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
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
jean-pierre charras 460d1f2a15 pcb_calculator: code cleanup. Remove a few duplicate code. 2019-05-02 08:54:16 +02: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
jean-pierre charras 4465c175a0 Pcb_calculator: Minor enhancement in transline page 2017-08-15 19:46:37 +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
jean-pierre charras 9de24b15ae Pcb_calculator: Fix a bug which prevents the pcb_calculator to write and read correctly its configuration file.
* Cosmetic enhancements in transmission lines panel.
* Fix very minor cosmetic issues in track width versus current panel
2015-08-09 11:03:25 +02:00
jean-pierre charras 262ec8920a Minor fixes for Windows: move resources from dso to .exe, to have the application icon in executable, and therefore shown in shortcuts.
pcb_calculator: minor coding style fix.
2014-03-22 09:28:39 +01:00
Dick Hollenbeck 2c67c3ff80 * KIWAY Milestone A): Make major modules into DLL/DSOs.
!   The initial testing of this commit should be done using a Debug build so that
    all the wxASSERT()s are enabled.  Also, be sure and keep enabled the
    USE_KIWAY_DLLs option.  The tree won't likely build without it.  Turning it
    off is senseless anyways.  If you want stable code, go back to a prior version,
    the one tagged with "stable".

*   Relocate all functionality out of the wxApp derivative into more finely
    targeted purposes:
    a) DLL/DSO specific
    b) PROJECT specific
    c) EXE or process specific
    d) configuration file specific data
    e) configuration file manipulations functions.

    All of this functionality was blended into an extremely large wxApp derivative
    and that was incompatible with the desire to support multiple concurrently
    loaded DLL/DSO's ("KIFACE")s and multiple concurrently open projects.
    An amazing amount of organization come from simply sorting each bit of
    functionality into the proper box.

*   Switch to wxConfigBase from wxConfig everywhere except instantiation.
*   Add classes KIWAY, KIFACE, KIFACE_I, SEARCH_STACK, PGM_BASE, PGM_KICAD,
    PGM_SINGLE_TOP,
*   Remove "Return" prefix on many function names.
*   Remove obvious comments from CMakeLists.txt files, and from else() and endif()s.
*   Fix building boost for use in a DSO on linux.
*   Remove some of the assumptions in the CMakeLists.txt files that windows had
    to be the host platform when building windows binaries.
*   Reduce the number of wxStrings being constructed at program load time via
    static construction.
*   Pass wxConfigBase* to all SaveSettings() and LoadSettings() functions so that
    these functions are useful even when the wxConfigBase comes from another
    source, as is the case in the KICAD_MANAGER_FRAME.
*   Move the setting of the KIPRJMOD environment variable into class PROJECT,
    so that it can be moved into a project variable soon, and out of FP_LIB_TABLE.
*   Add the KIWAY_PLAYER which is associated with a particular PROJECT, and all
    its child wxFrames and wxDialogs now have a Kiway() member function which
    returns a KIWAY& that that window tree branch is in support of.  This is like
    wxWindows DNA in that child windows get this member with proper value at time
    of construction.
*   Anticipate some of the needs for milestones B) and C) and make code
    adjustments now in an effort to reduce work in those milestones.
*   No testing has been done for python scripting, since milestone C) has that
    being largely reworked and re-thought-out.
2014-03-19 19:42:08 -05:00
Dick Hollenbeck b8a0ab4c52 switch to <> for includes from "" per conversation with Jean-Pierre and Wayne, adjust search paths 2012-01-22 22:33:36 -06:00
jean-pierre charras 1275240759 Add a new utility: pcb_calculator (need of course wore work)
Eeschema: optimize import of footprints names ( .stf files) that was time consumming with large designs.
2011-08-05 21:53:42 +02:00