Jeff Young
7342532276
Remove auto.
5 years ago
Jeff Young
692aeff334
Fix a bunch of usages of copy ctor that really meant duplicate.
In particular, "duplicate" means "with a new KIID".
Fixes https://gitlab.com/kicad/code/kicad/issues/5127
5 years ago
Jeff Young
6b7503be8e
ADDED properties passed between eescema and pcbnew.
And referencable from textVars.
Fixes https://gitlab.com/kicad/code/kicad/issues/5079
5 years ago
Seth Hillbrand
0a5f11fb37
Keep item ordering as much as possible
The ordering goes first by type and then by uuid. In the case of
DRAWSEGMENT and EDGE_MODULE, we also sort by shape type before UUID.
Fixes https://gitlab.com/kicad/code/kicad/issues/4068
5 years ago
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
5 years ago
Ian McInerney
5ba0855c36
Add move operators to MODULE
This fixes a memory leak in the std:: containers in MODULE
that is noticable when moving a module on the board and cancelling
the operation.
5 years ago
jean-pierre charras
0ff866895a
module and pad display info: add rotation angle.
This is a useful parameter, so it must be displayed on the pmessage panel.
5 years ago
Tomasz Wlostowski
539984229d
Temporarily disable D_PAD/MODULE GetLocalClearance property in introspection engine
5 years ago
Maciej Suminski
04728278c0
Updated classes meta-data to take advantage of property replacement
6 years ago
Maciej Suminski
a289056a9e
Properties meta-data for pcbnew classes
6 years ago
Jeff Young
304328ca13
Fix Linux compile error.
5 years ago
Jeff Young
6acd35c981
Cleanup.
5 years ago
Jeff Young
8b084c373e
Autocomplete for text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/4190
6 years ago
Jeff Young
69f121d907
Another attempt to get DRC and status bar to share message content.
6 years ago
Jeff Young
56946f4db1
Fix pad name increment to use last edited pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/1882
6 years ago
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
6 years ago
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
modified: eeschema/lib_rectangle.cpp
6 years ago
Jeff Young
7f1b409305
Remove dead legacy print code.
6 years ago
Jeff Young
aba0fa7bf8
Allow cross-referencing text substitutions.
6 years ago
Jeff Young
4990d1e7b2
Variable substitution framework.
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
6 years ago
Jeff Young
204f2cd580
Reference -> reference designator.
Fixes https://gitlab.com/kicad/code/kicad/issues/4012
6 years ago
Seth Hillbrand
8c19b4b6ae
pcbnew: Adding arcs to PNS
This is allows ARCs in tracks to be synchronized with
the PNS router. Note this does not yet include the UI components
to route curved traces
7 years ago
Jeff Young
129042f8a6
Convert timestamps to UUIDs.
6 years ago
Jeff Young
2286652abe
Handle duplication of footprint ref and value.
Fixes https://gitlab.com/kicad/code/kicad/issues/3828
6 years ago
Jeff Young
d24bd5c832
Fix a couple of Coverity issues.
6 years ago
Ian McInerney
f896043067
Fix comments for switch statement fall throughs
This cleans up all GCC warnings (-Wimplicit-fallthrough=2) about
implicitly falling through switch cases.
6 years ago
Mark Roszko
19ceb11ae7
Change more enums over to scoped enums
6 years ago
Mark Roszko
11ff16be4e
Switch to scoped enums
6 years ago
Seth Hillbrand
9b7d4e2742
Recleaning DLIST from pcbnew
This was re-introduced by 5d3e6e3d44
The crash happened b/c we have to manage list containers in each element
and minor adjustments cause the rest of the list to be lost. This
commit re-implements it using std::iterators and deque
Fixes #2623 | https://gitlab.com/kicad/code/kicad/issues/2623
6 years ago
jean-pierre charras
65bf669387
Refinements in gerber placefile writer: allows adding board edge cuts in file.
Use a pad bounding box for footprints having no valid courtyard defined.
Refinement also in Gerber files when plotting oval pads.
6 years ago
Seth Hillbrand
43768b71c0
Unify string lists of forbidden footprint chars
We have forbidden lists maintained in 3 separate locations. This causes
a bit of confusion as to which is correct.
This makes the list uniform but remains to place the character set in a
single location.
6 years ago
jean-pierre charras
04bae776a7
Keepout in footprints: fix issues related to netclass management. Keepout do not actually use netclasses, but the netclass info must be valid. Especially when editing a fp in the fp editor, the netclass info is related to the dummy board managed by the fp editor. But when saved to the board editor the netclass info must be related to the main board
6 years ago
jean-pierre charras
bc5dcf182f
keepout in footprint: fix some crashes and issues. Create a specific type (PCB_MODULE_ZONE_AREA_T) for zones in footprint. The new class (MODULE_ZONE_CONTAINER) is the same as ZONE_CONTAINER, but the type ID is PCB_MODULE_ZONE_AREA_T instead of PCB_ZONE_AREA_T.
This is mandatory because these zones must be handled differently in many functions.
6 years ago
Ross Schlaikjer
64a42ffa35
Add keepout in footprints: Starting point.
6 years ago
jean-pierre charras
9d617502d5
Gerbview: fix missing grid initialization at starting.
6 years ago
jean-pierre charras
115e1e33da
dialog edit footprint: display fp orientation between -180 and + 180 instead of 0 ... 360 deg.
Previously, the wxTextCtrl was using 0 ... 360 but the predefined values are -90 to 180 deg.
6 years ago
jean-pierre charras
a52dc57887
Pcbnew: Fix incorrect footprint angle rotation after flipping around Y axis (left to right)
The angle rotation was always negated. But this is incorrect:
The angle rotation must be negated when flipping around X axis
The angle rotation must be 180 - initial rotation when flipping around Y axis
This bug can break position files and footprint updates,
especially when mixing flipping around Y axis and flipping around X axis.
6 years ago
jean-pierre charras
64b5e8bee2
Minor fix and enhancement code.
6 years ago
Jeff Young
375e8a2f97
Only add ref & value to boundingBox if they're visible.
Fixes: lp:1746911
* https://bugs.launchpad.net/kicad/+bug/1746911
6 years ago
Ian McInerney
d170243d61
Fix some memory leaks
Some elements of modules and boards were not deleted, so memory
was being leaked on some library loads and single-instance
pcbnew usage.
6 years ago
Jeff Young
ab283174df
Make sure edit flags get cleared after drawing footprint items.
Fixes: lp:1839518
* https://bugs.launchpad.net/kicad/+bug/1839518
6 years ago
jean-pierre charras
3d9c04ecaf
Pcbnew: Fix bug in MODULE::FindPadByName( const wxString& aPadName ).
This method was using a case insensitive comparison to find the pad matching aPadName.
But in netlist we are using case sensitive comparisons to attribute a net to a pad.
So if in the netlist there is a pad name that does not match any footprint pad name using case sensitive comparison but if it matches some pads using case insensitive comparison, the net is not set, but the test to detect non existing pads fails.
6 years ago
Jeff Young
1a7cef2950
Improve performance, commenting and API of some polygon classes.
6 years ago
Jeff Young
37af3adffb
Add preference for flip axis.
Fixes: lp:1836267
* https://bugs.launchpad.net/kicad/+bug/1836267
6 years ago
Seth Hillbrand
32052d953f
pcbnew: Fix STL blunder when deleting
Deleting objects from a container will invalidate the iterator that
contains the object. Correct deleting requires capturing the iterator
returned by the erase function.
Fixes: lp:1832331
* https://bugs.launchpad.net/kicad/+bug/1832331
7 years ago
Seth Hillbrand
6a45446496
pcbnew: Remove the last dlist from modules/pcbnew
7 years ago
Seth Hillbrand
9163ac543a
pcbnew: Move pads to std::deque
7 years ago
Jeff Young
c2662b0e11
Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME.
7 years ago
Jeff Young
d6e9bdf07b
Convert remaining legacy drawing code to print code.
7 years ago
Jeff Young
fd546da640
Homogenize hit testing and selection return types.
Prep work for sharing SCH_SELECTION_TOOL with LibEdit.
7 years ago