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
jean-pierre charras
8aac6cb607
Gerbview: fix incorrect reload command.
...
Fixes #7316
https://gitlab.com/kicad/code/kicad/issues/7316
2021-01-29 11:10:26 +01:00
Jon Evans
ff4c01c4a4
Don't say a gerber is an X2 unless the whole attribute is loaded
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7303
2021-01-27 17:17:44 -05:00
Wayne Stambaugh
4619d5e112
Fix more broken Doxygen comment specifiers.
2021-01-26 12:17:52 -05:00
Michael Kavanagh
b90eabd68b
Icons: out with the old, in with the new
...
+ remove icons where they dont make sense or are duplicated within the
same context
2021-01-19 22:57:24 +00:00
Michael Kavanagh
dc83cb7a41
Icons: general tweaks and pixel alignment
...
+ remove some unused icons
2021-01-11 23:31:25 +00:00
Michael Kavanagh
bc52d7413c
Icons: we have new ones, so lets use them
2021-01-11 23:31:24 +00:00
Michael Kavanagh
adc10ac6c5
Icons: remove superfluous grey
2021-01-06 00:35:20 +00:00
Michael Kavanagh
b40e3a39f5
Minor cleanup.
2021-01-04 23:59:36 +00:00
Michael Kavanagh
a7286ccc34
Icons: remove functional duplicate
2021-01-04 01:44:01 +00:00
Seth Hillbrand
21e0aa7cb5
Remove file_footprint icon
2021-01-01 11:43:28 -08:00
Jeff Young
fd77982496
Formatting.
2020-12-25 23:37:17 +00:00
Seth Hillbrand
61ac9c8d90
Add multiple size icons for programs
...
In theory, the WM should now choose the closest size icon for its
purpose, making it easier to distinguish in space-constrained settings
Fixes https://gitlab.com/kicad/code/kicad/issues/6798
2020-12-22 15:37:26 -08:00
Seth Hillbrand
54ca087999
Update icon resource sets
...
Updates the .icns, .ico and .png files used by various distros to show
KiCad and KiCad files.
2020-12-22 15:16:33 -08:00
Jeff Young
a6085fa88d
Consistency for gerbview toolbar icons and some other icon tweaks.
2020-12-17 14:02:23 +00:00
Wayne Stambaugh
08cf9a1e20
Move headers from common folders to appropriate include folders round 1.
2020-12-17 08:12:18 -05:00
Seth Hillbrand
ea7a5b1655
Use flip board icon for GerbView Mirror Image
2020-12-16 16:58:00 -08:00
Jeff Young
acfbcb4beb
Make distinction between PCBNew-wide tools and Board-specific tools.
...
The old names were really hard to keep straight (even for me, who named
many of them).
2020-12-16 13:32:46 +00:00
Marek Roszko
d67cf2f9af
Replace wxFile usage with wxFFile
...
Buffered libc wxFFile is better thinking about syscall wxFile going wrong.
2020-12-12 13:16:23 -05:00
Marek Roszko
9407e6dc83
Another set of color msgpanel items stripped
2020-12-08 00:52:21 -05:00
Marek Roszko
cbda1d7bf1
Remove more vestiges of old colored msg panel messages
2020-12-08 00:50:25 -05:00
Marek Roszko
b45eb56ddf
Cleanup some msg panel usage using the no longer support colors
...
The color was being passed to the aPadding param now.....
2020-12-08 00:34:36 -05:00
jean-pierre charras
64f555079a
Code cleanup related to zoom:
...
- remove outdated code or comment coming from old drawing code using wxDC
- move zoom values lists to zoom_defines.h
- fix incorrect zoom max and min values (gal scaling factor limits).
2020-12-02 18:35:28 +01:00
jean-pierre charras
fcce62f0a4
cleanup related to zoom definitions
2020-12-02 18:35:27 +01:00
jean-pierre charras
71ab42e60a
Minor fixes and cleanup related to zoom definitions.
...
Mainly move 2 define relative to Zoom from convert_to_biu.h to zoom_defines.h.
Will make some changes/fixes in zoom code more easy.
2020-12-02 10:14:35 +01:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Jeff Young
9e9946628a
Go back to arrow cursor on a cancel (or finish).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6421
2020-11-19 20:09:28 +00:00
Dominik Wernberger
99da663e82
Remove unused variables plus some more fixes from CppCheck
...
Remove unused variables plus a few more fixes from CppCheck
Remove unused variables plus a few more fixes from CppCheck
2020-11-19 02:28:47 +00:00
Werni
0e44f5128c
Add const specifiers
2020-11-18 19:50:36 +00:00
Marek Roszko
16e3e59495
Split out arrayDim and MIRROR templates from macros.h
...
These were not macros
2020-11-17 20:21:04 -05:00
Jeff Young
a207bd97bb
Naming conventions.
2020-11-17 16:05:49 +00:00
Marek Roszko
4b38bada76
Move the gerbview widgets to their own folder
2020-11-16 07:41:22 -05:00
Jeff Young
7bd31d5237
Naming conventions.
2020-11-14 18:26:03 +00:00
Jeff Young
522d64968e
Yet more module -> footprint.
2020-11-13 15:16:24 +00:00
Michael Kavanagh
3f01c5fae0
Cleanup: move remnants of LAYER_WIDGET to gerbview
...
These are no longer used in Pcbnew.
2020-11-10 18:55:33 +00:00
Marek Roszko
08ca80a2d8
Smooth out redrawing of toolbars by not letting wx pointlessly calculate both orientations
...
Monkey patch
Fix #5705
2020-11-05 20:56:14 -05:00
Jeff Young
8c782506b9
Appy units updating more consistently to editing assistants.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6283
2020-11-04 14:11:25 +00:00
Ian McInerney
3d47eb0d49
Fix localization of the menu strings with accelerator strings
...
The accelerator strings really shouldn't be part of the translation,
and some translations have cause the accelerator keys to be incorrectly
handled. It is simpler to make it separate and just join them to the
translated string.
Make all accelerator modifiers use lowercased Ctrl instead of CTRL
to be the same as the other modifiers.
Fixes https://gitlab.com/kicad/code/kicad/issues/5992
2020-11-04 01:31:52 +00:00
Marek Roszko
3b2b8ec229
Centralize/fix duplicated canvas type resolution between gerbview and pcbnew
2020-10-31 16:42:24 -04:00
Ian McInerney
31e626f279
Cleanup creation of all our smart pointers
2020-10-26 23:52:44 +00:00
Marek Roszko
1984581c46
Remove common.h from more headers
2020-10-25 22:29:53 -04:00
Marek Roszko
14c18b7e64
Move ui functions out of common and into ui_common
2020-10-25 20:01:12 -04:00
Marek Roszko
e49ac45b84
HTML_MESSAGE_BOX is a dialog
2020-10-25 20:01:12 -04:00
Marek Roszko
a785f70ea1
msgpanel is a widget, shove it to the right folder.
2020-10-25 20:01:12 -04:00
Marek Roszko
dbcb1ecdb7
Move TEXT_ANGLE defines to eda_text.
2020-10-25 00:12:20 -04:00
Marek Roszko
e928b2d8fd
Split EDA_UNITS out from common.
2020-10-25 00:02:52 -04:00
Marek Roszko
1d559108c8
Move LOCALE_IO out of common.h
2020-10-23 21:49:42 -04:00
Seth Hillbrand
f8a4edb1c9
First pass renaming module to footprint
...
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Seth Hillbrand
4085757aeb
Remove beginning/ending spaces in translations
...
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Wayne Stambaugh
8ff51d8899
Eeschema: add schematic sheet page number.
...
The groundwork has now been laid for per sheet instance data. Initially
this only supports sheet page numbers but could be expanded to include
other per sheet instance information.
ADDED: Support for user defined schematic page numbers.
2020-10-19 14:05:45 -04:00
jean-pierre charras
539ac4c214
Remove a few include<wx/wx.h> in many files that do not actually use this include.
2020-10-19 09:00:50 +02:00
Jon Evans
e735d21824
Maximize main editors by default if config is missing
...
Also set default size for other windows to something slightly
larger than it was before
2020-10-18 14:38:55 -04:00
Marek Roszko
a0586d3e3d
Fix rogue asterik
2020-10-18 14:28:40 -04:00
Jon Evans
c388bf0f92
Update default color theme
...
Blue is the new green :)
ADDED: built-in read-only color themes support
Classic theme is still available for those who love it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1991
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4259
2020-10-18 14:12:54 -04:00
jean-pierre charras
0044c6b48a
Add missing includes
2020-10-18 19:22:15 +02:00
jean-pierre charras
f6b4b66a86
Avoid include wx/wx.h in many files that do not actually use this include.
...
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Marek Roszko
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
Marek Roszko
5e7e6a991a
Nip some eda_item.h in gerbview
2020-10-14 22:08:00 -04:00
Marek Roszko
b84ac66723
Two includes in gerbview
2020-10-14 20:58:33 -04:00
Marek Roszko
5302f7ce73
Remove kicad_string.h from eda_text.h
2020-10-14 19:18:38 -04:00
Marek Roszko
12d21e34e2
Remove trigo.h from eda_text.h
2020-10-13 23:37:48 -04:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
Marek Roszko
b68bfab791
Remove stray include when there's already a forward declaration in gerbview
2020-10-13 20:44:34 -04:00
Marek Roszko
2c86363aa0
Relocate the page_layout includes to a page_layout folder
2020-10-13 20:33:33 -04:00
Jeff Young
1703729269
Require explicit decl of maxError and errorLocations.
...
This should reduce both performance issues and clearance issues.
2020-10-13 13:49:07 +01:00
Mark Roszko
a8bd0a9b84
Handle Windows manifests ourselves and add dpi awareness option
2020-10-10 19:08:23 +00:00
Jon Evans
c1a724377f
Fix AUI pane caption colors for dark mode
2020-10-10 14:55:32 -04:00
Ian McInerney
4215917834
gerbview: Move more items to actions
2020-10-09 01:55:31 +01:00
Ian McInerney
565bb268bb
gerbview: Move more items to actions and tools
...
* Create a new inspection tool to hold the measure tool and
the other inspection items
* Move some control functions from the frame to a tool and
rearrange the code to be cleaner.
2020-10-09 01:55:31 +01:00
Ian McInerney
a697690ebb
gerbview: Give the tools menu a tool to use
...
Without this it can't actually dispatch any actions, so the
measure tool wasn't working when selected from the menu.
2020-10-09 01:55:31 +01:00
Marek Roszko
f5e0754f65
Use the setCursor lambda pattern and fix up the initial cursor states
2020-10-07 23:26:14 -04:00
Mark Roszko
d9485129c8
Implement more context specific cursors using both stock and custom cursors.
2020-10-08 00:50:28 +00:00
Ian McInerney
50405b558e
Make the gerbview ruler tool more like the pcb ruler tool
...
* Allow the ruler to persist after clicking once on the canvas
2020-10-08 00:45:47 +01:00
jean-pierre charras
4b73db90a4
Gerbview: fix incorrect Gerber test files
2020-10-06 17:35:16 +02:00
Jeff Young
0bc7bbbadb
Report silk/edge collisions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5854
Fixes https://gitlab.com/kicad/code/kicad/issues/4892
2020-10-06 14:21:18 +01:00
Jeff Young
ee95d8fe2e
Improve SNR in status bar (and use common code).
2020-10-06 12:08:31 +01:00
jean-pierre charras
61f1f7d948
Gerber, aperture macros: use different apertures primitives in macro defs.
...
To avoid issues with broken Gerber readers use aperture macros with shapes
without rotation when more than one primitive is required.
In many gerber readers, rotation of a set of primitives is broken
(do not follow Gerber requirements)
2020-10-06 11:08:07 +02:00
Ian McInerney
43c14face0
Switch to showing metric/imperial units in comboboxes and menus
...
This will always show 1 unit from each system, with the primary unit
being the current frame unit and the secondary unit being the
most recent unit used from the other system. These are saved in
the settings, so they are saved between runs.
2020-10-05 20:26:33 +01:00
Ian McInerney
8b0fb9f4cf
Remove units and polar settings from the preferences panels
...
These options are already available in menus, toolbars and hotkeys,
so having them in the preferences pane is more trouble than it is
worth.
2020-10-04 17:53:55 +01:00
Ian McInerney
c9dc326a09
gerbview: Cleanup tool header
2020-10-04 17:53:55 +01:00
Ian McInerney
3a570c27f0
Update unit handling in the preview ruler
...
* Make the ruler able to switch to mils after creation
* Cleanup an unused flag in Pcbnew dimensions
* Move unit changed notification into EDA_DRAW_FRAME so more
frames to use it.
* Allow switching units when GerbView ruler tool is active
2020-10-04 17:53:55 +01:00
Ian McInerney
122bd7ca7c
Make the statubar aware of mils units
...
Switch Eeschema to use the built-in printing routines
because its precisions are close to those and it is
cleaner.
Give mils a precision of 2 decimal places to match
the precision shown in inches.
2020-10-04 17:53:55 +01:00
Ian McInerney
ad29a2f3b4
Update more places to properly display mils
2020-10-04 17:53:55 +01:00
Ian McInerney
b1bd1f2a97
Introduce new action to switch to mils as a unit
2020-10-04 17:53:55 +01:00
Jeff Young
bb753aaadf
Clean up terminology around active & high contrast layers.
2020-10-03 22:55:34 +01:00
jean-pierre charras
0b23cb7dbb
more cleanup about removing useless include
2020-10-03 15:26:03 +02:00
jean-pierre charras
b38cef409b
Rename CopyFile() to KiCopyFile() to avoid name colliding with a windows header.
...
Using CopyFile() that can collide with a windows header create hard to
understand errors, including link errors.
Renaming this function avoids these strange errors.
2020-10-03 10:08:21 +02:00
Jeff Young
4c5db9681c
Naming conventions.
2020-10-02 21:25:14 +01:00
Jeff Young
cc617b715f
Implement hypertext links for intersheet references.
2020-10-02 21:18:34 +01:00
jean-pierre charras
13304d0870
more cleanup about removing useless include
2020-10-02 13:40:00 +02:00
jean-pierre charras
84363c8e06
Gerbview test file: fix incorrect file.
2020-09-30 12:56:55 +02:00
jean-pierre charras
04aa5519d0
Gerbview: code cleanup. Remove many include, now useless.
2020-09-30 12:56:55 +02:00
Ian McInerney
fc565edb33
Add a palette to the toolbars to display groups of actions
...
This adds a palette to toolbar items that displays groups
of actions when long-pressed on a button.
2020-09-27 01:00:44 +01:00
PJM
d1322e7d1d
Refactor GetDocumentExtents()
...
CHANGED: GetDocumentExtents() in 'eda_draw_frame.h' now has a bool
parameter "aIncludeAllVisible" with a default value "true" which makes
it behave as it did before adding parameter. If "aIncludeAllVisible"
is false, the returned bbox ignores some items depending on which
program it is running in.
CHANGED: Made "Zoom to Objects" use only PCB edge in Pcbnew. This
allows text, notes, etc outside the PCB edge to be excluded in the
zoom calculation.
CHANGED: Added "Zoom to Objects" to Pcbnew main menu, and to RMB context
menus for Eeschema and Pcbnew.
Fixes https://gitlab.com/kicad/code/kicad/issues/5787
2020-09-25 00:31:56 -07:00
PJM
e77b7e3360
Make MMB double click perform 'Zoom to Fit'
...
ADDED: Make middle mouse button double click do a 'Zoom to Fit'
in Eeschema, Pcbnew, and Gerbview. Ctrl-MMB does a 'Zoom to Objects'
in Eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/1988
2020-09-22 23:21:44 +00:00
jean-pierre charras
456735f803
VIEW::ViewGetLOD() returns double now instead of int.
...
ViewGetLOD() returns the minimal value of a zoom to show an item.
However a zoom is a double, and using int as minimal value does not
allows setting a correct value in some cases.
2020-09-21 17:55:24 +02:00
Ian McInerney
70a7d1bc7c
Cleanup variable usage and assignment in gerber reader
2020-09-21 12:19:49 +01:00
Ian McInerney
7dfbb3cb18
Cleanup formatting
2020-09-21 12:15:03 +01:00
Seth Hillbrand
f493e270ea
ADDED: Menu option to enable/disable snap to grid
...
You can now enable and disable snap to grid when drawing/editing across
all apps. You can also tie snap to grid to the visibility of the grid
to allow rapid enable/disable via grid display.
2020-09-10 20:09:30 -07:00
Seth Hillbrand
4026904cc4
Make grid snapping depend on grid visibility
...
Turning the grid view on enables snapping to the grid. Turning it off
removes the snap and allows free draw
2020-09-09 10:18:15 -07:00