Commit Graph

8165 Commits

Author SHA1 Message Date
jean-pierre charras 3cd12088a3 PANEL_SETUP_BOARD_STACKUP: minor cosmetic enhancement. 2019-09-25 09:27:36 +02:00
Seth Hillbrand 7f54617dab pcbnew: Clear view prior to terminating
On complex boards, the view holds a very large vector of all objects.
The dtor will remove each one, searching for the pointer before
removing.  When removing all items, this process is not needed, so we
clear the view when exiting.  This also prevents lock-up when closing
the full application as KiCad waits for the dtor to finish
(non-interactively).  This will cause Windows to crash and Linux to
offer an option for terminating the non-responsive application.

Fixes: lp:1843092
* https://bugs.launchpad.net/kicad/+bug/1843092
2019-09-24 11:44:33 -07:00
jean-pierre charras cd6c1c48a4 Board stackup manager: add material selector to solder mask and silkscreen layers. 2019-09-24 16:30:25 +02:00
jean-pierre charras 840c77fa9c pcbnew/swig/pcbnew_action_plugins.cpp: fix crash due to broken detection of deleted items after running a script.
the old way was not compatible with the current management if board item lists.
The crash was probably due to double deletions.
Note also the management of undo command in pcbnew_action_plugins needs serious optimization.

Fixes: lp:1844880
https://bugs.launchpad.net/kicad/+bug/1844880
2019-09-23 14:07:45 +02:00
Seth Hillbrand bba949c04d pcbnew: properly close tags when handling bad poly
The parenthesis depth is 2 when the polygon isn't closed.  This
shouldn't happen but we have the fall-through to handle odd cases

Fixes: lp:1844872
* https://bugs.launchpad.net/kicad/+bug/1844872

(cherry picked from commit d862cdaa72)
2019-09-21 09:27:01 -07:00
jean-pierre charras 8be9aeac9f Fix typo 2019-09-21 09:50:01 +02:00
jean-pierre charras 7355ed3bda Fix Typo 2019-09-20 13:15:06 +02:00
jean-pierre charras badd0bfa54 Minot fixes in GERBER_JOBFILE_WRITER, due to recent changes in .gbrjob file format. 2019-09-20 13:13:19 +02:00
Seth Hillbrand 4d8949371f conn: Connect pads to anchor points not geo center
Pads may include offsets that allow the user to shift the connection
point of the pad.  This is captured by the pad m_Pos but not by
ShapePos().  When testing connectivity, we need to get the offset
position.
2019-09-19 13:49:12 -07:00
Seth Hillbrand b7128639f8 connectivity: Check all anchors for connection
With pads, we should check available anchor points for each connection,
increasing probability of finding connection to match fill algorithm

Fixes: lp:1844661
* https://bugs.launchpad.net/kicad/+bug/1844661
2019-09-19 12:44:40 -07:00
jean-pierre charras fc6dc81878 Pcbnew, gerber job file: add "name" field in stackup section 2019-09-19 20:29:39 +02:00
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.
2019-09-19 20:29:39 +02:00
jean-pierre charras 16f4958430 Pcbnew: avoid crash when closing pcbnew if the DRC dialog is open.
Cvpcb: change from commit 9ceca583:
the root class close event that save settings is now seeing the close event.
2019-09-19 09:16:12 +02:00
jean-pierre charras a1fe8cfa5a Minor changes: cleanup code and prepare code to add more attributes to Object Attributes (.TO) 2019-09-18 11:48:49 +02:00
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.
2019-09-17 18:51:27 +02:00
jean-pierre charras 072ea9a33e Pcbnew: flip command: when flipping only one item, flip it around its anchor instead of its bounding box.
This is the behavior of previous 5.1 version.
Using the bounding box has advantages, but unfortunately in many cases the footprint position is moved.
If a lot of flip commands are made on the same footprint, it is moved far from its initial position.
2019-09-17 10:06:39 +02:00
jean-pierre charras 64b5e8bee2 Minor fix and enhancement code. 2019-09-15 11:10:53 +02:00
jean-pierre charras 91c66a05ae DIALOG_DIELECTRIC_MATERIAL_BASE: Minor fix 2019-09-13 11:35:27 +02:00
jean-pierre charras c10d30c1c8 PANEL_SETUP_NETCLASSES: fix not working (immediately closed) wxChoice widgets to select a filter
This happens with wxWidgets 3.0.4 on Windows and is a side effect of a call to Layout().
The fix just calls Layout() only when needed.

Fixes: lp:1843594
https://bugs.launchpad.net/kicad/+bug/1843594
2019-09-13 11:29:51 +02:00
Jeff Young f1790c24e5 Fix issue with Arc pad primitive dialog having center and start swapped.
Fixes: lp:1842199
* https://bugs.launchpad.net/kicad/+bug/1842199
2019-09-12 21:22:47 +01:00
Jeff Young aeedbf87dd Tighten up the Pad Properties dialog a bit.
Fixes: lp:1843580
* https://bugs.launchpad.net/kicad/+bug/1843580
2019-09-12 14:45:01 +01:00
Wayne Stambaugh 4bfb8ef457 Pcbnew: fix Eagle footprint library polygon pad sizes.
Eagle includes the width of the polygon line when generating polygon pad
sizes where KiCad does not.  This simple fix inflates polygon pads half
of the Eagle polygon line width.

Fixes lp:1833687

https://bugs.launchpad.net/kicad/+bug/1833687
2019-09-12 07:35:48 -04:00
jean-pierre charras f5692584f2 cleanup 2019-09-12 13:25:15 +02:00
jean-pierre charras 271465a644 Stackup manager: Add a dielectric manager to handle more easily user defined dielectric substrates
panel_board_stackup.cpp: material selection:
 replace wxChoice by a better widget (wxTextCtrl+wxButton) to call the dielectric manager dialog
Move dielectric material class to a specific file
2019-09-12 10:37:05 +02:00
Jeff Young 95ec2fba02 Fix tabbing in Text Properties dialog. 2019-09-10 12:40:28 +01:00
jean-pierre charras 2a9157ca99 Pcbnew, multiline graphic text dialog: strip extra \r in EOL (\n is enough) on Windows.
Fixes: lp:1843279
https://bugs.launchpad.net/kicad/+bug/1843279
2019-09-10 10:57:04 +02:00
jean-pierre charras c3bd9b7b8f Stackup manager: better code. 2019-09-09 17:22:17 +02:00
Jeff Young 8dd8740fa3 Performance enhancement for pad drawing.
Fixes: lp:1843065
* https://bugs.launchpad.net/kicad/+bug/1843065
2019-09-09 13:45:06 +01:00
Jeff Young 7dc9beaf11 Add type filter to push pad properties.
Fixes: lp:1827820
* https://bugs.launchpad.net/kicad/+bug/1827820
2019-09-08 23:50:36 +01:00
Jeff Young b4a3f4bb41 Sync GAL grid with layer visibility on doc-open.
Fixes: lp:1843169
* https://bugs.launchpad.net/kicad/+bug/1843169
2019-09-08 23:08:46 +01:00
Jeff Young 44a1cf9f1b Implement quiet-mode for selection clearing.
Also adds comments for exising quiet-mode calls.

Fixes: lp:1843177
* https://bugs.launchpad.net/kicad/+bug/1843177
2019-09-08 19:45:35 +01:00
jean-pierre charras 37fac7a8f2 Stackup editor: fix crash when trying to calculate dielectric layer thickness if all dielectric layers are locked.
Add also more tests to validate values.

Fixes: lp:1843131
https://bugs.launchpad.net/kicad/+bug/1843131
2019-09-08 11:49:04 +02:00
Jeff Young f491b7fff7 Check for dup layer names in the GUI, not in the internals.
Doing so in the internals keeps users from being able to swap layer
names as the dialog does each layer name change individually.

Fixes: lp:1842665
* https://bugs.launchpad.net/kicad/+bug/1842665
2019-09-07 23:54:43 +01:00
Jeff Young 14c4175040 Tighten up the board setup dialog layout a bit. 2019-09-07 13:57:38 +01:00
Jeff Young e3a525d3c9 See if this fixes the Mojave layout issue. 2019-09-07 13:22:33 +01:00
Jeff Young 83a02e18eb Mac OSX changes for new board stackup panel.
Fixes: lp:1843033
* https://bugs.launchpad.net/kicad/+bug/1843033
2019-09-06 23:43:50 +01:00
Jeff Young 2553dd2942 Bail on our custom dockart provider.
It appears that it was causing some crashes, and it was never clear
that it looked better anyway.
2019-09-06 23:38:20 +01:00
Jeff Young 10c25a2290 Update frame type enum to match current class names. 2019-09-06 23:38:20 +01:00
Wayne Stambaugh 24454f5105 Pcbnew: fix size of graphics import warning dialog.
Use the HTML_MESSAGE_BOX window to present the warning messages rather
than wxMessageBox which would overflow the display when there were a lot
of graphic items that could not be parsed.

Fixes lp:1839565

https://bugs.launchpad.net/kicad/+bug/1839565
2019-09-06 14:57:04 -04:00
Wayne Stambaugh 2b24c09307 Pcbnew: minor netlist dialog layout fixes. 2019-09-06 11:14:13 -04:00
jean-pierre charras bd34348068 Pcbnew: allows using filled polygons in zones with no outline thickness.
This option was only available if advanced config "ForceThickZones" was set.
2019-09-06 16:13:41 +02:00
jean-pierre charras cee1873fff Footprint editor: fix a crash when trying to edit the properties of a footprint not yet in tree (i.e. imported from file) 2019-09-06 15:37:26 +02:00
jean-pierre charras e0c82fb003 Board stack manager: add a basic reporter to copy the current stackup to the clipboard. 2019-09-06 11:26:27 +02:00
Seth Hillbrand 90b5cd3032 Unify text edit dialog behavior
This makes the pcbnew multiline text editor natively accept tabs in the
same manner as eeschema and extracts key handling routines to the shim
to allow undo/redo.

Also allows Ctrl-Y under Linux in addition to other platforms.  While
not as popular as Ctrl-Shift-Z, it is utilized for Redo in some contexts
2019-09-05 14:11:02 -07:00
Jeff Young 3bd38ec245 Improve zoom-to-extents for footprints with long text.
Fixes: lp:1820540
* https://bugs.launchpad.net/kicad/+bug/1820540
2019-09-05 21:02:29 +01:00
jean-pierre charras a5c8b5ed41 Stack manager: cosmetic enhancement: replace a text having no meaning by a bitmap 2019-09-05 21:02:11 +02:00
jean-pierre charras 24ea8f970e Pcbnew: update SEXPR_BOARD_FILE_VERSION to 20190905 (actual commit date for board physical stackup feature) 2019-09-05 20:15:30 +02:00
jean-pierre charras 5cf21789e9 FOOTPRINT_VIEWER_FRAME: minor fix: initialize m_canvasType to the value actually used. 2019-09-05 19:53:47 +02: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 e7c07501c5 Minor compile warning cleanup 2019-09-05 09:47:52 -07:00