Commit Graph

1506 Commits

Author SHA1 Message Date
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