1774 Commits

Author SHA1 Message Date
Jeff Young 21b294e204 Don't specify number of rows, wxWidgets will figure it out (KICAD-7HS)
(and likes to assert if you don't let it.)
2025-07-02 23:10:10 -06:00
Jeff Young 238719184e Prevent assert (and access violation) in wxWidgets.
(It directly dereferences the ArrayString with the
FilterIndex, without bounds checking it.)
2025-06-30 11:59:08 -06:00
Jeff Young ca1db93013 Iterator safety. 2025-06-16 11:46:18 +01:00
Jeff Young 3bc4cbc596 Performance tweaks. 2025-06-14 20:25:59 +01:00
Jeff Young 18e107529a Don't force callers of GetAppSettings to implement exception processing. 2025-06-14 20:25:59 +01:00
Jeff Young 5ed332771c Don't overwrite return value. 2025-06-14 20:25:59 +01:00
Jeff Young e4294aab85 Don't export negative layers to copper.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20949
2025-06-10 09:43:39 +01:00
Jeff Young e045def6f7 Correct underline spacing in dialogs; flatten origins & axes. 2025-06-09 12:53:11 +01:00
Jeff Young af1a246e12 Nullptr safety. 2025-06-06 18:28:39 +01:00
Jeff Young d6857ddc56 Naming conventions. 2025-06-06 18:28:39 +01:00
Jeff Young 863d3c3603 Fix logic that's been broken for 11 years.
(And was doubly-broken when copper layers went to
even numbers only.)
2025-06-06 18:25:20 +01:00
Jeff Young 06dcb64ad8 Harden progress reporter API against misuse.
Also, titles are nouns, not verbs.  (Messages
*inside* reporters are verbs.)

Also implements progress reporter for Altium
schematic import.
2025-06-01 19:38:24 +01:00
Jeff Young e03cb736f2 Move board functions to BOARD_EDITOR_CONTROL. 2025-05-24 18:30:30 +01:00
Seth Hillbrand b2cfcd567e Prevent unneeded copy 2025-05-14 10:05:37 -07:00
jean-pierre charras d5cf541974 Gerbview: fix a maximum number (50) of Error messages in report list.
Having a lot of errors can happen when trying to open a non gerber files
(this is easy when loading a zip archive).
With a *lot* of errors (if a large .step file is found) Gerbview can hang.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20799
2025-04-28 17:46:14 +02:00
Jeff Young 2b33a03954 Make Edit Text & Graphics dialogs more similar.
Also a bunch of cleanup for dialog heading
format and info sizes.

Also fixups for consistency of syntax help
(should be a link, not a button)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20790
2025-04-27 17:34:18 +01:00
jean-pierre charras c7e4875505 Gerbview: fix a few issues when loading zip files
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20779
2025-04-26 10:37:23 +02:00
JamesJCode a5be581b1b Add char_traits<T> specialisations for wxUniChar and NANODBC_SQLCHAR
when building on Apple with Clang >= 17.

These specialisations are not strictly required by the C++ standard,
and have been removed from LLVM.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20631
2025-04-15 20:57:23 +01:00
Mike Williams 40058ebe80 actions: move all basic selection operations to common actions 2025-04-02 12:02:01 -04:00
Jeff Young 4ae4f9ea87 Wait for wxWidgets to destroy window. 2025-03-31 15:14:59 +01:00
jean-pierre charras 7bd4fa3fa6 Fix a Coverity and a compil minor warning 2025-03-26 13:19:00 +01:00
Jeff Young 0a4533703c Performance. 2025-03-24 10:28:41 +00:00
Brendan Hickey 33a8cd942f Increase GerbView max DCode Id to 2^31-1
I (charrasjp) fixed the compil issues of the Brendan Hickey's initial work and some other minor issues.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20323
2025-03-20 11:27:53 +01:00
Jeff Young 877c6bce89 Printing is not zoom-specific.
(Some of these items don't currently get printed, but
there's no sense in leaving a latent bug around in case
we ever change our minds.)
2025-03-07 13:01:00 +00:00
jean-pierre charras eaa1e6d594 Fix a collision with a Windows define and our use of the same var name.
We use IN for INCH as units, but IN is defined in a Windows header
2025-03-02 11:34:30 +01:00
Jeff Young f951497a4f Code brevity. 2025-03-01 21:58:31 +00:00
Ian McInerney 85810510f4 Tweak toolbar settings a bit
* Manage the settings using the settings manager for better lifetimes
* Better architect the internals and JSON to make it easier to identify
  the various tool types
2025-02-28 01:57:37 +00:00
Ian McInerney 548334b4e2 Load toolbar configuration from settings 2025-02-28 01:57:37 +00:00
Ian McInerney fc6f3f2332 Formatting tweak 2025-02-28 01:57:37 +00:00
Ian McInerney 7ad1103f55 Move toolbars to a serializable storage format 2025-02-28 01:57:37 +00:00
Ian McInerney c24dbc17bf Move toolbar setup flags into the action definition
This makes them centrally defined, and removes the need to specify them
when creating the toolbar.
2025-02-28 01:57:37 +00:00
Jeff Young 6a3f52dbaf Ignore negative layers when exporting Gerbers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16871
2025-02-19 23:43:53 +00:00
Jeff Young ec649593ae Fix layout issues in print dialog controls. 2025-02-03 21:41:03 +00:00
Jeff Young 8874f137fa Read hotkeys from disk after they change.
(Otherwise we'll write the old versions back out
when closing one app.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19612
2025-02-01 20:01:13 +00:00
jean-pierre charras 89e80586cd Gerber export to pcb: handle rect aperture to draw lines on non copper layers
On copper layers, all lines are exported as tracks, so they always use a round
aperture.
Note also rect aperture to draw lines and arcs are deprecated since 2020

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19553
2025-01-09 11:02:15 +01:00
Seth Hillbrand 066380ffeb Clean up a few gerbview export to pcbnew layers
There's a lot of hard coded stuff in gerbview.  This removes a few
duplicated functions and gets the layer export back into working shape

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19552
2025-01-08 16:00:44 -08:00
jean-pierre charras 162d87f271 Gerber export to pcb fixes: update to use recent changes in Pcbnew V9
Use new layers id, arcs in tracks, and some recent changes in Sexpr
2025-01-08 20:32:53 +01:00
Seth Hillbrand f38e661a02 Revert "Move GL Context into Singleton class"
This reverts commit 5326c36a5f.
2025-01-03 21:22:37 -08:00
Seth Hillbrand 5326c36a5f Move GL Context into Singleton class
The GL context lock needs to be shared across kifaces.  Otherwise, we
can end up blocking the lock from one kiface.  Unfortunately, I can't
find the issue in GitLab right now for where the footprint viewer shows
a blank screen after opening too many contexts.  But that's what this
fixes.
2025-01-03 17:26:23 -08:00
John Beard 520a7cf62c GAL: ViewGetLOD should not be able to change the VIEW
Make the VIEW* parameter const. Since PCB_TEXT does a null-check,
it's not very clear if this can ever be null (and if it is,
why don't the other VIEW_ITEMs check?), so don't make them
all references too at this time.

Also dereference a few pointers a bit earlier to make non-null
promises sooner rather than later.
2025-01-02 22:59:31 +08:00
John Beard 527faddbfd GAL: provide constants for LoD HIDE/SHOW and a scale helper
Saves a mishmash of local HIDE/SHOW defs along with various literals.

Also provide a function that computes the scale at which a given
IU size becomes (notionally) a certain size on screen. While this
is a simple division, it's a bit opaque in terms of meaning.

Also it means the divide by zero case can be more universally
defended-against, which has traditionally been a bug opportunity.
2025-01-02 22:59:31 +08:00
Seth Hillbrand 0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Seth Hillbrand e9bc8cfe9d Give Clipper1 a Viking funeral
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08:00
Jeff Young 753d385473 Reduce dependency on dynamic_cast.
Also switches to checking __clang__ instead of __WXMAC__.
2024-12-08 21:46:54 +00:00
Seth Hillbrand bf6a255a3e Move more elements from fixed size arrays
Refactor layer data storage from compile-time array sizes to run-time
map storage
2024-12-03 13:25:11 -08:00
Seth Hillbrand d7137c4a05 Cleanup VIEW class
Ununsed m_dynamic class variable
2024-11-21 18:59:48 -08:00
Seth Hillbrand 9dfcb6a362 Cleanup ViewGetLayers()
Old style c-array replaced with vector returns
2024-11-21 13:18:36 -08:00
jean-pierre charras 2d36a5d4f9 Gerbview: make buffer to read a line of Gerber file bigger.
Currently, the Gerber file is parsed line by line, This is most of time OK.
But warning: in rare cases some files can have *very long* lines (in fact
have only one line),  so the buffer must be very large.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18890
2024-10-10 18:33:33 +02:00
John Beard c9a231610a 3DConnexion navlibs need kiplatform
This worked in Pcbnew because pcbcommon happened to include
kiplatform, but gerbview didn't.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18825
2024-10-01 17:11:01 +01:00
John Beard 215533f31a Unify flip direction handling
There was a gentle mish-mash of booleans, some with
true being left/right and some up/down, and some functions that
can flip in both axes (which is never actually done, and doesn't
really make geometric sense).

Replace all this with the FLIP_DIRECTION enum class, which makes
the intention completely unambiguous.

This also then allows a small scattering of simplifications,
because everything takes the same type and you don't have to
fiddle booleans to fit.
2024-09-27 17:13:13 +01:00