Seth Hillbrand
67d9729311
Treat all units equally when converting to string
...
Excessive trucation in mils can lead to data loss when round-tripping
values. Better to keep decimal count consistent between units
Fixes https://gitlab.com/kicad/code/kicad/issues/11878
2022-06-21 15:21:57 -07:00
Jeff Young
d299ddbc7e
Cleanup.
2022-02-27 12:05:39 +00:00
Jeff Young
0091c76a6f
Excise deci-degrees from UNIT_BINDER.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10495
2022-01-19 00:10:32 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
28b279cb2d
Units cleanup.
...
It's 2021. Time to move beyond ASCII. This also makes spacing of
units consistent (space before abbreviated units, no space before
symbolic units).
2021-12-23 22:17:10 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00: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
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Marek Roszko
45d1684bbe
Move inline function declaration to allow removing include
2021-06-01 19:03:22 -04:00
Jon Evans
433e148e08
Move some string formatting functions out of base_units
...
Keeping them in base_units means that we can't introduce
any dependence on these functions to anything that needs to
compile without one of the unit defines (EESCHEMA, PCBNEW, etc)
2021-04-14 23:21:10 -04:00
jean-pierre charras
7c64dba333
NUMERIC_EVALUATOR::parseSetResult(): fix incorrect use of %g to print a double.
...
This function is used in UNIT_BINDER, that does not accept floating notation
with exponent, that can be generated by parseSetResult().
As a result: values < 0.0001 cannot be entered in a UNIT_BINDER.
2021-04-14 19:47:03 +02:00
Jeff Young
eb5a85ba91
Fix coding error in DoubleValueFromString.
2021-03-20 21:53:30 +00:00
Mikolaj Wielgus
4e438763a3
Use the same StringFromValue() formatting in Eeschema as in other tools
2021-03-15 15:43:36 +00:00
Wayne Stambaugh
c11ded24cd
Add instrumentation to track down local issues in symbol library file code.
2021-02-01 12:57:16 -05:00
Jeff Young
a42d8cecd7
Allow either decimal separator when parsing numbers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7022
2021-01-09 17:16:29 +00:00
jean-pierre charras
f26a1a32e0
UNIT_BINDER: better support of DEGREES units (and some fixes).
...
Especially, add a way to define the number of digits in mantissa.
base_units.cpp: set number of digits in mantissa to 3 instead of 1 for DEGREES
2020-12-11 16:26:58 +01:00
Marek Roszko
133b011124
Move StripTrailingZeros to kicad_string.h
2020-10-25 00:02:53 -04:00
Ian McInerney
7e17b39755
Bump up precisions for mm and mils to 2 and 4 respectively
2020-10-07 23:24:27 +01:00
Jeff Young
ee95d8fe2e
Improve SNR in status bar (and use common code).
2020-10-06 12:08:31 +01:00
Ian McInerney
122bd7ca7c
Make the statubar aware of mils units
...
Switch Eeschema to use the built-in printing routines
because its precisions are close to those and it is
cleaner.
Give mils a precision of 2 decimal places to match
the precision shown in inches.
2020-10-04 17:53:55 +01:00
Mikolaj Wielgus
d14761bee6
Fix inches being sometimes used instead of mils
2020-10-03 20:06:56 +00:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Jon Evans
44f3cdb31e
Fix a few issues with zone islands
2020-06-29 12:16:37 -04: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
5340046747
base_units.cpp: better fix for a overzealous gcc compil warning than 4f369801
fix.
...
(Replaced a useless break by a default case with a debug warning)
2020-04-27 10:12:01 +02:00
jean-pierre charras
4f369801f2
Fix a few compil and Coverity warnings.
2020-04-25 08:49:16 +02:00
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
...
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Jeff Young
fbd68722b2
Fix a couple of problems with text stroke thickness.
2020-04-21 21:17:59 +01:00
Wayne Stambaugh
e1900161a7
Eeschema: implement new symbol library file s-expression formatter.
...
CHANGES: Symbol library file format has been converted to s-expressions.
Add support code for picking apart symbols at some future junction that
will allow full inheritance conversion of existing symbol libraries. For
now, symbols arranged by unit and body style numbers are nested for round
robin testing of symbol libraries once the parser is complete.
2020-03-03 08:06:22 -05:00
Ian McInerney
6b8d81e95d
Add zone area to message panel
...
ADDED: Area of zone fill is displayed in the message panel
Fixes https://gitlab.com/kicad/code/kicad/issues/2412
2020-02-05 09:44:53 +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
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
jean-pierre charras
f3f0e20a67
Pcbnew: add a board layer stack manager
...
This is a new feature.
2019-09-05 18:51:18 +02:00
Seth Hillbrand
c8a6878eb8
pcbnew: Allow tuning length to be longer than INT_MAX
...
The INT_MAX limit for most elements makes sense only for single-segment,
straight line elements. For elements that accumulate lengths, we should
utilize the long long int (64 bits) to allow for greater lengths.
Fixes: lp:1842367
* https://bugs.launchpad.net/kicad/+bug/1842367
2019-09-03 16:41:09 -07:00
Seth Hillbrand
d650cca088
Enforcing rational limits on length tuner
...
The length tuning dialog needed validators on close to prevent negative
and percentages >100%
Fixes: lp:1834734
* https://bugs.launchpad.net/kicad/+bug/1834734
(cherry picked from commit 3974c6fd89
)
2019-06-29 09:38:27 -07:00
Seth Hillbrand
90ad240660
units: Move common units and add tests
...
Centralizing duplicate code from Eeschema and pcbnew and adding unit
tests
2019-01-08 09:29:32 -08:00
Jeff Young
18d2f95fd5
Attempt to fix reading dimension units from file.
...
It fails when the decimal separator is a ',', so this change
simplifies the logic to just handle '.' and ','.
Fixes: lp:1782797
* https://bugs.launchpad.net/kicad/+bug/1782797
2018-07-26 21:27:49 +01:00
Jeff Young
5c646119a7
Allow user-specification of dimension units.
...
Also fixes a units bug when round-tripping a dimension through
the file format.
Fixes: lp:1782797
* https://bugs.launchpad.net/kicad/+bug/1782797
2018-07-21 13:50:21 +01:00
Jeff Young
d5e88f574f
Clean up units infrastructure after g_UserUnit removal.
...
Fixes: lp:1538239
* https://bugs.launchpad.net/kicad/+bug/1538239
(cherry picked from commit 96d7178)
2018-07-17 15:12:36 +01:00
Jeff Young
5ce0f8ba54
Kill off a few more g_UserUnit references.
...
(cherry picked from commit 452b1a7)
2018-07-17 15:12:07 +01:00
Jeff Young
eacaa39aa2
Remove global units usage from GetSelectionText...
...
... and GetMsgPanelInfo.
Step 4 in the g_UserUnit eradication effort.
Also removes a couple of conversion routines that were close
enough to extinction.
(cherry picked from commit c75da51)
2018-07-17 15:11:09 +01:00
Jeff Young
124c6d9857
Add in-place editing and validation to Design Rules.
...
Includes UNIT_BINDER transition and some general layout cleanup.
(cherry picked from commit 282119e)
2018-07-17 15:10:55 +01:00
Jeff Young
f7861c90ec
Use more self-documenting names for conversion routines.
...
In particular, make sure no one thinks the low-precision ones are
OK for dialogs and/or files.
(cherry picked from commit bc1fcfa)
2018-07-17 15:10:13 +01:00
Jeff Young
f0f9e4a1cb
Kicad-ize the numeric evaluator.
...
Naming conventions, code formatting, and wxStrings.
(cherry picked from commit 4a0d7a8)
2018-07-17 15:10:01 +01:00
Jeff Young
4f8c546140
Implement user units uniformly in EDA_DRAW_FRAME
...
Step 1 of the g_UserUnit global eradication. This commit includes
basic hookup of hotkeys, units tool-buttons and grid dialogs.
(cherry picked from commit e0500ab)
2018-07-17 15:09:51 +01:00
Seth Hillbrand
26392f8070
Remove spaces from start of common translated words
2018-03-09 08:40:43 -08:00
jean-pierre charras
d0754acf00
Fix code after renaming files
2018-01-29 11:37:29 +01:00
Michael Geselbracht
b5fc6e45cf
Numeric expression evaluator
2017-11-24 21:15:40 +01:00
John Beard
f723a5319c
Move some unit related util function to base_units.h
2017-03-23 12:47:05 -04:00