Jeff Young
4b6f2f0658
Add mechanical copper clearance testing for shapes.
...
Also includes going from distance-based neighbor exclusion to angle-
based. (Distance doesn't work when very short segments are followed
by very long ones.)
Fixes https://gitlab.com/kicad/code/kicad/issues/2512
2021-12-24 11:40:10 +00:00
Jeff Young
66a6a6d448
Attempt to fix test case, and improve debugging output.
2021-12-24 11:38:09 +00:00
Jeff Young
a48867ea01
Solder mask integrity testing.
...
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young
533276e6b6
Copper sliver checking.
...
ADDED DRCE_COPPER_SLIVER DRC error.
ADDED ADVANCED_CFG DRCSliverWidthTolerance and DRCSliverAngleTolerance.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:05 +00:00
Jeff Young
a1e3f2b188
Starved thermals DRC checking.
...
ADDED min_resolved_spokes constraint.
ADDED "Thermal relief connection to zone incomplete" violation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:30:42 +00:00
Jeff Young
295a6408c3
User-configureable dash styles (and dash-dot-dot).
...
ADDED: Schematic Setup properties for dash length and gap length.
ADDED: dash-dot-dot line style
Fixes https://gitlab.com/kicad/code/kicad/issues/2206
2021-12-23 20:36:24 +00:00
Jeff Young
e26341d424
Cleanup.
2021-12-23 20:36:18 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young
4b6bf3095a
Radial dimensions.
...
ADDED radial type dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/2056
2021-12-23 19:34:54 +00:00
Jeff Young
2001d08186
Add DRC tests for text height and text thickness.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8683
2021-12-23 19:18:45 +00:00
Jeff Young
6e2460ad37
Add hot-updating of units in common wxGrids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10020
2021-12-23 16:54:03 +00:00
Jeff Young
a1c8e36c99
Scale markers somewhat proportionally to zoom.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10048
2021-12-23 16:54:03 +00:00
Mike Williams
956ac871c3
PCB Editor: changes to track width overrides starting track width
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
2021-12-15 23:32:48 +00:00
Seth Hillbrand
232b39a321
Add legacy CTOR for PROF_COUNTER
2021-12-15 12:52:08 -08:00
Jeff Young
724182abe4
Fix lib tree searches to handle searching on library names.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9981
2021-12-14 15:18:48 +00:00
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
Jeff Young
5bf042fcc1
Use individual parameter version of wxExecute.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9236
2021-09-26 15:03:06 +01:00
Jeff Young
46949abe4a
Don't scroll to highlight an object already visible.
2021-09-25 15:31:52 +01:00
Seth Hillbrand
c3b6939ea7
Allow quiet creation (scripting)
2021-09-24 13:49:45 -07:00
Seth Hillbrand
64be61b4d6
Allow user to set footprint type up front
...
The default is usually wrong and presenting the basic footprint
information when creating an empty footprint allows the user to
establish their preference before mistakes occur.
Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Jeff Young
c7f098ab25
Remove unused variable.
2021-09-24 16:03:13 +01:00
Seth Hillbrand
0f10748226
Disallow Ctrl-Tab and Ctrl-Shift-Tab as hotkeys
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9010
2021-09-20 11:13:50 -07:00
Jeff Young
3651d7c5e7
Remove vestiges of old zoom-auto architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9055
2021-09-19 18:32:15 +01:00
Jeff Young
6e7ce09572
Use more descriptive terminology for preferred text editor.
...
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".
Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Jeff Young
5c07441e24
Remove Setup Dialog assignment of netclasses to buses.
...
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.
Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).
Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.
Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.
See additional comments in the bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 22:01:17 +01:00
Jeff Young
364ecc02ee
Hide scaling hacks on platforms that don't need them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9171
2021-09-17 12:37:53 +01:00
Jeff Young
2479e1d7b1
Improve common settings property grouping.
...
Also moves apply-icon-scaling-to-fonts to its own checkbox. (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
Jeff Young
6197717251
Avoid poor choices for point colors.
...
Also adjusts the point size to account for the fact that it now has a border.
2021-09-16 14:17:52 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
3aae3c6f65
Dark mode for a bunch of HTML dialogs.
...
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT
Fixes https://gitlab.com/kicad/code/kicad/issues/9157
Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
Jeff Young
7a993c0211
Add support mode for dark mode to SCINTILLA_TRICKS.
...
Also removes the return value from the BITMAP_STORE's themeChanged
method as it will provide the wrong answer for the second frame it's
called on.
Also hooked up ACTION_TOOLBAR, the app launcher, and the project tree
to the wx event for system color changes so they change on the fly.
Fixes https://gitlab.com/kicad/code/kicad/issues/6026
2021-09-14 00:18:50 +01:00
Jeff Young
a5247471f7
Expunge a bunch more fixed font specs from wxFormBuilder files.
...
Also removes the -1 sizing of the status bar on GTK and MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-12 13:53:12 +01:00
Jeff Young
9c78e4cf54
Mac needs different font size handling than MSW & GTK.
...
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better. The
other platforms need a more limited range of sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young
769ca2d255
Add a quantized scaling mode for bitmaps.
...
125% scaled bitmaps look bad in the Launcher so we pin to 100%,
200%, 300%, etc.
2021-09-11 23:40:31 +01:00
Jeff Young
fbee62fc15
Tie font size scaling to when automatic icon scaling fails.
...
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
Seth Hillbrand
abfc60acfc
Split European Spanish and Latin American Spanish
...
This is a test split per requests. While "Latin American Spanish" is
not really homogeneous, there are distinct differences to European
spanish, so we are splitting in an effort to allow both translations.
If one is less viable, this may re-merge in the future.
2021-09-10 12:45:59 -07:00
Jeff Young
7a822b55aa
Another round of changes to attempt to fix the GTK font size issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Seth Hillbrand
29c2f3b7d4
Prevent jumping into disambiguation if moved
...
Moving points should not be overrided by disambiguation menu, so we
track where the disambiguation event started and only trigger the menu
if the mouse hasn't moved a full unit in x/y
Fixes https://gitlab.com/kicad/code/kicad/issues/9132
2021-09-09 16:24:18 -07:00
Seth Hillbrand
dc574bcb24
Split Portuguese
...
Split the dialects of Portuguese into Bazilian Portgugese and Portugal
Portuguese
2021-09-09 11:18:32 -07:00
Jeff Young
f013dbc7c4
More uniform handling of status fonts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-08 21:34:22 +01:00
Jeff Young
e7debc495b
WIP
2021-09-08 20:17:59 +01:00
Wayne Stambaugh
ad1ee958b0
Code cleaning.
2021-09-07 15:18:42 -04:00
Seth Hillbrand
c8b2e69332
Check if selection is primary tool
...
Previously, we were checking if the selection tool was the top of the
stack but this ignored many other "secondary" tools that might be
running such as the point editor. These still allow the selection tool
to handle events such as clicks. This change allows the selection tool
to handle clicks when it is the primary tool on the stack rather than
the top
Fixes https://gitlab.com/kicad/code/kicad/issues/9110
2021-09-07 10:42:01 -07:00
jean-pierre charras
56374ffa26
Try to fix a compil issue that does not happen on my computers.
2021-09-06 18:36:27 +02:00
jean-pierre charras
36048fa436
OPENGL_GAL::DrawArcSegment(): use a better number of segm to approximate the arc.
...
Previously, the count of segments used a magic number optimized for Pcbnew.
This is not good, and does not work well on Gerbview.
The count uses now a max error acceptable is approximation (5 microns in Gerbview and Pcbnew).
Fixes #9101
https://gitlab.com/kicad/code/kicad/issues/9101
2021-09-06 16:36:47 +02:00
Marek Roszko
525099ea06
Use the correct define for windows
2021-09-05 22:22:27 -04:00
Marek Roszko
0ee79834bb
Make alt key slightly better on windows
2021-09-05 22:17:08 -04:00
Seth Hillbrand
240c3b75c4
Move selection disambiguation to long-click
...
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Seth Hillbrand
092cdc0bb5
Move 45° limit to hotkey
...
This assigns the "Tab" key to a general pcbnew 45° limitation. Limit
can be enabled/disabled using context menu as well.
Removed the user preference for 45° limitation on graphic lines as that
is overlapping with the general limitation, which is not an editing
preference so much as a temporary adjustment to tool action.
Related to https://gitlab.com/kicad/code/kicad/-/issues/8490
2021-09-05 13:42:51 -07:00
Jeff Young
59c15842f8
Exclude formatting chars from text width approximation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9080
2021-09-04 22:09:32 +01:00
Seth Hillbrand
8a305eec32
Remove broken RefDesStringCompare
...
This function attempted a poor-man's natural compare but it assumed
specific structure of the string. This broke for strings with
numberings that looked like decimals.
Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.
Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
Jeff Young
04fa678265
Impleent persistence for no-connect pad setting.
...
Also moves rotation increment from a display property to and edit
property.
(Both issues were discovered while working on a 7.0 feature.)
2021-09-01 00:00:12 +01:00
Jeff Young
a5e11111a4
Link updating of hex value and opacity slider.
2021-08-31 21:24:20 +01:00
Jeff Young
e58671e2da
Move color picker from CSS to HTML format for colors.
...
This is an attempt to remove the decimal separator from the equation,
which appears to be causing trouble on MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/9043
2021-08-31 18:56:38 +01:00
Jeff Young
b5a3385ea9
Overhaul file locking system.
...
See bug report for details.
Fixes https://gitlab.com/kicad/code/kicad/issues/8919
2021-08-31 15:04:31 +01:00
Mike Williams
30987cebfe
Gerbview: fix cairo negative items and implement real differential mode
...
Layers with negative objects need to be drawn in a subsurface before
copying so they don't _CLEAR the draw items below them when a negative
object is drawn.
Differential layers are basically the same thing only they use a
different copying operation onto the layers below.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1863
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4495
2021-08-31 12:43:53 +00:00
jean-pierre charras
f59e66a897
Do not include kicad_curl.h (and therefore curl.h) in kicad_curl_easy.h
...
curl.h has constraints on Windows (because it includes winsocks2.h) and must be
included before any wxxxx.h.
Because only very few files need curl.h, kicad_curl.h is included only in these files
2021-08-28 15:31:45 +02:00
jean-pierre charras
6c7c9ca50c
Fix compil warnings (UNDO_REDO::GROUP renamed to UNDO_REDO::REGROUP to fix
...
collision name with a widows header on msys2)
2021-08-28 11:44:01 +02:00
jean-pierre charras
a9829a598e
Plugin and Content Manager: fix compil warnings and issues.
...
- some are Windows (msys2 ?) specific, related to curl.
- some others are shadowed or unused vars.
2021-08-28 10:57:45 +02:00
qu1ck
0f7c0e3872
PCM implementation
2021-08-27 21:11:47 +00:00
qu1ck
4be115ca55
Add KICAD6_3RD_PARTY env variable
2021-08-27 21:11:47 +00:00
jean-pierre charras
ee5f9034f7
pcb parser: ensure the parser is reinitialized before parsing a new fp file
...
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
jean-pierre charras
4ac2aa675a
lib symbols: make fp filter tolerant to spaces in names.
...
For historical reasons they are stored in a string using spaces as separators.
So each fp filter is now escaped to remove spaces (replaced by {space})
Fixes #9009
https://gitlab.com/kicad/code/kicad/issues/9009
2021-08-23 18:01:31 +02:00
Seth Hillbrand
a3441a969d
Return new string to avoid losing the reference
...
NETCLASSes are stored as shared pointers. We lose the reference as soon
as the pointer count decrements to 0, which can happen immediately when
the shared pointer is returned.
2021-08-22 16:56:41 -07:00
Johan Grip
b984777b52
Add more items to 3D viewer toolbar
2021-08-21 17:06:42 +00:00
Jeff Young
048e13f423
Defer DRC rule function eval to make use of short-circuit bools.
...
The lemon parser doesn't lend itself to short-circuiting booleans,
but if we defer processing until we fetch the second value when
processing the TR_OP_BOOLEAN opcode then we get to piggy-back on
C++'s boolean short-circuiting.
2021-08-21 16:43:11 +01:00
Jon Evans
c80efb0f98
Fix save/load of appearance panel width on show/hide
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8982
2021-08-19 21:15:14 -04:00
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04:00
Wayne Stambaugh
6427197962
Remove duplicate headers in plot and associated code.
2021-08-17 15:41:25 -04:00
jean-pierre charras
60c65c2a1d
Avoid loading python stuff when starting applications that do not use it.
...
It is useless, and debug is slightly easier (less constraints) at least on msys2
2021-08-17 19:48:55 +02:00
Wayne Stambaugh
b14b8b5fb1
Move headers from common folders to the appropriate include folders.
2021-08-17 12:40:31 -04:00
Jeff Young
8b5f393804
DRC bug fixes and debugging improvements.
...
1) Don't wait for UpdateUserInterface to build the (global) list of
layer names.
2) Report clearance resolution between a silk layer and a mask layer.
3) When writing DRC reports, include info about the violating rule.
4) Report "no relevant layers" if we fail to find anything to write
a clearance resolution report about.
Fixes https://gitlab.com/kicad/code/kicad/issues/8963
2021-08-17 15:41:12 +01:00
Wayne Stambaugh
8e1015fcc4
Remove all wxWidgets build dependencies from REPORTER object header.
2021-08-16 07:49:39 -04:00
Jeff Young
1a252b4f96
Add a compile error for ill-defined rules, and more performance.
...
Also adds const-safety to GetBoard().
2021-08-16 12:14:17 +01:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
Jeff Young
bff247b08a
Hook up 3D viewer colors to board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young
ed38028eaf
Fully resolve path list for Kicad2Step.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-08-14 11:21:25 +01:00
Alexander Guy
59ad333650
Check that the OpenGL drawable supports negative frame swap intervals
2021-08-13 21:11:41 +00:00
Jeff Young
c536a4c4f2
Work around annoying wxWidgets assert.
2021-08-10 16:51:30 +01:00
Jeff Young
a10f2b284c
Unify negative zero and percent handling in UNIT_BINDER.
...
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
Roberto Fernandez Bautista
3747cb50c9
wxCHECK_MSG instead of assert
2021-08-05 17:45:12 +01:00
Roberto Fernandez Bautista
dd65ce9523
Simplify & move new arc collision code into Kimath library
...
Don't need to check intersections with the circle, just fix the
calculated "projected" point from the end points.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8234
2021-08-05 17:45:12 +01:00
Jeff Young
d6443d5a2c
Reduce type-casting a bit.
2021-08-04 17:11:35 +01:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
Jeff Young
78fd268b18
Retire PARAM_OBSOLETE in favour of a schema migration.
2021-08-02 17:38:15 +01:00
Jeff Young
7d501e8a43
Add PARAM_OBSOLETE to clean out old JSON structures.
...
While not technically necessary, the old structures can be confusing
to users looking at the files.
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 12:53:57 +01:00
Jeff Young
4876e1b327
Make sure user.json file gets created if it didn't already exist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 02:48:23 +01:00
Jeff Young
c51b1dad72
Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young
e636fb32cf
Fix typo initializing buswidth with linewidth value.
...
Also reduces line-wrapping a bit.
I don't think this fixes the linked bug, but I can't reproduce it
and this was found while reviewing the code.
Fixes https://gitlab.com/kicad/code/kicad/issues/8810
2021-08-01 19:33:19 +01:00
Jeff Young
f024bf2289
Don't restrict page sizes unnecessarily.
...
Also don't validate custom sizes unless they are enabled.
Fixes https://gitlab.com/kicad/code/kicad/issues/8880
2021-07-29 16:47:45 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
f233f4a0a9
Expunge EDA_FILE_SELECTOR.
...
EDA_FILE_SELECTOR was just an obfuscation of wxFileSelector().
2021-07-28 14:12:51 -04:00
Jeff Young
6d4c454e8c
Fix some more missing escaping for symbol ids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 18:37:09 +01:00
Ian McInerney
36d66085f5
Add a column showing 3D model file loading errors
...
This adds an icon to the left of the row with an error symbol if the
file can't be found or opened, and shows a tooltip over the icon with
and error string.
Fixes https://gitlab.com/kicad/code/kicad/issues/3815
2021-07-28 16:42:22 +01:00
Jeff Young
29b23df7a1
Save both front and back soldermask colour preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-07-27 22:26:13 +01:00
Jeff Young
dd5676f4bc
Implement a safer (RAII) tool re-entrancy guard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8873
2021-07-27 16:37:34 +01:00
Jeff Young
886dc2f43e
Do-not-show-again section for common prefs & zone fill warning infobar.
...
Note that the dialogs which have mutliple options were not moved over
as it seems perahps not the right choice to have them save state between
sessions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
2021-07-26 15:35:33 -04:00
Jeff Young
e62969d007
Move zone fracture display mode to AdvancedCfg, and add triangulation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-26 18:57:35 +01:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Marek Roszko
8921eef0be
Add a "Open Demos Project" shortcut to the kicad launcher
...
Small UX improvement for the new user....
2021-07-25 21:58:57 -04:00
Mike Williams
7ba08962ba
Eeschema/Common: convert mils to IU using doubles
...
The .kicad_pro file can contain fractional mils, and users working in
millimeters would also see weird rounding issues.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7865
2021-07-25 21:58:33 +00:00
jean-pierre charras
1aadf45947
DIALOG_SHIM: fix not working initial size when creating a dialog.
...
The first time a DIALOG_SHIM was created, with a given size, this size
was not taken in account. This this is now forced.
(when recreated during a session, this is the last dialog size that is used)
2021-07-24 18:59:28 +02:00
Jeff Young
3c1af1af74
Update selected tool string when language changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8813
2021-07-23 20:16:53 +01:00
Jeff Young
a16b85db67
Read/write group locked state. Show locked state in dialog & statusbar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8796
2021-07-22 12:49:30 +01:00
Wayne Stambaugh
1a301d8eea
Stop using wxDialog::EndModal() from inside dialogs.
...
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal). Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
jean-pierre charras
56412cc843
PCB_TEXT: remove "hide" option, because they are never hidden.
...
- avoid write "hide" option in file
- always return true when calling IsVisible()
Fixes #8806
https://gitlab.com/kicad/code/kicad/issues/8806
2021-07-18 14:58:21 +02:00
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Pradeepa Senanayake
6cde086ef9
Double click on defined colour executes OK action
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8778
2021-07-14 23:26:40 +00:00
Jon Evans
ae55db77c5
Allow hiding version from manager title bar with advanced config
2021-07-14 18:24:21 -04:00
Wayne Stambaugh
01515680b3
Code cleaning.
2021-07-14 15:47:32 -04:00
luz paz
0446d35f0d
Fix source comment/doc typos (follow-up)
...
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
jean-pierre charras
fb246403d2
PROGRESS_REPORTER: avoid clipping the bottom of the dialog in some cases.
...
It occurred on Windows, when the message to display is too long and was
displayed using 2 lines.
Now the dialog is resize after changing the message.
Fixes #7953
https://gitlab.com/kicad/code/kicad/issues/7953
2021-07-11 17:52:54 +02:00
Marek Roszko
9162013132
Add advanced cfg to force reloading memory cached 3d models
2021-07-11 00:35:38 -04:00
Marek Roszko
7cb0f8f808
Add ADVANCED_CFG to always reload cached 3d models in memory
2021-07-11 00:31:06 -04:00
Marek Roszko
79b90813ec
Add ADVANCED_CFG to skip caching 3d models to file
2021-07-11 00:00:06 -04:00
Marek Roszko
1fb42c5e43
Try and cleanup the input focus/key event a little
2021-07-05 20:48:48 -04:00
Jon Evans
4f3674bd1d
Fix mangling of direct json_pointer access
2021-07-05 12:33:08 -04:00
Jon Evans
3f55093bff
JSON_SETTINGS: Provide explicit CloneFrom
2021-07-05 12:26:21 -04:00
Marek Roszko
d2aeddc6cb
Add debouncing to the choose symbol dialog.
...
More potato pc friendly in theory.
2021-07-04 21:59:51 -04:00
Marek Roszko
3b33f94c56
Use a wxSearchCtrl instead of wxTextCtrl for the symbol chooser window
...
This just makes it prettier with the search icon and cancel
2021-07-04 21:24:03 -04:00
Mikolaj Wielgus
8b2b3ca797
Define .wbk in wildcards_and_files.{cpp,h}, cosmetic code changes
2021-07-04 14:04:03 +00:00
david-beinder
f33ea6f997
Kiway: Improve performance by using IDs and clearing closed frame entries
2021-07-03 22:48:46 +00:00
david-beinder
a5308e5f5c
Fix python console toggle to work across pcbnew/eeschema
2021-07-03 22:48:46 +00:00
Jon Evans
e95323a37e
Revert "Remove unused variable."
...
It's only unused on Mac
This reverts commit d3fb22014f
.
2021-07-03 16:48:46 -04:00
Jeff Young
d3fb22014f
Remove unused variable.
2021-07-03 21:16:15 +01:00
Roberto Fernandez Bautista
c3051ba48a
Refactor SHAPE_LINE_CHAIN to allow two shapes per point
...
m_shapes now has two possible indices. The first one is populated if
the point is associated with an arc and the second index is populated
if the point is shared between two arcs.
2021-07-03 19:37:50 +00:00
Marek Roszko
eff75b630f
Get rid of anonymous struct typedefs
...
We are using C++14 where there is no reason for this and is banned in C++20 under P1766R1. MSVC generates a warning under C++14 as a reminder.
2021-07-01 18:28:41 -04:00
Wayne Stambaugh
175b474c3e
Coverity issue fixes.
...
Fixes issues #280412 , #314755 , #329615 , #332459 , #332157 , #332167 ,
2021-06-30 18:08:49 -04:00
Jeff Young
6810912f09
Refuse to load schematics from the future.
...
Also fixes a bug where an empty window would get left when loading
a file from the KiCad manager window errored out.
Also fixes a bug where we were getting the wrong exception because
we were rethrowing the type-casted one (rather than just calling
throw).
Fixes https://gitlab.com/kicad/code/kicad/issues/8604
2021-06-30 18:32:07 +01:00
Jeff Young
5cac8afe1d
Remove long-dead revision support for LIB_IDs.
2021-06-30 13:12:57 +01:00
Jeff Young
b1b4caee6a
Escape "naughty" characters in symbol names.
...
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road. Better
to just escape them.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
Jeff Young
0c2ac9a711
Move GUI font code to common.
...
This also allows the Mac fixes for font facenames to be more
compartmentalized.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young
64f07ea9c6
Update text variables after changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8697
2021-06-29 13:55:06 +01:00
Jeff Young
8526394394
Attempt to fix gcc builds....
2021-06-28 11:44:22 +01:00
Jeff Young
d296bec5b8
Differentiate aSingleLine mode for SCINTILLA_TRICKS
...
This allows us to avoid the monospaced font (along with the tab-stop
handling), and process a <return> as an OK rather than just <shift> +
<return>.
Fixes https://gitlab.com/kicad/code/kicad/issues/8425
2021-06-28 11:20:12 +01:00
Marek Roszko
7802037495
Namespace the env_vars.h functions
2021-06-27 00:38:19 -04:00
Jeff Young
0f27618125
Use a list dialog that can be parented by the Board Setup dialog.
...
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)
I also removed the UpdateUI stuff which was probably causing:
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
Jeff Young
81fc710a5d
Use consistent terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8681
2021-06-26 10:11:41 +01:00
Jeff Young
1f4a56005e
Remove extraneous isPrinting test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
Jeff Young
27804e40e2
Go back to using space-width for tabs (instead of max-char-width).
...
The max-char-width impl was buggy and never applied to PCBNew anyway.
Plus the stroke font has a max-char-width of 2.8 time the space width,
so it made for really wide tab spacing.
Also fixes a bug where the Scintilla editors weren't getting a
monospace font on Mac. (This bug may also exist on the other
platforms, but each would need its own fix.)
Also moves more of the Scintalla customizations to SCINTILLA_TRICKS
where they can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/8666
2021-06-24 23:53:27 +01:00
Jeff Young
5fa5a73c6d
File open/import progress dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6864
Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Marek Roszko
aadb62bd42
Avoid generating paths on windows with ".." in them
...
This causes wxwidgets to failover to legacy windows dialogs as windows doesn't know how to handle them being passed to dialogs.
2021-06-21 18:03:55 -04:00
Jeff Young
99da3d1336
Bail on single instance checker.
...
We lock the project file, board, and schematic now, so the second copy
can only open them read-only. While issues might remain, it's unclear
the warning ever prevented anyone from shooting themselves in the foot
anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/7465
2021-06-20 21:37:02 +01:00
Jeff Young
89718dd3ba
Naming conventions.
2021-06-19 19:36:53 +01:00
Jon Evans
32c21f4a94
Fix several window sizing problems on macOS
...
- Remove outdated y-offset that prevented restoring full-height
(client area returned by wx is correct these days)
- Clamp frame geometry to fit new display when display is changed
- Handle when an automatic window reposition causes a DPI change
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8341
2021-06-17 23:59:19 -04:00
Jeff Young
16047b7419
3D preferences bug fixes.
...
1) Make sure prefs get saved when closing parent frame.
2) Add camera projection mode to settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/8110
Fixes https://gitlab.com/kicad/code/kicad/issues/8626
2021-06-17 12:22:18 +01:00
Marek Roszko
45c7c7c350
Remove unused m_crossHairPosition
2021-06-15 21:25:27 -04:00
Wayne Stambaugh
ee3eac325d
Expunge the use of the word part from Eeschema code.
2021-06-15 08:32:11 -04:00
Jeff Young
abc5a6e775
Migrate net names in netclass info.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
2021-06-15 00:17:39 +01:00
Wayne Stambaugh
fb46cd8bc5
Expunge the use of the word component from Eeschema code.
...
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Jeff Young
2c1da70181
Write all variables to temp config file and have Kicad2Step use that.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-06-14 16:54:45 +01:00
Wayne Stambaugh
71c183d7bb
Rename LIB_PART to LIB_SYMBOL.
2021-06-14 07:11:17 -04:00
david-beinder
da833ad7dd
Separate focus from hover state in BITMAP_BUTTON, trigger after mouse down+up
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8556
Adds AcceptDragInAsClick() to maintain support for use in toolbar palettes
2021-06-13 17:00:41 +00:00
Jeff Young
74cefecaac
Add legacy empty-string token handling to EDA_TEXT.
2021-06-13 12:11:01 +01:00
Seth Hillbrand
09e1a0dc48
Increase maximum zoom for pcbnew and gerbview
...
Zoom levels remain the same but high zooms reachable by mouse wheel
Fixes https://gitlab.com/kicad/code/kicad/issues/7093
2021-06-11 14:26:38 -07:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
Mikolaj Wielgus
63c263090f
Add versioning to page layout editor worksheets
2021-06-11 18:40:57 +00:00
Mikolaj Wielgus
ade38f48bc
Add conversion from old `~...~` to new `~{...}` notation
2021-06-11 18:40:57 +00:00
Jeff Young
16b0147af8
Prefix DIMENSION types.
2021-06-11 17:59:44 +01:00
Marek Roszko
803e2101de
Fix MSVC compile error
...
Templates and linkage, ugh
2021-06-11 07:32:41 -04:00
Jeff Young
44086ff2b2
Pull 3D preferences into KiCad preferences architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5187
2021-06-11 11:19:40 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
jean-pierre charras
1c3df973d6
Coverity warnings fixes.
2021-06-10 13:45:02 +02:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
david-beinder
053bd66650
Fix localization of OS unsupported message, disallow bug reports from W7
2021-06-09 19:01:54 +00:00
Jeff Young
de95edb5ad
UI improvements for Manage Symbol Libraries.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8466
2021-06-09 19:20:51 +01:00
jean-pierre charras
5cce3f6e18
Fix a few Coverity warnings (not initialized vars) and a minor compil warning
2021-06-09 19:03:44 +02:00
Jeff Young
9411d301a0
Repair recent pass-by-reference cleanup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8576
2021-06-09 10:56:53 +01:00
Marek Roszko
fad5f9881a
Remove abandoned variable and thus another include
2021-06-09 00:07:12 -04:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Marek Roszko
19faadf149
Move wx/dynlib.h include to source file
2021-06-08 21:35:02 -04:00
Marek Roszko
2ede720e1d
Remove wx/cmdline.h include
2021-06-08 21:33:09 -04:00
Marek Roszko
ffa87e69c6
Remove/replace some stdint.h includes
2021-06-08 21:17:57 -04:00
Seth Hillbrand
ea283625a7
Further simplification of AA regime
...
Reduce each (Accel & Fallback) to 3 options: Off, Fast, Good. Fast AA
in accelerated canvas uses SMAA with tweaks suggested by David Beinder.
Good AA is super-sampled x2.
Cairo is similarly reduced to Off, Fast, Good, which map to the Cairo
options themselves. Best is removed as it mostly affects text rendering
and not line drawing (as our text is)
2021-06-08 17:20:41 -07:00
Marek Roszko
f2e5a5d34e
Add missing cstdint include
2021-06-08 19:51:35 -04:00
Marek Roszko
6e01ce84b9
Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars
2021-06-08 19:12:30 -04:00
Marek Roszko
cc4d38d347
Slightly "unhide" the UNDO_REDO_LIST enum
2021-06-08 19:12:30 -04:00
Marek Roszko
b2f5c989a6
Suppress leaking eda_item so much via undo_redo_container.h
2021-06-08 19:12:30 -04:00
Marek Roszko
20134e4a1b
Evict some more eda_item.h includes
2021-06-08 19:12:29 -04:00
Marek Roszko
5db1559018
tool_base.h doesn't need eda_item.h
2021-06-08 19:12:29 -04:00
Wayne Stambaugh
e6346e3103
Pass objects by reference instead of on the stack part 2.
2021-06-08 13:47:21 -04:00
Wayne Stambaugh
9ebabb222c
Pass objects by reference instead of on the stack.
2021-06-08 10:09:38 -04:00
Marek Roszko
8f2819cfa4
Kill the last of wx/wx.h in headers
2021-06-07 17:59:20 -04:00
Johannes Maibaum
022dd6072c
Add utility method to resolve symlinks
...
The same logic block to resolve possible symlinks exists in 5 different
places now. This change moves this duplicated code to a static member
function of WX_FILENAME instead.
2021-06-07 20:59:59 +00:00
Jeff Young
3ff670d2a4
Disable ACTIONS::openPreferences for now.
...
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
Wayne Stambaugh
08e8b17029
Minor plotter code improvements.
2021-06-07 14:32:27 -04:00
Marek Roszko
5bb6f8c5e3
hashtables.h doesn't need eda_item.h
2021-06-06 19:11:35 -04:00
Marek Roszko
4a1126c5e0
DIALOG_SHIM doesn't use hashtables.h
2021-06-06 19:08:34 -04:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Ian McInerney
dc27079b71
cleanup tool event and tool action includes
2021-06-06 18:26:26 +01:00
Ian McInerney
425331b655
Explictly copy TOOL_EVENT_LIST in the copy constructor
2021-06-06 18:25:17 +01:00
Ian McInerney
e29b61ccc1
Fix build error with selection class
2021-06-06 17:26:12 +01:00
Marek Roszko
527bda5d58
Split out selection.cpp to reduce header sharing
...
selection.h is included into 782 compilation units....
2021-06-06 11:09:07 -04:00
Marek Roszko
38e3b7eacd
We don't need eda_item in unit_binder.h
2021-06-06 11:09:07 -04:00
Marek Roszko
fcb21038cb
Reduce some eda_item.h usage in headers
2021-06-06 11:09:06 -04:00
jean-pierre charras
2078483f50
Fix incorrect test of wxUSE_GLCANVAS_EGL (Linux).
...
in wxWidgets 3.1.5 wxUSE_GLCANVAS_EGL is always defined (set to 0 or to 1)
So using "ifdef wxUSE_GLCANVAS_EGL" is incorrect.
2021-06-06 16:10:35 +02:00
Marek Roszko
e234e4dc8b
Remove wx/log.h from vertex_manager.h
2021-06-06 09:31:00 -04:00
Marek Roszko
4712d7a918
Remove a leaky wx/msgdlg.h include
2021-06-06 08:45:38 -04:00
Jon Evans
c9a660a80c
Rework JSON integration to speed up build
2021-06-05 17:08:38 -04:00
david-beinder
2b4564571c
GAL: Tune SMAA to have a conservative and aggressive mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8522
Conservative makes SMAA usable in Eeschema through weaker AA.
Aggressive reduces some artifacts compared to the High preset.
Restores the unused Ultra preset in the shader source to its original state.
2021-06-04 17:48:34 +00:00
Ian McInerney
f94816fbd4
Cleanup wx includes in the filter reader
2021-06-04 01:26:58 +01:00
Seth Hillbrand
cccdaddd50
Adding SHAPE_ARC direct plotting
2021-06-03 17:12:56 -07:00
Marek Roszko
013209046b
KIWAY_HOLDER doesnt need wx/frame.h
2021-06-03 18:59:11 -04:00
Marek Roszko
c346da0ed2
Remove not needed wx/event.h include
2021-06-03 18:54:48 -04:00
Marek Roszko
b1c9083743
Remove the wx/docview.h include
2021-06-03 18:42:08 -04:00
Marek Roszko
4e94b1fe86
Remove the universal sockets include
2021-06-03 17:59:46 -04:00
Hajo Nils Krabbenhöft
937f502158
Improve accelerated supersampling 2x antialiasing
...
Avoid fractional pixel offsets by forcing integer division of m_screenSize.
Shift rounded lookAtPoint onto OpenGL pixel center to ensure consistent rounding to int.
The pixel 0..1 @ 1x needs to fill the area 0..2 @ 2x so its center moves by 0.5 * (pixel size @ 1x).
2021-06-03 17:53:51 +00:00
Wayne Stambaugh
7c14e4e967
Common widget header housekeeping.
2021-06-03 12:02:45 -04:00
Marek Roszko
4df3cb912d
Remove another leaky wx/log.h header
2021-06-03 08:11:15 -04:00
Marek Roszko
7faee5eda5
Stop salt the eart with wxhtml.h
2021-06-03 07:49:49 -04:00
Marek Roszko
5f91d3e321
Add header to bitmap_info.h.in in previous move
2021-06-03 07:14:59 -04:00
Marek Roszko
b5b76eedf7
Avoid sharing gdicmn for just bitmaps
2021-06-03 01:46:04 -04:00
Marek Roszko
8ea180c6b7
Don't leak wx/debug everywhere via tool_event
2021-06-03 01:36:12 -04:00
Ian McInerney
3ab69939f9
Remove wx.h from many files
2021-06-03 02:19:20 +01:00
Marek Roszko
af2707929d
Don't leak a wx header via eda_item.h
...
Turns out this provided the translation header globally :D
2021-06-02 19:18:48 -04:00
Ian McInerney
f03ca3259e
Remove unused Boost code/includes
2021-06-02 18:39:43 +01:00
Ian McInerney
9a07b03b4c
Replace boost::function with std::function
2021-06-02 18:39:43 +01:00
Marek Roszko
45d1684bbe
Move inline function declaration to allow removing include
2021-06-01 19:03:22 -04:00
Marek Roszko
cf2bb5692a
Remove the wxLog calls from math/util.h for now
...
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Marek Roszko
04ab71c47c
Tweaks to build
2021-06-01 20:18:24 +00:00
Seth Hillbrand
bf1437899e
Add Python Tool to pcbnew
2021-06-01 20:18:24 +00:00
Seth Hillbrand
c7d188a8d0
Centralizing SCRIPTING class
2021-06-01 20:18:24 +00:00
Seth Hillbrand
192fbfd5e5
Finalize Python Frame
2021-06-01 20:18:24 +00:00
Seth Hillbrand
81d58bcea9
Working python window
2021-06-01 20:18:24 +00:00
Seth Hillbrand
6fbbba8db3
Adding Python shell KIFACE
2021-06-01 20:18:24 +00:00
Seth Hillbrand
f274a00c08
Remove PYTHON_* compile options
2021-06-01 20:18:24 +00:00
Jon Evans
247da631f9
Revert "Fix typo and clean up leftover tracks"
...
This reverts commit ed66c0f14d
.
Revert "Clean up co-linear tracks after finishing routing"
This reverts commit 1a102f03c0
.
More complex solution needed
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8526
2021-06-01 11:18:00 -04:00
Jon Evans
1a102f03c0
Clean up co-linear tracks after finishing routing
...
This involved adding some extra infrastructure to be able
to handle the case where a track that is sitting in the
router's commit waiting to be added to the board actually
needs to be deleted instead.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8419
2021-05-31 17:36:38 -04:00
Jeff Young
c4cabb38d5
More worksheet -> drawing sheet cleanup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8516
2021-05-31 12:26:44 +01:00
Jeff Young
0598c82972
Terminology (use present tense for flags).
2021-05-31 12:26:44 +01:00
Marek Roszko
382dca4e6f
Fix uninitialized member warnings
...
Based on PVS Studio report
2021-05-30 20:01:01 -04:00
Tomasz Wlostowski
2b955437b6
VIEW_OVERLAY: add Get[Fill/Stroke]Color methods.
2021-05-31 00:15:16 +02:00
Jon Evans
eff9746f34
CHANGED: Net highlight in PcbNew is now persistent to match Eeschema
...
CHANGED: Highlight net tool changed to highlight display toggle; moved to left toolbar
CHANGED: Multi-net highlight is now accessible when using the highlight net action
ADDED: Highlight Net and Clear Highlight actions to Net Tools context menu
ADDED: Default hotkey (Ctrl+`) for toggling net highlighting
The current and previous net highlight state are now stored and can be toggled
on or off with an action (no hotkey by default).
Highlight is now treated as a persistent state rather than a tool that is entered,
meaning there is no longer a special tool to enter in order to highlight nets.
Highlighting can be controlled while any other tool is active using the hotkeys
or context menu on a net object.
Tweak the icons for highlight net and layer display mode to better disambiguate them.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8250
2021-05-29 12:40:24 -04:00
jean-pierre charras
81c7fb61f8
Sub-menu "Preferences..." in main menu "Preferences": fix not working accelerator key.
...
Accelerator keys are disable in our WX_MENUBAR. A common ACTION_MENU is used and
"Preferences..." is now shown in Hotkeys list.
2021-05-29 18:09:49 +02:00
Seth Hillbrand
752ae4d519
Rename modification flag routines
...
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Seth Hillbrand
11438eb0ec
Add standard wire orange and correct color init
...
Initialized COLOR4D takes an EDA_COLOR_T enum but then referenced it as
an index to the color table. This uses the enum as comparison against
the table-stored enum.
Adds standard orange to picker swatches
2021-05-28 11:51:54 -07:00
Seth Hillbrand
b1dcf74042
Use standard "Untitled" name for files without names
...
Also translates to provide useful information regardless of language
2021-05-28 11:51:54 -07:00
Seth Hillbrand
d7f219e98f
Unify IsSave and IsModify
...
The flags and calls were used identically, leading to potential
confusion/bugs. Testing for modification should go through
IsContentModified()
2021-05-28 11:51:54 -07:00
Jeff Young
e93e9fa3e5
Add rudimentary type checking to rule eval with reporter.
...
Also cleaned up existing error reporting to not expend CPU cycles
when there was no reporter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8438
2021-05-20 23:06:24 +01:00
Jeff Young
224d258474
A bit of safety.
...
Should also silence Coverity.
2021-05-17 10:45:26 +01:00
Jeff Young
12f985f978
Add Quit and Close to the HotKeys list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8391
2021-05-11 23:25:13 +01:00
Jon Evans
bc6b9b527a
Allow stackup height to be excluded from length calculations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8384
2021-05-10 22:11:58 -04:00
Jeff Young
7356f9568d
Move grid disable modifier from ALT to CTRL.
...
Also had to move the H/V/45 disable modifier from CTRL to SHIFT.
Fixes https://gitlab.com/kicad/code/kicad/issues/8124
2021-05-09 20:17:40 +01:00
Ian McInerney
916a15793f
Fix some OSX compiler warnings
2021-05-09 12:59:57 +01:00
jean-pierre charras
1c6f291bcd
EDA_BASE_FRAME: add accessor to m_ident (useful in debug)
2021-05-09 08:41:41 +02:00
jean-pierre charras
56058314be
Fix minor Coverity warnings and minor compil warnings.
...
(uninitialized or shadowed vars)
2021-05-05 08:58:55 +02:00