Jeff Young
2af6d01fdf
Add some defensive code for empty polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4947
2020-07-25 17:35:05 +01:00
jean-pierre charras
6f7d5f5e2b
Footprint editor: fix some issues in flip and mirror commands.
...
more about fixes #4958
https://gitlab.com/kicad/code/kicad/issues/4958
2020-07-25 18:10:24 +02:00
Jeff Young
bf445c1a95
Performance enhancements.
...
1) cache pad polygon outlines
huge improvement in connectivity performance and a decent
improvement in DRC performance
2) don't pre-allocate CONTEXT stack
significant improvement in DRC rule performance
2) don't keep re-encoding strings
decent improvement in DRC rule performance
2020-07-25 13:03:33 +01:00
Jeff Young
d1d7f5e7fa
Fix text size in Edit Footprint dialog.
2020-07-25 13:03:33 +01:00
Jeff Young
73c6fc8b8b
Make opacity box line up with scale, rotation and offset boxes.
2020-07-25 13:03:33 +01:00
jean-pierre charras
377da31fcc
D_PAD copy ctor and operator = : fix missing copy of pad name and pin function members.
2020-07-25 13:28:20 +02:00
jean-pierre charras
bebba1df61
D_PAD copy ctor and operator = : fix missing copy of m_LengthPadToDie member.
2020-07-25 08:29:33 +02:00
Peter Montgomery
33af2d9a95
Disable 'Get Stored Choice' button when no choices have been stored
2020-07-24 22:22:38 +00:00
jean-pierre charras
b5960dfb40
class D_PAD: add Copy ctor and operator =.
...
Due to the fact basic primitives for custom pads are now managed by
a list of pointer, the default copy ctor and default operator = do not work
(the basic primitives list must be duplicated).
It fixes issues related to primitives list id pad edition, footprint edition
and undo/redo
Fixes #4958
https://gitlab.com/kicad/code/kicad/issues/4958
2020-07-24 18:02:56 +02:00
Jeff Young
f97c50bfde
Give excluded DRC items their own layer.
...
(And fix a bug with the new mulit-layer zones and rule-based keepouts
at the same time which prevented me from testing it.)
Fixes https://gitlab.com/kicad/code/kicad/issues/4954
2020-07-24 01:28:25 +01:00
Jeff Young
6529e339a9
Don't store context in the uCode. (It's not thread-safe.)
...
Although it does give some pretty funny results when filling zones.
2020-07-23 22:21:13 +01:00
Jeff Young
b60303efdb
Fix crash due to uninitialised variable.
2020-07-23 17:20:32 +01:00
Jeff Young
ac6ceb84bf
Fix bug which would throw away all enum values after a Get().
...
(It was allocating a stack variable copy of the singleton, which
when freed cleared the singleton's m_choices.)
https://forum.kicad.info/t/need-some-guinea-pigs-for-a-rule-based-drc-prototype/22955/85
2020-07-23 16:41:58 +01:00
Jeff Young
f2812773d4
Better handling of undefined values in Rule expressions.
...
This is particularly important to keep the user from having to
enter overly verbose statements such as:
A.Type == 'via' && A.Via_Type == 'buried'
when:
A.Via_Type == 'buried'
is perfectly clear.
2020-07-23 16:41:58 +01:00
Jeff Young
84085df82a
Fix tokenizer to allow '_' in tokens.
2020-07-23 16:41:58 +01:00
jean-pierre charras
c254b331f3
Pcbnew: Activate pad fabrication property in pad properties dialog.
...
It was previously an option of advanced config since 6 months.
It is now not optional.
2020-07-23 14:33:24 +02:00
jean-pierre charras
5ef50ab27a
Kicad manager: cosmetic fixes: fix incorrect bitmaps in Kicad manager tree file.
...
Use the right bitmap for .gbr and .gbrjob files.
2020-07-23 14:07:26 +02:00
Ian McInerney
7067e42da7
Fix version string included in Coverity submission
2020-07-22 23:48:16 +01:00
Jeff Young
86c9adbcba
Add auto-completion for DRC rule function calls.
2020-07-22 21:28:02 +01:00
Tomasz Wlostowski
70b98c3b49
router: dump entire event log + annotated PCB upon user request
2020-07-22 18:05:54 +02:00
Tomasz Wlostowski
379aa8f3b5
router: clearer distinction between LOGGER and DEBUG_DECORATOR classes.
...
The first one keeps a log of events (start routing, mouse motion, etc).
The second allows for adding temporary debug drawings and messages which are stored synchronously with the events in LOGGER.
The event stream together with the PCB design (now with UUIDs) can be used to deterministically replay routing bugs as the user sees them.
2020-07-22 18:05:54 +02:00
Tomasz Wlostowski
2a2e389a94
router: auto-guess track posture from mouse movements, experimental!
2020-07-22 18:05:50 +02:00
Tomasz Wlostowski
fd07e94760
router: abstract segment links into a LINK_HOLDER interface. DIFF_PAIRS are now also linkable
2020-07-22 17:04:42 +02:00
Tomasz Wlostowski
151b4e4e5e
libcontext: clean up own's shit when coroutine call is over (MSVC only)
2020-07-22 16:57:54 +02:00
Jeff Young
637571e0be
Assume mm if units not given in DRC rules.
...
This keeps us from internalizing them as nm which appear to have
no effect (at least visually).
2020-07-22 15:11:23 +01:00
Jeff Young
864087890b
Fix typo assuming new field value was always the name.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4936
2020-07-22 15:10:54 +01:00
Jeff Young
150c781f27
Fixup formatting and coding style.
2020-07-22 14:33:32 +01:00
Jeff Young
a6b6084a60
Add preflighting for DRC rule function calls.
2020-07-22 14:33:32 +01:00
jean-pierre charras
a61ea1fb0c
Fix a compil warning
2020-07-22 09:02:30 +02:00
Peter Montgomery
5fd7064f76
Add Gerber filename to 'Select Layer:' dialog
...
The 'Select Layer:' dialog pops up directly over the dialog with the loaded
Gerbers and hides all Gerber file names. This is just an aid so users remember
exactly which Gerber layer they're working on without having to move the dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4893
2020-07-22 02:03:43 +00:00
Ian McInerney
450107e453
Remove if statement with duplicated branches in router
2020-07-22 00:18:30 +01:00
Ian McInerney
21e199f675
Allow all common settings panels to be reset
2020-07-22 00:18:30 +01:00
Ian McInerney
7d1deb8a3b
Add Python 3.9 interpreter
...
This was forgotten in the original commit
7fd661f06b
that added the 3.9 library.
2020-07-22 00:18:29 +01:00
Ian McInerney
9997c46ee4
Make Coverity use the main KiCad version string
...
Also create a kicad_build_version.txt file in the build directory
that only contains the version string.
2020-07-22 00:18:29 +01:00
Jeff Young
fd647a1fa9
Code completion hookup to property manager.
2020-07-21 23:43:10 +01:00
Jeff Young
c52df811ae
Add expression eval to constraint min/max/opt values.
...
Also adds error reporting for above.
2020-07-21 23:43:10 +01:00
Jeff Young
7cbd166df7
Don't complain about duplicate names when the name didn't change.
2020-07-21 23:43:10 +01:00
Jeff Young
beb5bad9b7
Initialize Scintilla with correct braces for sexpr grammar.
2020-07-21 23:43:10 +01:00
Ben Ellis
42a2f13464
Added a check that sexprs isn't empty before popping
...
This fixes a crash on malformed sexprs in the DRC rules panel
2020-07-21 14:52:48 +00:00
Jon Evans
9a801d8b72
Don't disrupt diff pairs when auto-renaming buses
...
With bus groups we can use the prefix to disambiguate
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4916
2020-07-20 20:41:56 -04:00
Fabien Corona
a1437f4a95
Eeschema : Add A5 sheet size
2020-07-21 00:00:36 +00:00
Jon Evans
a107f7ce5b
Fix a few issues with legacy project loading
...
- Prevent crash on project tree for "Empty project" item
- Correctly handle loading of legacy projects in tree view
- Fix an issue where legacy projects would not get saved
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4944
2020-07-20 19:39:59 -04:00
Jeff Young
1790c536ef
Allow user layer names to be used in DRC rules.
...
I imagine this will also fix the property inspector, once it
gets merged.
2020-07-20 23:28:54 +01:00
Jeff Young
095937563b
Hook libeval compiler up to rule parser
...
- convert expression string tokens to single-quote-delimited
- fix bug where netclass assignments weren't getting updated after
board setup dialog
- move property manager rebuild to lazy evaluation
- improve performance with wider use of const&
- retire DRC_SELECTOR stuff
- use wxString for GUI stuff (particularly translated stuff)
- fix EqualTo() to return false instead of asserting when op types
don't match
- fix buffer overruns with fixed-size string buffers
- make expression function calls case-insensitive
- integrate expression errors into rule parser
- produce more and better error messages
- keep BOARD_ITEM ptrs const as long as possible
- fix a couple of uninitialized variables
2020-07-20 22:11:53 +01:00
jean-pierre charras
6d8fb94d86
Fix a few Coverity warnings.
2020-07-20 16:19:19 +02:00
Mark Roszko
3b727b5d16
Make preference groups not selectable
2020-07-20 13:45:46 +00:00
Ian McInerney
20c1492b6a
Initialize pointers to nullptr in copy constructor
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4940
2020-07-20 11:31:34 +01:00
Ian McInerney
8d73be7d30
Delete tool dispatcher in KICAD_MANAGER_FRAME
...
Not deleting this is a memory leak.
2020-07-20 11:31:34 +01:00
Seth Hillbrand
aa788b452e
Adding Fabmaster extensions
2020-07-19 20:46:14 -07:00
jean-pierre charras
1d450adfdf
Eeschema: fix crash when trying to save as a library in a non writable folder.
...
The crash was due to a non caught thrown error.
Fixes #4914
https://gitlab.com/kicad/code/kicad/issues/4914
2020-07-19 18:27:19 +02:00