Seth Hillbrand
78ff9a857a
Jerry-rig HTML-format alpha parsing
...
On wx3.0, the HTML format #RRGGBBAA cannot handle the alpha channel.
Instead, we route this through a COLOR4D routine when we need to use
these colors
Fixes https://gitlab.com/kicad/code/kicad/issues/9963
2021-12-13 16:04:40 -08:00
dsa-t
4ccfc21324
Fix event id intersections when toggling some columns via popup.
...
Also increases maximum show/hide column count to 50.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9765
2021-12-13 00:35:44 +03:00
Jon Evans
3cb7ca1db4
Remove manual canvas scale from GTK
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9912
2021-12-09 18:36:44 -05:00
Seth Hillbrand
9884f40952
Update call signature for SwitchLayer
...
We don't use DC anymore
2021-12-09 10:14:11 -08:00
Jeff Young
1f9e75f676
Pad with hole same size or larger than pad isn't flashed.
...
... even if it's marked as being on copper layers.
Also changes the default hole clearance to 0.25mm.
Fixes https://gitlab.com/kicad/code/kicad/issues/9901
2021-12-08 23:16:33 +00:00
Jeff Young
7ffd43a6f4
Regularize the promotion of pads to footprints in non-free-pad mode.
...
Also regularizes some of the other selection filtering options.
This also fixes an invalidated iterator (and subsequent segfault) in
the old code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9896
2021-12-08 13:08:54 +00:00
dsa-t
51eac3ba04
Improve EDIT_LINE position calculations beyond INT_MIN/2 ~ INT_MAX/2
2021-12-07 21:24:09 +00:00
Jeff Young
2e342ed8c9
Draw dangling symbols on a separate layer.
...
This allows us to draw them in front of wires, pins, and most
importantly, junction dots.
Fixes https://gitlab.com/kicad/code/kicad/issues/9667
2021-12-06 18:50:50 +00:00
Mikolaj Wielgus
b9e66d8b98
Update EDA_ITEM::HitTest docstring
...
HitTest() doesn't check for containment or intersection with the
bounding box, but with the selection-active region.
2021-12-06 01:16:17 +01:00
Jon Evans
014bad7b28
Add profile counters for PCB mouse and paint events
2021-12-05 15:16:08 -05:00
Jon Evans
a205595404
PROF_COUNTER -> PROF_TIMER
...
I want to add an event counter, and this one is a timer
2021-12-05 14:25:37 -05:00
jean-pierre charras
f24bdf4067
Fix minor Coverity warnings (not initialized vars).
2021-12-03 17:55:21 +01:00
Mikolaj Wielgus
9efbeaa064
Dark theme support for SPICE model editor
2021-12-03 03:41:32 +01:00
Franck Bourdonnec
d877f04198
fixe paths
2021-12-02 20:23:00 +00:00
Jeff Young
8fab8a05d6
Fix shadow variable defn.
2021-12-02 11:40:31 +00:00
Mikolaj Wielgus
098f234311
Add missing types to IsInstantiableType() switch
2021-12-01 00:47:22 +01:00
Tomasz Wlostowski
2c6e9778a1
GAL: OpenGL draw calls pooling/splitting
...
Improves rendering performance, esp. for large designs by:
- using a separate glDrawArrays calls() for large buffers of contiguous vertices (e.g. large zone fills)
- pooling smaller items into a small-sized index buffer held in system RAM (has to be DMAed to the GPU by the driver anyway)
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski
569c39ac37
GAL: runtime profiling for CACHED_CONTAINER
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski
ee8b2113a8
TRACE_MANAGER: very simple run-time tracing infrastructure
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski
2f8ad08739
PROF_COUNTER: added string formatter method
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski
b59ee13fcc
GAL: made Begin/EndDrawing calls public to have more control over timing of rendering context creation/destruction
2021-11-29 23:30:10 +01:00
Mikolaj Wielgus
84dd515b6a
s/Instatiable/Instantiable/, s/Instatiate/Instantiate/
2021-11-29 21:20:57 +01:00
Mikolaj Wielgus
db41769bb9
Subclasses of dimensions are instatiable
2021-11-29 04:44:11 +01:00
Mikolaj Wielgus
281f8ccc4b
Correct instatiable type condition
2021-11-29 04:41:25 +01:00
Mikolaj Wielgus
c159bd79f0
LOCATE_ANY_T is not an instatiable type
2021-11-27 19:42:11 +01:00
Mikolaj Wielgus
55ddc8161f
Add determination to which Kicad app type belongs
2021-11-27 19:42:10 +01:00
Jeff Young
9547c72e73
Teach router about different keepout rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:04 +00:00
Jon Evans
8026863d4c
Use progress reporting in more places when loading a board
...
Prevents application-not-responding events while opening large designs
2021-11-25 11:19:03 -05:00
Jeff Young
5863bc0937
Put Repair Schematic behind Advanced Config.
2021-11-25 12:56:46 +00:00
PJM
f3b3d18319
Removed dead code from view_controls.h
...
CHANGED: Removed "ForcedCursorPosition()" and "IsCursorPositionForced()"
from view_controls.h. First, these functions are completely redundant
as they do the exact same thing but have different names. Second,
neither is called anywhere in the entire KiCad code base.
2021-11-25 12:55:18 +00:00
Jeff Young
228edd4121
Don't generate duplicate IDs in line/wire/bus tool.
...
Also cleans up existing duplicate IDs when reading.
Fixes https://gitlab.com/kicad/code/kicad/issues/9749
2021-11-24 13:20:44 +00:00
Seth Hillbrand
f97c7c78c8
Connect ruler tool with axes preferences
...
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them
Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Jon Evans
1e8284bc1a
Add ability to seed the KIID generator
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9689
2021-11-20 14:19:29 -05:00
Seth Hillbrand
766a09c338
Remove autocomplete when we lose focus
...
Prevents the excess dropdown from persisting over windows
Fixes https://gitlab.com/kicad/code/kicad/issues/9651
2021-11-19 17:24:16 -08:00
Jeff Young
c01649fc6e
Make it easier to open legacy files.
2021-11-19 13:36:14 +00:00
Jeff Young
4e6a201881
Correct cursor for search control buttons.
2021-11-18 18:25:14 +00:00
Jeff Young
1bb750814d
Cleanup dead code.
2021-11-17 12:49:53 +00:00
Jon Evans
9238b27f63
Silence IsWritable warning message
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9656
2021-11-16 21:02:32 -05:00
Jeff Young
7760d3275d
Fix printing of LIB_SHAPE arcs.
2021-11-17 01:39:16 +00:00
Seth Hillbrand
f950d96324
Prevent dereferencing frame on exit
...
Processing a menu event for quitting results in the frame being
destroyed. This crashes the program when it tries to access the newly
freed frame to check for autosave data. We bind the closing flag into
the base program which will be the last item freed on exit to ensure we
can correctly check for data loss
Fixes https://gitlab.com/kicad/code/kicad/issues/8638
2021-11-15 10:07:28 -08:00
Jon Evans
ae24daa033
Do not include text when computing drag origin for a group
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9630
2021-11-14 11:54:04 -05:00
Jeff Young
66d9e7073f
More discrete borders for Kicad mgr, PCM and appearances panels.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 15:01:44 +00:00
Jeff Young
36fd62ccdc
Another round of beautification changes for PCM.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 13:11:19 +00:00
Wayne Stambaugh
53f5d616aa
Coverity issue fixes.
2021-11-13 11:38:31 -05:00
Wayne Stambaugh
f4b97eca63
Fix broken search stack behavior.
...
The overload of wxFilePath::FindValidPath() broke the normal behavior
when the file searched for existed in the current working directory.
This was causing the initial library table file to be copied from the
current working directory instead of from the list of search paths.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9599
2021-11-13 07:52:25 -05:00
jean-pierre charras
bfd09a4d16
Avoid calling deprecated wxPlatformInfo::GetArchName() in more than one place.
2021-11-13 09:52:08 +01:00
Mikolaj Wielgus
921105330a
Remove printing files from Project Manager
2021-11-12 20:18:32 +00:00
Jeff Young
0b48876ce5
Decouple left and right pane minimums for splitter window.
2021-11-12 02:12:44 +00:00
Jon Evans
16a34e6adb
Use heap instead of stack for CopyStreamData
2021-11-10 22:05:44 -05:00
Jon Evans
42eb063697
PCM: Treat color themes as read-only; don't copy to settings dir
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9548
2021-11-09 22:11:59 -05:00
Jeff Young
d4e3e67b8d
Update kicad_prl file when doing a SaveAs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9455
2021-11-09 17:25:18 +00:00
Jon Evans
75d75799f7
Move to getters/setters for aux and grid origin
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8836
2021-11-08 22:36:40 -05:00
Seth Hillbrand
8f1dec61d2
Add swedish as option for translators
...
There appears to be activity in Weblate updating this language.
2021-11-08 11:41:14 -08:00
Mikolaj Wielgus
6d9456ea4d
Fix opening files with spaces on Linux
...
`wxLaunchDefaultApplication()` fails on files with spaces on Unix
systems due to a programmer error. This is fixed in newer wxWidgets
versions, so let's backport it as a workaround.
2021-11-07 14:31:14 +00:00
Seth Hillbrand
a153951be4
Don't set adaptive swapping over SSH
...
Remote connection GL drivers lie. Don't trust them to support any
swapping other than their default
Fixes https://gitlab.com/kicad/code/kicad/issues/9532
2021-11-05 09:06:22 -07:00
Jeff Young
b73793f9ef
Rewrite text find/change routines to support word matching.
...
The old algorithm treated the "Words" checkbox as meaning match the
entire text, not match words, which is unlikely to be what anyone is
expecting.
Also fixes replace to replace all instances in a single text item
rather than just the first.
Reported on the forum.
2021-11-05 13:37:37 +00:00
Jeff Young
40b4052ad4
Improve text hittesting in schematics.
...
Text has a fairly big bounding box to account for descenders, overbars,
etc., but it makes it feel too sloppy for hittesting. This change
allows selection disambiguation to look at the actual strokes of the
text when deciding what's "closest".
Fixes https://gitlab.com/kicad/code/kicad/issues/9506
2021-11-01 21:13:12 +00:00
Jeff Young
e3ef101ec9
Add missing view controls for FP Editor Appearance Manager.
2021-10-31 16:33:03 +00:00
Jeff Young
c8a8efa67b
Save as for current version project files.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9455
2021-10-30 23:01:53 +01:00
Jeff Young
5f8e0ef1e0
Patch up arc hit-testing and printing for 6.0
...
This could use another look when we're not so near release. We
really shouldn't need to special case eeWinding vs. not eeWinding.
Fixes https://gitlab.com/kicad/code/kicad/issues/9491
2021-10-30 15:10:07 +01:00
Tomasz Wlostowski
1051f11683
libeval_compiler: thou shalt not return pointers to std::vector members! (fixes an use-after-free crash in complex rule evaluation invoked by the router)
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9451
2021-10-29 16:48:36 +02:00
Wayne Stambaugh
e1846c33d9
Coverity issue fix.
2021-10-29 10:43:40 -04:00
Wayne Stambaugh
1f7fd436a2
Move board object polygon code into the object source files.
...
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04:00
Roberto Fernandez Bautista
a79a221257
Array creator tool: Add option to assign unique reference designators
...
ADDED: Option to assign unique reference designators to footprints
created with the array tool [pcbnew]
CHANGED: Array creator dialog no longer displays pad numbering properties
when in the board editor. [pcbnew]
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2354
2021-10-25 22:38:49 +01:00
Jeff Young
c52cb229d0
Add unsaved-changes indication to Symbol Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9443
2021-10-25 12:35:04 +01:00
Jeff Young
c9d858eaf5
Add status bar message for constraint mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9282
2021-10-24 14:04:12 +01:00
Jeff Young
fecb53b64f
Clean up removal of separate front & back footprint text visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9441
2021-10-22 21:14:15 +01:00
Seth Hillbrand
64bcaaefd1
Fix radiobox order for FILL_T
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9412
2021-10-17 17:01:21 -07:00
Ian McInerney
5817a8b5f4
Remove unused m_host variable
...
This variable isn't needed anymore after 5f53019290
pushed dark mode handling into the HTML window itself.
2021-10-18 00:29:40 +01:00
Roberto Fernandez Bautista
99442350a4
CADSTAR PCB: Fix loading of arc tracks following recent PCB_ARC changes
...
We no longer have any knowledge of the original start/end of the arc,
since SetArcAngleAndEnd swaps the start and end to ensure the arc is
always clockwise at the end.
Adds a method EDA_SHAPE::EndsSwapped() to notify whether the start/end
point of the shape were swapped.
2021-10-17 17:57:51 +01:00
Jeff Young
f9861b4a6c
Finish arc rework and push out to file formats.
2021-10-15 12:45:43 +01:00
Jeff Young
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Jeff Young
9b9e379aa0
Overhaul arc internal model to not over-specify information.
2021-10-15 12:45:43 +01:00
Jeff Young
8b08c9e53f
Shorter names before things get out of hand.
...
Also, remove comments indicating CURVE is a Bezier. Just call it a
BEZIER.
2021-10-15 12:45:43 +01:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
Wayne Stambaugh
c4d0a06701
Eeschema: fix broken auto save feature.
...
Make auto save recover all auto saved sheet files not just the root sheet.
This does not fix existing auto save issues because recovery would require
an iterative reload for each automatically saved sheet file and would only
happen once.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9288
2021-10-13 14:51:00 -04:00
Mikolaj Wielgus
5f53019290
Substitute all wxHtmlWindow with HTML_WINDOW
...
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand
8dbe60b0d5
Catch possible out_of_range
2021-10-11 10:33:50 -07:00
Ian McInerney
961c127ebe
Convert mouse coordinates to native pixesl in the 3D viewer
...
All operations in the camera are done using the native pixel sizes,
so we need to ensure the mouse coordinates are converted to native
pixels to make the mouse operations line up with the view.
Fixes https://gitlab.com/kicad/code/kicad/issues/2561
Fixes https://gitlab.com/kicad/code/kicad/issues/8410
2021-10-10 17:52:12 +01:00
Seth Hillbrand
41e7284fdc
Speed up pcbnew loading/updating
...
Rather than detaching and re-attaching the layer panels with the
attendant overhead, we keep each panel intact and only update its
contents. Since the bindings are the same, this saves substantial time
on pcb loading as well as when closing the board setup dialog
2021-10-09 13:38:35 -07:00
Ian McInerney
c14bdf7fe0
pcb_calculator: Update panel images/text when system theme changes
2021-10-08 17:31:21 +01:00
Mikolaj Wielgus
faad5ee1ce
Use system text and background colors in PCB calculator
...
wxHtmlWindow forces white background and black text. Force it back to
system settings.
2021-10-07 19:09:42 +00:00
Mike Williams
27765cd584
TOOL_DISPATCHER: drag activation should always use screen coordinates
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9325
2021-10-06 19:05:18 +00:00
Jeff Young
1bb5fc3fd6
Work around EnsureVisible bug in wxWidgets during DRC cross-probe.
...
Also adds double-click-marker to open DRC dialog and select marker
in list.
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-06 11:17:03 +01:00
Jeff Young
95f841a037
A more nuanced method of making Board & Schematic Setup read-only.
...
This one still allows you to scroll to see all contents.
Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-06 11:16:46 +01:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
930c4e5582
Cleanup.
...
Formatting.
Naming conventions.
Use of auto.
Use of STL cover types.
2021-10-03 19:42:29 +01:00
Jeff Young
11c91c7179
Improve obscuring dialog algorithm to handle multiple dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8970
2021-10-03 13:27:46 +01:00
Jeff Young
574bef2237
Normalize drawing sheet path to env vars & prj, not just prj.
...
Also cleans up the dialog a bit.
Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young
0dce303c49
Prefer wxASSERT to assert.
...
The former gives warning when not running under a debugger; the latter
does not.
2021-10-02 23:39:45 +01:00
Jeff Young
e2baacec21
Add cross-probing between PCB (markers) and DRC marker list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-02 23:39:45 +01:00
Jeff Young
f606679164
Proper numeric sorting for intersheet refs.
...
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
Seth Hillbrand
c4fcff46ab
Add Thai language option
2021-09-30 08:38:41 -07:00
Jon Evans
62ef27e372
Remove hard-coded anchor color in eeschema
2021-09-28 20:26:47 -04:00
Mikolaj Wielgus
adafb15126
Remove LaunchURL()
...
Unused and insecure.
Related to https://gitlab.com/kicad/code/kicad/-/issues/9236
2021-09-28 22:39:18 +02:00
Mike Williams
9ca836d1ea
Tools: Respect system drag
...
Also remove the time-based aspect. We aren't all super speed clickers.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8765
2021-09-27 16:44:32 +00:00
Jeff Young
c05e4376f9
Update backups folder name when doing project save as.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9254
2021-09-27 13:24:45 +01:00
Jeff Young
544fa939f8
Lock/unlock group members when locking/unlocking group.
...
Also moves the stateful selection filter to after the hierarchy filter
since the hierarchy filter might swap a pad selection for a footprint
selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/9255
Fixes https://gitlab.com/kicad/code/kicad/issues/7542
2021-09-27 11:29:52 +01:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00