Commit Graph

11896 Commits

Author SHA1 Message Date
ludovic léau-mercier 0d532b43de Support .title directive in spice netlist exporter
Spice netlist exporter processes all texts on the exported schematic
sheet to find spice directives and include them in the output file.
By default it also added ".title KiCad schematic" in the first line, so
if there was another .title directive in the exported schematic sheet,
the generated file would contain two .title directives.

This patch looks for .title directive and when one is found - it uses
the specified title in the first line.
2018-01-26 08:57:35 +01:00
Maciej Suminski 8e18aea11d New ERC rule verifying if all units of a component use the same footprint 2018-01-25 12:19:41 +01:00
Jeff Young 89a5a84af9 Remove refereces to OpenGL and Cairo from Display Settings
Fixes: lp:1745131
* https://bugs.launchpad.net/kicad/+bug/1745131
2018-01-25 12:11:17 +01:00
Maciej Suminski 42857d60cf Split cvpcb first run message to multiple lines
Fixes: lp:1745228
* https://bugs.launchpad.net/kicad/+bug/1745228
2018-01-25 12:10:41 +01:00
Maciej Suminski 0ef785981b Add pin numbering exception to sync pin edit mode description 2018-01-25 12:08:29 +01:00
Maciej Suminski 4872f77113 New pin2pin icon (synchronized pin edit mode) 2018-01-25 11:45:35 +01:00
Maciej Suminski 6c32b6f955 Pin edit coupling: renamed and changed the description
This commit aims at making the pin edit coupling easier to understand.
It renames the mode to 'synchronized pin edit', shortens the description
and inverts the logic to avoid double negation.

To make the code clearer, two items have their name changed to fit the
new description:
- m_editPinsSeparately       -> m_syncPinEdit
- ID_LIBEDIT_EDIT_PIN_BY_PIN -> ID_LIBEDIT_SYNC_PIN_EDIT
2018-01-25 11:45:34 +01:00
Seth Hillbrand 7a2d9dff62 Sets additional conditions for when a wire is trimmed
This adds a set of conditions that will prevent a wire from being
automatically trimmed.  Wires that are currently being moved or are
newly created or are explicitly avoided will not be removed.  This also
adds a function to set a flag on items in a block.

Fixes: lp:1744632
* https://bugs.launchpad.net/kicad/+bug/1744632
2018-01-24 19:47:14 -05:00
Wayne Stambaugh 2b460bc1ff Eeschema: improve alias load performance.
Don't use wxFileName == operator when comparing cache file name.  There
is a lot of overhead the wxFileName == operator that is not necessary
so just do a comparison with the original string used to create the
cache.
2018-01-24 19:37:07 -05:00
Jeff Young eb7ecf1dfd Load each symbol library atomically for better performance. 2018-01-24 19:21:56 -05:00
jean-pierre charras 888a9e7371 VRML export: add support of S_POLYGON in DRAWSEGMENT export. 2018-01-24 16:06:31 +01:00
Jeff Young 4c29ab6c09 Simplify Exchange Footprints dialog and add Update mode.
This commit also adds a no-selection-mode, which allows the user
to specify what gets update (through the various match modes).
The no-selection-mode is accessed via the Edit menu, although
it could also be applied to the context menu.

Fixes: lp:1466857
* https://bugs.launchpad.net/kicad/+bug/1466857
2018-01-24 09:55:39 -05:00
Maciej Suminski a99d0c44e1 Code comments 2018-01-24 15:18:19 +01:00
jean-pierre charras 875a2b0e10 Fix incorrect vrml export of footprint edge type S_POLYGON. 2018-01-24 14:59:17 +01:00
jean-pierre charras 270a63daac DRAWSEGMENT, S_POLYGON shape: remove useless copies or conversion to std::vector<wxPoint> of SHPE_POLY_SET polygon shape.
Rename GetPolyPoint() to BuildPolyPointsList(), because GetPolyPoint() looks like an accessor, but it is not an accessor.
(Using it as accessor can creates a *very long calculation time* for very basic access to polygon vertices)

Fixes: lp:1745050
https://bugs.launchpad.net/kicad/+bug/1745050
2018-01-24 14:22:43 +01:00
Wayne Stambaugh c95c77c51a KiCad: fix assertion when adding new path configuration entry.
The fix for this is a crude hack.  The assertion is caused by the fact
that KICAD_MANAGER_FRAME is not a KIWAY_PLAYER.  The only way to fix
this correctly is to derive KICAD_MANAGER_FRAME from KIWAY_PLAYER so
the window ordering can be corrected and the dialog can be called using
ShowQuasiModal().

Fixes lp:1744228

https://bugs.launchpad.net/kicad/+bug/1744228
2018-01-23 14:48:56 -05:00
Jeff Young c6d0075076 Keep value, footprint and datasheet in sync in multi-unit parts
Fixes: lp:1731743
* https://bugs.launchpad.net/kicad/+bug/1731743
2018-01-23 11:46:27 -05:00
jean-pierre charras 6436b70176 Fix aDRC issue: sometimes DRC did not detect a track collision with long oval pads. 2018-01-23 17:39:13 +01:00
Jeff Young 76885169c4 Fix delete issues in symbol aliases list in libedit.
The alias list now displays the user model (multiple aliases *of*
a root part, rather than a collection of names *including* the
root part).  This simplified the error detection logic, fixing
the first bug in the bug report.

Updating the part in the library is now done uniformly on OK
(which was the second bug in the bug report).

Fixes: lp:1744656
* https://bugs.launchpad.net/kicad/+bug/1744656
2018-01-23 14:49:20 +01:00
Oliver 7613d04b32 Updated import and export icons
- Pixel alignment of arrows
- Moved import arrow to top-right corner
2018-01-23 08:22:42 -05:00
Oliver 80ad4c956f Pixel align PCB icons 2018-01-23 08:18:46 -05:00
Maciej Suminski cbf433fe04 Symbol Library Editor: save anchor position when modified
OnModify() stores the edited symbol in its edit buffer, therefore it has
to be called after a modification.

Fixes: lp:1744540
* https://bugs.launchpad.net/kicad/+bug/1744540
2018-01-23 14:04:31 +01:00
Maciej Suminski 2d3ef0fa6e Symbol Editor: Remove a redundant separator from symbol context menu 2018-01-23 12:19:19 +01:00
Tomasz Włostowski 3456b6e3c3 pcbnew: fixed incorrect ratsnest computation when all nodes in a net are on a single line 2018-01-23 11:55:11 +01:00
Maciej Suminski 121e670508 TEXT_CTRL_EVAL: Close the parent dialog after pressing Enter
Fixes: lp:1744721
* https://bugs.launchpad.net/kicad/+bug/1744721
2018-01-23 11:49:39 +01:00
Maciej Suminski 975c08c464 get_libngspice_so.sh: use any bison version built with brew (OSX) 2018-01-23 08:47:24 +01:00
jean-pierre charras c702646c25 pcbnew: layers visibility affects printing
Fixes: lp:1744730
https://bugs.launchpad.net/kicad/+bug/1744730
2018-01-22 21:23:47 +01:00
jean-pierre charras 61193dcd13 Fix assertion failure quitting gerbview
Fixes: lp:1744600
https://bugs.launchpad.net/kicad/+bug/1744600
2018-01-22 21:16:10 +01:00
Maciej Suminski 6b9a286a85 Fix crash when a renamed part is saved
The crash happened when during rename operation, when the original part
buffer has been marked as deleted, but its memory was not yet freed. The
renamed part was still using the original SCH_SCREEN object, which was
freed together with the original part buffer.
2018-01-22 17:46:30 +01:00
jean-pierre charras 6322c90c50 Symbol editor: Fix incorrect pin edition coupling for non interchangeable multi-units symbols.
Fixes: lp:1744680
https://bugs.launchpad.net/kicad/+bug/1744680
2018-01-22 13:33:24 +01:00
Jeff Young 2201482e47 Add '*' to modified files in libedit cmptree, and change highlighting.
The highlight colour on some platforms (OSX, for instance)
renders nearly invisible against a white background.  However,
wxWidgets doesn't handle background colours on OSX and GTK+.
A separate commit to the new kicad/wxWidgets fork fixes OSX,
and we continue to use the old highlighting on GTK+

Fixes: lp:1741719
* https://bugs.launchpad.net/kicad/+bug/1741719
2018-01-22 10:37:06 +01:00
Maciej Suminski 9b7d499c51 Fix a memleak in Footprint Library Table Wizard 2018-01-22 10:05:58 +01:00
Jeff Young 8c4874866a Set a selection reference point in get-and-move-module.
This will cause InteractiveEdit to move the reference point to
the cursor before waiting for mouse move events.

Fixes: lp:1571217
* https://bugs.launchpad.net/kicad/+bug/1571217
2018-01-22 09:58:57 +01:00
Maciej Suminski da305e7750 Move SwitchCanvas() implementation to EDA_DRAW_FRAME
Share more code between pcbnew and gerbview. Fix warnings regarding
shadowing EDA_DRAW_FRAME::SwitchCanvas().
2018-01-22 09:06:55 +01:00
Maciej Suminski b3cb6be48e Minor memleak fixed in gerbview 2018-01-22 09:04:24 +01:00
Jon Evans 5ea277d229 Reset tools when clearing gerber draw layers
Fixes: lp:1744600
* https://bugs.launchpad.net/kicad/+bug/1744600
2018-01-22 08:44:55 +01:00
jean-pierre charras 81642dddd1 Track polygon clearance: use the new TransformOvalClearanceToPolygon function, to avoid underestimation of clearance areas.
(issue already found for oval pads)
Add some comments.
2018-01-21 11:32:37 +01:00
jean-pierre charras 2fd00b1d23 Revert "Ensure DrawRectangle() stroke outline will always be visible"
This reverts commit 74d47d8173 because
it breaks DrawRectangle in outline mode because it modify line width.
2018-01-21 10:14:02 +01:00
Jeff Young 6b9866de8b Sort pins in pin-table.
Fixes: lp:1744509
* https://bugs.launchpad.net/kicad/+bug/1744509
2018-01-21 08:47:26 +01:00
jean-pierre charras 6dd398bd6f Better calculation of polygon clearance area of oval pads.
Fixes: lp:1665582
https://bugs.launchpad.net/kicad/+bug/1665582
2018-01-20 20:44:04 +01:00
jean-pierre charras 1db14d44b7 Better calculation of polygon clearance area of oval pads. Wip. 2018-01-20 19:34:50 +01:00
Jeff Young cba430deab Fix undo/redo and revert for libedit name changes and aliases
Three interrelated issues:
1) Implement an undo/redo type for renames so that we know to delete
the old lib entry and add a new lib entry
2) When doing so (for the undo/redo OR the original edit), we must
make a copy of the 'original' LIB_PART which is used for revert, and
hand it to the new lib entry
3) When comparing a modified component tree item with the current item
we must also check for aliases.

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

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

Fixes: lp:1744373
* https://bugs.launchpad.net/kicad/+bug/1744373
2018-01-20 11:20:22 +01:00
jean-pierre charras 448dbf476c Dialog symbol lib table editor: fix incorrect tool tips
Fixes: lp:1744416
https://bugs.launchpad.net/kicad/+bug/1744416
2018-01-20 10:47:19 +01:00
jean-pierre charras b4ea875c5e Add comments. 2018-01-20 10:07:12 +01:00
jean-pierre charras d4dbdcd638 Symbol editor, Pin table editor: always display a icon in Pin Type column
At least on Linux, if a null icon is used as icon in Pin Type column, other icons are not
displayed. So the workaround is to use a neutral icon when a specific icon cannot be used
(i.e. when pins are grouped)

Fixes: lp:1559542
https://bugs.launchpad.net/kicad/+bug/1559542
2018-01-20 09:59:15 +01:00
jean-pierre charras 673f03e595 Convert circle to polygon: minimize rounding errors.
Fixes: lp:1735206
https://bugs.launchpad.net/kicad/+bug/1735206
2018-01-19 21:10:40 +01:00
jean-pierre charras ab2333bcf0 Footprint Editor, GAL mode: make option tool "show footprint in outline mode" working.
Fix also option tool "show footprint texts in outline mode" code,
but because there is no code to show texts in outline mode in GAL canvas, this option still works only in legacy canvas
2018-01-19 19:26:48 +01:00
Jeff Young 90cc896af2 Fix compile error in quasi-modal wxWidgets patch. 2018-01-19 17:26:21 +01:00
Maciej Suminski 388d07a808 Fix disappearance of placed objects after 'Properties' action 2018-01-19 14:20:42 +01:00
Maciej Suminski 903e33375f Fix rotation & flip of newly placed texts
When a rotation/flip command was issued when a newly placed text
was hovering over an existing item - the item underneath would be
affected by the command and the new text would be discarded.

Fixes: lp:1744152
* https://bugs.launchpad.net/kicad/+bug/1744152
2018-01-19 14:20:42 +01:00