Commit Graph

28 Commits

Author SHA1 Message Date
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
jean-pierre charras 443b85739c typo 2021-02-15 07:53:01 +01: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 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
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 61ada3a602 Remove translation markers from strings that cannot be translated. 2020-08-08 07:47:58 +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
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
Seth Hillbrand 7c28c3838a Comment-only changes
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
jean-pierre charras 460d1f2a15 pcb_calculator: code cleanup. Remove a few duplicate code. 2019-05-02 08:54:16 +02: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
Seth Hillbrand 1a617dd66b Standardizing colon usage in pcb calculator 2018-04-23 16:27:43 -07:00
Seth Hillbrand 33423fe88d Standardize capitalization
Messages should start with capitalized letter
2018-03-08 12:33:32 -08: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 e2c7e6bf02 onrightclick.cpp: remove useless wxClientDC, which was used only the hide/show (to the same location) the on-grid cursor during the creation of the popup menu (perhaps a trace of legacy code).
Minor changes in pcb_calculator GUI messages to make easier translation of these messages.
Cosmetic enhancements for 2 icons
2015-05-09 10:37:50 +02:00
jean-pierre charras a550ff84db Fix some coverity and cppcheck warnings (most are very minor issues: not initialized members and initialized but not used variables) 2015-03-04 10:26:00 +01:00
Wayne Stambaugh f12953855e More missing source license fixes. 2014-10-23 13:53:38 -04: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 8ccf0320b4 1) Add "rules" to base of tree for copying into BZR_HOME/rules.
File "rules" has instructional text as comments near top.

2) Convert all text files in repo to LF line ending form.
   Any checkout done with "rules" in play will convert the working
   tree to native line ending, while keeping repo as LF line ending.
2013-05-25 23:36:44 -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 c4428ae523 Pcb calculator: Add track width tool 2011-08-07 18:02:58 +02: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