Ian McInerney
208a8553a5
pcbnew: Add context menu to measure tool
...
Fixes: lp:1831063
* https://bugs.launchpad.net/kicad/+bug/1831063
2019-06-02 07:55:29 -07:00
Seth Hillbrand
63fb408478
pcbnew: Don't modify the board lists outside of class
...
We should not be updating the board lists without using the class_board
methods.
Fixes: lp:1831370
* https://bugs.launchpad.net/kicad/+bug/1831370
2019-06-02 07:30:17 -07:00
jean-pierre charras
17b18637f8
Fix a compil issue on msys2: %zu format does not exist on msys2
2019-06-02 14:37:37 +02:00
Jeff Young
45a9544726
Instantate a default menu from no selection when menu is first built.
...
This might resolve some of the GTK menu anomalies.
2019-06-02 12:58:08 +01:00
jean-pierre charras
072fc4f8cb
DIALOG_COPPER_ZONE: minor cosmetic change.
2019-06-02 11:50:46 +02:00
qu1ck
41a9546b3d
Pcbnew: fix crash in netlist updater
2019-06-01 21:02:16 -07:00
Seth Hillbrand
6a45446496
pcbnew: Remove the last dlist from modules/pcbnew
2019-06-01 20:55:32 -07:00
Seth Hillbrand
b244a940ef
pcbnew: Fix crash in modedit saving
2019-06-01 19:44:29 -07:00
Seth Hillbrand
9163ac543a
pcbnew: Move pads to std::deque
2019-06-01 16:23:54 -07:00
Jon Evans
f49779465e
Fix broken build in array_creator
2019-06-01 16:30:58 -04:00
Seth Hillbrand
3fb8963536
pcbnew: Cleanup tracks and vias rework
...
Fixes a few commit issues based on the std:: rework. Add an option to
delete tracks fully in pads and makes merge tracks smarter
Fixes: lp:1787190
* https://bugs.launchpad.net/kicad/+bug/1787190
2019-06-01 09:53:23 -07:00
Seth Hillbrand
888c01d11b
pcbnew: Move tracks to std::deque
2019-06-01 09:53:23 -07:00
Seth Hillbrand
d1877d7c1b
Moving modules from DLIST to std::deque
2019-06-01 09:53:23 -07:00
Seth Hillbrand
961b22d603
pcbnew: Changing drawings from dlist to std::deque
2019-06-01 09:51:57 -07:00
Jeff Young
296ec66796
Cosmetic cleanup in preference panels.
2019-06-01 16:29:12 +01:00
Jeff Young
74e10791ff
Fix some Mac-specific issues with the Preferences... menu item.
2019-06-01 16:29:12 +01:00
Jeff Young
f67df4bf11
Collapse ARRAY_CREATOR into single class now that legacy instance is gone.
...
Also removes AllowLegacyCanvas ADVANCED_CONFIG option.
2019-06-01 16:29:12 +01:00
Jeff Young
c1298570cb
Remove legacy routing options.
2019-06-01 16:29:12 +01:00
Jeff Young
69e60d3982
Make sure grid settings get set in new canvas when switching.
2019-06-01 01:57:24 +01:00
Jeff Young
7553cc2651
Clean up some dangling legacy odds and ends.
2019-06-01 01:17:46 +01:00
Jeff Young
ed9153a786
Fix assert launching PCBNew.
2019-06-01 00:06:25 +01:00
Jeff Young
c2662b0e11
Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME.
2019-05-31 21:55:30 +01:00
Jeff Young
d6e9bdf07b
Convert remaining legacy drawing code to print code.
2019-05-31 21:54:22 +01:00
Jeff Young
03bab2f4a9
Remove some more legacy drawing stuff.
2019-05-31 21:54:22 +01:00
Jeff Young
d2daab808c
Remove some legacy cursor handling stuff.
2019-05-31 21:54:22 +01:00
Jeff Young
edc8438ef0
Start the process of removing the legacy draw panel.
2019-05-31 21:54:21 +01:00
jean-pierre charras
30ad8e9369
Pcbnew, file menu: fix missing initialization of Append Board menuitem
2019-05-31 18:28:31 +02:00
Jon Evans
d0926cce58
PcbNew: prevent crash in point editor if selection gets invalidated
2019-05-29 21:27:59 -04:00
Seth Hillbrand
eb0fc7bae2
Re-connect switch canvas on startup
2019-05-29 15:29:36 -07:00
Seth Hillbrand
218bea9ace
pcbnew: Fix crash in find dialog
...
Tool manager is not exposed to the dialogs, we need to reference it
through the parent frame.
Fixes: lp:1830942
* https://bugs.launchpad.net/kicad/+bug/1830942
2019-05-29 15:05:38 -07:00
jean-pierre charras
48899a4c96
Fix incorrect tooltip.
2019-05-29 21:33:05 +02:00
Seth Hillbrand
e7e20b85b5
Don't change the board without user action
...
Grid and ratsnest visibility are stored in the board file and should not
be changed without the user explicitly modifying them.
In the future, we'll move these settings out of the board file but we
shouldn't cause extra file-churn for flipped bits.
Fixes: lp:1828285
* https://bugs.launchpad.net/kicad/+bug/1828285
2019-05-29 11:25:44 -07:00
Jon Evans
4d8be7b2bb
PcbNew: ensure Bezier points are updated before plotting
2019-05-29 00:17:34 -04:00
Jon Evans
adfc4d2485
PcbNew: fix Bezier curves not having bounding boxes at startup
2019-05-29 00:17:34 -04:00
Seth Hillbrand
cdaba24f0d
pcbnew: Remove some legacy code
...
The menu IDs were used for disambiguation in legacy canvas.
2019-05-28 20:33:17 -07:00
Seth Hillbrand
453eb9c3eb
pcbnew: Reconnect Grid settings dialog
...
Connects using the new common grid settings ID
2019-05-28 20:32:40 -07:00
Jeff Young
1e9da7f57b
Remove CurItem() architecture and legacy routers and drawing code.
2019-05-29 00:26:30 +01:00
Jeff Young
9d29e94cb5
Remove some more legacy code.
2019-05-29 00:26:29 +01:00
Jeff Young
0260b32125
Push resetLocalCoords down into COMMON_TOOLS.
...
Fixes: lp:1830693
* https://bugs.launchpad.net/kicad/+bug/1830693
2019-05-29 00:26:29 +01:00
Jeff Young
a27e4246e0
Move some more menu commands to ACTIONs.
2019-05-29 00:26:29 +01:00
Jeff Young
c0909611d3
Remove a bunch more legacy editing code.
2019-05-29 00:26:29 +01:00
Seth Hillbrand
f59a2410fa
pcbnew: Check netlist settings in proper spot
...
We have _two_ settings that independently control whether the netlist is
updated by timestamp. One in the NETLIST object and one in the
NETLIST_UPDATER object. It looks like we are phasing one out but the
commit was not complete.
Fixes: lp:1828754
* https://bugs.launchpad.net/kicad/+bug/1828754
2019-05-28 14:21:25 -07:00
Seth Hillbrand
10b0b18d80
netlist: Update via netnames
...
Vias may need to have their netnames updated because floating vias do
not get a connectivity push.
Fixes: lp:1830102
* https://bugs.launchpad.net/kicad/+bug/1830102
2019-05-28 12:14:42 -07:00
Michael Kavanagh
27d097a78c
Stop PNS router settings from being overwritten when switching modes
...
Fixes: lp:1824967
* https://bugs.launchpad.net/kicad/+bug/1824967
2019-05-27 16:10:00 -07:00
Jeff Young
50d2aaa97c
Fix copy/paste typos in undo/redo.
2019-05-27 22:17:22 +01:00
Jeff Young
ce4c4c9409
Fix crash in PCBNew undo from uninitialized variable.
2019-05-27 18:58:36 +01:00
Jeff Young
718ad77891
Fix a bug introduced when UseGalCanvas() no longer switches.
...
We still need to setup the viewport the first time.
Also removes some more legacy editing code.
2019-05-27 18:47:20 +01:00
Jeff Young
9d9745b555
Remove more legacy editing code.
2019-05-27 18:47:20 +01:00
Jon Evans
3625668ff5
PcbNew: Fix ordering of fab and courtyard layers
...
Fixes: lp:1829511
* https://bugs.launchpad.net/kicad/+bug/1829511
(cherry picked from commit eb4aded5d6
)
2019-05-27 13:06:26 -04:00
Jon Evans
cfe588a853
Prevent unbalanced PTH pad labels from being hidden by drills
...
Fixes: lp:1829067
* https://bugs.launchpad.net/kicad/+bug/1829067
(cherry picked from commit 5230f45658
)
2019-05-27 13:06:26 -04:00
Jeff Young
d24a2afaca
Fix duplicate to work like paste to keep pins from getting duplicated.
...
Also fixes the post-duplicate move to start at the cursor pos.
Also fixes the fact that duplicate wasn't getting its hotkey.
Fixes: lp:1830596
* https://bugs.launchpad.net/kicad/+bug/1830596
2019-05-27 11:58:56 +01:00
Jeff Young
e9e28b9aac
Retire legacy block architecture.
2019-05-27 11:58:56 +01:00
Jeff Young
2502bce987
Move quit back to wxIDs. wxWidgets like to muck around with the location on OSX.
2019-05-27 11:58:55 +01:00
Jeff Young
6936effaa7
Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
...
Fixes: lp:1820059
* https://bugs.launchpad.net/kicad/+bug/1820059
2019-05-27 11:58:55 +01:00
Jeff Young
bdd44ce88c
Use consistent PageLayout data structure names.
2019-05-27 11:55:58 +01:00
Jon Evans
638ac3838c
PcbNew: Fix layer alpha overrides being overwritten by color changes
...
Fixes: lp:1827518
* https://bugs.launchpad.net/kicad/+bug/1827518
(cherry picked from commit cb3edf2607
)
2019-05-26 20:20:53 -04:00
Jon Evans
e156e4509c
Report actual intersection position for crossing tracks
...
Fixes: lp:1825588
* https://bugs.launchpad.net/kicad/+bug/1825588
(cherry picked from commit f101934909
)
2019-05-26 13:03:23 -04:00
Jon Evans
549b76739e
Exclude invisible items from view bounding box for zoom-to-fit
...
Fixes: lp:1116457
* https://bugs.launchpad.net/kicad/+bug/1116457
(cherry picked from commit ede2575018
)
2019-05-26 13:03:23 -04:00
jean-pierre charras
568d4e2b19
Avoid including id.h in a lot of files that do not use it.
2019-05-26 08:14:25 +02:00
Seth Hillbrand
6bcf1839b7
pcbnew: Add arc approximation setting to board
...
This places the arc approximation setting in the kicad_pcb file and uses
it for all parts of the board rendering where arcs are converted to
segments. This allows the user to customize their speed vs. accuracy
tradeoff. The default setting of maximum error of 0.005mm is acceptable
for small boards on moderate systems.
2019-05-24 21:21:06 -07:00
Seth Hillbrand
0a668ee550
pcbnew: Remove segment count from board file
...
This removes the setting for number of segments per circle from the zone
definition. All segment counts are handled by absolute error allowed.
2019-05-24 21:13:53 -07:00
Jon Evans
52a9e68093
Store items changed by connectivity algorithm in undo list
...
Fixes: lp:1828442
* https://bugs.launchpad.net/kicad/+bug/1828442
(cherry picked from commit fb80ee5a0e
)
2019-05-24 21:56:37 -04:00
Michael Kavanagh
741140e4a4
Fix footprint marked as modified when layer visibility changed
...
Fixes: lp:1830330
* https://bugs.launchpad.net/kicad/+bug/1830330
2019-05-24 16:13:22 -04:00
Seth Hillbrand
7058b79bf1
pcbnew: Fix assert in debug build
...
Previously we saved the visibility as a mask of 32bits and the check was
needed. These are now saved as per-layer setting, so the assert is
extra.
2019-05-24 12:39:01 -07:00
Jeff Young
85f984ccd9
Add point-editor activation for immediate-mode drawing.
2019-05-24 19:49:09 +01:00
Jeff Young
323bb0f8e1
Moving PageLayout editor to GAL canvas and modern toolset.
2019-05-24 19:49:09 +01:00
Wayne Stambaugh
816f6db310
Pcbnew: Python scripting support clean up.
...
Always check the return value of PyRun_SimpleString() for errors when a
Python script is run and show an error message rather than fail silently.
Enable Python interpreter I/O redirection in debug builds so that script
string errors will be shown when PyRun_SimpleString() is called.
Do not call PyErr_Print() after a PyRun_SimpleString() call failure. It
doesn't do anything useful.
Do not call Py_Finalize() after a PyRun_SimpleString() call failure. It
seems to cause Pcbnew to crash.
2019-05-24 07:32:38 -04:00
jean-pierre charras
ce93934f08
Pcbnew, ZONE_FILLER: fix incorrect test to remove filled areas outside the board edge cuts.
...
This incorrect test was only for zones with no net.
2019-05-23 20:22:03 +02:00
Ian McInerney
0daf14f9c3
pcbnew: Fixed listing of 3D libraries in the github wizard
...
Fixes: lp:1830137
* https://bugs.launchpad.net/kicad/+bug/1830137
2019-05-23 09:50:05 -07:00
jean-pierre charras
75cea18f07
Pcbnew, toolbars: fix incorrect icons
2019-05-23 11:07:55 +02:00
Seth Hillbrand
ac435ecd68
Moving further arc approximations down
...
This corrects an issue with fill segments-per-circle and moves the error
to segmetns calculation down in a number of functions to expose the
single value for approximation
2019-05-22 14:35:17 -07:00
Jeff Young
67cc2aac2e
Rework Eeschema find/replace for modern toolset.
...
Fixes: lp:1827274
* https://bugs.launchpad.net/kicad/+bug/1827274
Fixes: lp:1827240
* https://bugs.launchpad.net/kicad/+bug/1827240
2019-05-22 21:48:04 +01:00
Michael Kavanagh
07b82d19e3
Allow setting cursor and aux items colour in footprint editor
...
Fixes: lp:1829850
* https://bugs.launchpad.net/kicad/+bug/1829850
2019-05-22 15:46:15 -04:00
jean-pierre charras
459a972116
Remove unused vars.
2019-05-22 08:27:48 +02:00
Seth Hillbrand
6f7475dcd3
pcbnew: Prevent no-connects from driving clusters
...
The no-connect net (0) should never drive the net of a cluster.
Otherwise, tracks connecting between unconnected pads and connected pads
can acquire net 0 incorrectly.
2019-05-21 19:29:29 -07:00
Seth Hillbrand
1181b9f9b4
EAGLE: Correct pcb text orientation
...
Fixes: lp:1829711
* https://bugs.launchpad.net/kicad/+bug/1829711
2019-05-21 14:04:03 -07:00
Seth Hillbrand
a62a89eac3
EAGLE: Prevent numeric-only component references
...
KiCad does not allow references to be numeric only. This prefixes such
references with "UNK" to note that the reference designator type is
unknown.
2019-05-21 13:49:18 -07:00
Seth Hillbrand
490c805319
Allow squared inflation and inflate Eagle Zones
...
Sometimes we want to inflate a polygon without adding rounded edges.
This add the option using the jtMiter setting.
This is used in the Eagle parser to expand the Eagle zones for KiCad.
Eagle Zones are drawn on the polygon edge, so they extend out from the
outline. KiCad zones are drawn inside the polygon. We need to both
increase the zone size and decrease the minimum pen width to account for
this.
Fixes: lp:1817312
* https://bugs.launchpad.net/kicad/+bug/1817312
2019-05-21 13:49:18 -07:00
Seth Hillbrand
bf0a466642
pcbnew: Allow adding SHAPE_LINE_CHAIN to zones
2019-05-21 13:49:18 -07:00
Seth Hillbrand
c80e3e0ffc
eagle: Use width on imported lines if available
...
If not, use the current board design settings for line thickness based
on the board layer.
2019-05-21 13:49:17 -07:00
jean-pierre charras
d3dc7ade8a
menubar_pcb_editor.cpp: minor code refactor.
2019-05-21 14:24:08 +02:00
jean-pierre charras
6e6063b258
Pcbnew: release the lock file if a board was loaded, and when clearing the board currently edited.
...
When the board is cleared, the previous loaded board is no longer in edit.
2019-05-20 18:36:24 +02:00
Seth Hillbrand
dbc40096db
eagle: Use the "first" tag instead of pin num
...
Eagle parsing allows pin 1 to be different from the other pins in the
package but this is set by a tag marking the pin as "first" rather than
the actual number of the pin.
Fixes: lp:1829251
* https://bugs.launchpad.net/kicad/+bug/1829251
2019-05-20 06:02:15 -07:00
jean-pierre charras
4ac20d7ab1
menubar_pcb_editor.cpp: add missing icons.
2019-05-20 10:05:33 +02:00
jean-pierre charras
5137b54bd8
Pcbnew: fix a (minor) lock file issue: the lock was too early set.
...
If the file was (for some reason) not actually loaded, it was locked.
Now, the file is locked only if it is actually loaded.
2019-05-19 11:03:44 +02:00
Jeff Young
7d9a0b06e0
Push help menu down into EDA_BASE_FRAME.
2019-05-18 13:14:08 +01:00
Jeff Young
b90b454ada
Remove legacy block operations.
2019-05-18 00:21:49 +01:00
Jeff Young
1a3d0492f5
Push polar coords down into COMMON_TOOLS.
2019-05-18 00:21:49 +01:00
Seth Hillbrand
f32c95229e
pcbnew: Check for valid data before deleting
...
We need to check for valid rows and iterators before removing a 3d model
Fixes: lp:1829337
* https://bugs.launchpad.net/kicad/+bug/1829337
2019-05-17 09:34:27 -07:00
Wayne Stambaugh
97166a72f5
Pcbnew: fix bug in Eagle footprint plugin.
...
Some how a board object was required to fetch the line width when a
footprint is being parsed. The problem is that there is no board
defined when loading Eagle footprint libraries so there was a nullptr
segfault as a result. When there is no board defined, use the default
KiCad layer line widths.
Fixes lp:1829243
https://bugs.launchpad.net/kicad/+bug/1829243
2019-05-17 08:38:03 -04:00
Jeff Young
97445f1714
Don't go into interactive move when position was set in creation dialog.
...
Fixes: lp:1822569
* https://bugs.launchpad.net/kicad/+bug/1822569
2019-05-16 19:57:06 +01:00
Jeff Young
fbb807f3bb
Move some more menu & toolbar items to modern toolset.
2019-05-16 19:57:06 +01:00
Seth Hillbrand
ddc6079ceb
Move remaining hard-coded segment counts
...
This removes the remaining hard-coded segments counts and replaces them
with the relative error calculation where the segments per arc is
determined by the maximum error we allow (smaller arcs = fewer segments)
2019-05-16 08:49:55 -07:00
John Beard
0eb8f92c69
Pcbnew: add a step field to the array tool
...
This is useful, for example, when arraying only one side
of a connector.
Fixes: lp:1809580
* https://bugs.launchpad.net/kicad/+bug/1809580
2019-05-16 11:20:52 +01:00
John Beard
eb1e67583f
Pcbnew: tidy up array options access/allocation
...
Use unique_ptrs for ownership transfer.
Pass the target object to the constructor rather than
creating an internal verison.
2019-05-16 11:20:52 +01:00
John Beard
6ade8c25e1
Pcbnew: allow alphabetic numbering in n circular grids
...
Add controls to the dialog and wire up to the axis numbering
scheme, same as the grid axes.
Fixes: lp:1814923
* https://bugs.launchpad.net/kicad/+bug/1814923
2019-05-16 11:20:52 +01:00
John Beard
f47e2b54f8
Decouple the array tool list box from the numbering enum
...
This prevents the dialog being sensitive to the exact ordering
of the enum, and instead defines an explicit mapping between
the axis numbering type, the label string and the position in the
list box control.
2019-05-16 11:20:52 +01:00
John Beard
2c1b970027
Arrays: isolate axis code in a new class
...
Remove the axis numbering code from ARRAY_OPTIONS
and place in a new class, ARRAY_AXIS. This keeps
the logic for the array item numbering separate from
the logic for the array item geometry.
This simplifies the logic in the ARRAY_OPTIONS class, which
no longer has to deal with the numbering of each axis.
2019-05-16 11:20:52 +01:00
Seth Hillbrand
44e111b37e
pcbnew: Add remaining Eagle pad types
...
This adds octagon and offset pad types to the Eagle pcb importer.
Fixes: lp:1814498
* https://bugs.launchpad.net/kicad/+bug/1814498
2019-05-15 11:12:16 -07:00
Seth Hillbrand
b3b5ffe799
pcbnew: fixup small type issue
2019-05-15 09:53:42 -07:00