Jeff Young
d6e0ec2f24
Fix a couple of edge cases in text drawing.
...
Don't accidentally flip the x-axis glyph size when resetting after
a sub- or superscript.
Special-case three tildes in a row. (We could also do this for
sub- and superscript, but does anyone really need a superscript
^ or a subscript?
Fixes: lp:1851657
* https://bugs.launchpad.net/kicad/+bug/1851657
Fixes: lp:1851880
* https://bugs.launchpad.net/kicad/+bug/1851880
2019-11-09 20:22:44 +00:00
jean-pierre charras
5833392689
FIX: Pcbnew plot BezierCurve: add missing line thickness initialization.
2019-11-09 14:02:41 +01:00
jean-pierre charras
01553a6bd1
FIX: add parameter to GAL::DrawCurve to control the curve to polyline conversion. Cairo supports curves, but not Opengl, that needs a conversion to polyline. This control allows optimization in conversion
2019-11-09 11:41:29 +01:00
jean-pierre charras
943858fd67
FIX: Bezier curves: replace previous algorithm to convert the curve to segments. In some cases it was not working well. Opengl was using an other algo (using the curve properties to create segments) Now only the OpenGL algo is used, with optimization to reduce the number of segments.
2019-11-09 11:41:29 +01:00
Jeff Young
4662205ecb
Fix compiler warnings.
2019-11-05 17:22:51 +00:00
Jeff Young
35c8d64f98
Add super- and subscript support to Eeschema.
...
Note that since the markup might exist for other reasons, it has
to be turned on with a preference setting. (It goes through a set
of bitflags so the same architecture can be used for other markup
structures that we might want to support in the future.)
Note also that this is more about engineering nomenclature than
visual formatting. In that respect it's more similar to overbar
than italic or bold.
2019-11-05 17:22:51 +00:00
jean-pierre charras
5f3353cad1
Add native Bezier curve plot in SVG plotter.
2019-11-05 14:27:07 +01:00
jean-pierre charras
8621a1cf3a
Fix a wxWidgets alert (on wxWidgets 3.1.3)
2019-11-04 17:30:50 +01:00
jean-pierre charras
51ed01d765
GERBER_PLOTTER: small change in code to manage the current selected aperture.
...
Avoid using an iterator to store this aperture because iterators can be invalided
when modifying a list.
Enhancements in gerber_placefile_writer.
2019-11-04 14:33:10 +01:00
Seth Hillbrand
cbb88ce609
tool manager: Don't adjust the iterator to invalid
...
When finishing the first tool, we don't want to return an invalid
iterator
2019-11-03 10:15:21 -08:00
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.
2019-11-01 18:12:26 +01:00
jean-pierre charras
c59fa1b672
Gerbview: Fix outdated warning message about missing D-Codes and old RS274D files.
...
RS274X Gerber files using only regions (polygons) can be valid, and are not old RS274D files
Now a warning is raised only if there are some missing D codes definitions
(RS274D file or broken RS274X file)
Remove unused var and add comments
Fixes: lp:1850821
https://bugs.launchpad.net/kicad/+bug/1850821
2019-11-01 08:34:24 +01:00
jean-pierre charras
4a0bd46ed6
More work on Gerber pick and place files
...
In P&P files, user strings are now quoted, and use UTF8 encoding
2019-11-01 08:34:24 +01:00
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.
2019-10-29 13:31:11 -07:00
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.
2019-10-29 11:24:57 +01:00
Seth Hillbrand
bae50fab9f
pcbnew: Fix 45° snapping polygons
...
The constrained draw was constraining the polygon size to fit the
existing points rather than extending the existing points to fit the
user's intent.
This adds a 90° double-joint for the completion polygon that allows the
user to complete common constrained polygons visually based on the
preview with a double-click to finish.
2019-10-24 16:01:14 -07:00
Seth Hillbrand
ea1c8525ce
Increase visibility of polygon preview
...
This set the polygon preview item to wider size and adjusts the draw
order to ensure it remains visible even when antialiasing
2019-10-24 16:00:01 -07:00
Seth Hillbrand
a934fa49aa
Check for tool manager before dereference
...
Changing common settings in EDA_BASE_FRAME may segfault for frames that
don't implement tool manager yet (simulator)
Fixes: lp:1849492
* https://bugs.launchpad.net/kicad/+bug/1849492
2019-10-23 06:45:33 -07:00
jean-pierre charras
10d23ad82d
PROGRESS_REPORTER: fix serious bug in its DTOR: the DTOR was calling Destroy. But Destroy() in wxWidgets calls the DTOR.
...
It can create recursive calls of the DTOR.
2019-10-23 11:28:15 +02:00
jean-pierre charras
8a4ba87fba
Gerber output: Fix incorrect zones outline thickness in filled areas.
...
Fixes: lp:1848929
https://bugs.launchpad.net/kicad/+bug/1848929
2019-10-20 21:15:31 +02:00
Seth Hillbrand
2e1af66a2b
pcbnew: Commit polygon points to new constrained zone
...
Adds leader points if they are not already existing in the zone
Fixes: lp:1846028
* https://bugs.launchpad.net/kicad/+bug/1846028
2019-10-20 09:29:35 -07:00
Seth Hillbrand
70c64d93e4
pcbnew: prevent assert with first pt
...
Finding the pt-to-end intersection requires a segment, so check for
multiple points.
Fixes: lp:1846431
* https://bugs.launchpad.net/kicad/+bug/1846431
2019-10-20 07:39:48 -07:00
jean-pierre charras
846397c692
Fix compil warning
2019-10-19 15:44:40 +02:00
jean-pierre charras
f892ebbb49
Fix issues in Gerber attributes
2019-10-19 11:26:29 +02:00
jean-pierre charras
b9202e81bc
Fix Gerber plot pad oval for pad orientation not n*90 degrees.
...
Use now a Gerber region that support TO attributes like flashed pads.
2019-10-19 11:26:29 +02:00
jean-pierre charras
47f9c505c5
Gerber plot: better handling of polygonal pad shapes plotting
...
update GBR_CMP_PNP_METADATA.
2019-10-19 11:26:29 +02:00
jean-pierre charras
36253450e7
Pcbnew: Add experimental place file (P&P) export in Gerber format.
2019-10-19 11:26:28 +02:00
Seth Hillbrand
6084614371
GAL: Use vector for stroke elements
...
deque structures have higher overhead than vectors. Not usually
problematic, but with hundreds of thousands of characters each with only
a few strokes, the overhead becomes dominant.
2019-10-18 21:48:58 -07:00
Seth Hillbrand
132adf8ac3
Remove Yahoo Groups link
...
Yahoo has discontinued its groups.
See https://help.yahoo.com/kb/groups/SLN31010.html
(cherry picked from commit 1161562bc8
)
2019-10-17 16:00:46 -07:00
Seth Hillbrand
5b8661f2ab
view: Check for viewData in IsVisible()
...
viewData can be NULL, make sure we verify it before dereferencing.
2019-10-15 09:44:16 -07:00
jean-pierre charras
23e09d3de7
some other WXDEBUG replacement
2019-10-14 12:38:52 +02:00
jean-pierre charras
d77ba30a95
Replace __WXDEBUG__ (improperly used) by DEBUG in some #define.
...
__WXDEBUG__ comes from a build option of wxWidgets,
and is not related to a Debug versus Release Kicad build.
2019-10-14 11:17:38 +02:00
jean-pierre charras
4b2d801fec
Gerber file export: avoid duplicate corner when creating polygons (regions in Gerber dialect)
...
Fixes: lp:1847714
https://bugs.launchpad.net/kicad/+bug/1847714
2019-10-11 20:59:23 +02:00
jean-pierre charras
967b9d4a97
Gencad export: fix an issue in hash_eda calculation, that can generate the same hash for 2 different footprints.
...
Therefore, for some footprints, the right footprint was not associated to the component.
The hash calculation was using a XOR to combine 2 sub hash values.
This is not a strong way to combine these hash values.
They are now added. Looks better to identify similar and different footprints.
Fixes: lp:1847575
https://bugs.launchpad.net/kicad/+bug/1847575
2019-10-10 20:18:48 +02:00
jean-pierre charras
c7d636d560
Gerber file generation: fix incorrect aperFunction attribute for graphic items on edge cut layer.
...
Was NonConductor. Must be Profile.
2019-10-09 15:46:35 +02:00
jean-pierre charras
34b26a0ac7
Add KICAD_USE_FONT_REDUCED_SET (default OFF) to build options.
...
It allow using the previous font set without CJK.
The new font (with CJK) is very large (10x), and can create (on Opengl) out of memory issues
with some graphic cards.
2019-10-07 09:50:24 +02:00
Ian McInerney
027658d3da
Fix invalid cursor position access in tool manager
...
Fixes: lp:1846923
* https://bugs.launchpad.net/kicad/+bug/1846923
2019-10-06 13:26:07 +02:00
Seth Hillbrand
8c2ee6c025
Rescale and flip Chinese characters
...
Characters now scale similar to capital latin letters and are correctly
oriented.
Fixes: lp:1846846
* https://bugs.launchpad.net/kicad/+bug/1846846
2019-10-05 07:42:15 -07:00
Ian McInerney
b33c3a5ad8
pcbnew: Clean up extension handling in graphics plugins
...
* Fix wildcard display in the file selector dialog (on GTK
it would show the regex to the user)
* Move the file extension comparison into a common function
2019-10-04 15:43:29 -04:00
Seth Hillbrand
4302bc2562
Fix segfault when getting mouse position
2019-10-04 08:58:32 -07:00
Jeff Young
d22ea0e201
Safety for frames which don't have an m_viewControls.
2019-10-03 22:23:35 +01:00
Ian McInerney
3a2dbf7786
Update pleditor path for run from build directory
2019-10-03 15:00:01 -04:00
Ian McInerney
5862b1559f
Cleanup position handling for TOOL_EVENTs
...
* Make the events generated by the selection of context menu items
have the position where the menu was opened
* Ensure that TC_COMMAND type events have their position set to
be the cursor position where the event originated
2019-10-03 19:04:33 +01:00
jean-pierre charras
ac2373ae16
Gerber plotter: add support of standard aperture regular polygon as flashed shape.
...
Standard apertures are circle, rect, oblong and polygon (regular polygonal shapes with 3 to 12 vertices)
The support of the standard aperture type polygon was missing in Gerber plotter.
2019-10-02 17:33:06 +02:00
jean-pierre charras
49dbc37277
Fix a few issues related to help files in html or markdown.
...
Fix *.cmake scripts that dropped the semicolon in strings during conversion.
Move markdown2html in a separate library.
2019-10-01 17:11:39 +02:00
Jeff Young
58b9d5f69e
Map orientation when converting text types.
...
Also fixes up dangling state when converting.
Fixes: lp:1844716
* https://bugs.launchpad.net/kicad/+bug/1844716
2019-10-01 15:16:43 +01:00
Seth Hillbrand
aad28a3d3c
Adding standard library CJK strokes
...
This also cleans a few strokes that were not up to par in the previous
iteration.
2019-09-30 17:27:03 -07:00
Seth Hillbrand
3a35c75d09
Add CJK ideographs
...
This adds the 20975 ideographs from Open Han Source mapping to the
standard CJK code unicode block.
Fixes: lp:594064
* https://bugs.launchpad.net/kicad/+bug/594064
2019-09-29 12:44:57 -07:00
jean-pierre charras
8ed49b3f68
Add a Markdown to Html converted, to display help written in markdown in a wxHtmlWindow.
...
The help file bridget_tee_formula.md can be displayed in pcb_calculator.
For Help messages, a markdown text (with some basic html tags) is often enough
and is more easy to translate than full html texts.
2019-09-29 17:25:56 +02:00
jean-pierre charras
ce62941bb8
Minor fix: fix misplaced include
2019-09-28 13:46:12 +02:00
Jeff Young
4bf2b6a9f7
Performance enhancements for cross-probing.
...
While found when profiling cross-probing, many of these will also
improve other things.
2019-09-27 19:58:16 +01:00
jean-pierre charras
25dee38f70
DIALOG_ABOUT: add compil date to version info.
2019-09-27 18:15:35 +02:00
Konstantin Baranovskiy
e57c13c2bd
Grid Control: Cells selecting fix.
...
If *editable* cells had been selected by holding and dragging the mouse's left
button, the previous selection were not clearing.
2019-09-26 07:42:42 -07:00
jean-pierre charras
19cf78f802
simulator: plot curves: fix incorrect draw area limits calculation when zooming.
...
Fixes: lp:1674132
https://bugs.launchpad.net/kicad/+bug/1674132
2019-09-26 16:29:52 +02:00
jean-pierre charras
281d77f6b3
Cairo print, on GTK: use a better DPI definition to avoid artifacts rendering (GTK specific)
...
Previously, a 600 DPI was used to set device scale (can create minor visible rounding issues).
Using now 4800 DPI to reduce these rounding artifacts.
Fixes: lp:1845229
https://bugs.launchpad.net/kicad/+bug/1845229
2019-09-25 18:36:38 +02:00
Jakub Kozdon
11f1ce14d1
Eeschema: Option to use also .mod files as a simulation model
...
Fixes: lp:1844718
* https://bugs.launchpad.net/kicad/+bug/1844718
2019-09-20 09:40:55 -07: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
Ian McInerney
bb596ebdaf
Fix width of part selector columns
...
* Move column width manipulation into the lib tree adapter
* Fix issue with GTK where if someone types too fast, the part
column gets 0 width.
Fixes: lp:1841584
* https://bugs.launchpad.net/kicad/+bug/1841584
2019-09-18 16:12:45 -07:00
Ian McInerney
a37d8f2859
Remove unneeded wxWidgets version checks in the code
...
Now that the minimum version is 3.0.0, we don't need to actually
check if the version is greater than 3.0.0 inside the code.
2019-09-18 10:03:53 -04:00
Ian McInerney
d68dd09f63
Run all matching global actions for a hotkey
...
Fixes lp:1834547
https://bugs.launchpad.net/kicad/+bug/1834547
2019-09-18 09:21:43 -04: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
64b5e8bee2
Minor fix and enhancement code.
2019-09-15 11:10:53 +02:00
Seth Hillbrand
f2bf9fa534
eeschema: Prevent crash on move/drag re-entry
...
Restarting a move/drag operation breaks the stack by starting the tool
without popping it on exit.
TODO: implement RAII for these stack push/pop
2019-09-11 17:01:16 -07:00
Jeff Young
25fa2131d2
Restore PointCloserThan() behaviour to really be "closer than".
...
Change calls which really want it to be "closer than or equal" to
distance + 1.
Fixes: lp:1843329
* https://bugs.launchpad.net/kicad/+bug/1843329
2019-09-10 11:07:47 +01:00
Jeff Young
90fd58871d
Fix zero failure in SEG::PointCloserThan().
...
Fixes: lp:1843329
* https://bugs.launchpad.net/kicad/+bug/1843329
2019-09-09 23:23:43 +01:00
Ian McInerney
2b387f4b4d
Manually put the UNIT_BINDER text on the primary selection clipboard
...
The OnKillFocus handler of the UNIT_BINDER replaces the text in the
control with the evaluated string, which removes the selection. To
get the original text on the primary selection clipboard, we must
add it ourselves.
Fixes: lp:1794623
* https://bugs.launchpad.net/kicad/+bug/1794623
2019-09-09 09:00:59 -07: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
2ac270ce8e
Fix bug with high-frequency plots.
...
Fixes: lp:1839712
* https://bugs.launchpad.net/kicad/+bug/1839712
2019-09-08 01:11:51 +01:00
Jeff Young
6f0d8c3eac
Replace buggy code in TestSegmentHit() with call to SEG::PointCloserThan()
...
Fixes: lp:1843101
* https://bugs.launchpad.net/kicad/+bug/1843101
2019-09-07 23:18:19 +01:00
Jeff Young
14c4175040
Tighten up the board setup dialog layout a bit.
2019-09-07 13:57:38 +01:00
Jeff Young
a612fb690b
Cherry pick of line-ending-safety fix from 5.1.
...
Fixes: lp:1842943
* https://bugs.launchpad.net/kicad/+bug/1842943
2019-09-07 03:14:03 +01:00
Jeff Young
1ac6cbc4a6
A bit more safety around control characters in strings.
2019-09-07 01:08:22 +01:00
Jeff Young
d55f4d05b4
Workaround wxWidgets inability to find the default PDF viewer.
...
Fixes: lp:1843061
* https://bugs.launchpad.net/kicad/+bug/1843061
2019-09-06 23:38:20 +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
Seth Hillbrand
37b3c698c8
fixing comparison warning
2019-09-06 13:17:06 -07: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
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
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
f3f0e20a67
Pcbnew: add a board layer stack manager
...
This is a new feature.
2019-09-05 18:51:18 +02:00
Ian McInerney
8d86d94a4d
wxWidgets compatibility fixes
...
* Remove unneeded check
* Fix WX_GRID since upstream renamed a variable in 3.1.3
2019-09-05 08:11:44 -04:00
Ian McInerney
e675a93b92
Switch preview items to use abstract render settings
2019-09-05 08:11:44 -04:00
Seth Hillbrand
c8a6878eb8
pcbnew: Allow tuning length to be longer than INT_MAX
...
The INT_MAX limit for most elements makes sense only for single-segment,
straight line elements. For elements that accumulate lengths, we should
utilize the long long int (64 bits) to allow for greater lengths.
Fixes: lp:1842367
* https://bugs.launchpad.net/kicad/+bug/1842367
2019-09-03 16:41:09 -07:00
Jeff Young
54255cffeb
Cleanup to make implementation names consistent with what they now do.
...
Fixes: lp:1842477
* https://bugs.launchpad.net/kicad/+bug/1842477
2019-09-03 19:29:30 +01:00
Jeff Young
fc50ddda64
Implement Paste Special for eeschema.
...
Also changes the normal paste behaviour to only clear annotations
when a collision is found.
Fixes: lp:1837002
* https://bugs.launchpad.net/kicad/+bug/1837002
2019-09-02 19:24:29 +01:00
Jeff Young
e269b5d1b9
Workaround an issue where a throw terminates (even when there's a catch for it).
...
You can trigger it before this fix by running Cvpcb when a .kicad_mod file is
incorrectly set as "Legacy" in your footprint table.
2019-08-31 15:18:27 +01:00
Seth Hillbrand
ccc3b812b8
Make dialogs look more like frames
...
We use DIALOG_SHIM to display many items that should behave more like
frames with the ability to min/max/resize. This changes the default
custom dialog behavior to the frame-type.
Fixes: lp:1829950
* https://bugs.launchpad.net/kicad/+bug/1829950
2019-08-30 09:24:50 -07:00
Jeff Young
79d062aefc
Don't allow selection dragging when a picker tool is running.
...
Fixes: lp:1841691
* https://bugs.launchpad.net/kicad/+bug/1841691
2019-08-30 10:33:34 +01:00
jean-pierre charras
7ed415cab3
Gerbview: fix bug: did not store the current selected GAL engine in config.
...
Was due to recent changes in config handling.
2019-08-30 09:02:53 +02:00
Jeff Young
2274895acf
Add print preflight so the menu item is only shown when we can print.
...
Fixes: lp:1836473
* https://bugs.launchpad.net/kicad/+bug/1836473
2019-08-29 23:56:16 +01:00
Seth Hillbrand
c3274e15f2
cairo: Minor fixup in delete call
2019-08-28 20:25:27 -07:00
Seth Hillbrand
c3e07a5886
Cleaning Cairo GAL
...
Removed extra allocations that were not used.
Removed unneeded shared pointer
Corrected storage type from RGB to ARGB
2019-08-28 19:29:47 -07:00
Jeff Young
678294b8a6
Try harder to find a viable print solution on GTK.
...
Fixes: lp:1836473
* https://bugs.launchpad.net/kicad/+bug/1836473
2019-08-28 20:04:35 +01:00
Jeff Young
360a52399a
Add printing to RMB project items.
...
Fixes: lp:1836473
* https://bugs.launchpad.net/kicad/+bug/1836473
2019-08-28 17:32:08 +01:00
jean-pierre charras
37b166348a
Fix compil error and minor compil warnings
2019-08-27 09:13:07 +02:00
Seth Hillbrand
b3615b36bb
pcbnew: Retain 45° constraint
...
This also finishes the polygon with 45° lines when chosen as a create
option.
Fixes: lp:1833673
* https://bugs.launchpad.net/kicad/+bug/1833673
(cherry picked from commit fccce265aa
)
2019-08-26 14:36:23 -07:00
Jeff Young
bc0e67579c
Change OK/Cancel to MSW order and move some other dialogs to new system.
...
(There's no point in following the OSX OK/Cancel order as you can't
tab to buttons on OSX anyway.)
2019-08-26 18:36:35 +01:00
Jeff Young
6b6e9eddee
Return control of Symbol and Footprint chooser col widths to user.
...
The auto-calculation wasn't working out and even with it some users
wanted control.
Fixes: lp:1796774
* https://bugs.launchpad.net/kicad/+bug/1796774
2019-08-26 18:27:49 +01:00
Jeff Young
92330b9c93
Sort modules and pads in Footprint Report file.
...
Fixes: lp:1793764
* https://bugs.launchpad.net/kicad/+bug/1793764
2019-08-26 18:27:49 +01:00
Jeff Young
8d31c9a6c1
Save values of Page Settings Export buttons in project.
...
Fixes: lp:1791431
* https://bugs.launchpad.net/kicad/+bug/1791431
2019-08-26 18:27:49 +01:00