Commit Graph

8754 Commits

Author SHA1 Message Date
jean-pierre charras f14e24d2cf PDF_plotter: fix crash when the font used to plot texts is not specified.
(In this case the default Kicad font must be used)
Fixes #13615
https://gitlab.com/kicad/code/kicad/issues/13615
2023-01-21 20:12:30 +01:00
Marek Roszko b2421c7d9f Fix tiny bug in double 2 string formatting
- I forgot to handle the trailing dots when I added the fmt variant
- UIDouble2Str (the original) lacked the comma check
- Add unit test lol
2023-01-21 13:54:52 -05:00
Chris Morgan 2b128c79f2 sprintf -> snprintf to silence some compiler warnings 2023-01-21 18:39:51 +00:00
Seth Hillbrand 3465fe3e50 Allow variable recursion
Simple recursion of variable expansion allows for multiple use cases in
portability of designs.  This also includes basic prevention of
recursion loops

Fixes https://gitlab.com/kicad/code/kicad/issues/10398
2023-01-20 16:44:48 -08:00
Seth Hillbrand 9986eb5cf6 Don't show error when added new paths
Empty paths should be discarded instead of throwing an error about
missing data
2023-01-20 16:43:16 -08:00
Seth Hillbrand d8ac53d7b4 Fix 3D model resolution for older boards
Older boards use older 3d model environmental variables.  We need to
support both older environmental variables (if the user has them) as
well as updated environmental variables (if the user only has a single
3d model path)

This updated the environmental resolver to look first in the named
location and then substitute the new location if the old location is not
defined in the environment

Fixes https://gitlab.com/kicad/code/kicad/issues/10674
2023-01-20 15:59:23 -08:00
Seth Hillbrand e6dbca051c Force realtime connectivity on
The pressure relief valve was not useful for common work patterns as it
forced the recalculation on many common actions such as bus expansion.
This caused it to actually feel slower than with the pressure relief
valve off.

For most schematics, realtime is now fast enough to not need the valve
and for those that are extremely complex, removing the valve helps this
run more predictably
2023-01-20 15:17:57 -08:00
Seth Hillbrand 5347fbdbb1 Update languages to be installed for release
Languages that have been abandoned or are not yet sufficiently
translated are not shipped with release.  The po files and existing
translations remain and will be re-enabled post release for future
development
2023-01-20 13:23:13 -08:00
Jeff Young b0ba898a27 nullptr safety (necessary during startup before project exists)
Fixes https://gitlab.com/kicad/code/kicad/issues/13608
2023-01-20 19:28:18 +00:00
Jeff Young 2367c5cf1b Fix another early return while evaluating text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/13610
2023-01-20 19:20:15 +00:00
Jon Evans 6cce99e0d0 Support showing Value field in symbol chooser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13527
2023-01-19 22:14:10 -05:00
Seth Hillbrand da1707d5ba Place hidden PDF text behind words better
Rather than hiding a single line at once, we align each word in the
string with the approximate location of the output word.  This allows
better selecting text in the output pdf

Fixes https://gitlab.com/kicad/code/kicad/issues/12159
2023-01-19 15:53:46 -08:00
Mike Williams 7ab651f078 Common: make grid prev/next wrap
Consistent with our other keys like change track and via sizes.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9051
2023-01-19 11:47:03 -05:00
kliment 0e04c4b1da Add librarian credits 2023-01-19 16:28:31 +00:00
Wayne Stambaugh 774f3f9794 Use wxMessageDialog in IsOK() on GTK builds.
wxRichMessageDialog does not have the same appearance as the native
message dialogs on GTK builds so they look completely out of place.
2023-01-19 08:28:48 -05:00
Jeff Young 47ae8bdb86 Fix duplicated message. 2023-01-19 11:01:22 +00:00
Seth Hillbrand 7e5a2450b8 Move multiple wxMessageBox to DisplayErrorMessage
Also provide protection for headless running in multiple callsites

Fixes https://gitlab.com/kicad/code/kicad/issues/13575
2023-01-18 16:54:01 -08:00
Jeff Young ae55b1581e Use error message routine that checks for headless mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/13575
2023-01-19 00:19:00 +00:00
Dag Lem cff0560088 Eagle schematic import: Handling of escaped text 2023-01-18 12:33:36 +00:00
Jeff Young 3af9c658e6 Don't specify fonts in wxFormBuilder. It only leads to pain.
Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-18 12:28:07 +00:00
Jeff Young f399dc0c3a Nullptr safety. (Sentry KICAD-4F) 2023-01-18 01:16:57 +00:00
Jeff Young 26c821962f Simplify and regularize text variable substitution architecture.
EDA_ITEMs are responsible for giving their parent a crack at it if
they failed to resolve it.  This recurses all the way up to the schematic/
board, and then to the project.

Cross-reference handling is also move to the EDA_ITEMs.  It must be done
before bubbling up so that we don't end up in loops.  (The aDepth parameter
will break the loop, but without having done anything useful.)

Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-17 17:05:41 +00:00
Mike Williams 369c0efade Bitmaps: respect source DPI
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13565
2023-01-17 11:20:17 -05:00
Jeff Young ea1d7c5d97 Update Eagle imported variable mapping to better match Eagle output.
Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-17 13:43:47 +00:00
Jeff Young 8ac0543a5e Try a bigger hammer to keep wxFormBuilder from messing up grid fonts.
Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-17 13:41:53 +00:00
Wayne Stambaugh 7361414f4c Fix GCC build issue on Linux. 2023-01-17 07:59:09 -05:00
Marek Roszko 1edf84d756 More wxS ugh 2023-01-17 07:43:04 -05:00
Marek Roszko d2c0f5fc2a More wxSing 2023-01-16 23:14:38 -05:00
Marek Roszko ac94995f70 Some more wxS 2023-01-16 19:07:50 -05:00
aris-kimi b1308d21c3 Calculator eseries, remove trailing spaces from 3R and 4R 2023-01-16 17:18:21 +00:00
Jeff Young 9315e885ee Substitute variables in imported symbol text.
Also allows mulit-line text items to be imported.

Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-16 16:01:45 +00:00
JamesJCode 3d6045a7c8 Supress wxLocale warnings when no matching locale found when setting default locale on MacOS
Re-fixes warning appearing in https://gitlab.com/kicad/code/kicad/-/issues/13371#note_1238532117
2023-01-16 14:12:16 +00:00
Jeff Young 62649b868c Ensure good fonts in grid headers.
Also moves rendering to a flat look for headers (instead of a beveled
border).

Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-16 02:47:14 +00:00
Marek Roszko 789db0cecb Some more wxS 2023-01-15 21:32:23 -05:00
Marek Roszko 57c66a50ac Add some missing wxS wraps 2023-01-15 20:24:29 -05:00
Jeff Young ca1fb732c8 Share Eagle var substitution between board and schematic importers.
Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-15 22:27:19 +00:00
Roberto Fernandez Bautista 355e817302 Move DefaultTransform definition to transform.cpp, so it can be shared 2023-01-15 19:17:51 +01:00
jean-pierre charras 96a0bd556e Pcb calculator: fix not working calculation in E Series.
Fixes #13519
https://gitlab.com/kicad/code/kicad/issues/13519
2023-01-14 15:36:00 +01:00
Simon Richter dc9aaf7844 Fix mismatched deallocation
The strings are allocated via strdup() -> malloc(), and need to be freed
with free(), the array is allocated with operator new[], and needs to be
deallocated with operator delete[].
2023-01-13 14:48:26 +01:00
James Jackson 8f2f53192b On MacOS, ensure the application locale is set to the system default
Fixes #11046
2023-01-12 21:39:08 +00:00
Seth Hillbrand a5e6f11682 Fix crash when closing non-modal 2023-01-12 13:21:22 -08:00
Seth Hillbrand fa91d906d0 Fix event blocker on GTK
We block events when a modal window is active.  But detecting when the
modal window is closed is harder on GTK than just counting modal closes
because the modal flag can sometimes be unset before the wxEVT_SHOW
event fires.  Instead, we track the stack of modal windows opened and
close the window and subsequent windows when the object pointer matches

Fixes https://gitlab.com/kicad/code/kicad/issues/13372
2023-01-12 11:53:00 -08:00
Jon Evans c530bdb5a1 Rename GetSelectMenuText to GetItemDescription
This descriptive text is used for many more things than
just the select menu these days.
2023-01-11 22:27:44 -05:00
Jon Evans 05b578a9bb Bitmaps: use original size for caching
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13486
2023-01-11 21:15:07 -05:00
Jon Evans 253122dc78 BITMAP_BASE: update original when converting to greyscale
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13487
2023-01-11 21:07:50 -05:00
Seth Hillbrand a206f6717d Desaturate the symbols in DNP for print/plot
The desaturation should match screen display

Fixes https://gitlab.com/kicad/code/kicad/issues/13481
2023-01-11 13:44:08 -08:00
Seth Hillbrand 248399f771 Standardize print/plot terms
Use choice box for color/bw selection
"border and title block" -> "drawing sheet"

Fixes https://gitlab.com/kicad/code/kicad/issues/13128
2023-01-11 12:30:02 -08:00
Seth Hillbrand 481c2493a4 Fix comile on Linux 2023-01-10 19:49:36 -08:00
Jeff Young 30c9deb9d5 Flat(er) look for paged dialogs. 2023-01-11 01:11:25 +00:00
Roberto Fernandez Bautista 99d02ac7c0 CADSTAR SCH: Load symbol shapes with correct fill state
Changes architecture of importer to use SHAPE_LINE_CHAIN.

For now lets just load symbol shapes like this, but we could update code
for all other loading operations (also in PCB).

FIxes https://gitlab.com/kicad/code/kicad/-/issues/8060
2023-01-10 22:28:01 +01:00
Roberto Fernandez Bautista ee6e86d1db Add conversion from CADSTAR SHAPE to SHAPE_POLY_SET 2023-01-10 22:28:01 +01:00
Wayne Stambaugh c3ded7a03d Remove board editor standard dialog button static line separators. 2023-01-09 08:49:38 -05:00
Marek Roszko 9f71e9af03 Add arg to plot hidden symbol pins in cli 2023-01-08 22:39:38 -05:00
Jeff Young f17ddf5c88 Terminate overbar notation correctly.
Fixes https://gitlab.com/kicad/code/kicad/issues/13438
2023-01-08 20:08:53 +00:00
Wayne Stambaugh 9c0445ed98 Remove schematic editor standard dialog button static line separators. 2023-01-08 14:26:10 -05:00
Wayne Stambaugh f28ea5e784 Remove standard dialog button static line separators.
For the sake of consistency across all dialogs and window that behave
like dialogs, remove the static line that separates the main part of
the dialog from the standard buttons.  This only applies to windows
that have the standard button on the bottom of the frame.

This covers the 3D viewer, CvPcb, common, GerbView and KiCad dialogs.
2023-01-08 13:15:33 -05:00
Alex 53dedb2c99 Prefer later versions in import of previous settings 2023-01-08 00:24:23 +05:00
Jeff Young aeb0d1d887 Use a more reliable conversion to UTF8.
Fixes https://gitlab.com/kicad/code/kicad/issues/12722

Fixes https://gitlab.com/kicad/code/kicad/issues/13313
2023-01-07 13:13:13 +00:00
Jon Evans 2f7f41b090 Do not pattern-match against the empty net
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13412
2023-01-06 17:25:36 -05:00
Jeff Young e315eb871c Size columns after we've restored saved size of dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/13278
2023-01-06 14:33:44 +00:00
qu1ck 7dfa100ff0 Correctly refresh the board after action plugin run and maintain
selection
2023-01-05 14:05:15 -08:00
Jon Evans 1d9783ed32 Suppress wxWidgets popups when locale can't be loaded for some reason
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13371
2023-01-05 12:39:16 -05:00
Jeff Young 3d8d27caf3 Make sure ResetGridSizes works for SCH apps. 2023-01-05 16:30:55 +00:00
Jeff Young 3b021d98be Completely remove reading SCH grid sizes from config files.
It messes up too many things if you put metric grids in there.

Fixes https://gitlab.com/kicad/code/kicad/issues/13345
2023-01-05 12:25:43 +00:00
Seth Hillbrand 611fcc2f19 Initialize m_originalBitmap when loading PNG data
Fixes https://gitlab.com/kicad/code/kicad/issues/13374
2023-01-04 11:32:15 -08:00
Seth Hillbrand 98d55ce82f Avoid rebuilding with each commit
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h.  Also adds an error directive to prevent re-introduction
of define dependencies
2023-01-04 11:32:15 -08:00
Roberto Fernandez Bautista f518d08bf8 Update the bounding box when printing "Fit to Page"
Fixes edge case from c5d8dffca4

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13370
2023-01-04 14:44:36 +01:00
Roberto Fernandez Bautista 00655f9f29 Default to Fast Antialiasing for OpenGL GAL 2023-01-04 14:44:36 +01:00
Roberto Fernandez Bautista 1eef438a96 Always default to Accelerated (OpenGL) rendering and fallback if required
When falling back the GAL, let's not update the user preference and instead
just keep track of the failure that happened this session.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11720
2023-01-04 12:58:19 +00:00
Jon Evans 8894b8e669 Implement bitmap rotation and mirroring without texture modification in opengl_gal 2023-01-04 00:26:45 +00:00
Jon Evans ac3ed02283 Rework bitmap cache and enable it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00
Marek Roszko 8ab9934143 Use our own cmake module path variable to avoid conflicting with the main ones listy functional 2023-01-03 19:18:16 -05:00
Roberto Fernandez Bautista 2d4ec7cab7 Happy New Year 2023! 2023-01-03 15:55:08 +01:00
Jeff Young 056349e5ea Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
jean-pierre charras 40e41d0129 Protect against null pointer use.
Fixes #13349
https://gitlab.com/kicad/code/kicad/issues/13349
2023-01-02 15:42:49 +01:00
jean-pierre charras e8114dc49a Minor compil and Coverity warnings fixes. 2023-01-02 10:21:42 +01:00
Alex c1ea90abc6 Handle view centering properly when drag-panning and zooming. 2023-01-02 14:20:43 +05:00
Gary Kim 8e8a3c7bdc
Do not translate name in version info
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00
qu1ck 84ad38fd5d Add VECTOR2I_EXTENDED_TYPE template spec to swig
Allows access to Dot(), Cross() and other vector2i methods in python

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9967
2022-12-31 18:52:07 +00:00
Alex 3f34485013 Add missing limits header. 2022-12-30 14:44:48 +05:00
Jeff Young c0e0cbceb0 Move eseries helper class to common.
Also improves some terminology for english-speakers.

Also substitues [] vector access (which creates empty elements) over
at() (which throws if the item is not found).
2022-12-29 18:05:57 +00:00
Jeff Young 4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
Mike Williams 6816ee937a Flags: remove unused IS_DRAGGING 2022-12-28 12:27:57 -05:00
Mike Williams f03fd5ad2d Schematic: remove IS_RESIZING
Is unused/redundant with IS_MOVING
2022-12-28 12:27:57 -05:00
Jeff Young fc15454dd1 Debounce button control drawing.
Fixes https://gitlab.com/kicad/code/kicad/issues/13288
2022-12-27 23:55:28 +00:00
Jon Evans 7e778c9856 KiWay: Make sure to mark closed windows as closed
Also make sure to veto project import if we couldn't close the existing project.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13215

Maybe also fixes some other weird crashes, we'll see.
2022-12-27 10:31:45 -05:00
Jeff Young 572c10b2c4 If we don't recognize a var then it's an error, not 0.0. 2022-12-27 13:50:44 +00:00
Jon Evans ee0a41e3bc Remove excess calls to SelectedItemsModified
We really don't want to post these events unless the *selected* items
were actually modified, since it results in a redraw of the properties
panel (which disturbs edit state and causes flicker on MSW).

Now the COMMIT system is responsible for sending this event iff the
commit touches items that are selected.

Side note: UpdateMsgPanel is useless on every app except pl_editor, so
it can probably be refactored/removed at some point.
2022-12-26 20:57:58 -05:00
Jeff Young 542ff699cf Scale list columns with dialog width.
Fixes https://gitlab.com/kicad/code/kicad/issues/13278
2022-12-27 01:04:47 +00:00
Jeff Young a18c2043c4 Minor adjustment for bitmap button size for GTK. 2022-12-26 23:13:22 +00:00
Jeff Young 340a8fb154 Default a library item selection if there is none.
Fixes https://gitlab.com/kicad/code/kicad/issues/13261
2022-12-26 14:11:46 +00:00
Wayne Stambaugh 78e2f0fd4d Sheet instance handling improvements. 2022-12-26 08:30:03 -05:00
Jon Evans fbaf4af489 Properties: Allow dynamic update of read-only state 2022-12-25 20:35:44 -05:00
Jeff Young 91dc79169a CLang-tidy. 2022-12-24 22:20:03 +00:00
Pavel Dovgalyuk 9cd9d7a36a Fix STRING_LINE_READER buffer overflow
STRING_LINE_READER::ReadLine contains the code for expanding the buffer
for the current line. But it modifies length before expanding.
Therefore expandCapacity function tries to read the memory outside
the buffer.
This patch postpones m_length modification, until buffer resizing
is finished.
2022-12-23 17:25:03 +00:00
Jon Evans 826f641dff Properties: Add shape fill control 2022-12-22 17:45:16 -05:00
Jon Evans 4a0588db7a Properties: translation fixes 2022-12-22 17:45:16 -05:00
Jon Evans b16e4595d3 Properties: fix group display ordering 2022-12-22 17:45:16 -05:00
Mike Williams eceee28c99 Schematic: add TODO for multiple netclass assignments 2022-12-22 14:00:51 -05:00
Jon Evans 66799b60f8 DbLib: Reconnect if connection is lost 2022-12-22 12:15:04 -05:00
Mike Williams 0958b9778b Schematic: assigning netclass multiple times should replace, not add 2022-12-22 10:50:18 -05:00
Seth Hillbrand 1cc9792cdb Fix snapping dist when disabling grid
The disable grid hotkey should allow the snap scale to be completely
determined by the snapSize and world scale.  This prevents snapRange
from overriding in the case where grid is disabled.

Additionally, we disallow grid snapping when the grid scale is not
visible.  This means that when zoomed out sufficiently to not show the
minor ticks, these minor ticks will not override a snap

Fixes https://gitlab.com/kicad/code/kicad/issues/12303
2022-12-21 17:47:45 -08:00
Seth Hillbrand 73c4ec0b85 Update displayed information in bug reports
Include two new pieces of information:
- Running platform
- Compiled platform (where these are different)

Additionally, we include information about the linux distribution where
it is available.

Fixes https://gitlab.com/kicad/code/kicad/issues/13225
2022-12-21 16:54:13 -08:00
Jon Evans 1590e48ec1 Use translated strings for property display 2022-12-21 18:03:15 -05:00
Seth Hillbrand fcc4b202db Set interpolation/anti-alias in plots
This doesn't do much for Linux, but the interpolation modes for MSW and
Mac should clean up lines a bit in plotting

Fixes https://gitlab.com/kicad/code/kicad/issues/10239
2022-12-21 12:03:47 -08:00
Jeff Young e28f6ecc00 Fetch a better location for keepout area collsions.
Fixes https://gitlab.com/kicad/code/kicad/issues/13220
2022-12-21 18:22:15 +00:00
Tanay Gupta b0cbab5c4b Footprint Editor: Focus search field when window is first opened
The search field on the Symbol Editor is focused when its window 
is first opened. Similar behavior has been implemented in the search
field of the Footprint Editor with this change.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13100
2022-12-20 19:54:02 +00:00
Mike Williams 389f0655cd Schematic: re-enable old break wire functionality, add slice
Also fix break/slice wires for multiple wires. The shortcut and code
always allowed it, the context menu just didn't appear.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13163
2022-12-19 15:55:59 -05:00
Roberto Fernandez Bautista e3b8475a3d Special case unspecified property value (i.e. <...>)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13200
2022-12-18 17:07:08 +01:00
Jeff Young 9a8a25a596 Don't dismiss an infobar that isn't shown to start with.
On Mac (at least), we get a 1 second pause even if the bar wasn't shown.

Fixes https://gitlab.com/kicad/code/kicad/issues/13193
2022-12-18 10:55:37 +00:00
Jon Evans 13925074cb Remove assert on ReplaceProperty
We can't guarantee initialization order for these, so it results in false warnings
2022-12-17 14:05:50 -05:00
J RB 5f0d26cbe2 Remove argument to wxButton::GetDefaultSize on wxGTK-3.0.x
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13181
2022-12-16 22:40:37 +00:00
Jon Evans bc45e3f16e Suppress wx error popups when locale is missing 2022-12-16 17:07:57 -05:00
Jon Evans 5abf73e3c9 Never call ReCreateMenuBar inside a menu event handler
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
Jeff Young 0e2a4e3f15 Better handling of multi-monitor scaling. 2022-12-16 19:11:34 +00:00
Jeff Young 75a4de4744 Dim bitmap when button is disabled. 2022-12-16 01:22:50 +00:00
Seth Hillbrand e91c039ed3 Prevent event stackup when init pages
The paged book initialization (and others) can generate events,
re-laying out the whole dialog multiple times during initialization.
This halts events during the layout period

Fixes https://gitlab.com/kicad/code/kicad/issues/13158
2022-12-15 11:39:03 -08:00
Alex c66dc035c7 Clear loop points when resetting polygon/zone draw. 2022-12-15 19:02:22 +03:00
Wayne Stambaugh 84f927d057 Schematic import bug fix.
Check for already loaded schematics in the current sheet path as well
as the current project root sheet path to prevent multiple loads of
shared schematic.  This bug was causing shared sheets to be loaded more
than once which caused instance data to get separated by each copy rather
than saved in one copy of the schematic which would result in all instance
data being lost except the last saved copy of the schematic.  This bug has
been around forever and may be the cause of some unexplained schematic
instance data corruption issues.  This bug does not apply when opening
the full project.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11076
2022-12-15 09:58:39 -05:00
Jeff Young 5984a6dddd Fixup a few more collapsing textEditCtrls on Mac. 2022-12-14 15:13:29 +00:00
Mike Williams 756db0d542 Schematic: fix selection disambiguation not changing highlighted item
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13103
2022-12-14 10:08:19 -05:00
Jeff Young 77998d7c51 Better fix for not selecting all of netlist. 2022-12-14 14:13:25 +00:00
Jeff Young 355bfe1587 Blind attempt to fix MSW rendering bug. 2022-12-14 13:36:28 +00:00
Marek Roszko 2f8cc84551 Hotglue footprint to svg export
This needs additional work
2022-12-13 22:50:15 -05:00
Jeff Young c0872364d4 Get rid of bloated bitmap buttons on wxWidgets 3.2. 2022-12-13 20:48:02 +00:00
Marek Roszko f1f5fff072 Add cli export of symbols from kicad libraries 2022-12-12 22:44:26 -05:00
Jeff Young d3228dbab2 Differentiate search panel font between Mac and others.
Fixes https://gitlab.com/kicad/code/kicad/issues/13145
2022-12-13 00:47:19 +00:00
Seth Hillbrand ad9b983a27 Fix spelling
Fixes https://gitlab.com/kicad/code/kicad/issues/13144
2022-12-12 15:29:02 -08:00
Jeff Young 3144459939 Fix issue with text edit boxes being too narrow on wxWidgets 3.2. 2022-12-12 20:45:48 +00:00
Jeff Young 6d73d9a08e Split another couple of hairs in the never-ending "how big is a font".
Fixes https://gitlab.com/kicad/code/kicad/issues/13009

Fixes https://gitlab.com/kicad/code/kicad/issues/13115
2022-12-12 17:37:17 +00:00
Jeff Young 2a32bc4372 Pay attention to indeterminate state in onUnitsChanged().
Fixes https://gitlab.com/kicad/code/kicad/issues/13127
2022-12-12 17:37:16 +00:00
Seth Hillbrand c5d8dffca4 pcbnew printing: Handle scaling correctly
When scaling, we need to consider both the sheet size in pcbnew and the
paper size in the printer settings.  When scaling 1:1, the output box
should always be the sheet

Fixes https://gitlab.com/kicad/code/kicad/issues/10913

Fixes https://gitlab.com/kicad/code/kicad/issues/12530
2022-12-12 08:38:20 -08:00
Marek Roszko 7e53663d5d Add a bulk gerber export that's a wee bit smarter 2022-12-11 20:13:26 -05:00
Jeff Young 56aae7a147 Reduce compiler warnings. 2022-12-11 13:39:59 +00:00
Jeff Young 4e47b5c25f Fix some layout and selection issues on Mac.
Some of these are due to moving to wxWidgets 3.2, but I'm not sure
all of them are.  In particular, the need for CallAfter() in the
search pane's selection handler is probably just a wxWidgets bug on
Mac (the control lies about the current selection inside the event
handler).

Also sets better column widths in the search pane.
2022-12-11 00:56:46 +00:00
jean-pierre charras 75f1067642 GRAPHICS_CLEANER: fix bad detection of short Bezier curves that can be cleaned
eda_shape: small enhancement: when generating a polyline from the Bezier curve,
filter the last point if the last segment is shorter than the given min lenght
2022-12-10 18:19:09 +01:00
jean-pierre charras f76811471e Avoid an annoying compil warning with GCC 12.2 2022-12-10 14:48:47 +01:00
Alex be43484bc7 Make build45DegLeader static. 2022-12-10 06:21:54 +03:00
Alex 3d2b1aaf90 Improve H/V/45 deg mode when drawing zones and polygons. 2022-12-09 19:11:56 +03:00
Mike Williams a417aa6e69 Selection: provide disambiguate for deselections of multiple items
Don't assume we're a delayed drag if the user is using selection
modifers.
2022-12-08 14:12:12 -05:00
Mike Williams 0e75bf02fa Selection: refactor modifier checking 2022-12-08 14:12:12 -05:00
Simon Richter 2214e853c1 Make a few variables const 2022-12-08 18:22:25 +00:00
Simon Richter d6c6116e67 Calculate weighted column width locally
Multiplying the global variable also modifies all columns to the right,
which is not a problem right now because none exist, but might be in the
future.
2022-12-08 18:22:25 +00:00
jean-pierre charras 966f7bfa4c Fix commit 0a881e09, not working on wxWidgets 3.1.5/msys2 2022-12-08 15:39:10 +01:00
Jon Evans 2b0d7f65d0 Properties: sync wxPGGlobalVars map state with editor global state
Thanks to @dsa-t for suggesting this

(maybe)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12297
2022-12-08 07:55:57 -05:00
Jon Evans 0a881e091c Fix build for gcc and wx < 3.1.6 2022-12-08 07:30:04 -05:00
Jon Evans 435651237c Properties: Support overridden availability functions 2022-12-08 00:09:51 -05:00
Marek Roszko 2fc0cd68ed Avoid crashing due to empty lib tables in cli
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13097
2022-12-07 23:56:03 -05:00
Jon Evans 33d76f63b0 Properties: save and restore splitter position 2022-12-07 21:38:33 -05:00
Alex e03a91c9c7 Reduce static ratsnest opacity when moving items; tweak colors. 2022-12-07 21:01:56 +03:00
Jeff Young b15913bd53 Support env variables in spice library paths.
Also removes a bunch of std::string stuff from the file handling in the
simulator.  All our file handling, env variable expansion, project path,
etc. stuff is wxString based, and jumping through std::string in between
just makes it more complex and increases the potential bug surface.

Also fixes a bug where you'd get two error messages when a spice model
library wasn't found.

Also fixes a bug where you'd get a spice model library not found error
when the text field was empty.

Also fixes a bug where we'd try to absolutize a path starting with an
unresolved text or environment variable.  If the path starts with a
variable it's probably absolute, and tacking on the project path in the
error message just obfuscates things.

Fixes https://gitlab.com/kicad/code/kicad/issues/13082
2022-12-07 15:07:25 +00:00
Marek Roszko c0b5fe58c3 Implement output targeting of symlib/fplib upgrade per request 2022-12-06 21:20:27 -05:00
Jon Evans ad8e5891d2 Properties: update evaluator locale when creating editors 2022-12-06 17:56:33 -05:00
Jon Evans d435ba6485 Properties: improve handling of enter/return 2022-12-06 09:10:59 -05:00
Jon Evans 1a0c774940 Properties: Space to toggle booleans; fix arrow keys 2022-12-06 08:56:13 -05:00
Jon Evans 071a2ec46d Properties: clean up some unit handling
Make sure units show up properly in editor on focus kill
Make sure editor shows correct value initially
2022-12-06 08:55:48 -05:00
Jon Evans 40f9a59255 Remove disconnects from SetControl
These aren't needed as the control is going to be destroyed by the grid,
and can cause a crash on exit if the control is destroyed before the unit binder.
2022-12-06 08:06:16 -05:00
Jon Evans 74fa88c0f6 Defer splitter calculation until next event
Windows doesn't have valid sizes in the size event

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13019
2022-12-06 08:05:28 -05:00
Jon Evans c326c57e05 Properties: make sure to reset binder units when changing rows 2022-12-05 23:47:00 -05:00
Jon Evans b673202a4e Remove extraneous event binding 2022-12-05 20:44:47 -05:00
Wayne Stambaugh 5001555f0e Fix crash in Altium schematic importer.
The crash was caused by an unhandled exception. The uncaught exception
caused a cacophony of null configuration setting pointers so guards were
added to prevent crashes should other exceptions occur that do not get
handled correctly.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13046
2022-12-05 20:20:01 -05:00
Jon Evans d0024bd9f7 Properties: clear text ctrl from unit binder before it is destroyed
The lifetime of this text ctrl is managed by the property grid, so
we need to catch when it is hidden before destruction in order to avoid stale pointers being used to handle unit change events.

Credit to @dsa-t for the fix
2022-12-05 19:33:20 -05:00
Seth Hillbrand 77b763f8ba Change binding with units 2022-12-05 15:34:23 -08:00
Seth Hillbrand 6f43915b25 Don't keep a stale iu reference around
The IU memory areas are const but we need to be able to update this when
the frame changes, so use pointers instead
2022-12-05 13:33:45 -08:00
Alex 6d513e7ecf Expose changing arc edit mode in arc button context menu and Preferences
Ctrl+Space can still be used to cycle through modes.

Fixes https://gitlab.com/kicad/code/kicad/issues/5412
2022-12-05 21:28:16 +03:00
Jeff Young 295ef6588d Fix uninitialized variable. 2022-12-05 14:42:05 +00:00
Jeff Young b7d41e0e56 Update simulator with NUMERIC_EVAL, decimal separator processing, etc.
Also includes fixes for instance data and resolving of textvar
references.

Also includes virtual d'tors for IBIS parser to get rid of all the
compile warnings on CLang.

Fixes https://gitlab.com/kicad/code/kicad/issues/12357
2022-12-05 12:40:29 +00:00
Seth Hillbrand 54dd494ff2 Remove frame dependency from UNIT_BINDER
Place the frame information into the event data instead of keeping a
pointer (potentially invalid) into the frame
2022-12-04 16:50:27 -08:00
Jon Evans a8cb0ee116 Properties: Use insertion order as display order 2022-12-04 17:20:34 -05:00
Alex fc062e8a19 Restore tooltip message. 2022-12-05 00:41:11 +03:00
Alex 4482e9f634 Minor UI fixes. 2022-12-05 00:37:25 +03:00
Jon Evans 6e1f075daa Remove debug code 2022-12-04 14:28:38 -05:00
Graham Keeth ef83d01455 Minor string changes: "eeschema" / "pcbnew" in tooltips, and power port terminology 2022-12-04 14:29:57 +00:00
Jeff Young f6822120b3 Enable tab and return commit in property grid. 2022-12-04 11:51:44 +00:00
Jeff Young f805fd267f Divorce UNIT_BINDER from wxFrame.
This allows us to supply Pcbnew or Eeschema as the unitsProvider when
called from the main frame.

Fixes https://gitlab.com/kicad/code/kicad/issues/13066
2022-12-04 11:51:44 +00:00
Jeff Young 96819f6c01 Better cache invalidation for text objects with references.
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
Seth Hillbrand 234cda4197 Re-add PGInit call 2022-12-03 20:39:42 -08:00
Seth Hillbrand 9f551bfbf8 Remove the duplicate initionalize of pg globals
Testing to see if this is needed for windows builds anymore that we have
fixed the general init

Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-12-03 17:14:36 -08:00
Seth Hillbrand 6a1acd84c2 Activate Clipper2 by default
Fixes https://gitlab.com/kicad/code/kicad/issues/git
2022-12-03 16:07:17 -08:00
Seth Hillbrand 92266635cc Add an advanced config value for the minimum sliver
The hard coded value was too small for certain calculations.  Better to
have a configurable value that is initially set to our error level to
allow for deviations that don't meet the visibility test for spikes.
These have become more apparent with Clipper2
2022-12-03 16:03:43 -08:00
Jon Evans 8f39dd69be Properties: fix caption text in dark mode on GTK 2022-12-02 22:43:11 -05:00
Jon Evans 4134db3c47 GCC fixes 2022-12-02 22:38:15 -05:00
Jon Evans 3cf3d15590 Properties: fix display ordering 2022-12-02 22:17:08 -05:00
Jon Evans 3d0fcfe8af Remove debug code 2022-12-02 21:55:52 -05:00
Jon Evans 70f9d8cab9 Properties: Add text orientation 2022-12-02 21:33:21 -05:00
Jon Evans 2091aaba2f Properties: Move angles to UNIT_BINDER
Also add support for unicode degree sign in evaluator
2022-12-02 21:25:42 -05:00
Jon Evans 5e352d2a66 Properties: improve handling of unit binders 2022-12-02 19:37:44 -05:00
Jon Evans 9b2f1ad0b1 Properties: show base class groups 2022-12-01 23:18:42 -05:00
Jon Evans ef3f2a8f1e Properties: ignore shape props for textbox 2022-12-01 21:54:12 -05:00
Jon Evans a5096bf28a CLI: Fix macOS binary dir
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12799
2022-12-01 16:55:12 -05:00
Marek Roszko bae8cb55c0 Rename the bom cli to pythonbom since we'll have a real bom system later 2022-11-30 19:56:59 -05:00
Jeff Young f5770fe7e0 Actually free the projects before the settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-12-01 00:05:21 +00:00
Alex 55a3946af8 Properties: Use a constant variable for PG_UNIT_EDITOR editor name. 2022-11-30 20:10:22 +03:00
Jon Evans cfd52d8362 Properties: Fix sort order for base class props 2022-11-29 18:56:15 -05:00
Jon Evans 12b7e68703 Properties: Skipped group should not assert
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13028
2022-11-29 18:12:28 -05:00
Jeff Young 31eb91e9e5 Infobar for slow zone auto-refill. 2022-11-29 21:09:16 +00:00
Seth Hillbrand 5fc5a2132b Fix Properties panel to reference the correct frame
The properties editors are global but the frame that they reference is
not static, so we need to be able to update the frame reference when
restarting pcb editor from the main window.  This updates the frame,
being careful to remove the signalling when closing pcbnew but keeping
the instance of the editor in place.

Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-11-29 09:24:41 -08:00
Jeff Young 8260f0ee13 Add support for unitless values to PCB_EXPR_EVALUATOR.
Fixes https://gitlab.com/kicad/code/kicad/issues/13016
2022-11-29 14:24:20 +00:00
Marek Roszko 21fed9fc8c Hotglue a symbol upgrade function in cli 2022-11-29 00:00:45 -05:00
Marek Roszko 25d5defc10 Add cli for "fp" upgrade 2022-11-28 20:48:14 -05:00
Seth Hillbrand 4f6b853756 Don't use modifiers when moving with keyboard
The modifier keys on the keyboard control the motion spacing (Ctrl) and
shouldn't be confused with the modifier key used to disable grid
snapping when moving with the mouse (also Ctrl)

Fixes https://gitlab.com/kicad/code/kicad/issues/13027
2022-11-28 11:05:12 -08:00
Jon Evans b2b3f5752f Properties: Add grouping and sorting by creation order 2022-11-27 22:40:23 -05:00
Jon Evans 5bbe21f540 Properties: don't rebuild the panel when closing an editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12984
2022-11-27 14:29:16 -05:00
Jeff Young ec9c6a8053 Separate creation of polygons for open and closed shapes.
This allows us to create a bounding hull from an open shape-line-chain,
which is useful for defining milled slots.
2022-11-27 18:29:41 +00:00
Jeff Young 740e193871 Increase bounding box of stroke text and the leader box of all text.
Fixes https://gitlab.com/kicad/code/kicad/issues/13009
2022-11-27 15:27:30 +00:00
Jeff Young 387f1214f0 Add some heuristics to guess a better font overbar offset.
Fixes https://gitlab.com/kicad/code/kicad/issues/13010
2022-11-26 17:26:20 +00:00
jean-pierre charras 709ad14e74 Fix a compatibility issue with wxWidgets 3.1.5 and older 2022-11-26 08:31:30 +01:00
Jon Evans 96fe93618e Properties: Stop sorting by name
It's more useful to have properties shown in add order,
since we can group them
2022-11-25 16:29:56 -05:00
Jon Evans 778d01c46b Properties: More API differences in wx3.0 2022-11-25 15:24:38 -05:00
Jon Evans 773f444636 Properties: fix for wx 3.0, second try 2022-11-25 15:20:32 -05:00
Jon Evans 85a6ddfca1 Properties: fix for wx 3.0 2022-11-25 15:15:04 -05:00
Jon Evans 611c19016f Properties: add support for string escaping
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12975
2022-11-25 13:15:46 -05:00
Jon Evans 5061f0556f Properties: implement ellipsization for name column 2022-11-25 12:37:47 -05:00
Jon Evans 396db7794d Properties: add friendly names to shapes 2022-11-25 12:37:47 -05:00
Jon Evans 220ef6fb44 Properties: Add some missing footprint properties; cleanup
Add concept of "internal" properties that will be accessible from
Python/DRC but not shown in the Properties Manager
2022-11-25 12:37:47 -05:00
Jon Evans 696a1cd39d Properties: improve handling of column splitter 2022-11-25 09:58:44 -05:00
Jon Evans 11e784cf10 Properties: specialize layer setting for footprints
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12480
2022-11-24 22:11:26 -05:00
Jon Evans 4285b38b74 Properties: Handle units changes correctly
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12885
2022-11-24 17:15:07 -05:00
Jon Evans 436129cb75 Use correct format specifier when displaying inches
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12925
2022-11-24 16:52:22 -05:00
Mike Williams 60d42a7b1e Spelling: fix various suppress misspellings 2022-11-22 13:47:10 -05:00
Seth Hillbrand 62863d6c5b Ensure that we clear deleted values
When throwing on an invalid value, we may end up freeing the same tree
twice.  This is generally not an issue but we need to mark the freed
memory as null to avoid a double free

Fixes https://gitlab.com/kicad/code/kicad/issues/12981
2022-11-22 06:11:03 -08:00
Seth Hillbrand 7b1702b5fb Use IsType() for selection testing
Straight Type() comparison breaks for the TYPE_LOCATE values
2022-11-21 05:02:06 -08:00
Alex cda855fcd6 Fix build error. 2022-11-19 04:10:38 +05:00
Alex d3aed6c408 Optimize hot loop in UpdateItems. 2022-11-19 04:02:05 +05:00
Jeff Young bc271a8d15 Protect move tool from re-entrancy.
m_dragInProgress is usually sufficient, except when we haven't started
one yet.  In any case, conflating the two is probably a bad idea.

Fixes https://gitlab.com/kicad/code/kicad/issues/12936
2022-11-18 17:08:38 +00:00
Jeff Young c409646aad Update message panel after rebuilding connectivity.
Fixes https://gitlab.com/kicad/code/kicad/issues/10122
2022-11-18 15:29:16 +00:00
Jeff Young b09a106880 Split gerbview diff and xor into two separate view modes.
Fixes https://gitlab.com/kicad/code/kicad/issues/10122
2022-11-18 15:29:16 +00:00
Alex 53b9baa5ba Some refactoring around Gerber files extension checking.
Fixes a case where most Protel inner layer files couldn't be drag and dropped.
2022-11-18 09:55:34 +05:00
Alex 95b8fe26b4 Fix display and archiving of Protel gerber files in Project manager. 2022-11-18 04:39:18 +05:00
Alex 4b1994e554 Don't update hidden scrollbars. 2022-11-18 00:33:22 +05:00
Alex dcb131c20d Improve canvas responsiveness by better swap interval management. 2022-11-18 00:32:25 +05:00
Alex 6418441218 Fix status bar flicker. 2022-11-17 09:31:24 +05:00
Alex c5c5a3fe91 Use a single-shot timer for auto-panning.
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
2022-11-17 05:30:55 +05:00
Alex 5e7c4b734c Small optimizations in DRC and SHAPE_POLY_SET. 2022-11-17 02:10:22 +05:00
Jeff Young a61ac363c2 Excise the remaining occurrences of "Alias" for derived symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/12895
2022-11-16 18:37:40 +00:00
Jeff Young 1b3f03a800 Don't feed wxWidgets negative column widths. 2022-11-16 13:33:55 +00:00
Jeff Young 13f5c78e89 More tightening of group parent lifecycles.
Fixes https://gitlab.com/kicad/code/kicad/issues/12908
2022-11-16 00:42:38 +00:00
Jeff Young a0b6247a06 Try a different order of destruction.
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-11-16 00:42:38 +00:00
Wayne Stambaugh 8ad35604b4 Fix build error with wxWidgets 3.0. 2022-11-15 13:27:20 -05:00
Jeff Young 2db6b25b51 Allow setting "mixed" properties to a value. 2022-11-15 16:01:24 +00:00
Jeff Young 3af4e889b9 Unobfuscate wxAnyToVariant registration and remove global var hack.
Note that I don't have any data that the global var hack was causing
the bug, so this may or may not fix it.  But it seems as good a candidate
as any.

Fixes https://gitlab.com/kicad/code/kicad/issues/12871
2022-11-15 16:01:24 +00:00
Jeff Young 93c6d99a6d Move saving preferences out of the destructor.
For other reasons we wrap the adapters in a wxDataObject, which has
delayed destruction semantics, but that means the settings stuff may
no longer be around when the d'tor executes.

Fixes https://gitlab.com/kicad/code/kicad/issues/12371
2022-11-14 20:01:37 +00:00
Marek Roszko 39d5cc31d4 Add schematic xml bom output 2022-11-12 21:51:32 -05:00
Marek Roszko 3dd2ae762d Refactor step export to use our normal board processing routines 2022-11-12 21:27:10 -05:00
jean-pierre charras 248181e62d Fix Coverity and compil warnings. 2022-11-12 16:02:24 +01:00
Marek Roszko 29bf96f7f0 Sanitize the variable names in the 3d alias migration
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12683
2022-11-10 06:21:57 -05:00
Marek Roszko 43f039ef5f Add netlist export cli 2022-11-09 22:37:55 -05:00
Jon Evans d9d3ccd6eb DbLib: Allow inheriting field properties from source symbol
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12856
2022-11-09 21:24:31 -05:00
Jon Evans dbd498f451 Re-add keyword mapping 2022-11-09 20:50:01 -05:00
Jon Evans 3a15fa5e0f Don't remove a read-only settings file
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12844
2022-11-08 23:27:26 -05:00
Jon Evans c07477b94c Move to explicit symbol properties mapping
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12845
2022-11-08 22:19:08 -05:00
Seth Hillbrand 056f45cd70 Fixup most intersecting polygon points
Remaining is the intersecting complex pad, so this keeps the error
message when drawing

Fixes https://gitlab.com/kicad/code/kicad/issues/12806
2022-11-08 16:05:04 -08:00
jean-pierre charras 9501f4303d Rename CreateWindow to CreateKiWindow to avoid a collision name with a windows header
No code change, but it fix an issue specific to msys2 that bother me when
trying to fix issues with wx 3.0.x version
2022-11-08 12:31:07 +01:00
jean-pierre charras cb3d215b6a Fix compil and Coverity warnings. 2022-11-08 11:53:13 +01:00
Marek Roszko cd30da179a Round out the cli with position file export 2022-11-07 19:53:35 -05:00
Jeff Young ae741b93e6 Resore push/pop-less PickerTool.
(Functionality was accidentallly lost when we removed the opt command
strings.)
2022-11-07 19:11:12 +00:00
Jeff Young 095f02e6ef Fix encoding issues in Simulation Model dialog's property grid. 2022-11-07 15:03:18 +00:00
Jon Evans 32b3f24f8b Thanks xorg 2022-11-06 18:27:18 -05:00
Jon Evans f708dad5cd Don't use frame events for PROPERTY_EDITOR_UNIT_BINDER 2022-11-06 18:26:17 -05:00
Jon Evans dd94b2d3a7 Rename PROPERTIES to STRING_UTF8_MAP for clarity
This class has nothing to do with the properties system
2022-11-06 11:51:52 -05:00
Jon Evans 68de92313e Properties: move to custom editor for distances; refactoring
Also fix display of angle values since EDA_ANGLE was introduced

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12290
2022-11-06 11:40:45 -05:00
Jeff Young 76ce580bd0 Don't use KiCad escape sequences for JS text.
Fixes https://gitlab.com/kicad/code/kicad/issues/12782
2022-11-06 15:21:38 +00:00
Jeff Young be142af4d0 Another attempt at string encoding for JS inside a PDF.
Fixes https://gitlab.com/kicad/code/kicad/issues/12782
2022-11-06 14:34:54 +00:00
Jeff Young 165c9bf68b Reference assignment is not the same thing as pointer assignment.
Fixes https://gitlab.com/kicad/code/kicad/issues/12837
2022-11-06 12:01:06 +00:00
Jeff Young b385a4b60a Implement DarkMode for the Appearances Palette.
Fixes https://gitlab.com/kicad/code/kicad/issues/11734
2022-11-06 00:34:45 +00:00
Jeff Young 25f06eed8c Move zone borders back to their "host" layer.
Zone borders shouldn't be affected by zone-opacity control; we always
draw them in full layer opacity.

Fixes https://gitlab.com/kicad/code/kicad/issues/12438
2022-11-05 16:50:54 +00:00
Jon Evans 995a153f27 Update nlohmann::json to 3.11.2
Also update json_schema_validator to match new deprecations
2022-11-05 10:53:57 -04:00
Jeff Young cf581137d8 Handle multiple unitProviders in a WX_GRID.
This allows us to provide a more consistent and less buggy presentation
of the netclasses grid in both eeschema and pcbnew.

Fixes https://gitlab.com/kicad/code/kicad/issues/12826
2022-11-05 10:23:12 +00:00
Seth Hillbrand de21eb5268 Remove errant debugging printf 2022-11-04 13:22:49 -07:00
Seth Hillbrand 685185bd68 Remove unneeded assert
Asserts should really only be used if the condition would trigger a
program error.  These just need a warning
2022-11-04 11:49:50 -07:00
Bevan Weiss 4f634d7df7 Updated accelerating zoom controller to use default (non-accelerated)
zoom if changing direction.

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
2022-11-04 16:28:32 +00:00
jean-pierre charras 9dba54190e PDF plotter: Encode '\' as "{backslash}" for CTX_JS_STR context.
This is a poor hack (similar to hack for the ' char), but it allows displaying
context menu when '\' is inserted in a property.
2022-11-04 07:31:23 +01:00
Seth Hillbrand bd4c2df3ba Suppress signedness warning 2022-11-03 15:08:45 -07:00
Jeff Young 4ad0eeefc6 Fix compile error on Mac. 2022-11-03 17:19:59 +00:00
Jeff Young 1b93b8c51b Fix JS to support more Acrobat versions.
Fixes https://gitlab.com/kicad/code/kicad/issues/12819
2022-11-03 17:19:59 +00:00
Sylwester Kocjan a234d5a2c8 common,eeschema,pcbnew: path cleanup 2022-11-02 13:29:52 +00:00
Alex e992bd13bf Remove what looks like forgotten lines 2022-11-02 11:06:41 +05:00
Marek Roszko b60c42ea41 Add schematic cli plotting 2022-11-01 23:34:49 -04:00
dsa-t aeef215ffb gal: Pass aReserve to drawLineQuad in drawPolyline. 2022-11-01 05:02:17 +00:00
Jon Evans a5d685ff5c Handle coordinate transforms in properties system
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12320
2022-10-31 23:01:52 -04:00
Seth Hillbrand 5be0ddca27 Draw degenerate lines as points
Rather than not drawing, which will miss some imported elements that
should be visible due to the line width, we draw a zero-length line that
appears as a point.
2022-10-31 16:18:38 -07:00
Mike Williams 6c43ace018 common: fix build (missing return) 2022-10-31 10:29:50 -04:00
Tomasz Wlostowski f25d449d5f JSON_SETTINGS: added direct serialization to a string (FormatAsString) and parsing
from explicitly provided file (bypassing the migration and settings framework). Used for
router regression tests.
2022-10-31 11:17:31 +01:00
Marek Roszko 0deebab8a8 Try and make the msg panel resize more correctly due to dpi 2022-10-30 18:34:58 -04:00
Marek Roszko 321d6e3ea8 Try a hackfix for windows icon scaling
Related https://gitlab.com/kicad/code/kicad/-/issues/11880
2022-10-30 18:34:08 -04:00
Marek Roszko c0f8810759 Don't fix the visibility icon size or it will never scale properly
Related https://gitlab.com/kicad/code/kicad/-/issues/11880
2022-10-30 15:03:00 -04:00
Jeff Young a2679f62cd Enormous hack to deal with JS encoding issues in PDF.
No, PDFDocEncoding (as spit out by encodeStringForPlotter()) does
not seem to work.

Fixes https://gitlab.com/kicad/code/kicad/issues/12782
2022-10-29 22:03:52 +01:00
Marek Roszko 0a134788d0 Implement cli for gerber, drill, pdf export of pcb 2022-10-29 11:56:10 -04:00
Marek Roszko 30211da69f Move the cli definitions to kicad 2022-10-29 11:55:38 -04:00
jean-pierre charras 50d2237f06 command_export_pcb_dxf.cpp: switch to "C" locale before exporting the file
Fix also a minor Coverity warning
2022-10-29 09:45:45 +02:00
Wayne Stambaugh fb21eb7457 Coverity issue fixes. 2022-10-28 13:01:23 -04:00
Jeff Young fb8493d0bc Move model pin editor to GRID_CELL_ICON_TEXT_POPUP.
wxChoice is hopeless on Mac (it still doesn't highlight on rollover),
and using a char for the "assigned" graphic isn't great.
2022-10-28 15:27:00 +01:00
Jeff Young 78db69bb48 Don't append '+' when modifier used on its own. 2022-10-27 18:03:07 +01:00
Jeff Young 58ac62d493 Return cursor to arrow when leaving search ctrl.
Fixes https://gitlab.com/kicad/code/kicad/issues/12764
2022-10-27 16:27:19 +01:00
Jeff Young f6c441c434 Viewport switcher keys are platform-specific.
Also fixes a regression where ctrl-tab doesn't get recognized.

Fixes https://gitlab.com/kicad/code/kicad/issues/11778

Fixes https://gitlab.com/kicad/code/kicad/issues/10127
2022-10-27 14:28:11 +01:00
Wayne Stambaugh 6a0db3e7e2 Fix Coverity warnings. 2022-10-26 14:39:44 -04:00
Marek Roszko ee92ace419 Fix some cli switch values 2022-10-26 07:10:19 -04:00
jean-pierre charras 5f7213e419 fix a compil warning 2022-10-26 08:03:48 +02:00
Marek Roszko a7e1f668a7 Some cleanup of the cli functions 2022-10-25 23:26:23 -04:00
Jon Evans a01de6bf53 Fix starting path in worksheet selection dialog when using env vars 2022-10-25 22:08:36 -04:00
Marek Roszko 2b8a29b662 Try and make the svg command handling warn a little, also default the output 2022-10-25 20:17:25 -04:00
Jeff Young f480cbf93f Treat internal copper layers as side-specific.
Fixes https://gitlab.com/kicad/code/kicad/issues/12726
2022-10-25 12:08:57 +01:00
Jeff Young d37526ba42 Don't stroke outline font polygons, even with a really narrow pen.
Fixes https://gitlab.com/kicad/code/kicad/issues/12739
2022-10-25 11:58:25 +01:00
Jeff Young 4778122aa0 Flip anything on a side-specific layer, rather than physical layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12726
2022-10-24 16:54:33 +01:00
Jeff Young c8261d13a5 Better platform fidelity on Mac for SPLIT_BUTTON. 2022-10-24 00:14:12 +01:00
Jeff Young 064e7f0f2c Dark mode hacks for SPLIT_BUTTON on OSX. 2022-10-23 17:56:44 +01:00
Jeff Young cef7cd8f7c Move default font to RENDER_SETTINGS.
Fixes https://gitlab.com/kicad/code/kicad/issues/12723
2022-10-22 21:32:42 +01:00
Wayne Stambaugh d78b41969f Fix broken autosave when board is modified.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12700
2022-10-22 15:49:03 -04:00
Jeff Young 38c863c3f4 Attempt to fix nullptr error when looking up units scale in pl_editor.
(I can't be sure if this works or not because my M1 build won't launch
pl_editor for some reason.)

Fixes https://gitlab.com/kicad/code/kicad/issues/12717
2022-10-22 14:11:01 +01:00
Jeff Young d16b23d16e Name shortening and line-break reduction. 2022-10-21 18:41:39 +01:00
Seth Hillbrand d1bf889e71 Resolve embedded text vars
Title Block text variables are embedded into the pcb file and should
be used for resolving when the project file is missing
2022-10-21 08:37:37 -07:00
Jeff Young 0ae2a8483e Debugging aid. 2022-10-20 18:37:48 +01:00
Seth Hillbrand 53fea46fed Re-order headers to avoid X11 None def
X.h helpfully defines the word "None" because surely no one would ever
use that as a token, right?  Right?
2022-10-19 20:04:00 -07:00
Seth Hillbrand 27add591ec Add Clipper2
Currently this lives behind the advanced config flag `UseClipper2`.
Enabling this flag will route all Clipper-based calls through the
Clipper2 library instead of the older Clipper.  The changes should be
mostly transparent.

Of note, Clipper2 does not utilize the `STRICTLY_SIMPLE` flag because
clipper1 did not actually guarantee a strictly simple polygon.
Currently we ignore this flag but we may decide to run strictly-simple
operations through a second NULL union to simplify the results as much
as possible.

Additionally, the inflation options are slightly different.  We cannot
choose the fallback miter.  The fallback miter is always square.  This
only affects the CHAMFER_ACUTE_CORNERS option in inflate, which does not
appear to be used.

Lastly, we currently utilize the 64-bit integer coordinates for
calculations.  This appears to still be faster than 32-bit calculations
in Clipper1 on a modern x86 system.  This may not be the case for older
systems, particularly 32-bit systems.
2022-10-19 16:25:45 -07:00
Jeff Young e3842514e7 Move courtyard collision setting to preferences.
Also cleans up PCBNew/FPEditor edit options panel to be more in sync
with each other.
2022-10-19 11:33:11 +01:00
Jeff Young 437d2c4589 Overhaul of remove-unconnected's zone filling and drawing strategies.
1) The highest priority zone that a via/pad collides with "owns" its
connectivity state.  Once set, lower priority zones cannot change it --
and in fact, if they would have connected to it are forced not to.

2) The connectivity state goes with the zone fill state, and therefore
must be saved in the file.

3) Display of remove-unconnected's pads is no longer done in GetViewLOD()
(which isn't called for selected items), and is instead done in PCB_PAINTER.
This allows us to draw the full pad in outline mode when a via/pad is
selected which would otherwise only show the hole.

4) Note that in some cases this will still generate DRC errors -- in
particular when a via nearly collides with a higher priority zone it
won't get "owned" by that zone and may therefore have insufficient
clearance if said zone concludes it's unconnected and a subsequent
(lower priority) zone connects to it (causing it to now become flashed).

Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-10-18 13:05:42 +01:00
Wayne Stambaugh 598b09821a Coverity fixes. 2022-10-17 15:30:20 -04:00
Jeff Young 92f1ee556f Don't fill drawing sheet rects with transparent fill.
It might make sense to do that with board and/or schematic items for
hit-testing or something, but it definitely doesn't make any sense for
the drawing sheet border.

Also, when reading in items with a transparent fill, treat them as
unfilled (otherwise we get filled with layer colour in at least PCBNew).
2022-10-17 17:51:11 +01:00
jean-pierre charras 6be87d41e1 Pcbnew, Print preview frame: remember last size & pos during a session.
This feature was already existing in Eeschema.
Fixes #10980
https://gitlab.com/kicad/code/kicad/issues/10980
2022-10-17 16:57:19 +02:00
Jeff Young 054649fa38 Formatting. 2022-10-16 18:39:37 +01:00
Jeff Young 390069cee9 Formatting. (No functional changes.) 2022-10-13 13:05:51 +01:00
Marek Roszko d6f8ca9a2e Patch out the install for argparse 2022-10-12 23:17:05 -04:00
Jeff Young a02d156e5d Improved auto-save message.
Fixes https://gitlab.com/kicad/code/kicad/issues/12589
2022-10-12 11:22:02 +01:00
Jeff Young e02c05d38f Add unit and eval support to WX_GRIDs.
Fixes https://gitlab.com/kicad/code/kicad/issues/1871

Fixes https://gitlab.com/kicad/code/kicad/issues/4285
2022-10-11 23:40:58 +01:00
Jeff Young 3221877fe8 Push autosave-require down in to EDA_BASE_FRAME.
Fixes https://gitlab.com/kicad/code/kicad/issues/11790
2022-10-10 14:03:52 +01:00
Jeff Young be6f08deca Code clarity. (No functional changes.) 2022-10-10 14:03:52 +01:00
Marek Roszko 3b63ce8a48 Don't use the 3d resolver config anymore 2022-10-08 14:27:10 -04:00
Alex 2577ebb94d Increase dynamic ratsnest opacity for better visibility. 2022-10-07 21:50:12 +00:00
jean-pierre charras b8dfbe02ad Fix some issues in STEP exporter 2022-10-07 18:53:31 +02:00
Seth Hillbrand 863184e3dc Ensure node count is signed
Fixes a broken commit from a0865082fb
2022-10-07 08:14:53 -07:00
Alex d44a52ceee Make arc endpoint theta consistent with polar coordinate system. 2022-10-07 08:35:14 +03:00
Jeff Young 19d270fe74 Text size sanity checking for TEXT_ITEMS_GRID.
Oh dear, there was a bunch going on here.  Firstly the move from int
to long long int for ValueFromString() means that we were no longer
catching overflows (as we were C-style casting it back to int in many
places).  But even when the overflow is caught, it would run in to
wxWidgets' empty string bug while trying to log it.

Fixes https://gitlab.com/kicad/code/kicad/issues/12577
2022-10-06 13:19:08 +01:00
Jeff Young b52106aa37 Formatting and commenting. 2022-10-06 13:19:08 +01:00
jean-pierre charras 0a620816a8 Eeschema: edit arc: keep arc angle <= 180 degrees when moving a arc end. 2022-10-06 09:22:59 +02:00
Marek Roszko 40a279ae32 Hotglue the unit tests to work for now
The mocks never expected InitPgm to work and I accidentally fixed it for the kicad-cli
2022-10-05 17:12:32 -04:00
jean-pierre charras 92f70a9fa2 Eeschema: ensure arcs are < 180 deg when creating them. 2022-10-05 11:33:12 +02:00
Marek Roszko 3fe004fd1b New kicad-cli will now be the cli interface 2022-10-04 22:24:13 -04:00
Seth Hillbrand a0865082fb Fix compile warnings 2022-10-04 17:06:45 -07:00
jean-pierre charras 0c7b6c3cbc fix minor compil warnings 2022-10-04 19:51:51 +02:00
Jeff Young 2be9586c38 Improve default new-library destination logic to be more project aware.
Fixes https://gitlab.com/kicad/code/kicad/issues/12570
2022-10-04 17:56:00 +01:00
jean-pierre charras 4611817f25 Eeschema: fix a crash when invoking eeschema.exe with 2 filenames to open
Fix also a minor compil warning
2022-10-04 16:56:13 +02:00
Marek Roszko 7d16fba8f9 Fix launching of files 2022-10-04 07:32:22 -04:00
Mark Roszko fb8a4c10f7 Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
Seth Hillbrand b716afd6f1 Clarify various uses of "Center"
Distinguish between the english verb "Center" and the noun "Center",
which may be translated differently

Fixes https://gitlab.com/kicad/code/kicad/issues/11109
2022-10-03 12:48:57 -07:00
Seth Hillbrand 46016cfc61 Remove duplicated text in Report Bug
Now that GitLab insists on inserting this text, we shouldn't duplicate
it in the Report Bug action

Fixes https://gitlab.com/kicad/code/kicad/issues/10939
2022-10-03 11:12:50 -07:00
Jeff Young 01e6491046 Fix side-effect of multi-select in lib trees. 2022-10-03 19:11:31 +01:00
Jeff Young 230762053d Translate mod flags between wx and Kicad.
Also we have to use wxEVT_CHAR_HOOK instead of wxEVT_CHAR or up/down
end up getting handed to COMMON_TOOLS.

Fixes https://gitlab.com/kicad/code/kicad/issues/11034
2022-10-03 18:42:50 +01:00
Jeff Young 2422b9a7c8 Simplification, formatting, and spelling. 2022-10-03 18:42:50 +01:00
Jeff Young e335c1c612 Fix for LIB_TREE hotkeys over canvas and possible fix for over LIB_TREE itself.
Fixes https://gitlab.com/kicad/code/kicad/issues/11034
2022-10-02 22:22:21 +01:00
Jeff Young 1fc5ecae6e Minor dialog layout improvements.
Fixes https://gitlab.com/kicad/code/kicad/issues/12497
2022-10-02 11:45:30 +01:00
Jon Evans 7059ef9b89 Store netclass visibility separately from nets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10290
2022-10-01 19:54:13 -04:00
Seth Hillbrand 1b38acd9c6 Add "Letter-like character" Omega for Unicode x2126
Fixes https://gitlab.com/kicad/code/kicad/issues/12531
2022-10-01 16:39:00 -07:00
Seth Hillbrand fdf9fcc24d Fix missing token initializer
Fixes https://gitlab.com/kicad/code/kicad/issues/12555
2022-10-01 12:15:49 -07:00
Seth Hillbrand 19378675f1 Ensure that token size is large enough
Input tokens can be arbitrary, so output needs to keep pace

Fixes https://gitlab.com/kicad/code/kicad/issues/12555
2022-10-01 11:30:30 -07:00
jean-pierre charras efdb67aa64 Minor fixes. 2022-10-01 18:42:02 +02:00
Seth Hillbrand 93239516d9 Remove ID from property fields
ID was not maintained or used other than to ensure unique fields.
Instead of saving, we assign the known IDs to specific field names and
sequentially create new IDs on load

Fixes https://gitlab.com/kicad/code/kicad/issues/12390
2022-09-30 17:19:53 -07:00
Jeff Young c0a666507c Work around more instances of the wxWidgets color string locale bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/12552
2022-09-30 20:56:25 +01:00
dsa-t 01572c0f7d ADDED: Focus follows mouse between SCH and PCB editors (option). 2022-09-30 18:32:06 +00:00
Jeff Young f2de3e9f67 Minor cleanup. 2022-09-30 13:02:08 +01:00
Seth Hillbrand 519084546e Ensure dtor throws into catch block
Explicitly destruct the GAL context to get StopDrawing throws in the
proper try block

Fixes https://gitlab.com/kicad/code/kicad/issues/12117
2022-09-29 15:26:39 -07:00
Marek Roszko 8ae48bb093 Ensure the socket server is killed during destruction of the kiway player 2022-09-28 21:37:19 -04:00
Marek Roszko f3be769095 Fix comment placement 2022-09-28 21:19:19 -04:00
Marek Roszko 0b1b37a75f Try and avoid a crash by suppressing the socket events first before deleting
Might fix a sentry issue, unknown
2022-09-28 21:18:09 -04:00
Seth Hillbrand 3d3b7d839c Prevent out of scope lambda use
Keeping a function reference is only in scope when the call is
immediately executed, not when it enters its own event loop.

This commit also excises one more onUpdateUI call as it is not needed

Fixes https://gitlab.com/kicad/code/kicad/issues/12395
2022-09-28 17:18:04 -07:00
Seth Hillbrand 18d7a1b427 Update contributions 2022-09-28 13:49:30 -07:00
Alex 4095172259 ADDED: Pack and Move Footprints, improved footprint spread algorithm. 2022-09-28 13:37:23 +00:00
jean-pierre charras 7d20418d6f Fix compil issues and warnings, especially in ibis code. 2022-09-28 09:55:00 +02:00
Marek Roszko 46471247ff Some header cleanup 2022-09-27 23:25:20 -04:00
Marek Roszko 1a43187fb7 Display the sentry uid in preferences 2022-09-27 19:31:32 -04:00
Marek Roszko 21c1c97bf3 Unbind search pane listview events on destruction to avoid event race 2022-09-27 19:16:29 -04:00
Alex dc07ab9df1 Replace PROF_COUNTER with PROF_TIMER in some conditional places. 2022-09-27 14:07:47 +00:00
Jeff Young 9e580b3116 Other -> Unspecified and a couple of other terminology improvements. 2022-09-27 12:15:18 +01:00
jean-pierre charras 7584ccc758 Fix duplicate variable member m_userUnits, creating issues depending on
the way it was acceded (by name or by accessor).
2022-09-26 19:47:28 +02:00
Alex d0b4fb7b32 Don't fail when reserving 0 vertices. 2022-09-26 12:18:45 +03:00
Marek Roszko c50b4fb04f Add relative to footprint 3d model path resolution
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2073
2022-09-25 22:56:16 -04:00
Jon Evans 375b530dad ADDED: Column selection and reordering in symbol chooser 2022-09-25 22:49:49 -04:00
Marek Roszko 8e96751af2 Strip out and migrate 3d search paths in favor of env vars
This mainly stops reading/writing 3dresolver.cfg
We still keep some sillyness for kicad2step for now

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9164
2022-09-25 21:29:52 -04:00
Jeff Young 76a7a2b4bc Fix asserting when drawing empty line of text. 2022-09-25 22:20:51 +01:00
Marek Roszko 2490ad1458 Fix search panel not remembering visibility
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12494
2022-09-25 11:56:41 -04:00
Ian McInerney 40ff7cb9bd Fix some UI element spacing in settings panels 2022-09-25 15:41:39 +01:00
Ian McInerney 3a297093e6 Fix lambda capture in ACTION_TOOLBAR 2022-09-25 15:41:39 +01:00
jean-pierre charras 28165c6a31 SEARCH_PANE_TAB: fix a typo and add missing event handler. 2022-09-25 16:40:08 +02:00
Marek Roszko 8f52821cd4 Add missing clear of children memory in outline node 2022-09-25 08:47:28 -04:00
jean-pierre charras 7c44dbd9d6 Fix gcc compil warnings. 2022-09-25 11:01:25 +02:00
Marek Roszko 0595efd0a7 Make the page outline nodes goto page... 2022-09-24 23:37:55 -04:00
Marek Roszko 209e1b2086 Add naming of the outline page entries 2022-09-24 22:54:38 -04:00
Marek Roszko a381a0acb2 Generalize bookmarks to support additional groups and names 2022-09-24 22:35:20 -04:00
Marek Roszko 6f8205235f ADDED: Add outline support to schematic PDF and PCB plot 2022-09-24 21:45:48 -04:00
Ian McInerney 1683e552f7 Add/fix some variable initializations 2022-09-25 00:48:38 +01:00
Jeff Young 659a6e5b04 Replace macHack as its requirement sadly never went away. 2022-09-24 23:50:45 +01:00
jean-pierre charras 22cd2a3428 3D viewer: add option to show/hide fp not in position file.
Previously they were not shown, and this is really bad, because
"not in pos file" does not mean never mounted, and not even not mounted.
2022-09-24 13:58:31 +02:00
Jon Evans dcfcfd5f29 Don't run context menu actions when clicking outside the menu 2022-09-23 23:44:08 -04:00
Jon Evans f37086e840 Remove size handler that messes up column sizes
Could not reproduce an issue on wxGTK.  If this causes problems
on other OS's, let's find a more appropriate fix
2022-09-23 22:08:33 -04:00
Ian McInerney 6310f84a57 Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
Jon Evans 201b45b41a Remove call that crashes MySQL connector sometimes
It no longer is necessary anyway

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12471
2022-09-23 19:28:04 -04:00
jean-pierre charras bd28bd7a00 fix a few compil warnings 2022-09-23 18:30:42 +02:00
qu1ck 6ebb3baa3b PCM: autoload libs from installed packages to global lib tables
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9713
2022-09-23 16:16:13 +00:00
Jeff Young bb1eb94aa0 Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/12467
2022-09-22 10:53:42 +01:00
jean-pierre charras c44e54756a search panel: fix a crash and a refresh issue after selecting a second item
at least on W10/msys2
2022-09-21 19:36:35 +02:00
Jeff Young 8eb68ee472 Add pin/unpin context menu to Symbol Chooser and Footprint Chooser.
Also moves some more code down into common so it can be shared.

Fixes https://gitlab.com/kicad/code/kicad/issues/12384
2022-09-21 14:45:12 +01:00
jean-pierre charras 25f1f7b0df Fix a compil issue on GCC 2022-09-21 09:04:31 +02:00
Marek Roszko ec25463fed Allow multi-selecting from the search pane
Fix https://gitlab.com/kicad/code/kicad/-/issues/12476
2022-09-20 23:58:49 -04:00
Marek Roszko 30dbcbbcf5 Only search the current tab on events 2022-09-20 23:38:06 -04:00
jean-pierre charras f851526c67 Plotters: make virtual void PLOTTER::Arc() using arc angles protected.
Using arc angles to plot an arc is really error prone due to different
options between plotters, and angles defined in Kicad, using this version of
arc plotting from Kicad is no longer allowed in Kicad code.
2022-09-20 18:55:20 +02:00
Jeff Young 7f34586c7e Allow text variable resolution through properties in drawing sheet text.
Fixes https://gitlab.com/kicad/code/kicad/issues/12473
2022-09-20 15:28:05 +01:00
jean-pierre charras bbaf5a21c2 Eeschema: fix a plot issue with arcs.
Arcs are really error prone, due to different Y axis orientation, and geometry transforms.
Probably we should remove plot and print functions using arc angles as parameters
that are a can of worms.
Fixes #12465
https://gitlab.com/kicad/code/kicad/issues/12465
2022-09-20 16:04:17 +02:00
Jeff Young 7e8b6083f4 Try to find a better brace highlight color strategy.
Fixes https://gitlab.com/kicad/code/kicad/issues/12467
2022-09-20 13:31:38 +01:00
Jeff Young 30a4d3d2de Coverity fixes. 2022-09-20 00:19:15 +01:00
Jeff Young 7fe3999457 Fix a bit of fall-out from making command strings non-optional. 2022-09-20 00:08:12 +01:00
Jeff Young 64a6fc0fd4 Push UNITS_PROVIDER down into a low-level mixin.
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Mike Williams 9304607624 TOOL_EVENT: make command string non-optional
We're getting segfaults in places where this isn't checked. Also, add
some asserts so we can catch bad tool push/pop.

Removes all uses of GetCommandStr() and makes it private.
2022-09-19 10:23:09 -04:00
Mike Williams b7ba24b2d9 TOOL_EVENT: fix lifetime issues with const aEvent& refs
Without this the event is on the stack, and as soon as the tool calls
Wait(), the event will be deallocated. The aEvent reference will then
point to invalid memory.
2022-09-19 07:59:11 -04:00
Jeff Young 45d6b4a9fc Readability improvements. 2022-09-19 11:18:20 +01:00
Alex bdf4cf51b8 Add a missing statement in segments reservation.
Also adds an assert in FinishItem.

Fixes https://gitlab.com/kicad/code/kicad/issues/12448
2022-09-19 02:36:21 +00:00
Marek Roszko 63295cfb9e Remove unused vars 2022-09-18 08:49:07 -04:00
Marek Roszko f26a6f76e4 IUToMils should return int
It was already truncating even in old code...lets just clean this up
2022-09-17 09:27:27 -04:00
jean-pierre charras 97963a2bba Better after base_units.cpp changes in python stuff.
Move an include to kicad.i
2022-09-17 11:21:48 +02:00
Marek Roszko ece23d434b Split up Double2Str to a format function to make its use case clear 2022-09-17 00:10:22 -04:00
Marek Roszko 59a9ddac20 Convert the primary file io formatter for doubles 2022-09-16 23:20:15 -04:00
Marek Roszko 3d5913c825 Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
Marek Roszko 0f2411587e Remove Millimeter2iu 2022-09-16 21:09:27 -04:00
Marek Roszko 7a5829f8d6 Move IU2Mils 2022-09-16 21:09:27 -04:00
Marek Roszko 61e11d6896 Strip out Mils2Iu 2022-09-16 21:09:27 -04:00
Marek Roszko ee48c8d232 Remove some more 2022-09-16 21:09:26 -04:00
Marek Roszko a8613ee80f Combine Iu2Millimeter & remove PcbMm2iu 2022-09-16 21:09:26 -04:00
Jeff Young 85e8d1eb38 Try re-organizing the events for the search ctrl to allow MSW icon to be shown.
See further comments in bug report.

Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-16 17:04:46 +01:00
Jeff Young 4de264ddaa Don't steal up/down arrows from textboxes and the like. 2022-09-16 16:52:26 +01:00
Jeff Young 4f453d6b92 Remove turning the cursor on in FocusOnLocation.
We don't (at present) have any good way to turn it back off.

Fixes https://gitlab.com/kicad/code/kicad/issues/12440
2022-09-16 16:44:18 +01:00
Jeff Young cf1565a16a Bug fixes for layer expression processing.
1) Push a VAR onto the stack, not a resolved value
2) Don't collapse a PCB_LAYER_VALUE to a VALUE during processing
3) Make sure we run overloaded operators from the correct side

Fixes https://gitlab.com/kicad/code/kicad/issues/12437
2022-09-16 14:14:43 +01:00
Mark Roszko b00178adb3 Nuke base_units from orbit 2022-09-16 04:38:10 +00:00
Jeff Young 9a4a68fb5e Hide search button on MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-15 23:23:23 +01:00
Jeff Young a21d24a4c8 Experiment with loading recent searches into the search menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/11743
2022-09-15 14:44:02 +01:00
Jon Evans da9be1a812 ADDED: Multi-selection cut/copy/paste in symbol editor library tree
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11505
2022-09-14 22:20:38 -04:00
Jeff Young c48286b879 Fix missing variable initialization. 2022-09-15 00:45:29 +01:00
Jeff Young 12ee8b5d7c Improve DRC cross-probing a bit. 2022-09-15 00:45:29 +01:00
lulu731 0180bcf90a ADDED: Implement Drag and Drop
dropping files to Kicad manager :
  *.kicad_pro, *.pro -> open project;
  gerber and job files -> open in Gerbview editor;
  Eagle and Cadstar files -> open project.
dropping file to schematic editor -> append schematic;
dropping library file to Symbol editor -> add library;
dropping board file to PCB editor -> append board;
dropping library or footprint file to Footprint editor -> add library or import footprint;
dropping ZIP file or gerber files to Gerbview editor -> open files;
dropping sheet file to Drawing Sheet editor -> open sheet.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11638
2022-09-14 22:28:09 +00:00
kliment b97f9ea329 Add support for symbol unit display names in eeschema and symbol editor 2022-09-14 22:11:37 +00:00
dsa-t bd8b737c44 GAL: Do better job at reserving vertices. 2022-09-14 16:07:47 +00:00
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