jean-pierre charras
c125cb673e
gerbview: fix incorrect render of regions defined by a 360 deg arcd (a circle)
...
these regions were missing.
Fixes #10805
https://gitlab.com/kicad/code/kicad/issues/10805
2022-02-10 09:56:27 +01:00
Seth Hillbrand
c79916b359
Fix relative return with nullptr condition
...
Previous fix for CVE munged return conditions for gerber files in some
cases. This restores the proper order where a nullptr will return 0,0
in the relative case and the current coordinate in others
Also fixes incorrect scale factor for inches/mils conversion to mm
2022-02-10 09:53:55 +01:00
Marek Roszko
41f54349a5
Replace inserts/push_backs with emplace in some spots
2022-02-05 19:53:31 -05:00
Jeff Young
4e3109a633
Wide string decls for gerbview.
2022-02-05 22:34:45 +00:00
Seth Hillbrand
7ed569058c
Review ReadXY/ReadIJ to avoid static char arrays
...
Tighten up the code a bit, removing extra calls and loops. Removes
unchecked use of stack char array
Fixes https://gitlab.com/kicad/code/kicad/issues/10719
(cherry picked from commit 927afe313d
)
2022-02-02 17:18:25 -08:00
Seth Hillbrand
54b20cb049
Fix overflow vulnerability in Gerbview
...
Corrects an unguarded read that could lead to arbitrary code execution
in specifically crafted gerber files.
Fixes https://gitlab.com/kicad/code/kicad/issues/10700
2022-02-01 15:50:27 -08:00
Seth Hillbrand
098e8f7d9b
Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option"
...
This reverts commit ea9f960cc1
.
Reverted for updates as this currently breaks kicad-mac-builder
2022-01-31 15:57:56 -08:00
Jeff Young
60bcfd1bf1
Bug fixes in arc & textbox printing.
...
Also removal of the no-longer-used clipping code from GR*.
2022-01-31 20:00:47 +00:00
Davide Gerhard
ea9f960cc1
cmake: adding KICAD_MACOSX_APP_BUNDLE option
...
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.
2022-01-28 15:49:37 -08:00
jean-pierre charras
f651e31965
Fix minor compil and Coverity warnings.
2022-01-25 12:52:13 +01:00
Mike Williams
20788897ee
Gerbview: display Start and End position of drawable items
...
Originally written by Tarun Johar.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8426
2022-01-24 08:40:49 -05:00
Mike Williams
6ddd5ec37f
Gerbview: Add menu item to open files with autodetection
...
Needs an icon at some point
2022-01-24 08:40:49 -05:00
Mike Williams
8692014691
Gerbview: consolidate some dialog code
...
Preparing also for a third usage where we autodetect the file type
2022-01-24 08:40:49 -05:00
Mike Williams
db407a1c0b
Gerbview: clean up loading files to prepare for more autodetection
2022-01-24 08:40:49 -05:00
Mike Williams
eee20f9f67
Gerbview: reduce redundant file loading code
2022-01-24 08:40:49 -05:00
Mike Williams
4140ab118e
Gerbview: remove extra linebreaks from errors messages
2022-01-24 08:40:49 -05:00
Mike Williams
7043498875
Gerbview: handle unexpected invalid char
...
Attempting to print this as a char was causing wxWidgets to assert since
some input is neither ASCII or valid UTF-8.
Reproducable by trying to open zip files as gerber files from the
command line.
2022-01-24 08:40:49 -05:00
Mike Williams
c83f1ea1cd
Gerbview: support more filetypes from the command line, e.g. zip
...
Also parse other extensions, and use new heuristics to guess if we don't
know the extension.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5680
2022-01-24 08:40:49 -05:00
Mike Williams
2612b94519
Gerbview: always search for the first available layer
2022-01-24 08:40:49 -05:00
Mike Williams
9a0d4f5ba4
Gerbview: don't erase current layer before loading files
...
Since we now load into the next available layer, don't erase our current
layer.
2022-01-24 08:40:49 -05:00
Mike Williams
45f1287a6c
Gerbview: Allow layer move up, move down, and delete
2022-01-24 08:40:49 -05:00
Mike Williams
5767a08008
Gerbview: select first layer of opened archive
2022-01-24 08:40:49 -05:00
Mike Williams
2dd6b98b89
Gerbview: Load files into new layers
2022-01-24 08:40:49 -05:00
Mike Williams
3c1a6e95d8
Gerbview: Don't show unused layers
2022-01-24 08:40:49 -05:00
Mike Williams
3338745637
Gerbview: auto sort zip files based on X2 or extensions
2022-01-24 08:40:49 -05:00
Mike Williams
da2e7e158b
Gerbview: Attempt to parse unknown files as gerber/drill
...
Test parsing function transmogrified from gerbv 2.7.0. gEDA suite is GPL
2+ so should be license compatible with our GPL3.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1848
2022-01-24 08:40:49 -05:00
Mike Williams
21a8dd6302
Gerbview: Better file extension association when opening zips
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/7855
2022-01-24 08:40:49 -05:00
Mike Williams
a9379ecf39
Gerbview: Add ability to sort layers by file extension
2022-01-24 08:40:49 -05:00
Mike Williams
d827f06a74
Gerbview: fix borked cleanup of layer remapping
...
Happened in 4ba3937f8a
2022-01-24 08:40:49 -05:00
Jeff Young
4eac8d7c66
Remove unit-less angles from geometry lib APIs.
2022-01-20 21:10:04 +00:00
Jeff Young
4a05b36bc6
Prefer EDA_ANGLE to naked radians.
2022-01-20 21:10:04 +00:00
Jeff Young
0091c76a6f
Excise deci-degrees from UNIT_BINDER.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10495
2022-01-19 00:10:32 +00:00
Jeff Young
78385f7ab5
Clean some more tenths-of-degrees out of GerbView.
2022-01-18 02:14:09 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
Jeff Young
3f98769a77
More EDA_ANGLE.
...
Includes bug fix for catastrophic error in Add() for converting to
radians.
Includes bug fixes for the fact that the pcbnew test can't seem to
find the ANGLE_* objects (getting all 0's instead).
2022-01-15 01:30:04 +00:00
Seth Hillbrand
22a77d3556
Move EDA_ANGLE to KiMath lib
...
KiMath should only depend on itself not on other elements in the tree
2022-01-14 17:12:24 -08:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +00:00
Marek Roszko
ac715d2e51
Scoop up some more wxPoint instances
2022-01-03 20:00:53 -05:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Marek Roszko
c91d3e3cf9
Remove some more wxPoint
2022-01-01 14:12:20 -05:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Marek Roszko
3f711b8958
Add win32 VERSION_INFO resource blocks for the DLLs
2021-12-28 23:54:27 -05:00
Jeff Young
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
2021-12-28 22:15:20 +00:00
Jeff Young
a6dd1bf09b
Implement Reset to Defaults for all preferences panels.
2021-12-24 17:38:39 +00:00
Jeff Young
4ba3937f8a
Cleanup.
2021-12-24 15:43:24 +00:00
Jeff Young
9ee28ea8f5
Flatten out some more preferences.
2021-12-24 15:43:20 +00:00
Jeff Young
d28714167c
All the preferences, all the time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7877
Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young
e26341d424
Cleanup.
2021-12-23 20:36:18 +00:00
Seth Hillbrand
f97c7c78c8
Connect ruler tool with axes preferences
...
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them
Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Seth Hillbrand
36e07639e0
Trainling -> Trailing
2021-11-08 15:56:51 -08:00
Seth Hillbrand
cf6b18ec7e
Remove escaped double-quotes
...
For some reason, escaped double quotes in wxString::Format cause issues
on Mac. We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
jean-pierre charras
0a152f98ac
GERBVIEW_INSPECTION_TOOL: fix not working "show source..." tool.
2021-10-30 12:56:32 +02:00
Jeff Young
c9d858eaf5
Add status bar message for constraint mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9282
2021-10-24 14:04:12 +01:00
Ian McInerney
69509c9dd1
gerbview: Remove empty strings from PCB layer number combobox
2021-10-13 23:49:52 +01:00
jean-pierre charras
7715d6d396
Gerbview: Minot fix: allows 32 copper layers in Export to Pcbnew.
...
Fixes #9376
https://gitlab.com/kicad/code/kicad/issues/9376
2021-10-13 18:47:52 +02:00
Mikolaj Wielgus
5f53019290
Substitute all wxHtmlWindow with HTML_WINDOW
...
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jeff Young
6e7ce09572
Use more descriptive terminology for preferred text editor.
...
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".
Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
3aae3c6f65
Dark mode for a bunch of HTML dialogs.
...
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT
Fixes https://gitlab.com/kicad/code/kicad/issues/9157
Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
jean-pierre charras
c504b5165d
Try to fix use of a non const method in a const method (created by commit 5abe257
)
...
(not detected by my compil).
2021-09-14 14:05:33 +02:00
jean-pierre charras
5abe2572b9
Gerbview: fix incorrect bounding box of lines drawn with a rectangular aperture.
...
Fixes #9152
https://gitlab.com/kicad/code/kicad/issues/9152
2021-09-14 10:44:40 +02:00
Jeff Young
fdfecf5932
Don't push view control settings to the previous active tool.
...
See further comments in bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9147
2021-09-13 13:28:05 +01:00
Seth Hillbrand
d8bc7f1bd4
Fix Gerbview extension display
2021-09-09 10:33:52 -07:00
jean-pierre charras
36048fa436
OPENGL_GAL::DrawArcSegment(): use a better number of segm to approximate the arc.
...
Previously, the count of segments used a magic number optimized for Pcbnew.
This is not good, and does not work well on Gerbview.
The count uses now a max error acceptable is approximation (5 microns in Gerbview and Pcbnew).
Fixes #9101
https://gitlab.com/kicad/code/kicad/issues/9101
2021-09-06 16:36:47 +02:00
Seth Hillbrand
240c3b75c4
Move selection disambiguation to long-click
...
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Mike Williams
30987cebfe
Gerbview: fix cairo negative items and implement real differential mode
...
Layers with negative objects need to be drawn in a subsurface before
copying so they don't _CLEAR the draw items below them when a negative
object is drawn.
Differential layers are basically the same thing only they use a
different copying operation onto the layers below.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1863
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4495
2021-08-31 12:43:53 +00:00
Seth Hillbrand
db5ce824af
Use wildcard routine for extension matching
...
Move STEP export dialog wildcard to extension matching
2021-08-20 17:24:05 -07:00
Seth Hillbrand
4cd9278041
Remove most wxFilepicker wildcards from translations
...
This prevents translation errors from preventing user actions such as
opening the correct file
2021-08-20 12:56:47 -07:00
jean-pierre charras
928225e467
Gerbview, Cairo engine: slightly better handling of negative objects.
...
However, OpenGL engine is much better.
2021-08-19 10:01:31 +02:00
jean-pierre charras
a9aae9b3f7
Gerbview: Polygon shape: store its drawing coordinates to avoid rebuild them.
...
Previously, draw coordinates (and especially cache triangulation) were rebuild
each time the polygon was redraw. They are now cached. This is a significant
speed up, especially when a polygon is highlighted.
2021-08-18 10:01:29 +02:00
Mike Williams
905a8366c5
Gerbview: keep highlighted and selected layers above active layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7201
2021-08-18 06:39:05 +00:00
jean-pierre charras
24a41559ca
Gerbview: select 360 deg circular mode (G75) as default
2021-08-17 19:50:49 +02:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
Julian Fellinger
cc99323c86
Gerbview: use native tab widget
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8903
2021-08-08 19:44:58 +00:00
jean-pierre charras
76bdb423d7
Minor changes: minor code cleanup and fix minor Coverity warning
2021-08-04 16:47:41 +02:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
jean-pierre charras
210671b10a
Gerbview, Excellon reader: add preference to configure default coordinates format. In Excellon drill files, the coordinate format is not specified, and sometimes units and zero option are even not specified, so some drill files cannot be read. In Preferences, default setting options are now added to specify by hand missing info.
2021-08-02 12:55:41 +02:00
Mike Williams
f2241d25c6
Gerbview: implement ;FILE_FORMAT parsing
...
Apparently Altium likes to output drill files with a specific header
setting the number format
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7519
2021-08-02 08:48:15 +00:00
Jeff Young
d40712d9d6
Formatting and message consistency.
2021-08-01 21:31:23 +01:00
jean-pierre charras
b1fd462d28
Gerbview, Excellon reader: use Leading Zeros format when not specified in file.
...
Some very poor files do not specify the coordinates format.
In this case, the default is INCH,LZ that looks like the more usual.
2021-08-01 11:44:45 +02:00
jean-pierre charras
70b5e26ff3
Gerbview, Excellon reader: fix incorrect size of tools when the size is embedded.
...
Some files embed the tool declaration size in Tool selection. In this case, the
tool size was not read.
2021-08-01 10:22:08 +02:00
jean-pierre charras
a2bb176b68
Gerbview: fix mismatch between shown layers and visibility indicator in layers manager,
...
after loading (or reloading) files.
Remove also not used code.
Fixes #8847
https://gitlab.com/kicad/code/kicad/issues/8847
2021-07-31 11:30:31 +02:00
Seth Hillbrand
6cd4d68d57
Add drop shadows to MacOS icons
...
Apple UI guidelines ask for small drop shadows on the icons. We add
these using ImageMagick when resizing
2021-07-30 20:55:34 -07:00
Seth Hillbrand
e7d8b1a975
Resize MacOS icons and script their creation
...
Creates a script that will fomat the MacOS icons at 80% of the total
size in line with Apple's guidelines.
Script requires Inkscape 1.0 and png2icns (available on Linux boxen)
Fixes https://gitlab.com/kicad/code/kicad/issues/7977
2021-07-30 20:28:14 -07:00
Seth Hillbrand
ad8acd328c
Expunge some remaining references to kicad-pcb
2021-07-30 20:27:45 -07:00
jean-pierre charras
1dbd4fcb7d
Gerbview: clear all previous highlight selections, after clearing all layers.
...
Fixes #8893
https://gitlab.com/kicad/code/kicad/issues/8893
2021-07-30 15:52:28 +02:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
de92aaab9a
GerbView code cleaning.
2021-07-28 14:12:51 -04:00
Pradeepa Senanayake
c006a4f26e
Fixed style warnings
2021-07-28 17:55:45 +00:00
Pradeepa Senanayake
109e40c3a6
Ensure auto zoom is enabled when it's the first file
2021-07-28 17:55:45 +00:00
Pradeepa Senanayake
8f4ff1e954
Disabled zoom-to-fit when loading gerb files
2021-07-28 17:55:45 +00:00
Pradeepa Senanayake
9b7d056563
Moved auto zoom outside of the function which loads the gerbers and drill files
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8849
2021-07-28 17:55:45 +00:00