Mark Roszko
75ae0d8e5e
Revert "Use {fmt} for double -> string conversions"
...
This reverts commit 03fff6e58d
2022-09-14 10:56:50 +00:00
Jeff Young
281b9d405a
ADDED ability to specify where pad number (& net name) go on custom shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6627
2022-09-14 11:37:20 +01:00
Marek Roszko
03fff6e58d
Use {fmt} for double -> string conversions
...
Faster at printing floats than sprintf due to the modern algos
2022-09-13 23:17:15 -04:00
Mark Roszko
f304e2d4f6
ADDED: Search/inspect pane
2022-09-14 02:59:57 +00:00
aris-kimi
7bd8cfd7f9
Added common option to hide scrollbars
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9093
2022-09-13 22:15:27 +03:00
jean-pierre charras
bde2d388f1
Fix a very serious memory leak in OUTLINE_FONT::getTextAsGlyphs().
2022-09-13 17:55:12 +02:00
Wayne Stambaugh
4f3db82c68
Add debugging support for KiCad2Step command line generation.
2022-09-12 14:30:07 -04:00
Mike Williams
9cda5e200c
Hotkeys: Swap on Shift S and revert old actions back to S
2022-09-12 14:18:54 -04:00
Mike Williams
37d2addf0e
Icons: add swap
2022-09-12 11:11:49 -04:00
Mike Williams
f70e1d0f22
SCH/PCB: Set Swap hotkey to 'S'
...
* Move Add Sheet to Shift+S in Schematic Editor
* Move Set Grid Origin to Shift+S in PCB Editor
2022-09-12 11:11:49 -04:00
Mike Williams
fcfb9cc5ad
Selection: track selection order
2022-09-12 09:39:43 -04:00
Jeff Young
d95847ae79
Add missing format specifier to UnescapeString.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9542
2022-09-12 01:48:23 +01:00
Jon Evans
b4e71de89f
LIB_IDs can have forward slashes
2022-09-11 10:11:25 -04:00
Jeff Young
1b104f20b6
Don't give Scintilla a colour with alpha; it doesn't know what to do.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10829
2022-09-11 13:08:31 +01:00
Jeff Young
da7eaeffd2
Move IsOK() to wxRichMessageDialog so it handles <ESC> properly.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12360
2022-09-11 12:21:16 +01:00
Jeff Young
a9877ab117
Include markdown files in project view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12178
2022-09-10 21:11:24 +01:00
Jeff Young
52ea9d0bc5
Don't allow preview canvases to steal focus when keyboard navigating preferences tree.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10407
2022-09-10 20:15:49 +01:00
Jeff Young
d5430906d4
Make sure cursor settings get saved.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11663
2022-09-10 18:43:32 +01:00
Jeff Young
b95d9d660d
Move gerbview colors to preferences dialog.
2022-09-10 16:11:24 +01:00
Jeff Young
f87bf3c46d
Special case up-key so it can get past headers in paged dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10078
2022-09-10 09:31:27 +01:00
Seth Hillbrand
09ef7c8f1e
Add RPT_SEVERITY_DEBUG for developer-type messages
...
Move a bunch of importer messages out of the user-visible space as they
are not information that the average user can act on.
2022-09-09 17:21:47 -07:00
Jeff Young
59f546ced0
Allow recursion up the sheet hierarchy for text variable resolution.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11953
2022-09-10 00:04:20 +01:00
jean-pierre charras
df35576cf9
fix my previous commit ( c0661468
) broken.
2022-09-09 19:00:47 +02:00
jean-pierre charras
c06614689e
OPENGL_GAL: disable bitmap image caching due to serious issues (memory leak)
...
It was re-enabled by commit cbc3bfbf
.
The current code to handle cached bitmaps is no longer compatible with the
current code.
Many cached items are created because a lot of clones are used to manage bitmap images.
Cached items are never cleaned, so a lot of memory is never freed after
using these temporary clones
And caching items do not significantly speedup drawings.
2022-09-09 18:37:30 +02:00
Jeff Young
f179754118
Implement add-new-on-return for some of our grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12335
2022-09-09 13:41:13 +01:00
Marek Roszko
087550ebd3
Get 3d plugins working for running from build dir
2022-09-08 21:49:10 -04:00
jean-pierre charras
c13b938a4b
Free memory when unused, forgotten in my commit d4feb59e
2022-09-08 13:07:36 +02:00
jean-pierre charras
d4feb59ed9
OPENGL_GAL, draw bitmap: Rebuild the bitmap cache if the bitmap itself was rotated.
...
Fixes #12378
https://gitlab.com/kicad/code/kicad/issues/12378
Fix also a Coverity warning.
2022-09-08 12:00:43 +02:00
Jeff Young
9523586bf1
Remove atrophied PCB NO_CONNECTS layer and its colour.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12316
2022-09-08 00:28:31 +01:00
Jeff Young
6f5281258e
Separate text-thickness clamping into strict and lenient modes.
...
We used to use the bold setting, but since PCBNew allows you to
directly define the width you end up with settings in between normal
and bold that get clamped to the normal max.
Fixes https://gitlab.com/kicad/code/kicad/issues/12367
2022-09-08 00:28:30 +01:00
Marek Roszko
89310bc403
"Cleaner" pan fix and add internal setter on state
2022-09-07 07:19:39 -04:00
Marek Roszko
59e9225619
Remove accidental debug code
2022-09-06 23:09:07 -04:00
Marek Roszko
971a8489b3
Hackfix the autopan on Windows
...
Autopanning is kinda doesn't jive with how events work on Windows
This is a hackfix for testing
Kinda fix https://gitlab.com/kicad/code/kicad/-/issues/11425
2022-09-06 23:07:59 -04:00
Jon Evans
1520a1d372
Use cached untranslated header for looking up width
2022-09-06 09:18:34 -04:00
Jeff Young
b80824951e
Clean up some of the PDF hypertext stuff, and add opening HTTP[S] urls.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12153
2022-09-06 13:59:52 +01:00
Jeff Young
8afc1db7a6
Property popups for symbols, labels, sheets, and footprints in PDF.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5521
2022-09-06 13:59:52 +01:00
Jon Evans
90996d0698
Don't toggle checkboxes selected rows if only one row is selected
2022-09-05 16:50:54 -04:00
Jon Evans
e294fe2074
ADDED: Dynamic field columns in symbol chooser
...
CHANGED: Symbol chooser search now considers custom symbol fields
Visible columns can be controlled in database libraries.
In standard KiCad libraries, we show columns for all custom fields for now.
Customizable column visibility will be added in the future.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11946
2022-09-05 16:38:14 -04:00
Roberto Fernandez Bautista
6013c796dd
Fix TRANSFORM::MapAngles (Third time lucky?)
...
Use epsilon value to decide whether we should swap the angles
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12346
2022-09-04 23:21:29 +02:00
Jeff Young
895a8a8dbc
Work around focus issues for status popups.
...
Autoscroll wasn't working on Mac because the status popup's panel
has the focus. This *may* also fix a problem on MSW of the auto-scroll
not being cancel-able.
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
2022-09-04 21:08:01 +01:00
Jon Evans
26ba8e1938
Don't use recursive mutex for nicknames anymore
2022-09-04 13:01:32 -04:00
Jon Evans
a5246a6df7
DbLib: Support showing field names
2022-09-04 13:01:32 -04:00
Jeff Young
71724bea0c
Remove curly brace from string encoding.
...
It causes issues with formatting constructs and text variable refs,
and it's not a reserved character even in filenames.
Fixes https://gitlab.com/kicad/code/kicad/issues/12351
2022-09-04 10:34:32 +01:00
Jeff Young
efae2bbb4c
Better feedback for netclass assignment patterns.
2022-09-03 21:33:56 +01:00
Jeff Young
c30a557810
ADDED netclass assignment from PCB canvas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5975
2022-09-03 19:29:59 +01:00
qu1ck
977b6cd8f3
PCM: add ability to pin packages
...
Pinned packages don't affect available update notification and will not
be updated with "Update All" button. Manual update is still possible but
will trigger a confirmation dialog.
2022-09-03 17:07:55 +00:00
Roberto Fernandez Bautista
112f089485
Fix TRANSFORM::MapAngles for other transformations than y=-y
...
Tested on transformation that results in: y=-y & x=-x
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12345
2022-09-03 00:28:15 +02:00
Jon Evans
b0aba0fdf3
Cache works better with unique keys
2022-09-01 23:11:35 -04:00
Jon Evans
60f6bb8c77
DbLib: Fixes for MySQL ODBC driver
...
SQLSetConnectAttr crashes for this driver, and SQLSetStmtAttr is the ODBC3 way anyway.
2022-09-01 00:24:56 -04:00
Jeff Young
9188838e50
RIP EDA_RECT.
2022-08-31 23:57:24 +01:00
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
2022-08-31 17:19:50 +01:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
jean-pierre charras
3857e68452
Python, swig: add definition of BOX2I
2022-08-31 17:18:46 +02:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Jon Evans
ae879c8f02
DbLib: Add single-row query cache
...
Since single-row queries are performed rapid-fire during certain actions like
stepping through the symbol browser, there is high value in caching them for
a small amount of time. The default cache parameters will keep results for
10 seconds, which errs on the side of getting fresh data from the database
on most user interactions.
2022-08-30 22:18:36 -04:00
Jeff Young
5679b9dbdc
Remove a few EDA_RECT instances.
2022-08-31 01:22:49 +01:00
Jeff Young
0c8787cbb9
Some more wxPoint/EDA_RECT yeeting.
2022-08-31 00:44:33 +01:00
Seth Hillbrand
b736460e71
Move optional access from value() to *operator
...
`value()` throws. Where we check for existence, we don't need to use
the throwing version and should just use the unprotected variant
2022-08-30 13:59:39 -07:00
Seth Hillbrand
91fbb5c957
Don't prevent immediate actions while router active
...
Immediate actions that can take place are useful. We should only be
preventing immediate actions while actively routing or dragging
Fixes https://gitlab.com/kicad/code/kicad/issues/12311
2022-08-30 10:31:29 -07:00
Jeff Young
63386ba64d
Pointer safety for ERC/DRC dialogs.
...
Also makes the "Edit ingored violations" easier to find.
Fixes https://gitlab.com/kicad/code/kicad/issues/12308
2022-08-30 12:07:19 +01:00
Marek Roszko
8dddc07f26
Remove #ifndef that's redundant
...
This seems to date back to once upon a time when gerbview didn't even use base_units
2022-08-29 23:24:48 -04:00
Marek Roszko
a8a75a91e1
Try and fix file encoding
2022-08-29 20:57:14 -04:00
Marek Roszko
03aa63bd50
Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific
2022-08-29 20:11:03 -04:00
Marek Roszko
99f8bb3219
panel_gal_display_options can be common
2022-08-29 18:18:38 -04:00
Marek Roszko
f0956e48f2
Make EDA_TEXT common
...
Since EDA_TEXT is a base class, we can just force the child classes to pass the correct iu scaled size
ALLOW_BOLD_THICKNESS removed because it's a pre-custom font holdover
2022-08-29 07:31:03 -04:00
Marek Roszko
1a7157fe37
Remove unused include
2022-08-29 07:31:03 -04:00
Marek Roszko
b1eff8abd4
Fix leftover base_screen.cpp
2022-08-28 19:41:52 -04:00
Marek Roszko
5ebd3b2d80
Make EDA_SHAPE common
...
Looks like it's dependency on unit macros was dropped some time ago
2022-08-28 19:35:41 -04:00
Jon Evans
ba3e31bd09
GRID_TRICKS: Allow toggling checkboxes in a set of selected rows
2022-08-28 18:30:08 -04:00
Jeff Young
48f77973da
Another try at getting the Link combobox working on MSW.
2022-08-28 23:25:01 +01:00
jean-pierre charras
abc7335fd7
Cosmetic enhancement: add two missing icons
2022-08-28 16:01:26 +02:00
Jon Evans
474d732d94
Fix for wx3.2
2022-08-28 08:53:25 -04:00
Jon Evans
7d73376bbd
Fix assertion when no netclass assignments exist
2022-08-28 08:28:13 -04:00
Jeff Young
95fd7cb80a
Move wxComboBox to wxBitmapComboBox in hopes it will work better.
...
(Not sure if it solves the MSW issues yet, but at least it highlights
the items in the dropdown on rollover on OSX.)
Also added some text to the dropdown menu for intersheet references in
the PDF.
2022-08-28 12:05:27 +01:00
Jeff Young
c0d2052e4b
PDF hypertext menus for intersheet references.
2022-08-27 23:58:13 +01:00
Jeff Young
560dc7d2b6
Underline for hypertext rollovers.
2022-08-27 23:58:13 +01:00
Jon Evans
49354e52a8
Add support for sub-libraries concept
...
Sub-libraries allow a single-level hierarchy inside a symbol library.
This is useful for database libraries and for supporting other EDA library types where a
single file can contain multiple logical groupings of symbols.
2022-08-27 18:47:39 -04:00
Roberto Fernandez Bautista
a76d1a791d
Hyperlinks: Don't forget about file:// protocol
2022-08-27 23:16:28 +01:00
Roberto Fernandez Bautista
f73a3f852e
Hyperlinks: Fix URL validation for https
2022-08-27 22:45:19 +01:00
Jeff Young
122a6d7f46
Move hypertext linking to user-page-numbers.
...
Also moves most navigation code to SCH_NAVIGATION_TOOL.
Also changes page number href to anchor syntax ('#foo').
Also adds hypertext processing to SCH_TEXTBOXes.
Also adds combobox with schematic pages to text properties dialog.
2022-08-27 19:17:43 +01:00
Roberto Fernandez Bautista
9b007ca4bf
ADDED: Go to page hyperlinks in schematic editor (virtual page numbers)
...
The problem is that "real" page numbers can be duplicated, so we work around it
by using virtual page numbers instead which are guaranteed unique.
Example "goto:3" will go to page 3. If customised page numbers are used such as
a, b, c, then to go to page b, we should specify goto:2 (i.e. the virtual page
number).
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
5d90f3f54f
WIP - fix up parsing + generalise to the pcb
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
3cd867e656
WIP - add hyperlinks to pages within pdf
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
f788945cf4
Add pdf output to hyperlinks
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
366b0ab08b
Fix variable naming in pdf plotter
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
20ed9b475b
Configurable hyperlink hovering color
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
840bcffefb
ADDED: Hyperlinks on text items in Schematic Editor
2022-08-27 19:17:42 +01:00
Marek Roszko
9acc5ac7ea
base_screen became free of base_unitry awhile ago
2022-08-27 14:02:51 -04:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04:00
Roberto Fernandez Bautista
7d5bdd23de
more cleanup TRANSFORM::MapAngles
2022-08-27 12:51:33 +01:00
Roberto Fernandez Bautista
5cae80d737
Cleanup asserts in TRANSFORM::MapAngles
2022-08-27 12:51:33 +01:00
Roberto Fernandez Bautista
029cc65b34
EDA_SHAPE: Remove m_upsideDownCoords hack (Fixes hitTest routine)
2022-08-27 12:51:32 +01:00
Roberto Fernandez Bautista
2812794742
Move TRANSFORM to common
2022-08-27 12:51:32 +01:00
jean-pierre charras
4b5c5aa6b6
Preferences dialog: avoid crash on opening if a dll is missing.
...
Fixes #12273
https://gitlab.com/kicad/code/kicad/issues/12273
2022-08-27 11:36:37 +02:00
Jon Evans
300d92438c
Allow hiding symbol library tables from symbol chooser
...
Hidden but loaded libraries are useful when using database libraries
2022-08-26 20:18:40 -04:00
Jon Evans
d22fc24d9e
Attempt to fix MSVC build
2022-08-26 12:51:14 -04:00
jean-pierre charras
5c7f1083c7
database_connection.cpp: Fix compil issues on msys2. these issues are
...
due to "old" (or not existing) types used in sql.h
2022-08-26 18:15:57 +02:00
Jeff Young
3da2f79d0e
Fix initialisation order issue in PANEL_SETUP_NETCLASSES.
2022-08-26 17:05:25 +01:00
Seth Hillbrand
146495672e
Utilize our combine_hash routine for multiple hash
...
We should be using the one routine every time we want to build a hash
from indepedent values rather than rebuilding it differently in multiple
places
2022-08-26 08:45:13 -07:00
Seth Hillbrand
06786c34d7
Blacklist hashes for 2d integer elements
...
The hash table for integer hashes is extremely limited and places most
elements in the same buckets. This leads to a linear search time for
structures built on this.
This blocks hashes, directing the coder to utilize std::set or std::map
structures instead of hash tables for implementing integer-based
lookups.
2022-08-26 08:43:37 -07:00
Seth Hillbrand
ed02d7c974
Spread bitmap store hash table elements
...
XOR of two sequential ints makes for an inefficient hash table. The
hash_combine function is intended for this purpose
2022-08-26 08:43:37 -07:00
Jon Evans
ae6a2a6443
ADDED: Database libraries MVP
...
Allows placing parts from an external database that reference symbols from another loaded library.
Includes:
- nanodbc wrapper
- database schematic library plugin
- basic tests
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7436
2022-08-26 10:51:13 -04:00
Jon Evans
31c24f4421
Add nanodbc
2022-08-26 09:38:11 -04:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
Seth Hillbrand
c491cd01c5
Silence property warnings
2022-08-25 13:39:38 -07:00
Roberto Fernandez Bautista
8a02f2f809
DIALOG_PASTE_SPECIAL: Set focus on OK button
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12285
2022-08-25 20:25:23 +01:00
jean-pierre charras
a306246558
Fix a few (minor) compil and Coverity warnings.
2022-08-25 20:21:00 +02:00
jean-pierre charras
27c31061b1
Set locale in SaveToFile routine before calling json stuff.
...
It avoid wxWidgets alerts about locale when running some python scripts
2022-08-24 07:36:57 +02:00
Marek Roszko
e30f059b43
Silence uninitialized warning
2022-08-23 23:51:42 -04:00
Marek Roszko
fc99b3ba95
Don't link gdiplus everywhere anymore
...
Tested on msys2 which is the only place it would have been buggy
CMake seems to share the gdiplus linkage with the other dependencies automatically now
2022-08-23 23:51:35 -04:00
Marek Roszko
e0f28fc4e1
Replace wxFindReplaceData with our own container
...
By dropping the flags, we can be strict with options.
Also it makes future usage of search functionality a little more "UI" framework independent
2022-08-23 22:16:51 -04:00
Seth Hillbrand
7a8b188569
Fix Sentry crash for font loads
...
We cache newstroke loading, but if we have threaded loads, we might ask
multiple threads to load the newstroke font at the same time. This
causes conflicts in the vector allocations->crashes
2022-08-23 09:51:20 -07:00
Jon Evans
284917b999
Fix assertion when rendering layer editor
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
7208ceb5f1
Handle mils in property panel
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
bfdb39f418
Properties Panel: Plain-language descriptive noun function of EDA_ITEM
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
f5a75a4001
Minor nullptr fixes
2022-08-22 21:32:33 -04:00
Jon Evans
f5597238fb
Properties: add color swatch to layer enum
2022-08-22 21:32:33 -04:00
Jon Evans
239fd29da4
Use checkbox mode for boolean props
2022-08-22 21:32:33 -04:00
Jon Evans
91c15b7e21
Properties panel appearance tweaks
2022-08-22 21:32:33 -04:00
Jon Evans
3c6e8aea0f
Properties panel: post-rebase fixes and hide by default
...
Remove layer widget re-added by Orson's rebase
2022-08-22 21:32:33 -04:00
Maciej Suminski
990ea5595e
Properties: Fixed a startup crash
2022-08-22 21:32:33 -04:00
Maciej Suminski
af71d42307
Renamed PROPERTY_TYPE enum names to avoid a conflict on MSYS2
2022-08-22 21:32:32 -04:00
Maciej Suminski
c37c429c75
Rename PROPERTY_PANEL::Update() to PROPERTY_PANEL::UpdateData()
...
The base class (wxPanel) already provides Update() method,
which should not be overridden.
2022-08-22 21:32:32 -04:00
Maciej Suminski
7f00efe6cf
Properties: Fixed conditional properties using enum values in the conditions
...
When wxAny holds an enum, it cannot be compared with an integer due to a
missing conversion function. In such case, conditional properties
compare a raw value rather than wxAny.
2022-08-22 21:32:32 -04:00
Maciej Suminski
8fa513e903
Properties: fix Properties panel refresh
2022-08-22 21:32:32 -04:00
Maciej Suminski
f6f6ebd5f9
WIP: Properties GUI
2022-08-22 21:32:32 -04:00
Maciej Suminski
95fd58b25a
Properties meta-data for pcbnew classes
2022-08-22 21:32:00 -04:00
Jeff Young
32461c91e9
Wide status bars can afford to give the text more room.
2022-08-22 22:33:38 +01:00
Alex
3a76d42630
Cross-probing/selection for multiple items (PCB -> SCH)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
2022-08-22 19:33:39 +00:00
Jeff Young
f42b66bc1c
Regularize ellipsization of menu and status text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12257
2022-08-22 17:52:58 +01:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Jeff Young
b2a2d66005
Move Bus Definitions to common GUI paradigm in Schematic Setup.
...
Also includes a change to the std::initializer_list stuff to try and
fix a crash.
2022-08-21 12:29:51 +01:00
jean-pierre charras
a5283d91eb
shape.i: disable a SWIG warning (warn 509) creating noise for this file.
2022-08-21 08:29:19 +02:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
46df421064
ADDED defined pad groups for net-tie footprints
...
Each pad group is allowed to short nets with other pads in its group.
Legacy footprints with the "net tie" keyword hack will get a single
group auto-created with all the footprint's pads in it.
DRC and the router now allow a track to collide with copper graphic items
while entering a net-tie pad as long as the closest point in the collision
is within the pad.
DRC (and the footprint checker) now check for copper items in the
footprint shorting pads which are not in the same pad group.
Fixes https://gitlab.com/kicad/code/kicad/issues/2265
2022-08-19 18:54:20 +01:00
Jeff Young
508df402f6
Cleanup.
2022-08-19 18:54:19 +01:00
jean-pierre charras
e0fbe2542f
Fix a few compil and Coverity warnings.
2022-08-19 10:53:29 +02:00
Seth Hillbrand
5ed7e28252
Remove KICAD_OCC build option
...
We don't really support builds without OCC these days. Removing to
clear up build flags and settings
2022-08-18 17:06:29 -07:00
qu1ck
f4fa3b02c5
PCM: automatic check for repository updates
2022-08-18 20:41:43 +00:00
Seth Hillbrand
97d7ee1f30
Remove `/` from our forbidden LIB_ID list
...
It is still forbidden from footprint file names but that is handled
separately and it should not be forbidden in symbol files at all
2022-08-18 12:49:40 -07:00
jean-pierre charras
afacec3acb
Protect RC_TREE_MODEL::GetValue() against null pointer
2022-08-18 10:14:02 +02:00
Marek Roszko
19e27ef587
Avoid missing null check in RC_TREE_MODEL::DeleteItems
2022-08-17 07:12:26 -04:00
Alex
371f6d917f
Use VECTOR2I::extended_type instead of long, and int for numeric limits.
2022-08-16 12:08:55 +00:00
Alex
6d739ca9da
Improve handling of long distances
2022-08-16 12:08:55 +00:00
Marek Roszko
d33830e570
Switch sentry to commit hash for kicad nightly releases
2022-08-15 20:57:44 -04:00
Marek Roszko
2ee6f67892
Handle leading whitespace with std::from_chars
...
Testing the parsers, this doesn't generally happen but there was a comment about it before the changes
2022-08-15 19:30:43 -04:00
Marek Roszko
e4ba1d4879
Remove unused string helper
2022-08-15 19:12:45 -04:00
Jeff Young
a3dc38cb32
Update schema versions so we can patch bad data from earlier bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12180
2022-08-15 23:48:38 +01:00
Jeff Young
e015f5b086
Formatting.
2022-08-15 23:48:38 +01:00
Seth Hillbrand
34a5a32a52
Prevent GTK from zero-ing out column size
...
Related to https://gitlab.com/kicad/code/kicad/-/issues/12180
2022-08-15 14:24:02 -07:00
Wayne Stambaugh
7155d1af29
Fix a few more compile warnings.
2022-08-15 15:15:35 -04:00
Seth Hillbrand
759e1a64ef
Fix broken const ref in wildcard
2022-08-15 12:09:30 -07: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
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
2022-08-15 18:03:03 +01:00
Seth Hillbrand
4b3ac52b1d
Fix shadowed variables
2022-08-15 08:03:30 -07:00
Wayne Stambaugh
898ec0d094
Fix wxWidgets 3.1 and later deprecated build warnings.
...
wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize(). This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
2022-08-15 08:00:40 -04:00
Jon Evans
6365a37042
Add {fmt} library
2022-08-14 22:49:55 -04:00
Marek Roszko
c418b25756
Centralize the parseDouble functions in the parsers and gcc specialcase
2022-08-14 18:46:19 -04:00
Jeff Young
84138d5039
Fix bug adding netclass in Eeschema.
2022-08-14 23:26:40 +01:00
Jeff Young
86938aa425
Read, write and process the board-wide Allow soldermask bridges in FPs.
2022-08-14 22:56:29 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
18ac169ac7
Add contexts to EDA_COMBINED_MATCHER.
2022-08-14 22:56:29 +01:00
Marek Roszko
4472435380
Fix broken constructor
2022-08-14 12:57:22 -04:00
Marek Roszko
a070959209
Switch from strtod to std::from_chars for performance
2022-08-14 16:19:24 +00:00
Marek Roszko
90a62d8b02
Use fgetc directly under msvc in richio
...
getc is a real function instead of macro like under gcc implementations. This adds a tiny cost of calls.
2022-08-14 16:19:24 +00:00
Marek Roszko
fd6564cc82
Allow KIID to directly take in std::string
...
Reduces multibyte conversion banging on library load. uuids already are ASCII by their nature and the logic checks that or else it generates a new kiid.
2022-08-14 16:19:24 +00:00
Forrest Voight
bbc0c61ccb
kiid.cpp: Fix Boost version incompatibility and use of boost::*::detail
...
Fix compile with Boost 1.65.1 (and possibly some or all of the 1.59-1.66
range); remove dependence on private boost::*::detail members.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12175
Comment tweaks by Mark Roszko @mroszko
2022-08-11 19:42:07 +00:00
jean-pierre charras
39de92bba2
DIALOG_COLOR_PICKER: fix an issue in DC.SetDeviceOrigin() due to changes in wxWidgets.
...
DC.SetDeviceOrigin() behavior has changed in version 3.1.7 (or 3.1.6), and the settings
needs a small change.
Fixes #12204
https://gitlab.com/kicad/code/kicad/issues/12204
2022-08-11 10:15:50 +02:00
Mikolaj Wielgus
67d149ca73
QA: Use wxLogError() (not wxLogDebug()) in DisplayError[Message]()
2022-08-09 21:08:48 +02:00
Jeff Young
2e2264cb74
Minor cleanup.
2022-08-09 08:46:12 +01:00
Marek Roszko
f695ae5522
Generate const keyword_hash maps at compile time
...
Or else the map gets pointlessly recreated during footprint loading thousands of times
2022-08-09 00:56:49 -04:00
Jeff Young
a11f48ef10
Markers provider is no longer responsible for all markers.
...
Unconnected items and schematic partity violations are also now
represented by markers, so the ERC/DRC window itself needs to do
the deep-delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/12182
2022-08-08 22:02:20 +01:00
Jeff Young
51b905ba32
Move Configure Paths help inside dialog.
...
This allows us to switch back to a standard modal dialog (instead of
quasi-modal, which has problems with Ctrl-V in a search box inside a
standard file dialog -- such as when picking a path).
Fixes https://gitlab.com/kicad/code/kicad/issues/9473
2022-08-07 11:28:16 +01:00
Jeff Young
5c9aed62aa
Use wxWidgets IDs for cut/copy/paste.
...
This allows them to work in places like search boxes in standard file
dialogs. If wxWidgets doesn't find the standard IDs in our menus
then it won't enable them.
2022-08-07 11:28:16 +01:00
Jeff Young
509d233d97
Fix knockout text bounding boxes and hit testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12133
2022-08-06 00:00:04 +01:00
jean-pierre charras
d0d19423e0
Eeschema: Try to fix bitmap printing in wx version > 3.1.5
...
We had on a regular basis problems when printing bitmaps.
Probably due to issues in wx and in our code.
2022-08-04 14:25:52 +02:00
Jeff Young
e4b6da287f
Fix errant string format char.
2022-08-03 14:27:56 +01:00
Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Jeff Young
0304ad4494
Move connection width testing to rule system.
...
Also copies connection width progress reporting architecture over to
the sliver checker.
2022-08-01 13:09:51 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
jean-pierre charras
d1ff8f4781
PROGRESS_REPORTER_BASE: call code to resize it only if the message has change.
...
In wxWidgets 3.15 (and perhaps older version) the call to GetTextExtent() probably
creates major issues when called too many times, at least oo msys2.
It was probably also time costly.
Calling it and resize the PROGRESS_REPORTER only when needed fixes these serious issues.
Issues happened only when the board has a lot of zones (when teardrops are added)
2022-08-01 13:18:50 +02:00
jean-pierre charras
32551cf1ea
minor coding style fix.
2022-07-31 18:35:37 +02:00
jean-pierre charras
4bfbf91369
3D viewer: Fix incorrect behavior when moving the scene
...
Fixes #12114
https://gitlab.com/kicad/code/kicad/issues/12114
2022-07-30 13:27:25 +02:00
Mikolaj Wielgus
7cf5138c63
Sim: Bugfixes, mostly for MS Windows compilation errors
...
Unfortunately, Windows headers define a lot of macros for common words,
so we had to rename some enums to not collide.
We also fix some of the many bugs related to the new simulation
architecture and the Spice Model Editor dialog.
2022-07-30 02:25:34 +00: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
jean-pierre charras
490875e222
Fix a missing call to aEvent.Skip() in commit 753f2f3
.
...
Any wxSizeEvent handler must call Skip() to propagate the event.
2022-07-29 16:46:35 +02:00
jean-pierre charras
905df71977
Fix an issue when printing bitmaps when not on wxWidgets 3.1.6 and 3.1.7
...
Commit 6e35d5473
added a hack to fix an issue on wxWidgets 3.1.6. But this hack
must by applied to 3.1.6 and 3.1.7, not to other versions.
Modify commit 048cf6df
that applied the fix to 3.1.6 only
2022-07-29 13:09:20 +02:00
jean-pierre charras
048cf6df7a
Fix an issue when printing bitmaps when not on wxWidgets 3.1.6
...
Commit 6e35d5473
added a hack to fix an issue on wxWidgets 3.1.6. But this hack
must by applied only to 3.1.6, not to other versions.
Fixes #12108
https://gitlab.com/kicad/code/kicad/issues/12108
2022-07-29 10:26:45 +02:00
Jeff Young
753f2f3e4c
Display descriptions in second column of library trees.
...
Also fixes some bugs in how the columns are sized.
Fixes https://gitlab.com/kicad/code/kicad/issues/12090
2022-07-28 14:51:47 +01:00
Seth Hillbrand
ee8116e55f
Protect against double-refresh
...
The wxtimer can fire multiple times and there exists the possiblity for
this to happen before the flags are properly set to prevent it. This
creates a concurrency mutex to skip the EDA_DRAW_PANEL_GAL refresh if
one is already underway.
Fixes https://gitlab.com/kicad/code/kicad/issues/12094
(cherry picked from commit 39dd51490d
)
2022-07-27 20:28:48 -07:00
Jeff Young
bb43d923af
Save preferences immediately (in case of future crash).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11162
2022-07-27 18:57:45 +01:00
Jeff Young
4a40d94b5a
More hotkey label cleanup.
2022-07-27 12:29:01 +01:00
Jeff Young
6e0d31b812
Improve grid tooltip.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9841
2022-07-27 12:29:01 +01:00
Jeff Young
d9d579c895
Clean strings before displaying in hotkeys list.
...
Also make sure the description column is wide enough.
Fixes https://gitlab.com/kicad/code/kicad/issues/11994
2022-07-27 12:29:01 +01:00
Mike Williams
ece9a782ac
Gerbview: unexceptional exception cleanups
2022-07-26 18:42:55 +00:00
Mike Williams
be7104c24c
Gerber Viewer: gerbview -> Gerber Viewer in Settings
2022-07-26 18:42:55 +00:00
Seth Hillbrand
2245e99a89
Apply Wayne's suggestion for better error recov
...
No need to exit the draw routine on a bad layer, we can skip that layer
and continue processing the valid elements
2022-07-26 11:06:29 -07:00
Jeff Young
c3a5947fe6
Make Scintilla paste a separate undo operation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11756
2022-07-26 18:45:02 +01:00
Seth Hillbrand
008b4f583b
Fix typo in lib_text layer id
...
Also adds CHECK_RET to catch similar errors in the future
Fixes https://gitlab.com/kicad/code/kicad/issues/12078
2022-07-25 17:08:16 -07:00
jean-pierre charras
993c446fdf
Fix some warnings detected by PVS-STUDIO (most are not used vars)
2022-07-25 18:23:52 +02:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
582c133835
CSV escaping.
2022-07-24 23:41:41 +01:00
Jeff Young
6eada34f41
Use "Cancel" for cancel semantics, even when affirmitave to question.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11983
2022-07-24 08:47:01 +01:00
Jeff Young
74b9ff5865
Don't specify a severity when traversing the filtered list.
2022-07-24 08:41:02 +01:00
Jeff Young
def87c969e
Redo the pinned-libraries storage architecture.
...
1) always use preferences directly
2) allow nicknames from either preferences or project
3) store-after-modify
Fixes https://gitlab.com/kicad/code/kicad/issues/12000
Fixes https://gitlab.com/kicad/code/kicad/issues/11892
2022-07-22 09:31:10 +01:00
Marek Roszko
47fe8ff8eb
bitmaps and template are resources.
2022-07-21 20:14:10 -04:00
luz paz
79fa911e0e
Fix various typos
...
Found via `codespell -q 3 -S *.po,./thirdparty,./Documentation/changelogs -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,ba,busses,dout,einstance,leaded,modul,ontext,ot,overide,serie,te,,tesselate,tesselator,tht`
2022-07-21 16:31:41 +00:00
Jeff Young
7386e64923
Attempt to work-around wxWidgets bug with Serbian & Russian locales.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12002
Fixes https://gitlab.com/kicad/code/kicad/issues/11963
2022-07-20 17:52:48 +01:00
Jeff Young
e5a664c6b3
Try a slightly different tack for cancelling net highlighting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12029
2022-07-19 10:31:49 +01:00
Seth Hillbrand
0335df77fa
Ensure global tooltip is created for each app
2022-07-18 17:08:48 -07:00
dsa-t
e2e574c84d
Fix a mistake in EDA_RECT::Intersects.
2022-07-18 18:51:52 +00:00
Jeff Young
b727bfc16d
Performance: avoid sqrt at all costs.
2022-07-16 18:42:32 +01:00
Alex
ebbfc25420
Don't evaluate arguments passed to KI_TRACE if tracing is disabled.
2022-07-16 17:35:22 +00:00
Jeff Young
d0547cbde7
Don't allow 0 line-width for unfilled shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12010
2022-07-16 16:26:05 +01:00
Seth Hillbrand
db4f2d9dd8
Catch some crashes on shutdown
...
These can happen when a tool is active that sends signals when exiting
(e.g. deselectEvent). These may be caught by the active loop in another
tool which might try to update the UI after it has been freed. By
marking all tools as "shutdown", the only event returned to them should
be null. As an extra precaution, we flag the shutdown globally within
the tool manager and check this flag before launching either events or
new tools
Fixes https://gitlab.com/kicad/code/kicad/issues/10698
2022-07-15 16:56:01 -07:00
Seth Hillbrand
b792a3f3f5
Add angle display to line drawing
...
Helpful to see what angle you are at when setting graphic lines
2022-07-15 12:03:11 -07:00
Seth Hillbrand
bed38d2fc8
Stroke, don't fill fonts in preview
...
Fixed new vector-style font display to avoid the non-closed polyline
fills that make it hard to read the proper text
Fixes https://gitlab.com/kicad/code/kicad/issues/11781
2022-07-15 11:58:33 -07:00
Seth Hillbrand
595e5cb3f2
Add sort feature to pre-defined list
...
Board setup rows should be sortable when inserting new elements. They
get sorted when saving, this keeps that representation while editing
Fixes https://gitlab.com/kicad/code/kicad/issues/12015
2022-07-15 11:16:15 -07:00
Seth Hillbrand
9faff78258
Keep the reset text correct
...
Ensures that after setting the initial dialog page, we also set the
proper text in the reset button as the event does not get fired
Fixes https://gitlab.com/kicad/code/kicad/issues/11856
2022-07-14 14:19:09 -07:00
Seth Hillbrand
93fb00d815
Protect the Kiway dereference
...
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.
Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame. This allow
for the cleanup actions onClose() to happen prior to the next action
starting
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
2022-07-14 11:37:45 -07:00
Mike Williams
d44e34d513
Images: Add full properties editor
...
Converts dialog_image_editor to panel_image_editor. Embeds this panel in
a new properties dialog for the schematic and PCB editors that allows
editing position, layer, locked status, etc. like other items.
2022-07-14 11:23:23 +00:00
Mike Williams
99f8b21ed1
PCB: Add bitmap layer per board layer
2022-07-14 11:23:23 +00:00
Mike Williams
3669cb4673
PCB Editor: Add User Background Images
2022-07-14 11:23:23 +00:00
Mike Williams
cbc3bfbf08
GAL: Re-enable OpenGL bitmap cache
...
Might still have issues, re-enabling for wider test.
2022-07-14 11:23:23 +00:00
Mike Williams
3e80963482
GAL: Delete no-effect target changes
2022-07-14 11:23:23 +00:00
Seth Hillbrand
b5bf1da251
Keep track of blocking windows
...
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
Fixes https://gitlab.com/kicad/code/kicad/issues/11772
2022-07-13 19:25:24 -07:00
Seth Hillbrand
86ac77258f
Don't clear our mutex when drawing
...
The (lite) mutex protects DoRePaint() from reentry but this breaks if it
is cleared by a timer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12003
2022-07-12 20:10:46 -07:00
jean-pierre charras
1a5b0d7e39
Rework on bitmap_info.cpp cmake build process.
...
on gcc 12.1 / msys2 the large initialized list in bitmap_info.cpp breaks
the compiler (perhaps a bug in the compiler).
So, as workaround, the initialization sequence is modified.
2022-07-12 16:48:48 +02:00
Jeff Young
57acce9e55
Share more code between selection tools.
2022-07-11 19:04:08 -06:00
Seth Hillbrand
3081023b5e
ADDED: Minimum copper connection width DRC check
...
Checks all copper connections in each net/layer for minimum width
setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9870
2022-07-11 19:26:56 +00:00
Jeff Young
e122dc38bd
Add context menu item for clearing net highlighting.
...
In selection tools, drawing tools, router tool, line_wire_bus tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/11920
2022-07-10 17:15:20 -06:00
Jeff Young
eb27a3f8b9
Added pinning support to various EDA_LIST_DIALOGs.
...
Footprint Save As, Symbol Save As, etc.
2022-07-09 20:44:49 -06:00
Jeff Young
05219e4d9a
Add pinned library support to Choose Symbol and Choose Footprint.
2022-07-09 20:06:31 -06:00
Jeff Young
190fb23e88
Add pinned library support to Footprint and Symbol Viewers.
...
Also includes adding libraray and symbol filters to Symbol Viewer.
2022-07-09 17:41:10 -06:00
Jeff Young
120c5b9ac1
Reimplement pinning now that we're no longer sorting on score.
2022-07-09 12:26:44 -06:00
Jeff Young
0953395c87
LIB_SHAPE slightly abuses SHAPE_POLY_SET by using it for line chains.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11956
2022-07-08 21:35:40 -06:00
Jeff Young
62cef3d830
Add LAYER_PRIVATE_NOTES for private text & graphics in symbol editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11957
2022-07-08 17:27:05 -06:00
jean-pierre charras
d90a2cc6b5
tread_pool: create it on the heap, because creating it static generate a DTOR issue on mingw.
...
When built with mingw, the tread_pool DTOR is probably called too late, and treads are
not cleaned correctly, and the application hangs on exit.
2022-07-08 19:07:21 +02:00
Marek Roszko
7473528cf4
Ensure user paths are created early
...
Fix #11962
2022-07-05 20:47:53 -04:00
Mike Williams
193248e202
Hotkeys: show user config for unloaded KiFACEs
...
Otherwise, only the default hotkeys will be listed.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10687
2022-07-05 13:37:45 +00:00
jean-pierre charras
16667717a2
Pcbnew, printing in B&W: never draw the background color.
...
Otherwise a black background is printed.
Fixes #11625
https://gitlab.com/kicad/code/kicad/issues/11625
2022-07-04 12:00:44 +02:00
Seth Hillbrand
907d8fc018
Revert "Fix Swatch sizes"
...
This reverts commit 25c3a4681f
.
Windows default sizes are too big when they are the correct size on
Linux. We need the DU scaling for swatches
2022-07-01 11:37:55 -07:00
Seth Hillbrand
25c3a4681f
Fix Swatch sizes
...
The swatches are surrounded by non-scaling icons. We should not scale
the swatches unless we also scale the icons. This patch makes all
elements in the appearance panel equally non-scaling
This relates to https://gitlab.com/kicad/code/kicad/-/issues/11880
2022-07-01 10:56:13 -07:00
jean-pierre charras
1598ce762b
bitmap_info.h: move g_BitmapInfo initialization to bitmap_info.cpp.
...
The main purpose is to make changes in g_BitmapInfo more easy.
Although it is automatically generated, it is sometime more easy to modify
it by hand (the recreation of bitmaps stuff is time consumming), especially
during testing.
2022-06-30 13:00:37 +02:00
Jeff Young
b512d64148
Naming conventions.
2022-06-29 07:34:46 -06:00
Jeff Young
dbbdc9d2e6
Don't rely on the penWidth already being set when setting the dash style.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11908
2022-06-29 07:34:45 -06:00
Mike Williams
64b89639cf
PCB Editor: Make Ctrl-Click net highlighting configurable
...
Defaults to ctrl-click is exclusive or selection like other
applications. Footprint editor can only be exclusive or.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10810
2022-06-28 16:29:14 +00:00
Seth Hillbrand
89eeba3312
Correct WX check for DPI handler calls
2022-06-27 13:34:39 -07:00
jean-pierre charras
4be4c5f4a1
Avoid compil warning (when possible) about deprecated GetArchName() in wx >=3.1.5.
...
Use GetArchName() in wx >= 3.1.6.
2022-06-25 11:25:45 +02: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
Seth Hillbrand
a118f20464
Hide cursor while warping on Wayland
...
Based on https://gitlab.freedesktop.org/xorg/xserver/-/issues/734 we
hide the window cursor prior to warping, which allows XWayland to
reposition the cursor. This is only performed when Wayland is detected;
all other configurations call the standard warp routine
Fixes https://gitlab.com/kicad/code/kicad/issues/9785
2022-06-24 09:56:43 -07:00
Seth Hillbrand
7b9dc1b9f0
Fix Eeschema Arc plotting
...
The start/end point plotting is not reliable for eeschema. We need to
preconvert to angles to get the correct winding as the default plotter
conversion in the PLOTTER class makes pcbnew-based assumptions
Fixes https://gitlab.com/kicad/code/kicad/issues/11885
2022-06-22 16:46:28 -07:00
Seth Hillbrand
a852286eb5
Cleanup compile warnings
2022-06-21 17:04:56 -07:00
Fabien Corona
976670e987
Move 3D controls to a new class
2022-06-21 23:38:22 +00:00
Miklós Márton
f2382a7bd1
Add Make selected active/inactive actions to the symbol libraries
...
context menu
Fixes #11372
2022-06-21 23:32:02 +00:00
Seth Hillbrand
67d9729311
Treat all units equally when converting to string
...
Excessive trucation in mils can lead to data loss when round-tripping
values. Better to keep decimal count consistent between units
Fixes https://gitlab.com/kicad/code/kicad/issues/11878
2022-06-21 15:21:57 -07:00
Zoltan Puskas
1c04eb6d0e
Fix -Wuninitialized warning in tool manager
...
Fixes #11866
https://gitlab.com/kicad/code/kicad/-/issues/11866
2022-06-20 22:40:42 +00:00
Jeff Young
231ac567b8
Bug fixes for printing vias.
...
Blind/buried and microvias didn't get their layers trimmed properly,
nor did through vias with dropped pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/11851
2022-06-19 11:58:21 +01:00
jean-pierre charras
6f05bb9a83
EDA_TEXT::printOneLineOfText(): fix incorrect line thickness calculation.
...
(It was not the same as the one used to draw texts)
Fixes #11849
https://gitlab.com/kicad/code/kicad/issues/11849
2022-06-18 09:31:14 +02:00
Jeff Young
97b0005780
More caching for DRC.
...
Also fixes a bug where some physical clearance tests would be run even
if the clearance was 0 (or if the rule was set to IGNORE).
2022-06-17 23:58:31 +01:00
jean-pierre charras
f20cb0fda8
Activate teardrops: remove advanced config option and add teardrop keywords in files. (the ability to read teardrop keywords was added some time ago)
2022-06-17 19:42:27 +02:00
jean-pierre charras
c2707e0c8d
Add some missing icons.
2022-06-17 17:51:19 +02:00
Jeff Young
a7cb985b80
Don't allow PCBNew netclass cols in Eesceham and vice versa.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11804
2022-06-13 21:28:35 +01:00
jean-pierre charras
fa5150b05f
Add bitmaps paste_special to context menu.
2022-06-13 14:40:21 +02:00
Jeff Young
52bc2511cd
Add a radioButton mode to IMAGE_BUTTON.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11797
2022-06-12 20:09:46 +01:00
Jeff Young
f22cf1cc3a
Fill in missing bits of LAYER variable for printing/plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11788
2022-06-10 22:38:01 +01:00
Seth Hillbrand
4790257616
Don't break alphabetical sorting on search
...
When using the "Filter" search for footprints/symbols, the least
surprising outcome is that the window filters the existing
(alphabetically sorted) list but does not change the display order based
on scoring.
This also needs to adjust the fix for
https://gitlab.com/kicad/code/kicad/-/issues/259 as that assumed the
selected element would be the first below the group (not the case if we
are sorting alphabetically)
Fixes https://gitlab.com/kicad/code/kicad/issues/11746
2022-06-10 11:48:47 -07:00
dsa-t
3a76435eda
OpenGL: Use glGetProgramiv instead of the extension function.
2022-06-09 19:37:42 +00:00
Jeff Young
bf71cada4e
ADDED: User viewports for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5724
2022-06-06 22:24:02 +01:00
Jeff Young
244042ce51
Keep footprint selection in Symbol Chooser history list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1841
2022-06-06 22:24:02 +01:00
jean-pierre charras
9f38fa43cd
Fix some minor compil and Coverity warnings.
2022-06-05 11:44:49 +02:00
Jeff Young
dd2e12bdf1
Formatting.
2022-06-04 22:22:55 +01:00
jean-pierre charras
bb2fc2860a
Pcbnew, physical layer names: never translate them (they are proper noun)
...
physical layer names are not translated in files, but they were translated
in UI. Using these translated names can create issues and misunderstanding for users.
Now physical layer names are seen as proper nouns and are never translated.
Fixes #11715
https://gitlab.com/kicad/code/kicad/issues/11715
2022-06-04 11:02:23 +02:00
Jeff Young
d0023add81
Code clarity.
2022-06-03 23:27:10 +01:00
Roberto Fernandez Bautista
41bf397d24
CADSTAR Schematic: Fix parsing of ATTRCOLORS.
...
Apparently there can be a `INVISIBLE` token. Unclear what it means,
but lets read it anyway
2022-06-03 23:07:12 +02:00
Jeff Young
7ede2c70bd
Performance enhancements for hotkeys.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11592
2022-06-03 00:36:33 +01:00
Mike Williams
857990a883
Hierarchy: turn into a left side pane
...
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Jon Evans
f4372a2de9
UNIT_BINDER should support long long ints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10870
(cherry picked from commit eb1164fc93
)
2022-05-31 21:54:51 -04:00
Jeff Young
abba1b04bd
Add "Enter Sheet" to Sheet tool (context menu & double-click).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11531
2022-05-30 14:08:26 +01:00
Jeff Young
5cae4cf918
Give zoom tool its own menu.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11702
2022-05-30 11:44:02 +01:00
Jeff Young
5c3b6980a5
Tooltip for bounding boxes.
2022-05-29 21:30:14 +01:00
Mike Williams
dabd42bbc4
Schematic: Automatic Symbol Annotation
2022-05-27 15:54:00 +00:00
Seth Hillbrand
c0a9a02591
Handle settings sequencing
...
Avoids crash when window close ordering places 3d viewer after the
common settings are closed
2022-05-25 16:56:54 -07:00
Seth Hillbrand
5cd91a952f
Adding Ukranian language option
...
Ukranian translations added via weblate. This enables the menu option
to view them
2022-05-25 16:37:48 -07:00
Mario Luzeiro
ef4f0b49fc
3D-Viewer, raytracing: implement bevel edges on item layers
2022-05-25 00:11:46 +00:00
jean-pierre charras
57e59a4959
Pcbnew, on line DRC when moving footprints: add visible collisions between courtyards
2022-05-20 12:58:05 +02:00
Seth Hillbrand
2da470e1f9
Prevent programatic changes from sending events
...
When setting search history using the CTOR, we need to avoid triggering
an event that will run independent of the user interaction. Our
LIB_TREE interface is fragile on GTK and needs explicit conditions to
avoid segfaults
Fixes https://gitlab.com/kicad/code/kicad/issues/11633
2022-05-19 09:12:15 -07:00
Marek Roszko
417f2f357c
Cleanup naming of shader params/uniforms
2022-05-19 07:49:24 -04:00
Jeff Young
23fb4c7433
Uniformly use a single facility for location-less prime events.
...
Also implements a uniform mechanism for avoiding auto-scroll after
a prime event or dialog which results in a mouse position at the
edge of the canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/11057
2022-05-16 23:43:00 +01:00
Jeff Young
f2fc78f380
Don't copy modifiers to prime events.
...
The modifiers go with the hotkey, not with the action.
Fixes https://gitlab.com/kicad/code/kicad/issues/11618
2022-05-16 13:51:40 +01:00
Jeff Young
38e5faf21b
Overhaul bitmap text for performance.
...
Also adjusts metrics to better match stroke font.
Also removes text-halo highlighting as it's too expensive to re-render
when the zoom changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/11460
2022-05-14 20:09:54 +01:00
Marek Roszko
6d7835e742
Switch shader storage to char arrays
2022-05-14 11:39:46 -04:00
Marek Roszko
88c7322a0d
EDA_TEXT Get/SetTextSize should use VECTOR2I
2022-05-14 08:16:15 -04:00
jean-pierre charras
5c7a79e287
(WIP) Teardrop: use a specific attribute in .kicad_pcb file to identify teardrops
...
the new attribute is:
"(attr (teardrop type padvia)))" or "(attr (teardrop (type track_end)))"
However (Work in Progress) writing this attribute in file is temporarily disabled.
2022-05-14 09:50:00 +02:00
jean-pierre charras
20d1d0705e
Fix a few issues related to field names and their translation. - Do not use translated field names outside strings displayed in dialogs. - fix code that does not work well with default locale. - fix some (not all) I18n issues in DIALOG_UPDATE_SYMBOL_FIELDS.
2022-05-13 11:45:37 +02:00
Marek Roszko
8288f24264
Move all the shaders to glsl files (and fix the processor more)
2022-05-12 23:37:44 -04:00
Marek Roszko
6188f632b9
Initial implementation of shader translation to cpp at build time
2022-05-12 23:37:44 -04:00
Seth Hillbrand
110728af48
Prevent focus stealing in some Linux WMs
...
OnEnter events will only raise the windows within KiCad rather than
between applications
Fixes https://gitlab.com/kicad/code/kicad/issues/10809
2022-05-12 11:06:30 -07:00
Marek Roszko
abfe944299
Split gal cmake target to a subdirectory
2022-05-11 20:22:22 -04:00
Marek Roszko
f85251ef75
Fix eda_doc not looking for schematic locally
...
It looks like this was overlooked by Jeff in 2020 not realizing eda_doc isn't built under eeschema but common in cc9ac37a0e
2022-05-10 21:28:48 -04:00
Mike Williams
b7a77a9498
Schematic: Add CSV export to Symbol Fields Table
2022-05-09 12:02:12 -04:00
jean-pierre charras
623dc8980f
PS_plotter: fix a minor issue (forgotten in commit 91dfa79a
).
2022-05-09 12:34:25 +02:00
Marek Roszko
ccf235a8c3
Suppress wx3.1.6 assert because it wants the window handle for dpi
2022-05-08 19:26:41 -04:00
Jeff Young
643fa65fc2
Don't allow cut or paste into read-only grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11541
2022-05-08 19:06:46 +01:00
Jeff Young
717ea48395
Don't interpred IS_CHANGED as busy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11570
2022-05-06 22:36:30 +01:00
Jeff Young
30ecca464d
Rename mechanical_clearance -> physical_clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11554
2022-05-06 15:54:46 +01:00
jean-pierre charras
ee4e50518f
EDA_LIST_DIALOG: fix a crash due to use after delete data.
...
A list of wxArrayString was used in dialog, but not stored in this dialog.
(and this list was deleted by the caller)
A copy is now stored in dialog.
Fixes #11543
https://gitlab.com/kicad/code/kicad/issues/11543
2022-05-03 17:21:34 +02:00
jean-pierre charras
3ef397b4bd
PDF plotter: fix a not working PDF_PLOTTER::Arc() function.
2022-04-29 10:53:31 +02:00
jean-pierre charras
65cdef0290
Better code.
2022-04-29 10:52:41 +02:00
Marek Roszko
b123f7f35f
Extra sanity to avoid a gal repaint when not initialized
2022-04-28 18:34:44 -04:00
jean-pierre charras
91dfa79a67
Plot pad outlines on Fab files: fix many issues.
...
Depending on plotter type and pad type, the plotted shapes were not always the outlines,
but a outline inside the pad shape (due to legacy reasons).
In many cases the plotted shape was in fact incorrect.
(only noticeable for very small pads)
Now the actual pad outlines are plotted without modification.
Fixes #11484
https://gitlab.com/kicad/code/kicad/issues/11484
2022-04-28 12:42:43 +02:00
Jeff Young
47e002a33d
Add font to status bar for text objects.
2022-04-26 18:52:53 +01:00
Jeff Young
85680886f8
Adjust outline font SCH_TEXT positioning so it better matches SCH_FIELD text.
2022-04-26 12:52:29 +01:00
Jeff Young
662c1ce88f
Improve outline font overbar metrics.
2022-04-26 12:52:29 +01:00
Jeff Young
90bfe2d94b
Remove Save Copy As from fp editor, and rename to Save a Copy elsewhere.
...
It's still used by Eeschema and PCBNew when not in stand-alone mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/9185
2022-04-24 19:46:57 +01:00
Jeff Young
9b6a10fa6a
Fix mirrored overbars.
...
Also fixes a bug that we'd render too many glyphs when some glyphs
were combined. (To test, render "text" in Apple Chancery. The opening
"te" is combined into a ligature after which we render an extra 't' at
the end.
Fixes https://gitlab.com/kicad/code/kicad/issues/11441
2022-04-23 14:21:12 +01:00
Jeff Young
c6f83b6dec
ADDED Duplicate Footprint, Rename Symbol and Rename Footprint.
2022-04-22 22:06:51 +01:00
Jeff Young
fb1e1aec9a
Add tab processing for outline fonts.
2022-04-20 12:00:19 +01:00
Jeff Young
37a2ee7d03
Replace tab processing that got lost in move to new font engine.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11123
2022-04-20 00:06:34 +01:00
Jeff Young
08f15fe587
ADDED New Library functionality to Footprint/Symbol Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2343
2022-04-19 19:55:30 +01:00
Jeff Young
7f4f5f2882
Save and re-load query string in Choose Symbol dialog.
...
While this has been requested on its own, it's primarily done here
because wxWidgets decided to send a SEARCH_CANCEL from a wxSearchCtrl
when hitting <ENTER> if the search control holes the empty string.
This causes us to not do a symbol instert in the Chooser dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/10169
Fixes https://gitlab.com/kicad/code/kicad/issues/7699
2022-04-17 00:33:56 +01:00
Jeff Young
d01c2a6614
Add PCB_ARCs to type enum.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11384
2022-04-14 17:09:27 +01:00
Jeff Young
739f4d0a1e
Improvements to Eagle dimension importing.
...
1) Import leaders
2) Drop radius and angle dimensions
3) Import dimension text sizes
4) Correctly interpret which side dimension offset is on
5) Correclty handle offsets for non-cardinal dimensions
Fixes https://gitlab.com/kicad/code/kicad/issues/10763
2022-04-12 15:47:39 +01:00
Marek Roszko
392ed5fecd
Add policy to enable/disable pcm
2022-04-12 10:08:34 -04: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
c2bf691e56
Don't allow grid dialog to be resized, but do set help text before laying out.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10171
2022-04-10 23:41:46 +01:00
Marek Roszko
fd83e675a2
Don't pointlessly construct a wxBitmap
2022-04-10 07:47:13 -04:00
Marek Roszko
b3c5054d6c
Add initial system policy checking for turning off data collection
2022-04-09 14:05:28 -04:00
Roberto Fernandez Bautista
0015574a60
${SHEETNAME} represents the sheet name + introduce ${SHEETPATH}
...
CHANGED: The text variable ${SHEETNAME} now always represents the name of the
sheet when used anywhere in the schematic editor, including the title block
ADDED: A new text variable ${SHEETPATH} which is replaced with the path to the
current sheet - e.g. "/Sheet 1/Sheet 2".
To ensure backward compatibility, the default drawing sheet now uses
${SHEETPATH}. Custom drawing sheets will need to be manually edited.
2022-04-09 15:45:58 +01:00
jean-pierre charras
1d5be1adeb
Cairo GAL: fix incorrect size and thickness of text drawn by GAL::BitmapText()
2022-04-08 18:40:26 +02:00
jean-pierre charras
6e35d5473e
Fix an issue on wxWidgets 3.1.6 when printing bitmaps
2022-04-08 18:40:25 +02:00
Jeff Young
007906cd16
Fix a degeneracy bug in arc collisions.
...
This also fixes a failure to use the correct effective width for
shapes (which might, for instance, inherit their widths from schematic
defaults, netclasses, etc.).
Fixes https://gitlab.com/kicad/code/kicad/issues/11358
2022-04-08 16:15:58 +01:00
Jeff Young
079d4a603a
Improve transparency handling while plotting.
...
Only SVG can actually handle transparency, but we should at least mimic
the color value of other transparent fills by blending with a (presumed)
white paper.
Fixes https://gitlab.com/kicad/code/kicad/issues/11304
2022-04-08 11:40:53 +01:00
Jeff Young
dead84e7a1
A right-to-left single-char sel followed by typing leaves cursor the same.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11349
2022-04-07 11:51:58 +01:00
Seth Hillbrand
91a3024e34
Check pointer after yield
...
Yielding can change the status of the m_rcItemsProvider, so we need to
check after the yield to ensure we don't try to dereference it after
freeing
Fixes https://gitlab.com/kicad/code/kicad/issues/11347
2022-04-06 15:59:29 -07:00
Jeff Young
68ca385e07
On-the-fly translations for pin electrical types.
...
Also add on-the-fly translation for editor title bars.
Fixes https://gitlab.com/kicad/code/kicad/issues/11324
2022-04-05 13:57:28 +01:00
Wayne Stambaugh
0bdbfe1446
Pcbnew: add plot on all layers feature.
...
ADDED: Any addition board layers can be plotted on all selected board layer
when plotting.
CHANGED: The new plot to all layers feature made the plot edge cuts option
obsolete. Users must now select the edge cuts layer from the list of
plot to all layer selections to include edge cuts on all layers when
plotting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2449
2022-04-02 14:33:40 -04:00
Mark Roszko
f0f33ef1d3
Introduce sentry for crash data collection
2022-04-02 01:21:55 +00:00
Jeff Young
9402b2aeda
Take fill into account when hit-testing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11305
2022-04-01 22:40:29 +01:00
Seth Hillbrand
49c48e2fe0
Consistently handle env/prj variables
...
User-defined variables cannot be used for internally-reserved variables
Fixes https://gitlab.com/kicad/code/kicad/issues/11232
(cherry picked from commit c23679d9bd
)
2022-03-31 17:05:53 -07:00
Jeff Young
48a70a65b5
Fix a typo and add a missing color definition.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10351
Fixes https://gitlab.com/kicad/code/kicad/issues/10352
2022-03-31 22:10:45 +01:00
markus-bonk
1a9ef4bd0f
Add support for using a SpaceMouse to pan & zoom in the schematic editor.
2022-03-31 19:03:41 +00:00
Jeff Young
e8a543f1ea
Colors for text in PL_Editor and Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1952
2022-03-31 19:43:56 +01:00
Jeff Young
659e61355c
Adjust text spacing a bit more so 6.0 boards are more likely to pass DRC.
2022-03-30 16:32:24 +01:00
Jeff Young
4424865577
Make sure spaces at start of line get accounted for.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11276
2022-03-30 16:32:23 +01:00