Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
...
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
Mike Williams
aea89a632b
Gerber Viewer: fix high contrast mode, respect high cycle shortcut
2022-07-26 18:42:55 +00:00
Mike Williams
9911f3a943
Gerber Viewer: X2 mode paste layer above mask and silk
2022-07-26 18:42:55 +00:00
Mike Williams
23e2e57e09
Gerber Viewer: put drills/outlines/keep outs on top by default
...
For file extension sorting, this priorities drills/outlines/KOs.
For X2 sorting, this changes the default priority to make
unknown-priority layers on top since if they contain anything that can
be plotted, it's probably drill data.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10598
2022-07-26 18:42:55 +00:00
Mike Williams
75ed6b3ce7
Gerber viewer: move layer colors with layers
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10600
2022-07-26 18:42:55 +00:00
Mike Williams
1460442a80
Gerber viewer: don't go to next layer if on last layer
2022-07-26 18:42:55 +00:00
Mike Williams
4a6ac8ca2f
Gerbview: remove used/unused row indicator
...
No longer relevant as we only show in use layers
2022-07-26 18:42:55 +00:00
Mike Williams
23a4b1001f
Gerbview: change shortcuts for next/prev layer, add for move layer
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11909
2022-07-26 18:42:55 +00:00
jean-pierre charras
4d48376eae
Fix some warnings detected by PVS-STUDIO (not used vars)
2022-07-26 16:00:14 +02:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
Jeff Young
57acce9e55
Share more code between selection tools.
2022-07-11 19:04:08 -06:00
Seth Hillbrand
03c279ffd4
ADDED: Threadpool
...
Thread pools are long-lasting executors that have close to zero overhead
when launching new jobs. This is advantageous over creating new threads
as we can use this for threading smalling jobs and smaller quanta. It
also avoids the heuristics needed to determine the optimal number of
threads to spawn
2022-06-24 22:59:24 +00:00
jean-pierre charras
3fcd959757
Gerbview: minor cosmetic enhancement: show if the file is X1 or X2 format.
2022-06-24 15:44:13 +02:00
Ian McInerney
b51d8c9825
Introduce new CMake variable to store kiface install location
2022-06-22 23:40:25 +01:00
jean-pierre charras
9108404efe
Gerbview: seriously speed up the calculation time to draw polygons on OpenGL.
...
Mainly CacheTriangulation() was creating triangles using partition mode.
But this mode is optimized for Pcbnew and Gerbview and different internal units.
Now CacheTriangulation() is used in no partition, much faster in GERBVIEW_PAINTER.
Fixes #11549
https://gitlab.com/kicad/code/kicad/issues/11549
2022-05-13 18:20:35 +02:00
jean-pierre charras
7eeefdb3c5
Gerbview export to kicad_pcb file: remove calls to Simplify and Fracture.
...
They are not needed to export polygons because they are already fractured,
and these calls are very time consuming.
2022-05-05 19:26:31 +02:00
Marek Roszko
f88e0481c8
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
This reverts commit 2a5769607f
.
2022-04-11 19:03:01 -04:00
Seth Hillbrand
2a5769607f
Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
...
This reverts commit 403992a6f4
.
2022-04-11 11:39:03 -07:00
jean-pierre charras
ac8e2d0768
Ensure "Open Recent" and "Clear files" menu titles are updated after language change.
2022-04-11 11:09:05 +02:00
Marek Roszko
403992a6f4
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/10994
2022-04-10 22:38:13 -04:00
Marek Roszko
5bb2cdf73d
Revert "Stop leaking submenu items"
...
This reverts commit 34c70a51ea
.
2022-04-10 22:33:43 -04:00
Marek Roszko
34c70a51ea
Stop leaking submenu items
...
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
2022-04-10 22:04:48 -04:00
Jeff Young
92a229eec7
ADDED separate user-defined color for page limits.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5271
2022-03-24 14:11:41 +00:00
jean-pierre charras
93066004f1
QA: fix altium qa tests now the altium to pcbnew coordiantes are rounded
...
to the near 10nm value.
2022-03-24 12:36:46 +01:00
jean-pierre charras
e2cda7837f
Gerbview: Fix incorrect rendering of aperture macros combining polygons.
...
A aperture macro can have polygons with holes, and/or many polygons.
When combining polygons holes can be created. So ensure the resulting polygon
is fractured before drawing it.
Fixes #11218
https://gitlab.com/kicad/code/kicad/issues/11218
2022-03-23 20:50:29 +01:00
Jeff Young
65185f53a1
Rotate fp zones before comparing with library versions.
...
Also includes some performance fixes to not copy around triangulation
data when it's not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-14 15:53:24 +00:00
jean-pierre charras
3a5530d441
Gerbview: fix typo that prevent lo load a .gbrjob file from command line
...
Fixes #10921
https://gitlab.com/kicad/code/kicad/issues/10921
2022-02-21 11:32:36 +01:00
jean-pierre charras
233f86e8cf
Gerbview: fix missing handling of ID_GRID_SETTINGS event.
...
Fixes #10885
https://gitlab.com/kicad/code/kicad/issues/10885
2022-02-18 08:31:32 +01:00
jean-pierre charras
f8d6dd1efd
Gerbview: fix a long standing issue: negative objects are now correctly printed.
2022-02-12 11:44:34 +01:00
Seth Hillbrand
79f5325697
Fix float scaling to use single fn
...
Function `scaletoIU` was updated in a8c275ae5d
but this missed other
conversion points that re-implemented the same routine. This unifies
the scaling for both ReadIJCoord and ReadXYCoord to use the same routine
as calls from am_primitive
Fixes https://gitlab.com/kicad/code/kicad/issues/10800
(cherry picked from commit d937abb5b8
)
2022-02-10 12:36:34 -08:00
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
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
2021-07-26 15:35:33 -04:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Wayne Stambaugh
1a301d8eea
Stop using wxDialog::EndModal() from inside dialogs.
...
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal). Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
jean-pierre charras
3c721c55de
Fix a misplaced break after code cleanup.
2021-07-17 08:53:23 +02:00
Wayne Stambaugh
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
Marek Roszko
c794a6ce7a
Add pdb install option for msvc
2021-07-14 23:42:45 -04:00
luz paz
0446d35f0d
Fix source comment/doc typos (follow-up)
...
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
jean-pierre charras
1151783a34
Gerbview: fix an issue (Debug only) with RoundRect aperture macro.
...
When a RoundRect aperture macro was used with a radius = 0, a wxWidget assert
was generated, due to incorrect polygonal shape to draw.
2021-07-13 10:23:55 +02:00
Jeff Young
a1dfc36233
More error message regularization.
2021-06-29 01:08:26 +01:00
Jeff Young
5c21f93803
Consistency in progress and error messages.
2021-06-26 13:23:43 +01:00
Jeff Young
685ee31c35
Workaround a few more OSX printf problems.
...
Also regularizes the frame title processing.
Also fixes a type where the library name wasn't processed for
variable expansion.
Fixes https://gitlab.com/kicad/code/kicad/issues/7742
2021-06-20 22:48:19 +01:00
jean-pierre charras
2f9ce63623
Fix incorrect (not updated) canvas_type saved in config
2021-06-19 10:11:49 +02:00
Jeff Young
1722bc03b0
Consistent terminology and punctuation.
2021-06-17 00:05:17 +01:00
Jeff Young
24bf5d3c5c
Use create-if-missing behaviour for layers map.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8618
2021-06-16 17:31:31 +01:00
jean-pierre charras
a297e8f202
Gerbview, export to pcbnew: use gr_circle instead of polygon for flashed round shapes
2021-06-12 09:26:36 +02:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
luz paz
5f1e9bc8a7
Fix typos in source code
2021-06-10 01:24:15 +00:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Marek Roszko
c854811ac4
Parent frame already includes undo_redo_container.h
2021-06-08 19:12:30 -04:00
Jeff Young
2aaec31832
Don't put up "old version" warning for gerbview-generated PCBs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8574
2021-06-08 22:12:44 +01:00
Marek Roszko
f9769dba13
Kick wx.h out of gerbview
2021-06-07 18:38:51 -04:00
Jeff Young
3ff670d2a4
Disable ACTIONS::openPreferences for now.
...
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
Marek Roszko
63220e5adc
Rename myframe to m_frame in gerbview_layer_widget
2021-06-06 19:05:12 -04:00
Marek Roszko
ea2fe4e76c
pgm_base doesnt need to be shared to all of gerbview
2021-06-06 19:05:12 -04:00
Marek Roszko
33bbf85a3e
Use the parent frame GetSettings helper rather than including for Pgm()
2021-06-06 19:05:12 -04:00
Ian McInerney
dc27079b71
cleanup tool event and tool action includes
2021-06-06 18:26:26 +01:00
Jon Evans
c9a660a80c
Rework JSON integration to speed up build
2021-06-05 17:08:38 -04:00
Marek Roszko
b1c9083743
Remove the wx/docview.h include
2021-06-03 18:42:08 -04:00
Wayne Stambaugh
5395a7fe67
GerbView header housekeeping.
2021-06-03 14:32:24 -04:00
Wayne Stambaugh
7c14e4e967
Common widget header housekeeping.
2021-06-03 12:02:45 -04:00
jean-pierre charras
d7616fdca8
Fix a few compil or coverity warnings.
2021-06-01 09:04:37 +02:00
Marek Roszko
382dca4e6f
Fix uninitialized member warnings
...
Based on PVS Studio report
2021-05-30 20:01:01 -04:00
jean-pierre charras
81c7fb61f8
Sub-menu "Preferences..." in main menu "Preferences": fix not working accelerator key.
...
Accelerator keys are disable in our WX_MENUBAR. A common ACTION_MENU is used and
"Preferences..." is now shown in Hotkeys list.
2021-05-29 18:09:49 +02:00
Seth Hillbrand
752ae4d519
Rename modification flag routines
...
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Seth Hillbrand
b1dcf74042
Use standard "Untitled" name for files without names
...
Also translates to provide useful information regardless of language
2021-05-28 11:51:54 -07:00
Jeff Young
7356f9568d
Move grid disable modifier from ALT to CTRL.
...
Also had to move the H/V/45 disable modifier from CTRL to SHIFT.
Fixes https://gitlab.com/kicad/code/kicad/issues/8124
2021-05-09 20:17:40 +01:00
Marek Roszko
e955f83c51
Use a unique_ptr for ensuring clean up when reading excellon files
2021-05-01 14:23:01 -04:00
jean-pierre charras
0427bda768
Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
...
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00
Marek Roszko
850a22c3ae
Try/catch gerber file loading in attempt to catch oom
...
Potentially help with #7444
2021-05-01 12:46:18 -04:00
Ian McInerney
ecd9bf696e
Be consistent about using nullptr instead of 0
...
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Marek Roszko
ce3a84f579
Consolidate wx aui dock art color setting
2021-04-19 21:12:02 -04:00
Jon Evans
433e148e08
Move some string formatting functions out of base_units
...
Keeping them in base_units means that we can't introduce
any dependence on these functions to anything that needs to
compile without one of the unit defines (EESCHEMA, PCBNEW, etc)
2021-04-14 23:21:10 -04:00
Marcus A. Romer
1632707d9b
Replace tabs with spaces
2021-04-05 01:13:39 +00:00
Ian McInerney
1931677316
Ensure the layer dropdowns are correctly sized
...
On GTK, the layer dropdown was sized based on an empty list,
so for non-default fonts it would be undersized and cutoff
the font.
2021-04-02 21:33:31 +01:00
Ian McInerney
1db5e2bc96
Don't force an entire refresh of toolbars to update sizes
...
Forcing an entire refresh of the toolbars is wasteful,
so instead just update the sizers directly.
2021-04-02 19:12:21 +01:00
Ian McInerney
0a0935e0f3
Remove ACTIONS::TranslateLegacyId and TOOL_DISPATCHER::DispatchWxCommand
...
After commit 9535153f9e
there were no more IDs inside the legacy ID
system. Therefore the entire system for dispatching and looking up
the legacy ideas and handling those events can now be removed and
the tool dispatcher simplified (it no longer needs to know about
the ACTIONS class).
2021-03-30 23:20:22 +00:00
Ian McInerney
475ac3697f
Ensure toolbar controls have the correct width on frame creation
...
Otherwise they could be slightly too small and then look odd.
2021-03-28 13:07:56 +01:00
Ian McInerney
42c6af4bd8
Cleanup ACTION_MENU creation in some places
...
The ACTION_MENU constructor now takes the tool as an argument,
so the call to SetTool() immediately following it can be removed
and the tool just passed into the constructor.
2021-03-27 19:16:58 +00:00
Ian McInerney
3146d03aaa
Properly ellipsize layer names in the GerbView layer manager
...
Before, the layers were always ellipsized if the name was >30
characters, even if the widget was wide enough to display
the full name. Now they are ellipsized when needed (e.g. if
the widget is shrunk small enough).
Fixes https://gitlab.com/kicad/code/kicad/issues/1919
2021-03-26 15:50:56 +00:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
jean-pierre charras
c1197903e4
Gerbview: fix regression: missing DCode highlight commands.
...
DCode selected by context menu or from toolbar is now highlighted.
2021-03-13 18:45:33 +01:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Marek Roszko
3d4ac9af03
Relocate win32 resource files to the central folder for further consolidation
2021-03-09 21:48:14 -05:00
Marek Roszko
20c43f48b4
Update a old GerbView window title
...
Fix #7854
2021-03-09 18:31:17 -05:00
Jon Evans
720147d272
Remove transitive inclusion of bitmaps.h
2021-03-07 16:08:57 -05:00
Marek Roszko
8831c5567c
Add win32 version manifest block
2021-03-04 00:34:48 -05:00
Jeff Young
a3b9e8ddb4
Round 2 of Worksheet -> Drawing Sheet.
2021-02-23 11:57:44 +00:00
Jeff Young
cad5198ab7
Worksheet -> (industry standard) Drawing Sheet.
2021-02-22 17:35:46 +00:00
Jeff Young
34d3218f73
Translation cleanup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6078
2021-02-21 23:13:13 +00:00
Jeff Young
2d28ed8eda
Move canvas backend selection to Preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7630
2021-02-21 20:12:43 +00:00
Jeff Young
66b33834b5
Always enable save; move dirty bit to asterisk in title bar.
...
Also unifies PCB Editor and Schematic Editor names with other
locations in the GUI (which were still Pcbnew and Eeschema).
Fixes https://gitlab.com/kicad/code/kicad/issues/7587
Fixes https://gitlab.com/kicad/code/kicad/issues/7594
2021-02-18 16:05:42 +00:00
Seth Hillbrand
8c2fe42ef0
More Undo/Redo Cleanup.
...
Don't need the reference point or container action type. Clearing this
command signatures to prevent future confusion/use
2021-02-12 11:26:48 -08:00
Marek Roszko
872184fe8b
Revert "Bump minimum required CMake version to 3.10"
...
This reverts commit a475f45753
.
2021-02-09 18:46:13 -05:00
Simon Richter
a475f45753
Bump minimum required CMake version to 3.10
...
This allows us to remove even more workarounds
2021-02-08 12:23:08 +00:00
Marek Roszko
39fb968820
Fix broken map in findNumX2GerbersLoaded
2021-01-31 11:51:08 -05:00
Jeff Young
a235103e48
Redo pad & via painting (again).
...
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.
Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.
Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast. The hole wall
is drawn in high contrast. This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).
Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31:27 +00:00